Function at 0x14000ae60
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
je 0x14000ae9f
mov rcx, qword [rcx]
test rcx, rcx
je 0x14000ae92
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x14000ae92
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsi], 0
mov edx, 0xb8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsi], rax
mov rbx, rax
test rax, rax
jne 0x14000aec8
lea eax, [rbx - 1]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rdi
lea rdi, str.nvcuvid.dll
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx + 0xb0], rax
test rax, rax
je 0x14000b1f6
lea rdx, str.cuvidGetDecoderCaps
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCreateDecoder
mov rdx, rdi
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidDestroyDecoder
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidDecodePicture
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidGetDecodeStatus
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidReconfigureDecoder
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidMapVideoFrame64
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidUnmapVideoFrame64
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x38], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCtxLockCreate
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x40], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCtxLockDestroy
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x48], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCtxLock
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x50], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCtxUnlock
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x58], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCreateVideoSource
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCreateVideoSourceW
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x68], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidDestroyVideoSource
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x70], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidSetVideoSourceState
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x78], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidGetVideoSourceState
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x80], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidGetSourceVideoFormat
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x88], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidGetSourceAudioFormat
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x90], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidCreateVideoParser
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x98], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidParseVideoData
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xa0], rax
test rax, rax
je 0x14000b1f6
mov rcx, qword [rbx + 0xb0]
lea rdi, str.cuvidDestroyVideoParser
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xa8], rax
test rax, rax
jne 0x14000b255
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rdi
lea rdx, str.Cannot_load__s_n
mov rcx, rax
call fcn.1400025e0
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000b233
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x14000b233
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [rsp + 0x30]
mov eax, 0xffffffff
mov qword [rsi], 0
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
mov rdi, qword [rsp + 0x30]
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret