Function at 0x1400acbe0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x280
mov rdi, qword [0x1402840b0]
mov r8d, 0x30
lea rcx, [sym.libvlccore.dll_config_GetLibDir]
lea rdx, [rsp + 0x40]
mov rax, qword [rdi]
mov qword [rsp + 0x278], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1400acbd0
lea rbx, [rsp + 0x70]
mov r8d, 0x104
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400acbd0
mov edx, 0x5c
mov rcx, rbx
call sub.msvcrt.dll_wcsrchr
test rax, rax
je 0x1400acbd0
xor edx, edx
mov ecx, 0xfde9
mov r9d, 0xffffffff
mov word [rax], dx
mov r8, rbx
xor edx, edx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
xor esi, esi
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rbp, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call rbp
movsxd rcx, eax
test rcx, rcx
mov r12, rcx
je 0x1400acbb2
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x1400acbb2
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call rbp
mov rax, rsi
mov rsi, qword [rsp + 0x278]
xor rsi, qword [rdi]
jne 0x1400acbd5
add rsp, 0x280
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call sub.msvcrt.dll_abort
call fcn.1400c4db0
nop
nop dword [rax + rax]
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x470
mov rdi, qword [0x1402840b0]
xor ecx, ecx
mov r8d, 0x104
lea rbx, [rsp + 0x50]
mov rax, qword [rdi]
mov qword [rsp + 0x468], rax
xor eax, eax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400acc53
mov edx, 0x5c
mov rcx, rbx
call sub.msvcrt.dll_wcsrchr
test rax, rax
je 0x1400acc53
lea rcx, [rax + 2]
lea rdx, str.portable
call sub.msvcrt.dll_wcscpy
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400acc53
test al, 0x10
jne 0x1400acd60
lea rsi, [rsp + 0x260]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, 0x801a
mov qword [rsp + 0x20], rsi
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x1400acd50
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, rsi
mov rbp, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call rbp
movsxd rcx, eax
test rcx, rcx
mov r12, rcx
je 0x1400acd50
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x1400acd50
xor edx, edx
mov r9d, 0xffffffff
mov r8, rsi
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
call rbp
lea rcx, [rsp + 0x48]
lea rdx, [0x14019c0c0]
mov r8, rbx
call fcn.1400ac960
cmp eax, 0xffffffff
je 0x1400acd52
mov rsi, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14016b5d8
mov rdx, qword [rsp + 0x468]
xor rdx, qword [rdi]
mov rax, rsi
jne 0x1400acdf1
add rsp, 0x470
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
xor ebx, ebx
xor esi, esi
jmp 0x1400acd1f
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, rbx
mov rbp, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call rbp
movsxd rcx, eax
xor esi, esi
test rcx, rcx
mov r12, rcx
je 0x1400acd27
call sub.msvcrt.dll_malloc
test rax, rax
mov rsi, rax
je 0x1400acd27
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call rbp
jmp 0x1400acd27
call fcn.1400c4db0
nop
nop word [rax + rax]