Function at 0x140001ca0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
cmp byte [rcx + 0x1018], 0
mov rbx, rdx
mov rsi, rcx
jne 0x140001ce7
lea rcx, str.CommandlineLib_is_not_initialized___1__r_n
call fcn.1400091e0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
test rbx, rbx
jne 0x140001d0a
lea rcx, str.Commandline_is_nullptr__r_n
call fcn.1400091e0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
mov r14, 0xffffffffffffffff
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140001d14
add rax, 2
mov qword [rsi + 8], rax
test rax, 0xfffffffffffffffd
jne 0x140001d52
lea rcx, str.Commandline_length_is_invalid__r_n
call fcn.1400091e0
nop word [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
mov rcx, qword [rsi + 8]
cmp rcx, 0x400
jbe 0x140001d6c
mov qword [rsi + 8], 0x400
mov ecx, 0x400
mov eax, 2
mul rcx
lea rdx, [0x140058f00]
mov rbp, rax
cmovb rbp, r14
mov rcx, rbp
call fcn.14001e3c0
mov rdi, rax
test rax, rax
je 0x140001da4
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.140047d20
mov qword [rsi], rdi
jmp 0x140001dc9
lea rcx, str.Failed_to_allocate_memory_for_commandline__r_n
mov qword [rsi], 0
call fcn.1400091e0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
mov rdx, qword ds:[rsi + 8]
lea r9, [0x14004ab58]
mov rcx, qword [rsi]
mov r8, r14
mov qword [rsp + 0x20], rbx
call fcn.1400022c0
test eax, eax
jne 0x140001e07
lea rcx, str.Failed_to_build_commandline_string__r_n
call fcn.1400091e0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
cmp byte [rsi + 0x1018], 0
jne 0x140001e32
lea rcx, str.CommandlineLib_is_not_initialized___3__r_n
call fcn.1400091e0
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
int3
mov rcx, rsi
call fcn.140001be0
mov rbx, qword ds:[rsi]
test rbx, rbx
je 0x140001ed8
xor bpl, bpl
xor edi, edi
cmp word [rbx], di
je 0x140001ed8
movzx ecx, word [rbx]
test bpl, bpl
je 0x140001e7b
nop
cmp cx, 0x22
jne 0x140001ebb
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140001aa0
xor edi, edi
xor bpl, bpl
jmp 0x140001ebb
nop dword [rax + rax]
test rdi, rdi
jne 0x140001ea2
cmp cx, 0x22
jne 0x140001e94
mov bpl, 1
lea rdi, [rbx + 2]
jmp 0x140001ebb
call fcn.140026f34
test eax, eax
jne 0x140001ebb
mov rdi, rbx
jmp 0x140001ebb
call fcn.140026f34
test eax, eax
je 0x140001ebb
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140001aa0
xor edi, edi
add rbx, 2
cmp word [rbx], 0
jne 0x140001e57
test rdi, rdi
je 0x140001ed8
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140001aa0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret