Function at 0x14000c85c
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Set environment variable
Terminate process

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x3050
call fcn.140030d40
sub rsp, rax
mov rax, qword [0x1400409c0]
xor rax, rsp
mov qword [rsp + 0x3040], rax
mov rbx, rdx
mov r15, r8
lea rdx, [rsp + 0x160]
mov r8d, 0x1770
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_GetShortPathNameA]
xor esi, esi
cmp eax, esi
jne 0x14000c8cd
lea rcx, str.Could_not_get_short_path_name_for__S
mov rdx, rbp
call fcn.1400116b0
lea rcx, [rsp + 0x160]
mov rdx, rbp
call fcn.140016900
lea rdx, str.__version
lea rcx, [rsp + 0x160]
call fcn.140016860
lea rcx, str._JAVA_OPTIONS
call fcn.14000c7c4
lea rcx, str.JAVA_TOOL_OPTIONS
mov r14, rax
call fcn.14000c7c4
lea rcx, str.JDK_JAVA_OPTIONS
mov r13, rax
call fcn.14000c7c4
lea rcx, [rsp + 0x18d0]
mov r12, rax
call fcn.140006c00
xor r9d, r9d
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x18d0]
lea r8d, [r9 + 3]
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
je 0x14000c9ae
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rdi
mov rdi, qword [rsp + 0x78]
mov dword [rsp + 0x30], 2
lea r9, [rsp + 0x58]
mov rcx, rax
mov rdx, rdi
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
neg eax
sbb rcx, rcx
and rcx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rcx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
lea rcx, [rsp + 0x60]
lea r8d, [rdx + 0x18]
call fcn.1400186e0
mov edi, 0x68
lea rcx, [rsp + 0x80]
mov r8, rdi
xor edx, edx
call fcn.1400186e0
lea rax, [rsp + 0x60]
mov dword [rsp + 0x80], edi
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea rdx, [rsp + 0x160]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0xbc], 0x101
mov dword [rsp + 0x20], 1
mov qword [rsp + 0xe0], rdi
mov word [rsp + 0xc0], si
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, esi
setne al
mov byte [rsp + 0x50], al
cmp al, sil
je 0x14000ca61
mov rcx, qword [rsp + 0x60]
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp r14, rsi
je 0x14000ca7e
lea rcx, str._JAVA_OPTIONS
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov rcx, r14
call fcn.1400166c0
cmp r13, rsi
je 0x14000ca9b
lea rcx, str.JAVA_TOOL_OPTIONS
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov rcx, r13
call fcn.1400166c0
cmp r12, rsi
je 0x14000cab8
lea rcx, str.JDK_JAVA_OPTIONS
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov rcx, r12
call fcn.1400166c0
cmp byte [rsp + 0x50], sil
jne 0x14000caf2
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [rsp + 0x18d0]
lea rdx, [rsp + 0x160]
lea rcx, str.Could_not_create_process__S____S__error__d_
mov r9d, eax
call fcn.1400116b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000cc1e
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edx, dword [rsp + 0x54]
lea rcx, str.Exit_Code__d
call fcn.1400116b0
cmp dword [rsp + 0x54], 0x103
jne 0x14000cb3a
lea rcx, str.Terminating_process
call fcn.1400116b0
mov rcx, qword [rsp + 0x60]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x14000cb52
cmp dword [rsp + 0x54], esi
je 0x14000cb52
lea r8, str.1.0.0
mov rdx, rbx
mov rcx, rbp
call fcn.14000c530
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x54], esi
jne 0x14000cc1e
lea rdx, [0x1400368d4]
lea rcx, [rsp + 0x18d0]
call fcn.14001a0b0
lea rcx, [rsp + 0xf0]
mov edx, 0x64
mov r8, rax
mov rbp, rax
call fcn.1400192e8
cmp rax, rsi
je 0x14000cc16
lea rdx, str._version__
lea rcx, [rsp + 0xf0]
call fcn.140018c3c
cmp rax, rsi
je 0x14000cc16
lea rdi, [rax + 0xa]
mov edx, 0x22
mov rcx, rdi
call fcn.140016304
cmp rax, rsi
je 0x14000cbdf
sub eax, edi
jmp 0x14000cbea
mov rcx, rdi
call fcn.140016330
sub eax, 2
cmp eax, esi
mov rdx, rdi
mov rcx, r15
cmovl eax, esi
movsxd rbx, eax
mov r8, rbx
call fcn.1400166e0
mov byte [rbx + r15], sil
lea rcx, str.Java_version2:__S
mov rdx, r15
mov sil, 1
call fcn.1400116b0
mov rcx, rbp
call fcn.140019270
lea rcx, [rsp + 0x18d0]
call fcn.140019f48
mov al, sil
mov rcx, qword [rsp + 0x3040]
xor rcx, rsp
call fcn.140016a50
mov rbx, qword [rsp + 0x30a8]
add rsp, 0x3050
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret