Function at 0x14003c860
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1600]
mov eax, 0x1700
call fcn.140005810
sub rsp, rax
mov rax, qword [0x14013c170]
xor rax, rsp
mov qword [rbp + 0x15e0], rax
cmp qword [0x140140f00], 0
mov r15, r9
mov r14d, r8d
mov r13, rdx
mov r12, rcx
lea rdi, str.D:_tinderbox_add_5.2_srcVBoxRuntime_r3winldrNative_win.cpp
jne 0x14003c8df
lea r9, str.int___cdecl_rtldrNativeLoadSystem_const_char__const_char__unsigned_int_struct_RTLDRMODINTERNAL__
lea rcx, str.g_hModKernel32
mov r8, rdi
mov edx, 0xb4
call sym.VBoxControl.exe_RTAssertMsg1Weak
lea rcx, str.rtldrNativeLoadSystem__s____is_called_before_IPRT_has_configured_the_windows_loader__n
mov rdx, r12
call sym.VBoxControl.exe_RTAssertMsg2Weak
call sym.VBoxControl.exe_RTAssertShouldPanic
int3
movzx eax, byte [0x140143750]
test al, al
jne 0x14003c90c
mov rcx, qword [0x140140f08]
lea rdx, str.RtlDosApplyFileIsolationRedirection_Ustr
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140143748], rax
mov byte [0x140143750], 1
lea rax, [rbp + 0x5d0]
lea rcx, [rbp - 0x60]
mov edx, 0x104
mov qword [rsp + 0x50], rax
mov esi, 0xffffffcc
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, 0x104
jb 0x14003c93b
lea eax, [rsi - 0x44]
jmp 0x14003cbd2
mov qword [rsp + 0x16f8], rbx
xor ebx, ebx
cmp qword [0x140143748], rbx
je 0x14003cb43
lea rax, [rbp + 0x1b0]
lea r8, [rbp - 0x78]
mov r9d, 0x104
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x58]
or rdx, 0xffffffffffffffff
mov rcx, r12
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x20], rax
call sym.VBoxControl.exe_RTStrToUtf16ExTag
test eax, eax
js 0x14003cb43
mov qword [rsp + 0x40], rbx
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x38], rbx
mov qword [rbp - 0x80], rax
movzx eax, word [rsp + 0x58]
mov qword [rsp + 0x30], rbx
add ax, ax
lea r9, [rsp + 0x78]
lea r8, [0x14012f7e0]
mov word [rbp - 0x70], ax
add ax, 2
lea rdx, [rbp - 0x70]
mov word [rbp - 0x6e], ax
lea rax, [rbp + 0x1b0]
lea ecx, [rbx + 1]
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x60]
mov dword [rsp + 0x78], 0x2060000
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x20], rax
call qword [0x140143748]
test eax, eax
js 0x14003cb43
mov rdi, qword [rsp + 0x60]
mov r11d, ebx
mov edx, ebx
movzx r10d, word [rdi]
test r10, r10
je 0x14003cb2d
mov rbx, qword [rdi + 8]
nop
movzx eax, word [rbp + rdx*2 - 0x60]
movzx r8d, word [rbx + rdx*2]
lea rcx, [rbx + rdx*2]
cmp ax, 0x5c
je 0x14003ca93
cmp ax, 0x2f
je 0x14003ca93
cmp ax, r8w
jne 0x14003ca58
inc rdx
jmp 0x14003cadf
cmp ax, 0x7f
jae 0x14003cae8
cmp r8w, 0x7f
jae 0x14003cae8
movzx r9d, ax
lea eax, [r9 - 0x41]
cmp eax, 0x1a
jae 0x14003ca7a
add r9d, 0x20
movzx ecx, r8w
lea eax, [rcx - 0x41]
cmp eax, 0x1a
jae 0x14003ca89
add ecx, 0x20
cmp r9d, ecx
jne 0x14003cae8
inc rdx
jmp 0x14003cadf
cmp r8w, 0x5c
je 0x14003caa1
cmp r8w, 0x2f
jne 0x14003cae8
xor eax, eax
test rdx, rdx
lea r8, [rbp - 0x60]
setne al
add r11d, eax
sub r8, rbx
inc rdx
add rcx, 2
cmp rdx, r10
jae 0x14003cae8
movzx eax, word [r8 + rcx]
cmp ax, 0x5c
je 0x14003cad0
cmp ax, 0x2f
jne 0x14003cadf
movzx eax, word [rcx]
cmp ax, 0x5c
je 0x14003cab3
cmp ax, 0x2f
je 0x14003cab3
cmp rdx, r10
jb 0x14003ca30
xor ebx, ebx
cmp r11d, 2
jb 0x14003cb2d
lea rax, [rbp + 0x5d0]
lea r8, [rsp + 0x50]
mov r9d, 0x1004
mov qword [rsp + 0x50], rax
movzx edx, word [rdi]
mov rcx, qword [rdi + 8]
lea rax, str.D:_tinderbox_add_5.2_srcVBoxRuntime_r3winldrNative_win.cpp
shr rdx, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call sym.VBoxControl.exe_RTUtf16LittleToUtf8ExTag
test eax, eax
js 0x14003cb2d
mov esi, ebx
lea rcx, [rsp + 0x68]
call qword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
test esi, esi
jns 0x14003cb9e
lea rdi, str.D:_tinderbox_add_5.2_srcVBoxRuntime_r3winldrNative_win.cpp
lea r8, [rsp + 0x50]
lea rcx, [rbp - 0x60]
mov r9d, 0x1004
or rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
call sym.VBoxControl.exe_RTUtf16LittleToUtf8ExTag
test eax, eax
js 0x14003cbca
lea rcx, [rbp + 0x5d0]
mov r8, r12
mov edx, 0x1004
call sym.VBoxControl.exe_RTPathAppend
test r13, r13
je 0x14003cb9a
test eax, eax
js 0x14003cbca
lea rcx, [rbp + 0x5d0]
mov r8, r13
mov edx, 0x1004
call sym.VBoxControl.exe_RTStrCat
test eax, eax
js 0x14003cbca
lea rcx, [rbp + 0x5d0]
call sym.VBoxControl.exe_RTFileExists
test al, al
je 0x14003cbc5
lea rcx, [rbp + 0x5d0]
xor r9d, r9d
mov r8d, r14d
mov rdx, r15
call sym.VBoxControl.exe_RTLdrLoadEx
jmp 0x14003cbca
mov eax, 0xfffffd9e
mov rbx, qword [rsp + 0x16f8]
mov rcx, qword [rbp + 0x15e0]
xor rcx, rsp
call fcn.1400057e0
add rsp, 0x1700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret