Function at 0x403910
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create process on windows
Create thread
Resume thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x40f8d4
push 4
push 0
push 0x402f70
push 0
push 0
mov dword [0x40ffe4], eax
call esi
push 0x40f8d0
push 4
push 0
push 0x402d30
push 0
push 0
mov dword [0x40f8ec], eax
call esi
push 0x40f8cc
push 4
push 0
push 0x4037d0
push 0
push 0
mov dword [0x40f8e8], eax
call esi
push 0x40f8c8
push 4
push 0
push 0x403220
push 0
push 0
mov dword [0x40f8e4], eax
call esi
push 0x40f8c4
push 4
push 0
push 0x403390
push 0
push 0
mov dword [0x40f8e0], eax
call esi
push 0x40f8c0
push 4
push 0
push 0x403800
push 0
push 0
mov dword [0x40f8dc], eax
call esi
mov dword [0x40f8d8], eax
call fcn.00402930
cmp eax, 1
jne 0x4039d3
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esp + 8]
push eax
mov dword [esp + 0xc], 8
mov dword [esp + 0x10], 0x4085
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0
xor eax, eax
mov ecx, 0x159
call fcn.00401470
add esp, 4
call fcn.00401af0
call fcn.00403420
call fcn.00402bb0
call fcn.00402a30
mov ecx, dword [ebp + 0x10]
call fcn.00403490
call fcn.004033b0
mov ecx, dword [0x40f8ec]
mov edi, dword [sym.imp.KERNEL32.dll_ResumeThread]
push ecx
call edi
mov edx, dword [0x40fffc]
push 0x258
push 8
push edx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0
mov esi, eax
push 0x12b
push esi
xor edx, edx
call section..text
add esp, 0xc
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x40fffc]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
call fcn.00403590
cmp eax, 1
jne 0x403b3d
mov ecx, dword [0x40f910]
mov edx, dword [ecx + 0xc]
push eax
push 0
push 0
push edx
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [0x40fb04]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
mov dword [0x41002c], 0
call esi
mov ecx, dword [0x40f914]
push ecx
call esi
cmp dword [0x41002c], 1
je 0x403b1a
mov edx, dword [0x40f8f8]
mov eax, dword [edx]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
push 6
push 3
push 0
push 1
push 0x80000000
push eax
call esi
mov ecx, dword [0x40f8f8]
mov edx, dword [ecx + 4]
push 0
push 6
push 3
push 0
push 1
push 0x80000000
push edx
mov dword [0x40fb04], eax
call esi
mov dword [0x40f914], eax
mov dword [0x41002c], 1
mov eax, dword [0x40f8e8]
push eax
call edi
mov ecx, dword [0x40f8d8]
push ecx
call edi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [0x40f8d8]
push edx
call edi
mov eax, dword [0x40f8ec]
push eax
call edi
mov ecx, dword [0x40f8e8]
push ecx
call edi
mov edx, dword [0x40f8e4]
push edx
call edi
mov eax, dword [0x40f8e0]
push eax
call edi
mov ecx, dword [0x40f8dc]
push ecx
call edi
mov edx, dword [ebp + 8]
push 0
push 0x402640
push 0
push 0x82
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10