Function at 0x140015c54
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r15
sub rsp, 0x80
mov r13d, r9d
mov rbx, r8
mov rdi, rcx
test r8, r8
je 0x140015cac
mov rcx, rbx
call fcn.140016740
test rax, rax
je 0x140015cac
lea rdx, str.__i4j_reboot
mov rcx, rbx
call fcn.1400186e0
test eax, eax
jne 0x140015cac
call fcn.1400145a8
jmp 0x140016100
lea rcx, str.__i4j_lang_restart
call fcn.140016740
lea rdx, str.__i4j_lang_restart
mov rcx, rbx
mov r8, rax
call fcn.140017ab0
movzx ecx, byte [0x14004f790]
mov r15d, 1
test eax, eax
lea r8d, [r15 + 0xe]
lea rdx, str._q_i4j_internal
cmove ecx, r15d
mov byte [0x14004f790], cl
mov rcx, rbx
call fcn.140017ab0
test eax, eax
jne 0x140015cff
call fcn.140004bd4
mov ecx, 8
call fcn.140017058
test rax, rax
je 0x140015d18
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x140015d1a
xor eax, eax
and qword [rsp + 0x68], 0
and qword [rsp + 0x70], 0
and qword [rsp + 0x78], 0
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140015554
lea rdx, [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
call fcn.1400156e4
mov ecx, 0x9a
call fcn.14000469c
test eax, eax
setne r12b
test r12b, r12b
je 0x140015d88
call fcn.140014440
lea rcx, str.davhlpr.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, str.fwbase.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call fcn.1400149b8
test r12b, r12b
jne 0x140015da4
mov ecx, 0x9c
call fcn.14000469c
test eax, eax
je 0x140015ebe
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
xor edi, edi
mov rcx, rdx
xor ebx, ebx
sub rcx, r8
sar rcx, 3
test rcx, rcx
je 0x140015ebe
test r12b, r12b
je 0x140015dfe
cmp rbx, rcx
jb 0x140015dd9
call fcn.140017038
mov r8, qword [rsp + 0x68]
mov rcx, qword [r8 + rbx*8]
lea rdx, [0x140038c44]
call fcn.1400171d4
test eax, eax
jne 0x140015df4
call fcn.140004bd4
jmp 0x140015e68
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
sub rdx, r8
sar rdx, 3
cmp rbx, rdx
jb 0x140015e14
call fcn.140017038
mov r8, qword [rsp + 0x68]
mov rcx, qword [r8 + rbx*8]
lea rdx, str._console
call fcn.1400171d4
test eax, eax
jne 0x140015e2f
call fcn.1400143ec
jmp 0x140015e68
test r12b, r12b
je 0x140015e68
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
sub rax, rcx
sar rax, 3
cmp rbx, rax
jb 0x140015e54
call fcn.140017038
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + rbx*8]
lea rdx, [0x140038c24]
call fcn.1400171d4
test eax, eax
je 0x140015e8f
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
add edi, r15d
mov rcx, rdx
movsxd rax, edi
add rbx, r15
sub rcx, r8
sar rcx, 3
cmp rax, rcx
jae 0x140015ebe
jmp 0x140015dc5
call fcn.140004bd4
call fcn.1400143ec
test al, al
jne 0x140015ebe
lea r8, str.install4j
lea rdx, str.Error:_Could_not_allocate_console.
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, r15d
call fcn.140004df8
mov ecx, 0x7d
mov bpl, r15b
call fcn.14000469c
test eax, eax
je 0x140015faf
mov rbx, qword [rsp + 0x68]
cmp rbx, qword [rsp + 0x70]
jbe 0x140015ee4
call fcn.140017038
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rbx
mov rsi, qword [rsp + 0x70]
cmp qword [rsp + 0x68], rsi
jbe 0x140015f04
call fcn.140017038
test rdi, rdi
je 0x140015f10
cmp rdi, qword [rsp + 0x50]
je 0x140015f15
call fcn.140017038
cmp rbx, rsi
je 0x140015faf
test rdi, rdi
jne 0x140015f2d
call fcn.140017038
xor r11d, r11d
jmp 0x140015f30
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x20]
jb 0x140015f3b
call fcn.140017038
mov rcx, qword [rbx]
lea rdx, [0x140038be0]
call fcn.1400171d4
test eax, eax
jne 0x140015f89
movaps xmm0, xmmword [rsp + 0x20]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140014cb8
xor bpl, bpl
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x20], xmm0
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
jmp 0x140015ef3
test rdi, rdi
jne 0x140015f98
call fcn.140017038
xor r11d, r11d
jmp 0x140015f9b
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x20]
jb 0x140015fa6
call fcn.140017038
add rbx, 8
jmp 0x140015eee
cmp byte [0x14004f790], 0
jne 0x140015fc0
mov cl, r15b
call fcn.14001211c
call fcn.1400115a8
test al, al
jne 0x14001605d
cmp byte [0x14004f790], al
jne 0x14001605d
mov rcx, qword [0x14004f780]
call fcn.140016740
lea rcx, str.This_executable_was_created_with_an_evaluation_version_of
mov rbx, rax
call fcn.140016740
lea rcx, [rbx + rax + 0xa]
call fcn.140016610
lea rdx, str.This_executable_was_created_with_an_evaluation_version_of
mov rcx, rax
mov rbx, rax
call fcn.140016d10
mov rdx, qword [0x14004f780]
mov rcx, rbx
call fcn.140016c70
test r12b, r12b
je 0x14001603d
lea rdx, [0x140038bdc]
mov rcx, rbx
call fcn.140016c70
mov rcx, rbx
call fcn.140014374
jmp 0x140016055
mov r8, qword [0x14004f780]
mov r9d, 0x40
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rcx, rbx
call fcn.140016ad0
mov cl, r15b
call fcn.140004924
test eax, eax
je 0x14001607a
lea rdx, [0x140038bd8]
mov ecx, 0x3f1
call fcn.140004f84
call fcn.140014790
xor r8d, r8d
xor edx, edx
mov cl, r15b
call fcn.140013e0c
test al, al
jne 0x14001609a
mov ecx, 0x53
call fcn.140004df8
test bpl, bpl
je 0x1400160b2
mov ecx, 0x6c
call fcn.14000469c
test eax, eax
je 0x1400160b2
mov r8b, r15b
jmp 0x1400160b5
xor r8d, r8d
lea rcx, [rsp + 0x50]
mov r9d, r13d
mov dl, r15b
call fcn.14000c294
test al, al
jne 0x1400160d5
xor edx, edx
mov ecx, 0x3ed
call fcn.140004f98
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400160e4
call fcn.140016ad0
mov rcx, qword [rsp + 0x50]
and qword [rsp + 0x68], 0
and qword [rsp + 0x70], 0
and qword [rsp + 0x78], 0
call fcn.140016ad0
lea r11, [rsp + 0x80]
xor eax, eax
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop r12
ret