Function at 0x180048780
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rsi, 0xffffffffffffffff
xor r14d, r14d
mov r15, rcx
mov dword [rsp + 0x28], r14d
mov r8, rcx
mov qword [rsp + 0x20], r14
mov r9d, esi
mov ecx, 0xfde9
lea edx, [rsi + 9]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
test eax, eax
jg 0x1800487d4
mov ebx, r14d
call fcn.1800a88f4
mov dword [rax], 0x16
mov eax, esi
jmp 0x180048817
mov rcx, rdi
mov edx, 2
call sym.avutil_59.dll_av_calloc
mov rbx, rax
test rax, rax
jne 0x1800487f8
call fcn.1800a88f4
mov dword [rax], 0xc
mov eax, esi
jmp 0x180048817
mov dword [rsp + 0x28], edi
mov r9d, esi
mov r8, r15
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, r14d
test eax, eax
lea rcx, str.kernel32.dll
mov rbp, r14
cmove rbp, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.SetDefaultDllDirectories
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180048a13
mov qword [rsp + 0x68], r13
mov rdi, r14
test rbp, rbp
je 0x1800489ea
mov qword [rsp + 0x60], r12
nop dword [rax]
inc rsi
cmp word [rbp + rsi*2], di
jne 0x180048860
mov r15, r14
mov ebx, r14d
mov r12d, 0x8000
test ebx, ebx
je 0x180048888
lea eax, [rbx + rbx]
cmp eax, r12d
mov ebx, eax
cmova ebx, r12d
jmp 0x18004888d
mov ebx, 0x104
mov edx, ebx
mov r8d, 2
mov rcx, r15
call sym.avutil_59.dll_av_realloc_array
mov rdi, rax
test rax, rax
je 0x1800489da
mov r8d, ebx
mov rdx, rax
xor ecx, ecx
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1800489d5
cmp ebx, 0x7fff
ja 0x1800488ce
cmp ebx, eax
jbe 0x180048876
mov r13d, 0x5c
mov rcx, rdi
mov edx, r13d
call fcn.1800a5f94
mov rbx, rax
test rax, rax
je 0x1800489e5
sub rbx, rdi
lea r8d, [r13 - 0x5a]
sar rbx, 1
mov rcx, rdi
lea r12d, [rbx + 2]
add r12d, esi
mov edx, r12d
call sym.avutil_59.dll_av_realloc_array
mov r15, rax
test rax, rax
je 0x1800489e5
mov rdi, rax
mov rcx, rbp
mov eax, ebx
lea rdx, [rax*2 + 2]
sub rdx, rbp
add rdx, rdi
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180048930
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r14, rax
test rax, rax
jne 0x1800489e5
mov edx, r12d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800489e5
lea ebx, [rax + 2]
add ebx, esi
cmp ebx, r12d
jbe 0x18004899a
mov edx, ebx
lea r8d, [r14 + 2]
mov rcx, r15
call sym.avutil_59.dll_av_realloc_array
test rax, rax
je 0x1800489e5
mov edx, ebx
mov rcx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800489e5
mov eax, eax
mov rdx, rbp
lea rcx, [rdi + rax*2]
mov word [rcx], r13w
sub rcx, rbp
nop word [rax + rax]
movzx eax, word [rdx]
mov word [rcx + rdx + 2], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1800489b0
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r14, rax
jmp 0x1800489e5
mov rcx, rdi
jmp 0x1800489dd
mov rcx, r15
call sym.avutil_59.dll_av_free
mov rdi, r14
mov r12, qword [rsp + 0x60]
mov rcx, rdi
call sym.avutil_59.dll_av_free
mov rcx, rbp
call sym.avutil_59.dll_av_free
mov r13, qword [rsp + 0x68]
mov rax, r14
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov r8d, 0xa00
test rbp, rbp
jne 0x180048a3a
mov rcx, r15
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rbp
mov rbx, rax
call sym.avutil_59.dll_av_free
mov rax, rbx
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret