Function at 0x180017a40
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x168]
sub rsp, 0x268
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x1800ea550]
xor rax, rsp
mov qword [rbp + 0x158], rax
movzx ebx, r9b
mov r12, r8
mov r15, rdx
mov rdi, rcx
mov r14, qword [rbp + 0x1e8]
mov r13, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x1f8]
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
xor edx, edx
lea r8d, [rax + 0x60]
lea rcx, [rbp + 0x78]
call fcn.180073cb0
mov dword [rbp + 0x70], 0x68
mov dword [rbp + 0xac], 1
neg bl
sbb ax, ax
and ax, 5
mov word [rbp + 0xb0], ax
mov rcx, qword [rdi + 0x10]
inc rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180072c28
mov rsi, rax
test rax, rax
jne 0x180017cc9
lea edx, [rax + 2]
lea r8d, [rax + 1]
lea rcx, [rbp - 0x80]
call fcn.18000d500
nop
lea rdx, str.new_FAILED.
lea rcx, [rbp - 0x80]
call fcn.180010b40
mov qword [rbp + 0x120], 0xf
xor edi, edi
mov qword [rbp + 0x118], rdi
mov byte [rbp + 0x108], dil
lea r8d, [rsi + 0x22]
lea rdx, str.CProcUtility::CreateProcessInherit
lea rcx, [rbp + 0x108]
call fcn.1800071c0
nop
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], rdi
mov byte [rbp + 0xe0], dil
lea r8d, [rsi + 0xf]
lea rdx, str.ProcUtility.cpp
lea rcx, [rbp + 0xe0]
call fcn.1800071c0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x80]
call fcn.18000d630
mov rbx, rax
call fcn.18000ddc0
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x108]
mov qword [rsp + 0x20], rax
mov r9d, 0x103
lea r8, [rbp + 0xe0]
xor edx, edx
call fcn.180002e80
nop
cmp qword [rbp + 0x148], 8
jb 0x180017be8
mov rcx, qword [rbp + 0x130]
call fcn.18007309c
mov qword [rbp + 0x148], 7
mov qword [rbp + 0x140], rdi
mov word [rbp + 0x130], di
cmp qword [rbp + 0xf8], 0x10
jb 0x180017c17
mov rcx, qword [rbp + 0xe0]
call fcn.18007309c
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], rdi
mov byte [rbp + 0xe0], 0
cmp qword [rbp + 0x120], 0x10
jb 0x180017c46
mov rcx, qword [rbp + 0x108]
call fcn.18007309c
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], rdi
mov byte [rbp + 0x108], 0
lea rax, [rbp + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx - 0x80], rax
lea rcx, [rbp - 0x78]
call fcn.18000d670
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x80], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x68], rax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + 8], rax
lea rax, vtable.std::ios_base.0
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.1800724a4
xor al, al
jmp 0x1800182d5
mov r8, qword [rdi + 0x10]
inc r8
xor edx, edx
mov rcx, rax
call fcn.180073cb0
cmp qword [rdi + 0x18], 8
jb 0x180017ce6
mov r8, qword [rdi]
jmp 0x180017ce9
mov r8, rdi
lea rdx, [0x1800b742c]
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
mov bl, 1
cmp qword [r12 + 0x10], 0
ja 0x180017d08
xor r12d, r12d
jmp 0x180017d13
mov rcx, r12
call fcn.180003be0
mov r12, rax
cmp qword [r15 + 0x10], 0
ja 0x180017d22
xor r15d, r15d
mov eax, r15d
jmp 0x180017d2d
mov rcx, r15
call fcn.180003be0
xor r15d, r15d
mov ecx, r15d
cmp byte [rbp + 0x1d0], 0
setne cl
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x70]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], ecx
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x180017f12
lea edx, [rax + 2]
lea r8d, [rax + 1]
lea rcx, [rbp - 0x80]
call fcn.18000d500
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.CP_FAILED._GetLastError:
lea rcx, [rbp - 0x80]
call fcn.180010b40
mov rcx, rax
mov edx, ebx
call fcn.18000cd70
mov rcx, rax
lea rdx, str.._cmd:
call fcn.180010b40
mov rcx, rax
mov rdx, rdi
call fcn.180010da0
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
mov r8d, 0x22
lea rdx, str.CProcUtility::CreateProcessInherit
lea rcx, [rbp + 0xe0]
call fcn.1800071c0
nop
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
mov r8d, 0xf
lea rdx, str.ProcUtility.cpp
lea rcx, [rbp + 0x108]
call fcn.1800071c0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x80]
call fcn.18000d630
mov rbx, rax
call fcn.18000ddc0
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 0x117
lea r8, [rbp + 0x108]
mov edx, 1
call fcn.180002e80
nop
cmp qword [rbp + 0x148], 8
jb 0x180017e8a
mov rcx, qword [rbp + 0x130]
call fcn.18007309c
mov qword [rbp + 0x148], 7
mov qword [rbp + 0x140], r15
mov word [rbp + 0x130], r15w
cmp qword [rbp + 0x120], 0x10
jb 0x180017eba
mov rcx, qword [rbp + 0x108]
call fcn.18007309c
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
cmp qword [rbp + 0xf8], 0x10
jb 0x180017ee9
mov rcx, qword [rbp + 0xe0]
call fcn.18007309c
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
lea rcx, [rbp - 0x80]
call fcn.18000caa0
xor bl, bl
jmp 0x1800182aa
cmp byte [rbp + 0x1d8], 0
je 0x1800180d6
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1800180d6
mov edx, dword [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
test eax, eax
je 0x1800180d6
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rbp - 0x80]
call fcn.18000d500
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.::WaitForSingleObject_FAILED._GetLastError:
lea rcx, [rbp - 0x80]
call fcn.180010b40
mov rcx, rax
mov edx, ebx
call fcn.18000cd70
mov rcx, rax
lea rdx, str.__dwRet:
call fcn.180010b40
mov rcx, rax
mov edx, edi
call fcn.18000cd70
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
mov r8d, 0x22
lea rdx, str.CProcUtility::CreateProcessInherit
lea rcx, [rbp + 0xe0]
call fcn.1800071c0
nop
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
mov r8d, 0xf
lea rdx, str.ProcUtility.cpp
lea rcx, [rbp + 0x108]
call fcn.1800071c0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x80]
call fcn.18000d630
mov rbx, rax
call fcn.18000ddc0
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 0x121
lea r8, [rbp + 0x108]
xor edx, edx
call fcn.180002e80
nop
cmp qword [rbp + 0x148], 8
jb 0x18001804e
mov rcx, qword [rbp + 0x130]
call fcn.18007309c
mov qword [rbp + 0x148], 7
mov qword [rbp + 0x140], r15
mov word [rbp + 0x130], r15w
cmp qword [rbp + 0x120], 0x10
jb 0x18001807e
mov rcx, qword [rbp + 0x108]
call fcn.18007309c
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
cmp qword [rbp + 0xf8], 0x10
jb 0x1800180ad
mov rcx, qword [rbp + 0xe0]
call fcn.18007309c
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
lea rcx, [rbp - 0x80]
call fcn.18000caa0
xor bl, bl
jmp 0x1800182aa
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x180018291
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x180018291
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x180018291
lea edx, [rax + 2]
lea r8d, [rax + 1]
lea rcx, [rbp - 0x80]
call fcn.18000d500
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.GECP_FAILED._GetLastError:
lea rcx, [rbp - 0x80]
call fcn.180010b40
mov rcx, rax
mov edx, ebx
call fcn.18000cd70
mov rcx, rax
lea rdx, str.._code:
call fcn.180010b40
mov rcx, rax
mov edx, dword [rdi]
call fcn.18000cd70
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
mov r8d, 0x22
lea rdx, str.CProcUtility::CreateProcessInherit
lea rcx, [rbp + 0xe0]
call fcn.1800071c0
nop
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
mov r8d, 0xf
lea rdx, str.ProcUtility.cpp
lea rcx, [rbp + 0x108]
call fcn.1800071c0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x80]
call fcn.18000d630
mov rbx, rax
call fcn.18000ddc0
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 0x12e
lea r8, [rbp + 0x108]
xor edx, edx
call fcn.180002e80
nop
cmp qword [rbp + 0x148], 8
jb 0x18001820c
mov rcx, qword [rbp + 0x130]
call fcn.18007309c
mov qword [rbp + 0x148], 7
mov qword [rbp + 0x140], r15
mov word [rbp + 0x130], r15w
cmp qword [rbp + 0x120], 0x10
jb 0x18001823c
mov rcx, qword [rbp + 0x108]
call fcn.18007309c
mov qword [rbp + 0x120], 0xf
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
cmp qword [rbp + 0xf8], 0x10
jb 0x18001826b
mov rcx, qword [rbp + 0xe0]
call fcn.18007309c
mov qword [rbp + 0xf8], 0xf
mov qword [rbp + 0xf0], r15
mov byte [rbp + 0xe0], 0
lea rcx, [rbp - 0x80]
call fcn.18000caa0
xor bl, bl
jmp 0x1800182aa
test r14, r14
je 0x18001829d
mov eax, dword [rsp + 0x64]
mov dword [r14], eax
test r13, r13
je 0x1800182aa
mov ecx, dword [rsp + 0x60]
mov dword [r13], ecx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x58], r15
mov rcx, rsi
call fcn.180073b34
movzx eax, bl
mov rcx, qword [rbp + 0x158]
xor rcx, rsp
call fcn.180073c80
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret