Function at 0x14004d4d0
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 [0x140285110]
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 0x14004d841
mov ecx, 0x78
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x14004da10
lea rcx, [fcn.14004d040]
lea r9, [0x14004d450]
lea rax, [0x14004c270]
lea rdx, [0x14004ce80]
lea r8, [0x14004c4d0]
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 0x14004d8d4
mov r10, qword [rsp + 0x50]
test r10d, r10d
js 0x14004d864
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 0x14004d87d
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14004d87d
cmp byte [rbx], 0
je 0x14004d875
mov qword [rsi + 0x18], rbx
mov rcx, rbx
call sub.msvcrt.dll_strlen
test rax, rax
mov r9, rax
je 0x14004d7f6
cmp byte [rbx + rax - 1], 0x5c
lea rdx, [rax - 1]
jne 0x14004d7f6
mov r11, rdx
and r11d, 7
je 0x14004d74d
sub rax, 2
cmp byte [rbx + rax], 0x5c
jne 0x14004d8e5
cmp r11, 1
mov rdx, rax
je 0x14004d74d
cmp r11, 2
je 0x14004d73b
cmp r11, 3
je 0x14004d729
cmp r11, 4
je 0x14004d717
cmp r11, 5
je 0x14004d705
cmp r11, 6
je 0x14004d6f3
sub rax, 1
cmp byte [rbx + rax], 0x5c
jne 0x14004d8e5
mov rdx, rax
cmp byte [rbx + rdx - 1], 0x5c
lea rax, [rdx - 1]
jne 0x14004d8e5
mov rdx, rax
cmp byte [rbx + rdx - 1], 0x5c
lea rcx, [rdx - 1]
jne 0x14004d8e5
mov rdx, rcx
cmp byte [rbx + rdx - 1], 0x5c
lea r8, [rdx - 1]
jne 0x14004d8e5
mov rdx, r8
cmp byte [rbx + rdx - 1], 0x5c
lea r14, [rdx - 1]
jne 0x14004d8e5
mov rdx, r14
cmp byte [rbx + rdx - 1], 0x5c
lea r15, [rdx - 1]
jne 0x14004d8e5
mov rdx, r15
test rdx, rdx
je 0x14004d7f3
cmp byte [rbx + rdx - 1], 0x5c
lea r10, [rdx - 1]
jne 0x14004d8e5
cmp byte [rbx + r10 - 1], 0x5c
mov rdx, r10
lea r11, [r10 - 1]
jne 0x14004d8e5
cmp byte [rbx + r11 - 1], 0x5c
mov rdx, r11
jne 0x14004d8e5
cmp byte [rbx + r10 - 3], 0x5c
lea rdx, [r10 - 2]
lea rax, [r10 - 3]
jne 0x14004d8e5
cmp byte [rbx + r10 - 4], 0x5c
mov rdx, rax
lea rcx, [r10 - 4]
jne 0x14004d8e5
cmp byte [rbx + r10 - 5], 0x5c
mov rdx, rcx
lea r8, [r10 - 5]
jne 0x14004d8e5
cmp byte [rbx + r10 - 6], 0x5c
mov rdx, r8
lea r14, [r10 - 6]
jne 0x14004d8e5
cmp byte [rbx + r10 - 7], 0x5c
mov rdx, r14
lea r15, [r10 - 7]
jne 0x14004d8e5
mov rdx, r15
test rdx, rdx
jne 0x14004d756
xor r9d, r9d
mov byte [rbx + r9], 0
mov rsi, qword [rsi + 0x18]
test rsi, rsi
je 0x14004d9d2
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 0x14004dab4
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 0x14004d5fa
mov rcx, rbx
call fcn.14016b6d8
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 0x14004d8f0
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 0x14004d8f0
mov rdx, rax
call r14
test eax, eax
je 0x14004d8c6
cmp ebx, eax
jae 0x14004da1f
mov rbx, qword [rsi + 0x18]
mov rcx, r15
call fcn.14016b6d8
jmp 0x14004d8f4
mov r10d, 1
mov r11d, 0x100000
jmp 0x14004d5fa
mov r9, rdx
jmp 0x14004d7f6
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14004d679
xor edx, edx
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__wgetcwd]
test rax, rax
mov r14, rax
je 0x14004d9a9
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 0x14004d99d
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x14004d99d
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.14016b6d8
mov rbx, qword [rsi + 0x18]
test rbx, rbx
jne 0x14004d679
lea rcx, [0x1401852b3]
call sub.msvcrt.dll__strdup
test rax, rax
mov rbx, rax
mov qword [rsi + 0x18], rax
jne 0x14004d679
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 0x14004d841
mov rcx, rdi
xor edi, edi
call fcn.14016b6d8
jmp 0x14004d841
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 0x14004daab
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x14004daab
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 0x14004d8ca
call fcn.1400c4ec0
nop
nop
nop
nop
nop
nop
nop