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

Disassembly:
jmp 0x1800435a0
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov rdi, rdx
lea rbp, [0x18013a420]
mov rsi, rcx
mov edx, 0x104
mov rcx, rbp
mov rbx, r8
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], rbp
mov rcx, rbp
call fcn.180002bfd
xor edx, edx
mov rcx, rbp
call fcn.180003b8e
mov edx, 0x104
mov qword [rsi], rax
mov rcx, rbp
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], rbp
mov rcx, rbp
call fcn.180002bfd
xor edx, edx
mov rcx, rbp
call fcn.180003b8e
mov qword [rdi], rax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
cmp qword [rsi], 0
je 0x18004382e
mov rcx, qword [rdi]
test rcx, rcx
je 0x18004382e
mov qword [rsp + 0x88], r12
lea rdx, str.MFStartup
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx], rax
lea rdx, str.MFShutdown
mov rcx, qword [rdi]
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
lea rdx, str.MFCreateSystemTimeSource
mov rcx, qword [rdi]
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
lea rdx, str.MFCreateMemoryBuffer
mov rcx, qword [rdi]
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
lea rdx, str.MFCreateSample
mov rcx, qword [rdi]
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
lea rdx, str.MFCreateFile
mov rcx, qword [rdi]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
lea rdx, str.MFCreateMediaType
mov rcx, qword [rdi]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
lea rdx, str.MFTEnum
mov rcx, qword [rdi]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsp + 0x70]
lea rdx, str.MFCreateMPEG4MediaSink
mov qword [rbx + 0x38], rax
mov rdi, rax
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rdx, str.MFCreatePresentationClock
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x40], rbx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r10, rax
test r13, r13
mov rax, qword [rsp + 0x80]
setne cl
xor r9d, r9d
mov edx, r9d
mov r8d, r9d
cmp qword [rsp + 0x78], rdx
mov qword [rax + 0x48], r10
movzx eax, cl
mov ecx, r9d
cmovne edx, eax
test r12, r12
movzx eax, dl
mov edx, r9d
cmovne ecx, eax
test r15, r15
movzx eax, cl
mov ecx, r9d
cmovne edx, eax
test r14, r14
movzx eax, dl
mov edx, r9d
cmovne ecx, eax
test rbp, rbp
movzx eax, cl
cmovne edx, eax
mov r15, qword [rsp + 0x30]
test rsi, rsi
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x88]
movzx ecx, dl
mov edx, r9d
cmovne r8d, ecx
test rdi, rdi
movzx ecx, r8b
mov r8d, r9d
cmovne edx, ecx
test rbx, rbx
movzx ecx, dl
cmovne r8d, ecx
test r10, r10
movzx ecx, r8b
cmovne r9d, ecx
movzx eax, r9b
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor al, al
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret