Function at 0x4019d8
Capabilities:
Get common file path
Set current directory

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x2f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x290], rcx
mov dword [rbp + 0x298], edx
mov qword [rbp + 0x2a0], r8
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
or eax, 0x8001
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
mov dword [rbp + 0x14c], 0
mov eax, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a0]
mov r8d, 1
mov ecx, eax
call fcn.004052cb
xor eax, 1
test al, al
jne 0x401aac
mov r8, qword [str._n_nThe_launcher_has_determined_that_the_parent_process_has_a_console_and_will_reuse_it_for_its_own_console_output._nClosing_the_console_will_result_in_termination_of_the_running_program._nUse___console_suppress_to_suppress_console_output._nUse___console_new_to_create_a_separate_console_window._n]
lea rcx, [rbp + 0x14c]
mov rdx, qword [rbp + 0x2a0]
lea rax, [rbp + 0x298]
mov r9, r8
mov r8, rcx
mov rcx, rax
call fcn.004053e8
xor eax, 1
test al, al
jne 0x401aac
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x10
mov rax, qword [rax]
mov rcx, qword [rbp + 0x290]
call rax
xor eax, 1
test al, al
jne 0x401aac
mov rcx, qword [rbp + 0x290]
call fcn.00402a26
xor eax, 1
test al, al
je 0x401ab3
mov eax, 1
jmp 0x401ab8
mov eax, 0
test al, al
je 0x401ac6
mov ebx, 0xffffffff
jmp 0x4022d2
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x40
mov rax, qword [rax]
mov rcx, qword [rbp + 0x290]
call rax
mov rbx, rax
mov rax, qword [rbp + 0x290]
lea rdx, [rax + 8]
lea rax, [rbp + 0x190]
lea r8, str.etc_
mov rcx, rax
call fcn.00420830
lea rax, [rbp + 0x170]
lea rdx, [rbp + 0x190]
mov r8, rbx
mov rcx, rax
call fcn.004206e0
lea rax, [rbp + 0x150]
lea rdx, [rbp + 0x170]
lea r8, str..conf
mov rcx, rax
call fcn.004206e0
lea rax, [rbp + 0x150]
mov rcx, rax
call fcn.0041a830
mov rdx, rax
mov rcx, qword [rbp + 0x290]
call fcn.00403df8
lea rax, [rbp + 0x150]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x170]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x190]
mov rcx, rax
call fcn.0041fe00
mov eax, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a0]
mov r8, rdx
mov edx, eax
mov rcx, qword [rbp + 0x290]
call fcn.00402e1e
xor eax, 1
test al, al
je 0x401bb4
mov ebx, 0xffffffff
jmp 0x4022d2
mov rax, qword [rbp + 0x290]
lea rdx, [rax + 0x88]
lea rax, [rbp + 0x120]
mov rcx, rax
call fcn.0041f940
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x40
mov rax, qword [rax]
mov rcx, qword [rbp + 0x290]
call rax
mov rbx, rax
mov rax, qword [rbp + 0x290]
lea rdx, [rax + 0x88]
lea rax, [rbp + 0x1f0]
lea r8, str.etc_
mov rcx, rax
call fcn.00420830
lea rax, [rbp + 0x1d0]
lea rdx, [rbp + 0x1f0]
mov r8, rbx
mov rcx, rax
call fcn.004206e0
lea rax, [rbp + 0x1b0]
lea rdx, [rbp + 0x1d0]
lea r8, str..conf
mov rcx, rax
call fcn.004206e0
lea rax, [rbp + 0x1b0]
mov rcx, rax
call fcn.0041a830
mov rdx, rax
mov rcx, qword [rbp + 0x290]
call fcn.00403df8
lea rax, [rbp + 0x1b0]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x1d0]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x1f0]
mov rcx, rax
call fcn.0041fe00
mov rax, qword [rbp + 0x290]
lea rcx, [rax + 0x88]
lea rax, [rbp + 0x120]
mov rdx, rax
call fcn.0041ff20
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x28
mov rax, qword [rax]
mov rcx, qword [rbp + 0x290]
call rax
mov rcx, qword [rbp + 0x290]
call fcn.004028f4
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041fa90
mov rax, qword [rbp + 0x290]
add rax, 8
mov rcx, rax
call fcn.0041a830
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetDllDirectoryA]
call rax
mov rax, qword [rbp + 0x290]
add rax, 0x48
mov rcx, rax
call fcn.0041a830
mov rcx, rax
call fcn.00404aa5
test al, al
je 0x401d3f
mov rax, qword [rbp + 0x290]
lea rdx, [rax + 0x48]
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041ff20
jmp 0x401db7
mov rax, qword [rbp + 0x290]
lea rbx, [rax + 0x48]
mov rax, qword [rbp + 0x290]
lea rdx, [rax + 8]
lea rax, [rbp + 0x230]
mov r8d, 0x5c
mov rcx, rax
call fcn.00420890
lea rax, [rbp + 0x210]
lea rdx, [rbp + 0x230]
mov r8, rbx
mov rcx, rax
call fcn.00420730
lea rdx, [rbp + 0x210]
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041fe40
lea rax, [rbp + 0x210]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x230]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041a830
mov rcx, rax
call fcn.00404aa5
xor eax, 1
test al, al
je 0x401e07
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041a830
mov r9, rax
lea r8, str.Could_not_find_platform_cluster:_n_s
mov edx, 1
mov ecx, 0
call fcn.004051ba
mov ebx, 0
jmp 0x4022b4
mov eax, dword [rbp + 0x298]
lea edx, [rax + 0x14]
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.00418880
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x18
mov rax, qword [rax]
lea rdx, [rbp + 0xf0]
mov rcx, qword [rbp + 0x290]
call rax
mov rax, qword [rbp + 0x290]
add rax, 0x108
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x401e99
lea rax, [rbp + 0xf0]
lea rdx, str.__clusters
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0x108
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0x88
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x401ef2
lea rax, [rbp + 0xf0]
lea rdx, str.__userdir
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0x88
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0xc8
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x401f4b
lea rax, [rbp + 0xf0]
lea rdx, str.__default_userdir_root
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0xc8
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0xa8
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x401f83
mov rax, qword [rbp + 0x290]
movzx eax, byte [rax + 0x188]
xor eax, 1
test al, al
je 0x401f83
mov eax, 1
jmp 0x401f88
mov eax, 0
test al, al
je 0x401fc9
lea rax, [rbp + 0xf0]
lea rdx, str.__cachedir
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0xa8
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0x148
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x40200c
mov rax, qword [rbp + 0x290]
add rax, 0x148
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.00418500
mov dword [rbp + 0x26c], 0
mov eax, dword [rbp + 0x298]
cmp dword [rbp + 0x26c], eax
jge 0x402059
mov eax, dword [rbp + 0x26c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x2a0]
add rax, rdx
mov rdx, qword [rax]
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
add dword [rbp + 0x26c], 1
jmp 0x402016
mov rax, qword [rbp + 0x290]
add rax, 0x168
mov rcx, rax
call fcn.0041a850
xor eax, 1
test al, al
je 0x4020b2
lea rax, [rbp + 0xf0]
lea rdx, str.__jdkhome
mov rcx, rax
call fcn.004186c0
mov rax, qword [rbp + 0x290]
add rax, 0x168
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov eax, dword [rbp + 0x14c]
test eax, eax
je 0x402117
lea rax, [rbp + 0xf0]
lea rdx, [0x00423435]
mov rcx, rax
call fcn.004186c0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 0
mov eax, dword [rbp + 0x14c]
mov ecx, eax
lea rax, [rbp + 0xd0]
mov r8d, 0xa
mov rdx, rax
call sub.msvcrt.dll__itoa
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
mov rdx, qword [str._lib_nbexec64.dll]
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041ffb0
mov rax, qword [rbp + 0x290]
mov rax, qword [rax]
add rax, 0x70
mov rax, qword [rax]
mov rcx, qword [rbp + 0x290]
call rax
mov qword [rbp + 0x260], rax
cmp qword [rbp + 0x260], 0
je 0x40223b
lea rax, [rbp - 0x40]
mov rdx, rax
mov ecx, 0x104
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
call rax
mov dword [rbp + 0x25c], eax
cmp dword [rbp + 0x25c], 0
jne 0x402198
lea r8, str.Failed_to_get_current_directory
mov edx, 0
mov ecx, 1
call fcn.004051ba
jmp 0x402212
lea rax, [rbp + 0x25b]
mov rcx, rax
call fcn.0041aee0
lea rcx, [rbp + 0x25b]
lea rdx, [rbp - 0x40]
lea rax, [rbp - 0x60]
mov r8, rcx
mov rcx, rax
call fcn.0041f8b0
lea rax, [rbp + 0x25b]
mov rcx, rax
call fcn.0041af10
lea rax, [rbp - 0x60]
lea r8, str._J_Dnetbeans.user.dir
mov edx, 0
mov rcx, rax
call fcn.0041eb90
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.004186c0
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.0041fe00
mov rax, qword [rbp + 0x260]
mov rdx, rax
lea rcx, str.Changing_current_directory_to:___s_
call fcn.00405200
mov rax, qword [rbp + 0x260]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
call rax
lea rax, [rbp + 0xe8]
mov rcx, rax
call fcn.00418190
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.00418850
mov rsi, rax
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.00418870
mov ebx, eax
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041a830
mov rdx, rax
lea rax, [rbp + 0xe8]
mov r9, rsi
mov r8d, ebx
mov rcx, rax
call fcn.004180b0
mov ebx, eax
lea rax, [rbp + 0xe8]
mov rcx, rax
call fcn.004181b0
lea rax, [rbp + 0xf0]
mov rcx, rax
call fcn.00418910
lea rax, [rbp + 0x100]
mov rcx, rax
call fcn.0041fe00
lea rax, [rbp + 0x120]
mov rcx, rax
call fcn.0041fe00
mov eax, ebx
jmp 0x4023ec
add rsp, 0x2f0
pop rbx
pop rsi
pop rbp
ret