Function at 0x18002ecf0
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
jmp 0x18002ecf0
push rbx
push rdi
push r13
sub rsp, 0x280
mov rax, qword [0x180135088]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov byte [rsp + 0x30], dl
lea rdi, [0x1801374f0]
mov rbx, rcx
mov qword [rsp + 0x40], rcx
mov byte [rcx + 0x58d], r8b
mov edx, 0x104
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rax, str.mf.dll
mov edx, 0x104
mov qword [rsp + 0x28], rax
lea r9, str._s_s
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rdi
mov rcx, rdi
call fcn.180002bfd
xor edx, edx
mov rcx, rdi
call fcn.180003b8e
mov edx, 0x104
mov qword [rbx + 0x10], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rax, str.mfplat.dll
mov edx, 0x104
mov qword [rsp + 0x28], rax
lea r9, str._s_s
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rdi
mov rcx, rdi
call fcn.180002bfd
xor edx, edx
mov rcx, rdi
call fcn.180003b8e
xorps xmm0, xmm0
mov qword [rbx + 0x18], rax
movups xmmword [rbx + 0x28], xmm0
movups xmmword [rbx + 0x38], xmm0
movups xmmword [rbx + 0x48], xmm0
movups xmmword [rbx + 0x58], xmm0
movups xmmword [rbx + 0x68], xmm0
cmp qword [rbx + 0x10], 0
je 0x18002f178
mov rcx, rax
test rax, rax
je 0x18002f178
mov qword [rsp + 0x2a8], rbp
lea rdx, str.MFStartup
mov qword [rsp + 0x2b0], rsi
mov qword [rsp + 0x2b8], r12
mov qword [rsp + 0x278], r14
mov qword [rsp + 0x270], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFShutdown
mov r13, rax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFCreateSystemTimeSource
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFCreateMemoryBuffer
mov r12, rax
mov qword [rbx + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFCreateSample
mov r15, rax
mov qword [rbx + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFCreateFile
mov r14, rax
mov qword [rbx + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFCreateMediaType
mov rbp, rax
mov qword [rbx + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x18]
lea rdx, str.MFTEnum
mov rsi, rax
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x10]
lea rdx, str.MFCreateMPEG4MediaSink
mov rdi, rax
mov qword [rbx + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rdx, str.MFCreatePresentationClock
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x68], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r8, rax
test r13, r13
mov rax, qword [rsp + 0x40]
setne cl
xor r13d, r13d
mov edx, r13d
cmp qword [rsp + 0x38], rdx
mov qword [rax + 0x70], r8
movzx eax, cl
mov ecx, r13d
cmovne edx, eax
test r12, r12
movzx eax, dl
mov edx, r13d
cmovne ecx, eax
test r15, r15
movzx eax, cl
mov ecx, r13d
cmovne edx, eax
test r14, r14
movzx eax, dl
mov edx, r13d
cmovne ecx, eax
test rbp, rbp
movzx eax, cl
mov ecx, r13d
cmovne edx, eax
movzx eax, dl
mov r15, qword [rsp + 0x270]
test rsi, rsi
mov r14, qword [rsp + 0x278]
mov edx, r13d
mov r12, qword [rsp + 0x2b8]
cmovne ecx, eax
mov rsi, qword [rsp + 0x2b0]
test rdi, rdi
mov rbp, qword [rsp + 0x2a8]
movzx eax, cl
mov ecx, r13d
cmovne edx, eax
test rbx, rbx
movzx eax, dl
mov edx, r13d
cmovne ecx, eax
test r8, r8
movzx eax, cl
cmovne edx, eax
test dl, dl
je 0x18002f178
movzx edi, byte [rsp + 0x30]
test dil, dil
jne 0x18002f12c
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x208
call fcn.180003a85
lea r9, [rsp + 0x38]
mov qword [rsp + 0x38], r13
xor r8d, r8d
lea rcx, [0x18010c3a0]
xor edx, edx
call sub.SHELL32.dll_SHGetKnownFolderPath
mov ebx, eax
test eax, eax
jns 0x18002f023
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f0fc
lfence
mov r8d, eax
lea rdx, str.CNvMFTMuxSink::LoadNvMp4MediaSink:_SHGetKnownFolderPath_failed.HRESULT__0x_08X
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18002f0fc
lea rax, str.nvmf64.dll
mov edx, 0x104
mov qword [rsp + 0x28], rax
lea r9, str._sNVIDIA_CorporationShadowPlay_s
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.180002bfd
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor edx, edx
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0x50]
call fcn.180003b8e
mov rbx, qword [rsp + 0x40]
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x18002f0ac
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f0f7
mov r8, qword [rbx + 0x20]
lea rdx, str.CNvMFTMuxSink::LoadNvMp4MediaSink:_Could_not_locate__X
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18002f0f7
lea rdx, str.NvCreateMPEG4MuxSink
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x80], rax
test rax, rax
jne 0x18002f131
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f0f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.CNvMFTMuxSink::LoadNvMp4MediaSink:_GetProcAddress_Failed_error_0x_x
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov ebx, 0x80004005
lfence
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f128
mov r8d, ebx
lea rdx, str.CNvMFTMuxSink::InitializeFailed_to_load_NV_MP4_media_sink_0x_x
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov eax, ebx
jmp 0x18002f1a3
mov rbx, qword [rsp + 0x40]
xor edx, edx
mov byte [rbx + 0x58c], dil
mov ecx, 0x20070
call qword [rbx + 0x28]
mov ebx, eax
test eax, eax
jns 0x18002f128
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f128
lfence
mov r8d, eax
lea rdx, str.CNvMFTMuxSink::InitializeMFStartup_failed_with_hr:0x_x
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov eax, ebx
jmp 0x18002f1a3
cmp dword [0x18013218c], 7
mov dword [0x180132050], 7
jg 0x18002f19e
lea rdx, str.CNvMFTMuxSink::InitializeCNvMFTMuxSink_mf.dll_mfplat.dll_interfaces_not_loaded
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov eax, 0x80004005
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.180002397
add rsp, 0x280
pop r13
pop rdi
pop rbx
ret