Function at 0x401d20
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x42ef73
mov eax, dword fs:[0]
push eax
mov eax, 0x2068
call fcn.0041c220
mov eax, dword [0x43cc00]
xor eax, esp
mov dword [esp + 0x2064], eax
push ebx
push ebp
push esi
mov eax, dword [0x43cc00]
xor eax, esp
push eax
lea eax, [esp + 0x2078]
mov dword fs:[0], eax
mov bl, cl
push 0x44
lea eax, [esp + 0x30]
push 0
push eax
mov dword [esp + 0x208c], 0
call fcn.0041a7a0
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], 0x44
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov ebp, dword [esp + 0x2088]
neg bl
lea edx, [esp + 0x74]
mov dword [esp + 0x58], 1
mov eax, ebp
sbb ebx, ebx
and ebx, 5
mov word [esp + 0x5c], bx
sub edx, ebp
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x401db2
mov ebx, dword [sym.imp.KERNEL32.dll_CreateProcessW]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x94]
push ecx
push 0
mov dword [esp + 0x3c], 0x103
call ebx
test eax, eax
je 0x401e78
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
mov eax, dword [esp + 0x14]
cmp eax, 0x103
jne 0x401e9d
push 0x3e8
call esi
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x401e9d
cmp byte [esp + 0x208c], 0
mov eax, dword [esp + 0x14]
je 0x401e92
cmp eax, 0x103
je 0x401e0f
test eax, eax
je 0x401e9d
push 0x7d0
call esi
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x30]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x94]
push eax
push 0
mov dword [esp + 0x3c], 0x103
call ebx
test eax, eax
jne 0x401e00
call fcn.0040c0d4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x401ee3
push 0x80004005
call fcn.004016a0
cmp eax, 0x103
je 0x401e0f
mov ecx, dword [esp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [esp + 0x20]
push edx
call esi
mov esi, dword [esp + 0x14]
lea eax, [ebp - 0x10]
mov dword [esp + 0x2080], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401edc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
jmp 0x401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push ebp
mov byte [esp + 0x2084], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x20]
push str.call_err_d__szCommand___s
push ecx
call fcn.004028d0
mov esi, dword [esp + 0x28]
add esp, 0x10
push 0
push 0
push esi
call fcn.0040c51f
lea eax, [esi - 0x10]
mov byte [esp + 0x2080], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x401f47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov dword [esp + 0x2080], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401f6e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x2078]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2064]
xor ecx, esp
call fcn.00417ffe
add esp, 0x2074
ret