Function at 0x453980
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe78
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 4], ebx
mov ebx, ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov esi, dword [ebp + 0xc]
xor eax, eax
push ebp
push 0x453c32
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404804
xor edx, edx
push ebp
push 0x453bb6
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.00452e94
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x453a02
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x453a13
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453c0c
push 0x453c4c
push dword [ebp - 8]
push 0x453c68
lea edx, [ebp - 0x6c]
mov eax, dword [ebp + 0x10]
call fcn.00452e68
push dword [ebp - 0x6c]
push 0x453c74
push ebx
push 0x453ca0
push 0x453cac
push ebx
push 0x453ca0
lea edx, [ebp - 0x70]
mov eax, esi
call fcn.0045247c
push dword [ebp - 0x70]
lea eax, [ebp - 4]
mov edx, 0xb
call fcn.00404b88
lea eax, [ebp - 0x64]
xor ecx, ecx
mov edx, 0x44
call fcn.00403334
mov dword [ebp - 0x64], 0x44
mov dword [ebp - 0x38], 1
mov word [ebp - 0x34], 0xa
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.004030d8
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.00408b54
mov eax, dword [ebp - 0x74]
call fcn.00404cc8
push eax
push 0
push 0x20
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00404cc8
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
jne 0x453ae2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, 0x453ccc
call fcn.00404b14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453c0c
push 0xffffffffffffffff
mov eax, dword [ebp - 0x20]
push eax
call sub.kernel32.dll_WaitForSingleObject
mov ebx, eax
mov eax, ebx
sub eax, 1
jae 0x453b7b
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.kernel32.dll_GetExitCodeProcess
test eax, eax
jne 0x453b37
push 0x453cec
push dword [ebp - 4]
push 0x453cfc
call sub.kernel32.dll_GetLastError
lea edx, [ebp - 0x7c]
call fcn.0040b4ac
push dword [ebp - 0x7c]
mov eax, dword [ebp + 8]
mov edx, 4
call fcn.00404b88
jmp 0x453bac
cmp dword [ebp - 0x10], 0
je 0x453b6b
push 0x453cec
push dword [ebp - 4]
push 0x453d2c
mov eax, dword [ebp - 0x10]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x80]
call fcn.0040870c
push dword [ebp - 0x80]
mov eax, dword [ebp + 8]
mov edx, 4
call fcn.00404b88
jmp 0x453bac
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0xc]
call fcn.004529f0
jmp 0x453bac
push 0x453cec
push dword [ebp - 4]
push 0x453d4c
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x84]
call fcn.0040870c
push dword [ebp - 0x84]
mov eax, dword [ebp + 8]
mov edx, 4
call fcn.00404b88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453c0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x453c39
lea eax, [ebp - 0x88]
mov edx, 8
call fcn.00404828
lea eax, [ebp - 4]
call fcn.00404804
ret