Function at 0x4019b0
Capabilities:
Query environment variable
Terminate process

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x78
mov qword [rax + 0x20], rbx
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov r12, rcx
mov qword [rax - 0x28], r13
lea rcx, str.JDK_ALTERNATE_VM
mov r13d, 0xffffffff
mov rsi, rdx
mov dword [rsp + 0x20], r13d
call qword [sym.imp.msvcrt.dll_getenv]
movsxd rbx, dword [r12]
lea r9d, [rbx + 1]
mov rdi, rax
movsxd rcx, r9d
shl rcx, 3
call qword [sym.imp.msvcrt.dll_malloc]
test rax, rax
mov r9, rax
mov qword [rsp + 0x30], rax
jne 0x401a35
lea rcx, str.malloc
call qword [sym.imp.msvcrt.dll_perror]
lea ecx, [r13 + 2]
call qword [sym.imp.msvcrt.dll_exit]
int3
mov rax, qword [rsi]
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x48], r14
mov rcx, qword [rax]
mov eax, 1
mov qword [rsp + 0x40], r15
cmp rax, rbx
mov r14d, eax
mov r15, rax
mov qword [r9], rcx
mov qword [rsp + 0x28], rbx
jge 0x401be9
mov rbp, qword [0x0040f358]
lea r13, [r9 + 8]
mov dword [rsp + 0x24], ebx
nop
nop
nop
mov rax, qword [rsi]
mov rbx, qword [rax + r15*8]
cmp byte [rbx], 0x2d
je 0x401a9c
mov qword [r13], rbx
inc r14d
add r13, 8
jmp 0x401bc8
lea rdx, [0x0040d76c]
mov r8d, 2
mov rcx, rbx
mov r12, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x401abd
lea r12, [rbx + 2]
mov esi, dword [0x0040f360]
xor r9d, r9d
xor r11d, r11d
test esi, esi
jle 0x401b16
mov rbp, qword [0x0040f358]
mov r10, rbp
nop
nop
nop
mov r8, qword [r10]
mov rax, r12
sub r8, r12
nop
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x401b03
inc rax
test ecx, ecx
jne 0x401af0
test edx, edx
je 0x401b7b
inc r9d
inc r11
add r10, 0x20
cmp r9d, esi
jl 0x401ae0
mov esi, 0xa
lea rdx, str._XXaltjvm
mov rcx, rbx
mov r8, rsi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
je 0x401b4a
lea r8d, [rsi + 2]
lea rdx, str._J_XXaltjvm
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x401ba6
cmp byte [rbx + 1], 0x58
mov rbp, qword [0x0040f358]
mov r12, qword [rsp + 0x80]
mov edi, 0xc
mov dword [rsp + 0x20], 0xffffffff
cmove rdi, rsi
mov rsi, qword [rsp + 0x88]
add rdi, rbx
jmp 0x401bc8
test r9d, r9d
js 0x401b16
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
shl r11, 5
mov rdi, qword [r11 + rbp]
mov dword [rsp + 0x20], r9d
inc rdi
dec dword [r12]
jmp 0x401bc8
mov rbp, qword [0x0040f358]
mov rsi, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov qword [r13], rbx
inc r14d
add r13, 8
mov rbx, qword [rsp + 0x28]
inc r15
cmp r15, rbx
jl 0x401a80
mov r9, qword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
mov r13d, dword [rsp + 0x20]
jmp 0x401bf0
mov rbp, qword [0x0040f358]
mov r15, qword [rsp + 0x40]
movsxd rdx, eax
movsxd rax, r14d
cmp rdx, rbx
jge 0x401c28
lea r8, [r9 + rax*8]
mov eax, ebx
sub eax, edx
add r14d, eax
nop
nop
mov rax, qword [rsi]
inc rdx
add r8, 8
cmp rdx, rbx
mov rcx, qword [rax + rdx*8 - 8]
mov qword [r8 - 8], rcx
jl 0x401c10
test rdi, rdi
movsxd rax, r14d
mov qword [r9 + rax*8], 0
mov qword [rsi], r9
mov dword [r12], r14d
mov r14, qword [rsp + 0x48]
jne 0x401c89
mov rbx, qword [rbp]
inc rbx
cmp dword [rbp + 8], 4
jne 0x401c68
call fcn.00404bf0
cmp al, 1
jne 0x401c68
mov rax, qword [0x0040f358]
mov rbx, qword [rax + 0x18]
inc rbx
cmp byte [0x0040f352], 0
je 0x401c81
lea rcx, str.Default_VM:__s_n
mov rdx, rbx
call qword [sym.imp.msvcrt.dll_printf]
mov rax, rbx
jmp 0x401e58
test r13d, r13d
js 0x401e55
movsxd r10, r13d
xor esi, esi
mov rax, r10
shl rax, 5
cmp dword [rax + rbp + 8], 1
jne 0x401d5a
nop
nop
shl r10, 5
lea rdx, [0x0040d76c]
mov r8d, 2
mov rbx, qword [r10 + rbp + 0x10]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x401cd7
add rbx, 2
mov edi, dword [0x0040f360]
mov rbp, qword [0x0040f358]
xor r9d, r9d
xor r10d, r10d
test edi, edi
jle 0x401d26
mov r11, rbp
mov r8, qword [r11]
mov rax, rbx
sub r8, rbx
nop
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x401d13
inc rax
test ecx, ecx
jne 0x401d00
test edx, edx
je 0x401d33
inc r9d
inc r10
add r11, 0x20
cmp r9d, edi
jl 0x401cf1
mov r9d, 0xffffffff
mov r10, 0xffffffffffffffff
cmp esi, edi
jg 0x401d80
test r9d, r9d
js 0x401db0
mov rax, r10
inc esi
mov r13d, r9d
shl rax, 5
mov rdi, qword [rax + rbp]
inc rdi
cmp dword [rax + rbp + 8], 1
je 0x401cb0
movsxd rcx, r13d
shl rcx, 5
mov edx, dword [rcx + rbp + 8]
sub edx, 2
je 0x401e1b
dec edx
je 0x401dea
cmp edx, 2
je 0x401e4e
jmp 0x401e55
cmp byte [rsp + 0x90], 0
jne 0x401da4
lea rcx, str.Error:_Corrupt_jvm.cfg_file__cycle_in_alias_list.
mov dl, 1
call fcn.00404b60
mov ecx, 1
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rax, [0x0040c33c]
jmp 0x401e58
cmp byte [rsp + 0x90], 0
jne 0x401de1
movsxd rdx, r13d
lea rcx, str.Error:_Unable_to_resolve_VM_alias__s
mov r8b, 1
shl rdx, 5
mov rdx, qword [rdx + rbp + 0x10]
call fcn.00404b90
mov ecx, 1
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rax, [0x0040c370]
jmp 0x401e58
cmp byte [rsp + 0x90], 0
jne 0x401e12
lea rcx, str.Error:__s_VM_not_supported
mov r8b, 1
mov rdx, rdi
call fcn.00404b90
mov ecx, 1
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rax, [0x0040c3cc]
jmp 0x401e58
cmp byte [rsp + 0x90], 0
jne 0x401e4e
mov r9, qword [rbp]
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea rdx, str.Warning:__s_VM_not_supported___s_VM_will_be_used_n
inc r9
add rcx, 0x60
mov r8, rdi
call qword [sym.imp.msvcrt.dll_fprintf]
mov rbp, qword [0x0040f358]
mov rdi, qword [rbp]
inc rdi
mov rax, rdi
mov rbp, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x98]
add rsp, 0x78
ret