Function at 0x1400156e4
Capabilities:
Create process on windows
Get common file path
Set current directory

Disassembly:
push rdi
push r12
push r13
mov eax, 0x6310
call fcn.140031150
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x6330], rbx
mov qword [rsp + 0x6340], rbp
mov qword [rsp + 0x6348], rsi
mov rax, qword [0x1400409c0]
xor rax, rsp
mov qword [rsp + 0x6300], rax
mov sil, r8b
mov rbx, rdx
mov r12, rcx
xor r13d, r13d
mov byte [0x14004e000], r13b
lea ebp, [r13 + 8]
cmp rdx, r13
je 0x140015882
mov rax, qword [rdx + 0x20]
sub rax, qword [rdx + 0x18]
sar rax, 3
cmp rax, 1
jbe 0x140015875
cmp rax, 1
ja 0x14001576e
call fcn.140017038
mov rcx, qword [rbx + 0x18]
lea rdx, str._create_i4j_log
mov rcx, qword [rcx + rbp]
call fcn.1400171d4
cmp eax, r13d
je 0x14001581b
mov rax, qword [rbx + 0x20]
sub rax, qword [rbx + 0x18]
sar rax, 3
cmp rax, 1
ja 0x1400157a2
call fcn.140017038
mov rcx, qword [rbx + 0x18]
lea rdx, str._create_e4j_log
mov rcx, qword [rcx + rbp]
call fcn.1400171d4
cmp eax, r13d
je 0x14001581b
mov rax, qword [rbx + 0x20]
sub rax, qword [rbx + 0x18]
sar rax, 3
cmp rax, 1
ja 0x1400157d2
call fcn.140017038
mov rcx, qword [rbx + 0x18]
lea rdx, [0x140038af8]
mov rcx, qword [rcx + rbp]
call fcn.1400171d4
cmp eax, r13d
je 0x14001581b
mov rax, qword [rbx + 0x20]
sub rax, qword [rbx + 0x18]
sar rax, 3
cmp rax, 1
ja 0x140015802
call fcn.140017038
mov rcx, qword [rbx + 0x18]
lea rdx, [0x140038ad8]
mov rcx, qword [rcx + rbp]
call fcn.1400171d4
cmp eax, r13d
jne 0x140015875
mov rdi, qword [rbx + 0x18]
cmp rdi, qword [rbx + 0x20]
jbe 0x14001582a
call fcn.140017038
mov rax, qword [rbx]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.14000d4d4
movaps xmm5, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm5
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140014cb8
mov byte [0x14004f793], 1
cmp sil, r13b
je 0x140015882
mov rcx, rbx
call fcn.140014e9c
mov rcx, rbx
call fcn.1400046f4
cmp sil, r13b
je 0x1400159c7
cmp qword [0x14004df18], r13
jne 0x1400159c7
mov ecx, 0x1f40
call fcn.140016610
mov rdi, rax
mov r8d, 0xfa0
mov rdx, rax
mov ecx, 0x7c
call fcn.1400044f4
lea rdx, str._temp
mov rcx, rdi
call fcn.140017d68
cmp rax, r13
jne 0x1400158ec
lea rdx, [0x1400387a8]
mov rcx, rdi
call fcn.140017d68
cmp rax, r13
je 0x1400159bf
mov rcx, rbp
call fcn.140017058
cmp rax, r13
je 0x140015903
lea rcx, [rsp + 0x70]
mov qword [rax], rcx
jmp 0x140015906
mov rax, r13
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
xor edx, edx
mov rcx, rdi
call fcn.140008d90
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.140015554
lea rcx, [rsp + 0x70]
call fcn.140014e9c
mov ebp, r13d
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x18]
sar rcx, 3
mov rsi, r13
cmp rcx, r13
jbe 0x14001598b
cmp rsi, rcx
jb 0x140015965
call fcn.140017038
mov rax, qword [rbx + 0x18]
mov rcx, qword [rax + rsi*8]
call fcn.140018ce8
inc ebp
inc rsi
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x18]
sar rcx, 3
movsxd rax, ebp
cmp rax, rcx
jb 0x14001595b
mov rcx, qword [rsp + 0x88]
cmp rcx, r13
je 0x14001599d
call fcn.140016ad0
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov rcx, qword [rsp + 0x70]
call fcn.140016ad0
mov rcx, rdi
call fcn.140018ce8
mov qword [0x14004f788], r12
mov r8d, 2
lea rdx, [rsp + 0x50]
mov ecx, 0x7d1
call fcn.140004548
movzx r11d, word [rsp + 0x50]
mov byte [0x14004f770], r11b
cmp r11b, 0x65
jne 0x140015a14
lea rax, str.exe4j
mov qword [0x14004f780], rax
lea rax, [0x1400384d0]
mov qword [0x14004f778], rax
jmp 0x140015a30
lea rax, str.install4j
mov qword [0x14004f780], rax
lea rax, [0x1400384a8]
mov qword [0x14004f778], rax
call fcn.14001520c
mov ecx, 0x271c
call fcn.14000469c
cmp eax, r13d
je 0x140015a55
lea rcx, str.ignoring_java_options_environment_variables
call fcn.140011a6c
call fcn.1400148dc
cmp byte [0x14004f790], r13b
je 0x140015a67
cmp byte [0x14004f791], r13b
je 0x140015ae4
mov r8d, 0x1770
lea rdx, [rsp + 0x540]
mov ecx, 0x92
call fcn.1400044f4
cmp word [rsp + 0x540], r13w
je 0x140015ad8
mov dl, 1
lea rcx, [rsp + 0x540]
call fcn.140008d90
mov r9b, 1
mov r8b, r9b
lea rdx, [rsp + 0x540]
lea rcx, [rsp + 0x3420]
call fcn.14000722c
lea rcx, [rsp + 0x3420]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rdx, [rsp + 0x3420]
lea rcx, str.change_working_directory_to__s
call fcn.140011a6c
jmp 0x140015ae4
lea rcx, str.working_directory_unchanged
call fcn.140011a6c
cmp byte [0x14004f793], r13b
je 0x140015c27
call fcn.1400119c8
mov r8, rax
lea rdx, str.The_following_log_file_will_be_created:_n_n_s_n_nDo_you_want_to_open_an_Explorer_window_
lea rcx, [rsp + 0x540]
call fcn.1400178b8
mov r9d, 4
mov r8, qword [0x14004f778]
lea rdx, [rsp + 0x540]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x140015c27
call fcn.1400119c8
mov rcx, rax
mov ebx, 0x104
mov r8d, ebx
lea rdx, [rsp + 0x330]
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov edx, ebx
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea r9, [rsp + 0x330]
lea r8, [rsp + 0x120]
lea rdx, str._sexplorer.exe__select__s
lea rcx, [rsp + 0x540]
call fcn.1400178b8
lea rdx, [rsp + 0x540]
lea rcx, str.calling__s
call fcn.140011a6c
xor edx, edx
lea r8d, [rdx + 0x18]
lea rcx, [rsp + 0x70]
call fcn.140018af0
mov ebx, 0x68
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0xb0]
call fcn.140018af0
mov dword [rsp + 0xb0], ebx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x540]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, r13d
jne 0x140015c27
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.could_not_open_explorer_window__d
call fcn.140011a6c
mov rcx, qword [rsp + 0x6300]
xor rcx, rsp
call fcn.140016e60
lea r11, [rsp + 0x6310]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret