Function at 0x4011c8
Capabilities:
Query environment variable
Terminate process

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a8
mov rax, qword [0x00409048]
mov qword [rsp + 0x190], rax
mov rax, qword [str._JAVA_VERSION_SET]
mov esi, ecx
lea rcx, [rsp + 0x70]
mov qword [rcx], rax
mov rax, qword [0x00406628]
xor ebx, ebx
mov qword [rcx + 8], rax
movzx eax, word [0x00406630]
mov rbp, r8
mov word [rcx + 0x10], ax
mov al, byte [0x00406632]
mov qword [rsp + 0x68], r8
mov byte [rcx + 0x12], al
mov rdi, rdx
lea rcx, [rsp + 0x83]
xor edx, edx
mov r8d, 0x109
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x20], ebx
xor r14d, r14d
lea r15d, [rbx - 1]
call sub.msvcrt.dll_memset
lea rcx, [0x00406608]
xor r13d, r13d
mov qword [rsp + 0x50], rbx
call qword [sym.imp.msvcrt.dll_getenv]
test rax, rax
je 0x401280
cmp byte [rax], bl
je 0x4016ae
mov rcx, rax
call sub.jli.dll_JLI_StringDup
mov qword [rbp], rax
jmp 0x4016ae
lea eax, [rsi + 1]
movsxd rcx, eax
shl rcx, 3
call sub.jli.dll_JLI_MemAlloc
mov rcx, qword [rdi]
add rdi, 8
mov qword [rax], rcx
mov rbx, qword [rdi]
mov r12, rax
mov qword [rsp + 0x60], rax
lea rbp, [rax + 8]
mov eax, 1
sub esi, eax
test rbx, rbx
je 0x401402
mov r12d, r13d
cmp byte [rbx], 0x2d
jne 0x4013f8
lea rdx, str._version:
mov r8d, 9
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4012f1
add rbx, 9
mov qword [rsp + 0x58], rbx
mov eax, 1
jmp 0x4013e6
lea rdx, str._jre_restrict_search
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401311
mov eax, 1
mov r15d, eax
jmp 0x4013e6
lea rdx, str._no_jre_restrict_search
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401329
xor r15d, r15d
jmp 0x4012e7
lea rdx, str._jar
mov rcx, rbx
call sub.msvcrt.dll_strcmp
lea rdx, str._classpath
mov rcx, rbx
test eax, eax
mov eax, 1
cmove r12d, eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x401369
lea rdx, [0x004065ac]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40137f
cmp esi, 2
jl 0x40137f
mov qword [rbp], rbx
dec esi
add rbp, 8
add rdi, 8
mov rbx, qword [rdi]
lea rdx, str._Djava.awt.headlesstrue
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40139c
mov eax, 1
mov r14d, eax
jmp 0x4013de
lea rdx, str._Djava.awt.headless
mov r8d, 0x14
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4013bb
xor r14d, r14d
jmp 0x4013d9
lea rdx, str._splash:
mov r8d, 8
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4013d9
lea r13, [rbx + 8]
mov eax, 1
mov qword [rbp], rbx
add rbp, 8
add rdi, 8
sub esi, eax
mov rbx, qword [rdi]
test rbx, rbx
jne 0x4012bb
mov dword [rsp + 0x20], r12d
mov r12, qword [rsp + 0x60]
test esi, esi
jg 0x40140a
xor ebx, ebx
jmp 0x40142b
mov rbx, qword [rdi]
sub esi, eax
mov qword [rbp], rbx
jmp 0x401423
sub esi, eax
mov rax, qword [rdi]
mov qword [rbp], rax
mov eax, 1
add rbp, 8
add rdi, 8
test esi, esi
jg 0x401415
xor esi, esi
cmp dword [rsp + 0x20], esi
mov qword [rbp], rsi
je 0x40149a
cmp rbx, rsi
je 0x40149a
lea rdx, [rsp + 0x28]
mov rcx, rbx
call sub.jli.dll_JLI_ParseManifest
cmp eax, esi
je 0x40147b
cmp eax, 0xffffffff
mov r8b, 1
mov rdx, rbx
lea rcx, str.Unable_to_access_jarfile__s
je 0x40146a
lea rcx, str.Invalid_or_corrupt_jarfile__s
call fcn.00403d24
mov ecx, 1
call qword [sym.imp.msvcrt.dll_exit]
int3
cmp r14d, esi
jne 0x4014ae
cmp r13, rsi
jne 0x4014b8
mov r13, qword [rsp + 0x48]
cmp r13, rsi
je 0x401555
mov qword [rsp + 0x50], rbx
jmp 0x4014ae
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
mov byte [rsp + 0x40], sil
cmp r13, rsi
je 0x4014ff
cmp r14d, esi
jne 0x4014ff
mov rcx, r13
call sub.msvcrt.dll_strlen
lea rcx, [0x00406510]
mov rbx, rax
call sub.msvcrt.dll_strlen
lea rcx, [rbx + rax + 1]
call sub.jli.dll_JLI_MemAlloc
lea rdx, [0x00406510]
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_strcpy
mov rdx, r13
mov rcx, rbx
call sub.msvcrt.dll_strcat
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__putenv]
mov rdi, qword [rsp + 0x50]
cmp rdi, rsi
je 0x401555
cmp r14d, esi
jne 0x401555
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rcx, [0x004064f8]
mov rbx, rax
call sub.msvcrt.dll_strlen
lea rcx, [rbx + rax + 1]
call sub.jli.dll_JLI_MemAlloc
lea rdx, [0x004064f8]
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_strcpy
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_strcat
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__putenv]
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp rax, rsi
cmovne rdx, rax
cmp r15d, 0xffffffff
movzx eax, r15b
cmovne ecx, eax
mov qword [rsp + 0x38], rdx
mov byte [rsp + 0x40], cl
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x40159b
call sub.jli.dll_JLI_StringDup
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
mov qword [rcx], rax
cmp rdx, rsi
je 0x4016a1
mov rcx, rdx
call sub.jli.dll_JLI_ValidVersionString
cmp eax, esi
jne 0x4015d2
mov rdx, qword [rsp + 0x38]
mov ebx, 1
lea rcx, str.Syntax_error_in_version_specification___s_
mov r8b, bl
call fcn.00403d24
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rcx, [rsp + 0x28]
call fcn.00403e98
cmp byte [0x00409082], sil
mov rbx, rax
je 0x401629
cmp rax, rsi
lea rdx, str.null
lea r8, str.false
mov r9, rdx
lea rcx, str.JRE_Version___s__JRE_Restrict_Search___s_Selected___s_n
cmovne r9, rax
cmp byte [rsp + 0x40], sil
lea rax, str.true
cmovne r8, rax
mov rax, qword [rsp + 0x38]
cmp rax, rsi
cmovne rdx, rax
call qword [sym.imp.msvcrt.dll_printf]
cmp rbx, rsi
jne 0x401665
mov rdx, qword [rsp + 0x38]
lea rcx, str.1.6.0_16_b01
call sub.jli.dll_JLI_AcceptableRelease
cmp eax, esi
jne 0x4016a1
mov rdx, qword [rsp + 0x38]
mov ebx, 1
lea rcx, str.Unable_to_locate_JRE_meeting_specification___s_
mov r8b, bl
call fcn.00403d24
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
int3
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x40168b
call sub.msvcrt.dll_strlen
cmp rax, 0x104
ja 0x4016cf
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x70]
call sub.msvcrt.dll_strcat
lea rcx, [rsp + 0x70]
call qword [sym.imp.msvcrt.dll__putenv]
mov rdx, r12
mov rcx, rbx
call fcn.00404110
call sub.jli.dll_JLI_FreeManifest
mov rcx, r12
call sub.jli.dll_JLI_MemFree
mov rcx, qword [rsp + 0x190]
call fcn.004052a0
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ebx, 1
lea rcx, str.Error:_main_class:_attribute_exceeds_system_limits_n
mov dl, bl
call fcn.00403cfc
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
int3