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

Disassembly:
push 0xd4
mov eax, 0x4946fc
call fcn.0047ec90
mov bl, cl
mov byte [ebp - 0x4c], bl
call fcn.0054bb20
test al, al
jne 0x54bce5
test bl, bl
je 0x54bcde
push 0x42c520
call fcn.0054c8a3
pop ecx
xor al, al
jmp 0x54bf93
lea ecx, [ebp - 0x2c]
call fcn.0054b941
xor eax, eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], eax
call fcn.0054c6a9
test al, al
jne 0x54bd27
test bl, bl
je 0x54bdaf
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
jb 0x54bd15
mov eax, dword [ebp - 0x2c]
push eax
push 0x42c548
call fcn.0054c8a3
pop ecx
pop ecx
jmp 0x54bdaf
lea ecx, [ebp - 0x48]
call fcn.0054b2f6
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.0054b387
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.0054bf99
test al, al
je 0x54bd79
test bl, bl
je 0x54bd5a
push 0x42c578
call fcn.0054c8a3
pop ecx
push dword [ebp - 0x50]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x48]
call esi
mov byte [ebp - 0x54], 1
jmp 0x54bdaf
call fcn.0054bbd3
test al, al
je 0x54bdbf
test bl, bl
je 0x54bd91
push 0x42c5a8
call fcn.0054c8a3
pop ecx
push dword [ebp - 0x50]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x48]
call esi
xor eax, eax
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x2c]
call fcn.00450d98
mov eax, dword [ebp - 0x54]
jmp 0x54bf93
test bl, bl
je 0x54bdce
push 0x42c5d8
call fcn.0054c8a3
pop ecx
lea ecx, [ebp - 0x44]
call fcn.0054b8a1
push 0x44
pop esi
xor eax, eax
mov byte [ebp - 4], 3
push esi
push eax
lea eax, [ebp - 0xe0]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xe0], esi
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
jb 0x54be02
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
jb 0x54be0e
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x70]
push edx
lea edx, [ebp - 0xe0]
push edx
push eax
xor eax, eax
push eax
push 8
push eax
push eax
push eax
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x54be50
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, 0x42c5ec
lea ecx, [ebp - 0x7c]
call fcn.0054bfde
push 0x5954fc
lea eax, [ebp - 0x7c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
mov esi, dword [ebp - 0x70]
test esi, esi
jne 0x54be74
push 0x42c5fc
lea ecx, [ebp - 0x88]
call fcn.004ead12
push 0x5954fc
lea eax, [ebp - 0x88]
jmp 0x54be4a
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 4
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x50]
xor eax, eax
push 0x3e8
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], edi
push eax
push 2
mov dword [ebp - 0x58], esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
sub eax, 0
je 0x54bf67
sub eax, 1
je 0x54bee8
sub eax, 0x101
je 0x54bedd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, 0x42c67c
lea ecx, [ebp - 0x94]
call fcn.0054bfde
push 0x5954fc
lea eax, [ebp - 0x94]
jmp 0x54be4a
test bl, bl
je 0x54bef7
push 0x42c658
jmp 0x54bef1
test bl, bl
je 0x54bef7
push 0x42c628
call fcn.0054c8a3
pop ecx
mov byte [ebp - 4], 5
test bl, bl
je 0x54bf0a
push 0x42c694
call fcn.0054c8a3
pop ecx
call fcn.0054bc09
jmp 0x54bf38
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call ebx
lea ecx, [ebp - 0x44]
call fcn.00450d98
push edi
call ebx
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x48]
call ebx
lea ecx, [ebp - 0x2c]
call fcn.00450d98
jmp 0x54bcde
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call ebx
lea ecx, [ebp - 0x44]
call fcn.00450d98
push edi
call ebx
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x48]
call ebx
lea ecx, [ebp - 0x2c]
call fcn.00450d98
mov al, 1
call fcn.0047ebe2
ret