Function at 0x5d760c
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 8], ebx
mov esi, ecx
mov byte [ebp - 9], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00407e24
mov eax, dword [ebp + 0xc]
call fcn.00407e24
xor eax, eax
push ebp
push 0x5d7817
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [esi], eax
lea eax, [ebp - 0x30]
xor ecx, ecx
mov edx, 0x10
call fcn.00405000
lea eax, [ebp - 0x74]
xor ecx, ecx
mov edx, 0x44
call fcn.00405000
mov dword [ebp - 0x74], 0x44
mov dword [ebp - 0x48], 1
mov word [ebp - 0x42], 0
xor eax, eax
mov dword [ebp - 0x40], eax
cmp byte [ebp + 0x10], 0
je 0x5d7691
mov word [ebp - 0x44], 1
jmp 0x5d7697
mov word [ebp - 0x44], 0
cmp dword [ebp + 0xc], 0
je 0x5d76bf
mov eax, dword [ebp + 0xc]
call fcn.00407ec8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x78]
mov edx, dword [ebp + 0xc]
call fcn.004080c8
mov eax, dword [ebp - 0x78]
call fcn.00407980
mov edi, eax
jmp 0x5d76c6
xor eax, eax
mov dword [ebp - 0x20], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
call fcn.005d8380
test al, al
je 0x5d778b
cmp byte [ebp - 9], 0
jne 0x5d76fb
lea eax, [ebp - 0x14]
push eax
push 0x2000000
mov eax, 0x5d7838
call fcn.005d7524
push eax
call sub.advapi32.dll_OpenProcessToken
jmp 0x5d770f
lea eax, [ebp - 0x14]
push eax
push 0x2000000
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
lea eax, [ebp - 0x18]
push eax
push 1
push 2
push 0
push 0x2000000
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_DuplicateTokenEx
test eax, eax
jne 0x5d7737
call sub.kernel32.dll_GetLastError_1
mov dword [esi], eax
jmp 0x5d77e9
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.004080c8
mov eax, dword [ebp - 8]
call fcn.00407980
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
push 0
push 0
push edi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005d66c4
test al, al
jne 0x5d7777
mov bl, 1
call sub.kernel32.dll_GetLastError_1
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5d77c1
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x20]
push eax
push 0
push 0x4000000
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00407ec8
push eax
push 0
call sub.kernel32.dll_CreateProcessW
test eax, eax
jne 0x5d77c1
call sub.kernel32.dll_GetLastError_1
mov dword [esi], eax
mov bl, 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
cmp byte [ebp + 8], 0
je 0x5d77e9
test bl, bl
jne 0x5d77e9
push 0xffffffffffffffff
mov eax, dword [ebp - 0x30]
push eax
call sub.kernel32.dll_WaitForSingleObject
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x30]
push eax
call sub.kernel32.dll_GetExitCodeProcess
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5d781e
lea eax, [ebp - 0x78]
call fcn.00407790
lea eax, [ebp - 8]
call fcn.00407790
lea eax, [ebp - 4]
call fcn.00407e2c
lea eax, [ebp + 0xc]
call fcn.00407e2c
ret