Function at 0x40c080
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41639b
mov eax, dword fs:[0]
push eax
mov eax, 0x139e4
call fcn.0040e230
mov eax, dword [0x41e138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x1398c], ecx
lea ecx, [ebp - 0x13988]
mov dword [ebp - 0x13990], eax
call fcn.0040c370
lea ecx, [ebp - 0x13994]
push ecx
push esi
lea ecx, [ebp - 0x13988]
mov dword [ebp - 4], 0
call fcn.0040c4e0
mov eax, dword [ebp - 0x13994]
or esi, 0xffffffff
cmp eax, esi
jne 0x40c101
mov dword [ebp - 4], esi
jmp 0x40c30e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [ebp - 0x13974]
push edx
call ebx
cmp eax, 1
jl 0x40c0f9
push 0x44
lea eax, [ebp - 0x139f0]
push 0
push eax
call fcn.0040ddd0
xor ecx, ecx
add esp, 0xc
cmp word [ebp - 0x13972], 0x3a
mov dword [ebp - 0x139f0], 0x44
mov dword [ebp - 0x139c4], 1
mov word [ebp - 0x139c0], cx
je 0x40c27e
push edi
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.0040dce2
lea eax, [ebp - 0x13974]
push 0x417690
push eax
call fcn.0040d5ff
mov esi, eax
add esp, 0x14
lea ecx, [ebp - 0x13974]
test esi, esi
je 0x40c2cd
sub eax, ecx
sar eax, 1
push eax
mov edx, ecx
push edx
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0040e266
add esp, 0x10
test esi, esi
jne 0x40c1b5
mov esi, 0x41768c
mov edi, dword [ebp - 0x1398c]
lea eax, [ebp - 0x218]
add edi, 4
push eax
mov ecx, edi
call fcn.0040d180
lea ecx, [ebp - 0x218]
push ecx
call ebx
test eax, eax
jle 0x40c307
lea edx, [ebp - 0x139ac]
push edx
lea eax, [ebp - 0x139f0]
push eax
push 0
push 0
push 0x10
push 0
push 0
push 0
push esi
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x40c307
mov eax, dword [ebp - 0x13990]
mov edx, dword [ebp - 0x139ac]
mov ecx, dword [eax]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x1399c], edx
mov dword [ebp - 0x13998], ecx
lea ecx, [ecx]
push 0xdbba0
push 0
lea edx, [ebp - 0x1399c]
push edx
push 2
call esi
cmp eax, 0x102
ja 0x40c2e7
je 0x40c350
sub eax, 0
je 0x40c337
dec eax
jne 0x40c230
push eax
mov eax, dword [ebp - 0x139ac]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push str.ASMBase____ShutDown_Message_Received.
mov ecx, edi
call fcn.0040d180
jmp 0x40c307
lea eax, [ebp - 0x13974]
push 0x5c
push eax
call fcn.0040d5d8
add esp, 8
test eax, eax
je 0x40c2c7
push 0x417690
push eax
call fcn.0040d5ff
mov esi, eax
lea ecx, [ebp - 0x13974]
sub eax, ecx
sar eax, 1
push eax
mov edx, ecx
push edx
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0040e266
add esp, 0x18
jmp 0x40c1ac
lea ecx, [ebp - 0x13974]
push ecx
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.0040dd45
add esp, 0xc
jmp 0x40c1b0
cmp eax, 0xffffffff
jne 0x40c230
push str.ASMBase____Wait_for_Process_Failed.
mov ecx, edi
call fcn.0040d180
mov ecx, dword [ebp - 0x1398c]
call fcn.0040c000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13988]
call fcn.0040c380
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040ddba
mov esp, ebp
pop ebp
ret 0xc
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.ASMBase____Process_Completed.
mov ecx, edi
call fcn.0040d180
jmp 0x40c307
mov ecx, dword [ebp - 0x139ac]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push str.ASMBase____Wait_Time_Exceeded.
mov ecx, edi
call fcn.0040d180
jmp 0x40c307