Function at 0x425c10
Capabilities:
Create a process with modified i/o handles and window
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfb0
mov eax, dword [0x46759c]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x818], 0
xor eax, eax
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], eax
push 0x44
push 0
lea ecx, [ebp - 0xea0]
push ecx
call fcn.00433530
add esp, 0xc
mov dword [ebp - 0xea0], 0x44
mov dword [ebp - 0xe74], 0x101
xor edx, edx
mov word [ebp - 0xe70], dx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xfac], eax
push 2
push 1
push 0
lea eax, [ebp - 0xe68]
push eax
mov ecx, dword [ebp - 0xfac]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.00439cb5
add esp, 4
push eax
mov eax, dword [ebp - 0xfac]
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 2
push 1
push 0
lea ecx, [ebp - 0xe64]
push ecx
mov edx, dword [ebp - 0xfac]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00439cb5
add esp, 4
push eax
mov ecx, dword [ebp - 0xfac]
push ecx
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x22c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 0
jne 0x425e1b
mov byte [ebp - 0xe4f], 0
mov dl, byte [ebp - 0xe4f]
mov byte [ebp - 0xe50], dl
mov eax, dword [ebp + 0xc]
push eax
push 0x2f
mov ecx, dword [ebp + 0x20]
push ecx
push 0x464f34
push 0x400
lea edx, [ebp - 0xd48]
push edx
call fcn.0043771c
add esp, 0x18
lea eax, [ebp - 0x840]
push eax
push 0x464f3c
lea ecx, [ebp - 0xd48]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0041ff60
add esp, 0x10
test eax, eax
je 0x425ddf
mov eax, dword [ebp - 0x824]
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x840]
push edx
push 0x104
lea eax, [ebp - 0xe50]
push eax
call fcn.004243a0
add esp, 0x10
lea ecx, [ebp - 0x840]
push ecx
call fcn.00420020
add esp, 4
mov byte [ebp - 0xd4d], 0
movsx edx, byte [ebp - 0xe50]
cmp edx, 0x23
jne 0x425e08
movsx eax, byte [ebp - 0xe4f]
cmp eax, 0x21
jne 0x425e08
lea ecx, [ebp - 0xe4e]
push ecx
call fcn.00425f80
add esp, 4
jmp 0x425e0f
mov byte [ebp - 0xe4e], 0
lea edx, [ebp - 0xe4e]
mov dword [ebp - 0xe54], edx
mov eax, dword [ebp - 0xe54]
movsx ecx, byte [eax]
test ecx, ecx
je 0x425e4f
push 0
lea edx, [ebp - 0xfa8]
push edx
push 0x104
mov eax, dword [ebp - 0xe54]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea ecx, [ebp - 0xfa8]
mov dword [ebp - 0xe54], ecx
push 0
lea edx, [ebp - 0x948]
push edx
push 0x104
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov ecx, dword [ebp - 0xe54]
movsx edx, byte [ecx]
test edx, edx
jne 0x425e80
mov dword [ebp - 0xfb0], 0x46940d
jmp 0x425e8a
mov dword [ebp - 0xfb0], 0x464f40
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x948]
push ecx
mov edx, dword [ebp - 0xfb0]
push edx
mov eax, dword [ebp - 0xe54]
push eax
push str._s_s__s_s_
push 0x400
lea ecx, [ebp - 0xd48]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0041f6e0
add esp, 0x20
push 0x400
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0xd48]
push ecx
call fcn.0041cd20
add esp, 0xc
lea edx, [ebp - 0x818]
push edx
lea eax, [ebp - 0xea0]
push eax
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push 0x200
push 1
push 0
push 0
lea edx, [ebp - 0x808]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x425f3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xd48]
push eax
push str.spawn_process
push str._s:_CreateProcess__s_:__ld
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041f500
add esp, 0x14
mov dword [ebp - 0x818], 0xffffffff
mov edx, dword [ebp - 0xe64]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xe68]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x818]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004320d5
mov esp, ebp
pop ebp
ret