Function at 0x180009fea
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r15d, r9d
mov r14, r8
mov rsi, rdx
mov rbx, rcx
call fcn.18000b4b4
cmp dword [0x180014018], 0
je 0x18000a1bf
cmp dword [0x1800140b4], 0xa
jl 0x18000a032
mov eax, dword [0x1800140b0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000a107
xor ebp, ebp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
lea rdi, [0x18001307c]
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rbp
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
cmp dword [0x1800140b4], 0xa
jl 0x18000a1bf
mov eax, dword [0x1800140b0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000a1bf
xor ebp, ebp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
lea rdi, [0x18001307c]
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rbp
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
jmp 0x18000a032
mov qword [0x180014030], rsi
mov dword [0x180014040], r15d
mov qword [0x180014038], r14
mov qword [0x180014028], rbx
call fcn.18000a23c
mov edx, dword [0x180014004]
mov rcx, qword [0x180014010]
lea r8, [0x18001307e]
call fcn.1800121c8
mov eax, 1
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret