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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41bbb6
mov eax, dword fs:[0]
push eax
sub esp, 0x238
mov eax, dword [0x4272e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push str.F679CA83_055F_4A95_9536_E831712008B9
push 0
push 0
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
push str.711835A4_8F1C_4573_B462_02CA69CF1BFC
push 0
push 0
push 0
mov dword [ebp - 0x14c], eax
call edi
mov edi, eax
call esi
mov esi, eax
test ebx, ebx
je 0x401ed5
test edi, edi
je 0x401ed5
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 4], 1
cmp eax, 0xb7
jne 0x401cc1
cmp esi, eax
jne 0x401e21
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x401c99
push 0x425b8c
lea eax, [ebp - 0x15c]
push eax
mov dword [ebp - 0x15c], 0x7c
call fcn.00408e5b
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call esi
push ebx
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00407000
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x401e21
test esi, esi
jne 0x401e21
push edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x401cf7
push 0x425b8c
lea eax, [ebp - 0x154]
push eax
mov dword [ebp - 0x154], 0x87
call fcn.00408e5b
push 0x103
lea eax, [ebp - 0x117]
push 0
push eax
mov byte [ebp - 0x118], 0
call fcn.00407ec0
add esp, 0xc
lea eax, [ebp - 0x118]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x401d4e
push 0x425b8c
lea eax, [ebp - 0x158]
push eax
mov dword [ebp - 0x158], 0x8a
call fcn.00408e5b
push 0x40
lea eax, [ebp - 0x1a8]
xorps xmm0, xmm0
push 0
push eax
mov dword [ebp - 0x128], 0
movq qword [ebp - 0x124], xmm0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x1ac], 0
call fcn.00407ec0
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x401dd2
push 0x425b8c
lea eax, [ebp - 0x164]
push eax
mov dword [ebp - 0x164], 0x8e
call fcn.00408e5b
push dword [ebp - 0x128]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x124]
call esi
push 0xbb8
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x401e13
push 0x425b8c
lea eax, [ebp - 0x160]
push eax
mov dword [ebp - 0x160], 0x91
call fcn.00408e5b
push edi
call esi
push ebx
call esi
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x425b8c
lea eax, [ebp - 0x150]
push eax
mov dword [ebp - 0x150], 0x9d
call fcn.00408e5b
sub esp, 8
lea ecx, [ebp - 0x244]
call fcn.00402e80
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x168]
mov edx, str.Internal_Exception_Occured_
lea ecx, [ebp - 0x244]
call fcn.00405800
mov ecx, eax
call fcn.004026e0
mov edx, 0x424994
mov ecx, eax
call fcn.00405800
mov ecx, eax
call fcn.00402870
mov edx, 0x424974
mov ecx, eax
call fcn.00405800
mov ecx, eax
call fcn.00402a10
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x244]
call fcn.00402f50
cmp dword [eax + 0x14], 0x10
jb 0x401eb2
mov eax, dword [eax]
push 0x10
push str.Exception
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x148]
call fcn.00402660
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
sub esp, 8
lea ecx, [ebp - 0xac]
call fcn.00402e80
push esi
push dword [ebp - 0x14c]
mov edx, str.Init_Failed_
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0
call fcn.00405800
mov ecx, eax
call fcn.00402870
mov edx, 0x424978
mov ecx, eax
call fcn.00405800
mov ecx, eax
call fcn.00402870
mov edx, 0x424974
mov ecx, eax
call fcn.00405800
mov ecx, eax
call fcn.00402a10
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0xac]
call fcn.00402f50
cmp dword [eax + 0x14], 0x10
jb 0x401f48
mov eax, dword [eax]
push 0x10
push str.ERROR
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp - 0x11c], 0x10
jb 0x401f6f
push dword [ebp - 0x130]
call fcn.00407a89
add esp, 4
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]