Function at 0x4049a0
Capabilities:
Contain obfuscated stackstrings
Create thread
Delete file
Encode data using xor
Enumerate processes
Execute command
Set console window title
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x407a9b
mov eax, dword fs:[0]
push eax
sub esp, 0x5ac
mov eax, dword [0x40b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov cl, 0x5c
mov dword [ebp - 0x548], 0x2f33305c
mov dword [ebp - 0x544], 0x3b3d2f28
xor eax, eax
mov dword [ebp - 0x540], 0x2439723d
mov word [ebp - 0x53c], 0x39
nop dword [eax]
xor byte [ebp + eax - 0x547], cl
inc eax
cmp eax, 0xc
jae 0x404a15
mov cl, byte [ebp - 0x548]
jmp 0x404a00
push 0
push 0xf
mov byte [ebp - 0x53b], 0
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
mov dword [ebp - 0x538], 0x128
lea eax, [ebp - 0x538]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x404a76
mov edi, dword [sym.imp.KERNEL32.dll_Process32Next]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea eax, [ebp - 0x547]
push eax
lea eax, [ebp - 0x514]
push eax
call ebx
test eax, eax
je 0x404f18
lea eax, [ebp - 0x538]
push eax
push esi
call edi
test eax, eax
jne 0x404a50
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movaps xmm0, xmmword [0x4086f0]
xor ecx, ecx
movups xmmword [ebp - 0x58c], xmm0
mov dword [ebp - 0x57c], 0x7c64555d
mov dword [ebp - 0x578], 0x5c167440
mov word [ebp - 0x574], 0x5454
mov byte [ebp - 0x572], 0
mov al, byte [ebp - 0x58c]
xor byte [ebp + ecx - 0x58b], al
inc ecx
cmp ecx, 0x19
jb 0x404ab1
lea eax, [ebp - 0x58b]
mov byte [ebp - 0x572], 0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0
push 0
push 0x404300
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov bl, 6
mov byte [ebp - 0x56c], 0
mov al, 0x65
mov byte [ebp - 0x570], bl
xor al, bl
mov byte [ebp - 0x56c], 0
mov cl, 0x6a
mov byte [ebp - 0x56f], al
mov dl, 0x75
lea eax, [ebp - 0x56f]
xor cl, bl
xor dl, bl
push eax
mov byte [ebp - 0x56e], cl
mov byte [ebp - 0x56d], dl
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x408640]
mov cl, 0x68
mov byte [ebp - 0x548], 0x24
mov al, 0x74
xor al, byte [ebp - 0x548]
mov dl, 0x65
xor cl, byte [ebp - 0x548]
mov ch, 0x6c
mov byte [ebp - 0x547], al
mov bh, dl
mov byte [ebp - 0x546], cl
mov bl, 0x7d
mov cl, byte [ebp - 0x548]
mov ah, 0x67
mov byte [ebp - 0x549], 0x70
mov dh, 0x61
mov al, byte [ebp - 0x549]
xor ch, cl
xor al, cl
mov byte [ebp - 0x54a], 0x7e
mov byte [ebp - 0x53f], al
xor dl, cl
mov al, byte [ebp - 0x54a]
xor bl, cl
xor ah, cl
mov byte [ebp - 0x53d], 0
xor dh, cl
mov byte [ebp - 0x542], ch
xor bh, cl
mov byte [ebp - 0x545], dl
xor al, cl
mov byte [ebp - 0x544], bl
add esp, 4
mov byte [ebp - 0x543], ah
mov byte [ebp - 0x541], dh
xor ecx, ecx
mov byte [ebp - 0x540], bh
mov byte [ebp - 0x53e], al
mov byte [ebp - 0x53d], 0
movups xmmword [ebp - 0x5b8], xmm0
mov dword [ebp - 0x5a8], 0x6e607b46
mov dword [ebp - 0x5a4], 0x5f296760
mov dword [ebp - 0x5a0], 0x6f666568
mov word [ebp - 0x59c], 0x6c
nop word [eax + eax]
mov al, byte [ebp - 0x5b8]
xor byte [ebp + ecx - 0x5b7], al
inc ecx
cmp ecx, 0x1c
jb 0x404c10
lea eax, [ebp - 0x547]
mov byte [ebp - 0x59b], 0
push eax
lea eax, [ebp - 0x5b7]
push eax
lea eax, [ebp - 0x410]
push eax
call fcn.00401090
add esp, 0xc
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
movaps xmm0, xmmword [0x408550]
xor ecx, ecx
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0x39211018
mov dword [ebp - 0x554], 0x19533105
mov word [ebp - 0x550], 0x1111
mov byte [ebp - 0x54e], 0
nop dword [eax + eax]
mov al, byte [ebp - 0x568]
xor byte [ebp + ecx - 0x567], al
inc ecx
cmp ecx, 0x19
jb 0x404c90
lea eax, [ebp - 0x567]
mov byte [ebp - 0x54e], 0
push eax
lea ecx, [ebp - 0x588]
call fcn.004025e0
push 0xb8
lea eax, [ebp - 0x4c8]
mov dword [ebp - 4], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x574], 0xf
lea eax, [ebp - 0x588]
lea ecx, [ebp - 0x4c8]
cmova eax, dword [ebp - 0x588]
push eax
call fcn.00405d80
mov eax, dword [ebp - 0x4c8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x4cc], eax
cmp dword [ebp - 0x46c], 0
lea ecx, [ebp - 0x4c8]
je 0x404fe8
call fcn.00402850
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x404d76
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404d6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405020
push ecx
push edx
call fcn.00406bf2
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x40c904]
cmp eax, dword [ecx + 4]
jle 0x404e6e
push 0x40c904
call fcn.00406c74
add esp, 4
cmp dword [0x40c904], 0xffffffff
jne 0x404e6e
mov byte [ebp - 0x548], 0x32
mov al, 0x62
xor al, byte [ebp - 0x548]
mov cl, 0x7e
xor cl, byte [ebp - 0x548]
mov ah, 0x71
mov byte [ebp - 0x547], al
mov dl, 0x73
mov byte [ebp - 0x546], cl
mov bh, dl
mov cl, byte [ebp - 0x548]
mov ch, 0x7a
mov byte [ebp - 0x54a], 0x66
xor ah, cl
mov al, byte [ebp - 0x54a]
mov dh, 0x77
xor al, cl
mov byte [ebp - 0x549], 0x68
mov byte [ebp - 0x53f], al
mov bl, 0x6b
mov al, byte [ebp - 0x549]
xor dl, cl
xor al, cl
mov byte [ebp - 0x543], ah
push 0x24
mov byte [ebp - 0x53e], al
xor bl, cl
lea eax, [ebp - 0x547]
mov byte [ebp - 0x53d], 0
push eax
push str.File_Still_Exists_in_Folder_n_nAre_You_Want_to_Update_DLL_CHEAT_nYES__UPDATE_nNO__DONT_UPDATE
xor ch, cl
mov byte [ebp - 0x545], dl
xor dh, cl
mov byte [ebp - 0x544], bl
xor bh, cl
mov byte [ebp - 0x542], ch
push 0
mov byte [ebp - 0x541], dh
mov byte [ebp - 0x540], bh
mov byte [ebp - 0x53d], 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x40c904
mov dword [0x40c908], eax
call fcn.00406c23
add esp, 4
cmp dword [0x40c908], 6
jne 0x4050eb
movaps xmm0, xmmword [0x408590]
xor ecx, ecx
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0x3c24151d
mov dword [ebp - 0x554], 0x1c563400
mov word [ebp - 0x550], 0x1414
mov byte [ebp - 0x54e], 0
nop
mov al, byte [ebp - 0x568]
xor byte [ebp + ecx - 0x567], al
inc ecx
cmp ecx, 0x19
jb 0x404eb0
movaps xmm0, xmmword [0x408570]
xor ecx, ecx
movups xmmword [ebp - 0x598], xmm0
mov byte [ebp - 0x54e], 0
movaps xmm0, xmmword [0x408670]
movups xmmword [ebp - 0x588], xmm0
mov dword [ebp - 0x578], 0x4b1c0409
mov dword [ebp - 0x574], 0x90901
nop dword [eax]
mov al, byte [ebp - 0x598]
xor byte [ebp + ecx - 0x597], al
inc ecx
cmp ecx, 0x26
jb 0x404f00
jmp 0x4050d3
mov ebx, dword [ebp - 0x530]
test ebx, ebx
je 0x404a7d
push 0x124
lea eax, [ebp - 0x534]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x538], 0x128
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x570], eax
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x404a7d
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x520], ebx
jne 0x404fad
push dword [ebp - 0x530]
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x404fa7
push 1
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
jmp 0x404fad
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x538]
push eax
push dword [ebp - 0x570]
call edi
test eax, eax
jne 0x404f72
push ebx
push eax
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x404a7d
push 1
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
call esi
jmp 0x404a7d
call fcn.00402850
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x405030
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405026
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405026
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00406bf2
add esp, 8
movaps xmm0, xmmword [str.c_Y_4_n_r_a_f]
xor ecx, ecx
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0x273f0e06
mov dword [ebp - 0x554], 0x74d2f1b
mov word [ebp - 0x550], 0xf0f
mov byte [ebp - 0x54e], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp - 0x568]
xor byte [ebp + ecx - 0x567], al
inc ecx
cmp ecx, 0x19
jb 0x405070
movaps xmm0, xmmword [0x4087e0]
xor ecx, ecx
movups xmmword [ebp - 0x598], xmm0
mov byte [ebp - 0x54e], 0
movaps xmm0, xmmword [0x408730]
movups xmmword [ebp - 0x588], xmm0
mov dword [ebp - 0x578], 0x287f676a
mov dword [ebp - 0x574], 0x6a6a62
nop dword [eax]
mov al, byte [ebp - 0x598]
xor byte [ebp + ecx - 0x597], al
inc ecx
cmp ecx, 0x26
jb 0x4050c0
lea edx, [ebp - 0x567]
mov byte [ebp - 0x571], 0
lea ecx, [ebp - 0x597]
call fcn.00402910
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
movaps xmm0, xmmword [0x4087b0]
xor edx, edx
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0x3f707670
mov dword [ebp - 0x554], 0x31746974
mov dword [ebp - 0x550], 0x3f3f3f
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp - 0x568]
xor byte [ebp + edx - 0x567], al
inc edx
cmp edx, 0x1a
jb 0x405130
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [ebp - 0x567]
mov byte [ebp - 0x54d], 0
call fcn.00406330
nop dword [eax + eax]
mov cl, 0x33
mov dword [ebp - 0x548], 0x405c5f33
mov dword [ebp - 0x544], 0x54524047
xor eax, eax
mov dword [ebp - 0x540], 0x4b561d52
mov word [ebp - 0x53c], 0x56
nop dword [eax + eax]
xor byte [ebp + eax - 0x547], cl
inc eax
cmp eax, 0xc
jae 0x4051a5
mov cl, byte [ebp - 0x548]
jmp 0x405190
lea ecx, [ebp - 0x547]
mov byte [ebp - 0x53b], 0
call fcn.00402e60
test eax, eax
je 0x405160
movaps xmm0, xmmword [0x408840]
xor ecx, ecx
movups xmmword [ebp - 0x5b8], xmm0
mov dword [ebp - 0x5a8], 0x465e6f67
mov dword [ebp - 0x5a4], 0x662c4e7a
mov word [ebp - 0x5a0], 0x6e6e
mov byte [ebp - 0x59e], 0
nop
mov al, byte [ebp - 0x5b8]
xor byte [ebp + ecx - 0x5b7], al
inc ecx
cmp ecx, 0x19
jb 0x4051f0
mov byte [ebp - 0x59e], 0
mov cl, 0x25
mov dword [ebp - 0x548], 0x564a4925
xor eax, eax
mov dword [ebp - 0x544], 0x42445651
mov dword [ebp - 0x540], 0x5d400b44
mov word [ebp - 0x53c], 0x40
xor byte [ebp + eax - 0x547], cl
inc eax
cmp eax, 0xc
jae 0x40524a
mov cl, byte [ebp - 0x548]
jmp 0x405235
lea edx, [ebp - 0x5b7]
mov byte [ebp - 0x53b], 0
lea ecx, [ebp - 0x547]
call fcn.00402f00
push 0x1f4
push 0xc8
call dword [sym.imp.KERNEL32.dll_Beep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]