Function at 0x14004d440
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r12, qword [0x1402840b0]
mov rbp, rcx
mov ecx, 0x30
mov r13, rdx
mov ebx, r8d
mov rax, qword [r12]
mov qword [rsp + 0x58], rax
xor eax, eax
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x14004d7b1
mov ecx, 0x78
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x14004d980
lea rcx, [fcn.14004cfb0]
lea r9, [0x14004d3c0]
lea rax, [0x14004c1e0]
lea rdx, [0x14004cdf0]
lea r8, [0x14004c440]
mov qword [rdi + 0x28], rsi
mov qword [rdi + 0x10], rcx
lea rcx, [rsi + 0x20]
mov qword [rdi + 0x20], r9
mov qword [rdi], rax
mov qword [rdi + 8], rdx
lea r14, [rsp + 0x50]
mov qword [rdi + 0x18], r8
mov byte [rsi + 0x60], 0
mov byte [rsi + 0x61], 0
mov qword [rsi], rbp
mov dword [rsi + 0x64], ebx
mov dword [rsi + 0x68], ebx
mov qword [rsi + 8], r13
call sym.libvlccore.dll_vlc_mutex_init_recursive
lea rdx, str.input_timeshift_granularity
mov r8d, 0x8030
mov rcx, rbp
mov byte [rsi + 0x50], 0
mov qword [rsi + 0x58], 0
mov dword [rsi + 0x6c], 0
mov qword [rsi + 0x70], 0
call sym.libvlccore.dll_var_Create
lea rdx, str.input_timeshift_granularity
mov r9, r14
mov r8d, 0x30
mov rcx, rbp
call sym.libvlccore.dll_var_GetChecked
test eax, eax
jne 0x14004d844
mov r10, qword [rsp + 0x50]
test r10d, r10d
js 0x14004d7d4
cmp r10d, 0x100000
mov r15d, 0x100000
cmovl r10d, r15d
movsxd r11, r10d
sar r10d, 0x14
lea r13, str.using_timeshift_granularity_of__d_MiB
mov qword [rsi + 0x10], r11
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov dword [rsp + 0x38], r10d
mov edx, 3
mov qword [rsp + 0x30], r13
lea r13, str.input_EsOutTimeshiftNew
mov rcx, rbp
mov dword [rsp + 0x20], 0x159
mov qword [rsp + 0x28], r13
call sym.libvlccore.dll_vlc_Log
lea rdx, str.input_timeshift_path
mov r9, r14
mov r8d, 0x40
mov rcx, rbp
call sym.libvlccore.dll_var_Inherit
test eax, eax
jne 0x14004d7ed
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14004d7ed
cmp byte [rbx], 0
je 0x14004d7e5
mov qword [rsi + 0x18], rbx
mov rcx, rbx
call sub.msvcrt.dll_strlen
test rax, rax
mov r9, rax
je 0x14004d766
cmp byte [rbx + rax - 1], 0x5c
lea rdx, [rax - 1]
jne 0x14004d766
mov r11, rdx
and r11d, 7
je 0x14004d6bd
sub rax, 2
cmp byte [rbx + rax], 0x5c
jne 0x14004d855
cmp r11, 1
mov rdx, rax
je 0x14004d6bd
cmp r11, 2
je 0x14004d6ab
cmp r11, 3
je 0x14004d699
cmp r11, 4
je 0x14004d687
cmp r11, 5
je 0x14004d675
cmp r11, 6
je 0x14004d663
sub rax, 1
cmp byte [rbx + rax], 0x5c
jne 0x14004d855
mov rdx, rax
cmp byte [rbx + rdx - 1], 0x5c
lea rax, [rdx - 1]
jne 0x14004d855
mov rdx, rax
cmp byte [rbx + rdx - 1], 0x5c
lea rcx, [rdx - 1]
jne 0x14004d855
mov rdx, rcx
cmp byte [rbx + rdx - 1], 0x5c
lea r8, [rdx - 1]
jne 0x14004d855
mov rdx, r8
cmp byte [rbx + rdx - 1], 0x5c
lea r14, [rdx - 1]
jne 0x14004d855
mov rdx, r14
cmp byte [rbx + rdx - 1], 0x5c
lea r15, [rdx - 1]
jne 0x14004d855
mov rdx, r15
test rdx, rdx
je 0x14004d763
cmp byte [rbx + rdx - 1], 0x5c
lea r10, [rdx - 1]
jne 0x14004d855
cmp byte [rbx + r10 - 1], 0x5c
mov rdx, r10
lea r11, [r10 - 1]
jne 0x14004d855
cmp byte [rbx + r11 - 1], 0x5c
mov rdx, r11
jne 0x14004d855
cmp byte [rbx + r10 - 3], 0x5c
lea rdx, [r10 - 2]
lea rax, [r10 - 3]
jne 0x14004d855
cmp byte [rbx + r10 - 4], 0x5c
mov rdx, rax
lea rcx, [r10 - 4]
jne 0x14004d855
cmp byte [rbx + r10 - 5], 0x5c
mov rdx, rcx
lea r8, [r10 - 5]
jne 0x14004d855
cmp byte [rbx + r10 - 6], 0x5c
mov rdx, r8
lea r14, [r10 - 6]
jne 0x14004d855
cmp byte [rbx + r10 - 7], 0x5c
mov rdx, r14
lea r15, [r10 - 7]
jne 0x14004d855
mov rdx, r15
test rdx, rdx
jne 0x14004d6c6
xor r9d, r9d
mov byte [rbx + r9], 0
mov rsi, qword [rsi + 0x18]
test rsi, rsi
je 0x14004d942
lea rdx, str.using_timeshift_path:__s
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x28], r13
mov rcx, rbp
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x20], 0x183
mov edx, 3
call sym.libvlccore.dll_vlc_Log
mov rax, rdi
mov rdi, qword [rsp + 0x58]
xor rdi, qword [r12]
jne 0x14004da24
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r10d, 0x32
mov r11d, 0x3200000
jmp 0x14004d56a
mov rcx, rbx
call fcn.14016b5d8
xor edx, edx
xor ecx, ecx
mov qword [rsi + 0x18], 0
mov r14, qword [sym.imp.KERNEL32.dll_GetTempPathW]
call r14
test eax, eax
mov ebx, eax
je 0x14004d860
lea ecx, [rbx + 1]
mov dword [rsp + 0x4c], ecx
add rcx, rcx
call sub.msvcrt.dll_malloc
test rax, rax
mov r15, rax
mov ecx, dword [rsp + 0x4c]
je 0x14004d860
mov rdx, rax
call r14
test eax, eax
je 0x14004d836
cmp ebx, eax
jae 0x14004d98f
mov rbx, qword [rsi + 0x18]
mov rcx, r15
call fcn.14016b5d8
jmp 0x14004d864
mov r10d, 1
mov r11d, 0x100000
jmp 0x14004d56a
mov r9, rdx
jmp 0x14004d766
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14004d5e9
xor edx, edx
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__wgetcwd]
test rax, rax
mov r14, rax
je 0x14004d919
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov r9d, 0xffffffff
mov qword [rsp + 0x20], 0
mov r8, rax
mov r15, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call r15
movsxd rcx, eax
test rcx, rcx
mov dword [rsp + 0x4c], ecx
je 0x14004d90d
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x14004d90d
mov r10d, dword [rsp + 0x4c]
mov qword [rsp + 0x38], 0
mov r9d, 0xffffffff
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], rax
mov r8, r14
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], r10d
call r15
mov qword [rsi + 0x18], rbx
mov rcx, r14
call fcn.14016b5d8
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14004d5e9
lea rcx, [0x1401842d3]
call sub.msvcrt.dll__strdup
test rax, rax
mov rbx, rax
mov qword [rsi + 0x18], rax
jne 0x14004d5e9
lea rbx, str.using_default_timeshift_path
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_input_es_out_timeshift.c
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x185
mov edx, 3
mov qword [rsp + 0x30], rbx
mov rcx, rbp
call sym.libvlccore.dll_vlc_Log
jmp 0x14004d7b1
mov rcx, rdi
xor edi, edi
call fcn.14016b5d8
jmp 0x14004d7b1
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov r9d, 0xffffffff
mov qword [rsp + 0x20], 0
mov r8, r15
mov r14, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call r14
movsxd rcx, eax
xor ebx, ebx
test rcx, rcx
mov dword [rsp + 0x4c], ecx
je 0x14004da1b
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x14004da1b
mov r8d, dword [rsp + 0x4c]
mov qword [rsp + 0x38], 0
mov r9d, 0xffffffff
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], r8d
mov r8, r15
call r14
mov qword [rsi + 0x18], rbx
jmp 0x14004d83a
call fcn.1400c4db0
nop
nop
nop
nop
nop
nop
nop