Function at 0x41fe09
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x47f894
call fcn.0047bf20
sub esp, 0x60
push ebx
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
call fcn.0042bf35
xor ebx, ebx
push 0x10
lea eax, [ebp - 0x28]
push ebx
push eax
mov dword [ebp - 4], ebx
call sub.MSVCRT.dll_memset
push 0x44
lea eax, [ebp - 0x6c]
pop esi
push esi
push ebx
push eax
call sub.MSVCRT.dll_memset
mov eax, dword [ebp + 0xc]
add esp, 0x18
cmp dword [0x4adec0], 0x50001
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x64], eax
mov dword [ebp + 0xc], ebx
jne 0x41fe66
cmp dword [ebp + 8], ebx
mov byte [ebp + 0x13], 1
ja 0x41fe69
mov byte [ebp + 0x13], bl
movzx eax, byte [ebp + 0x13]
push eax
mov esi, 0x4ae550
push dword [ebp + 8]
push str.CreateProcess1__1_session_d_custom_d
push esi
call fcn.0042874e
add esp, 0x10
cmp byte [ebp + 0x13], bl
je 0x41ff14
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x10]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042c635
push eax
push ebx
push ebx
push 1
push dword [ebp + 8]
call fcn.0041fa79
add esp, 0x34
cmp eax, ebx
mov dword [ebp + 0x14], eax
jne 0x41fec8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0xc], eax
jmp 0x41ff9e
cmp dword [ebp - 0x28], ebx
jne 0x41ff9e
push dword [ebp - 0x20]
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x41ff9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x18]
push dword [ebp - 0x20]
push str.ERROR:_OpenProcess__u__error_d
push eax
call fcn.0042778f
add esp, 0x10
lea eax, [ebp - 0x18]
push 0x48e404
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp byte [ebp + 0x14], bl
push edi
jne 0x41ff42
lea ecx, [ebp - 0x18]
call fcn.0041c3f9
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.0041c501
lea ecx, [ebp - 0x18]
mov edi, eax
mov byte [ebp - 4], bl
call fcn.0041c403
cmp edi, ebx
jne 0x41ff4d
push dword [ebp + 8]
call fcn.0041fced
pop ecx
mov edi, eax
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x10]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042c3bb
push eax
push ebx
push edi
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
cmp eax, ebx
mov dword [ebp + 0x14], eax
jne 0x41ff7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0xc], eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
pop edi
jne 0x41ff9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ERROR:_CloseHandle_hToken___d
push esi
call fcn.00428736
add esp, 0xc
push dword [ebp + 0xc]
push dword [ebp + 0x14]
push str.CreateProcess1__3__d_error_d
push esi
call fcn.0042874e
add esp, 0x10
cmp dword [ebp + 0x14], ebx
jne 0x41ffdc
push dword [ebp + 8]
lea eax, [ebp - 0x18]
push dword [ebp + 0xc]
push str.ERROR:_CreateProcessAsUser___error_d__session_d
push eax
call fcn.0042778f
add esp, 0x10
lea eax, [ebp - 0x18]
push 0x48e404
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x24], 0xffffffff
je 0x420009
cmp dword [ebp - 0x24], ebx
je 0x420009
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x420009
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ERROR:_CloseHandle_pi.hThread___d
push esi
call fcn.00428736
add esp, 0xc
mov esi, dword [ebp - 0x28]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0042bebc
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret