Function at 0x140020d00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0xa0
mov rax, qword [0x14003e3b8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, rcx
call fcn.1400151a0
test eax, eax
js 0x1400210c9
call sub.avutil_56.dll_av_frame_alloc
mov qword [rdi + 0x6a0], rax
test rax, rax
jne 0x140020d4c
mov eax, 0xfffffff4
jmp 0x1400210c9
mov eax, dword [rdi + 0x58]
mov dword [rsp + 0x20], eax
mov eax, dword [rdi + 0x54]
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x20]
mov qword [rdi + 0x6a8], rax
movzx eax, word [rdi + 0x688]
mov word [rdi + 0x116], ax
mov ebp, 1
cmp dword [rdi + 0xa8], 2
jne 0x140020dc6
mov word [rdi + 0x1c2], bp
mov rbx, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0x740]
cmp rcx, rbx
je 0x140020dd2
test rbx, rbx
je 0x140020db1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rdi + 0x740]
mov qword [rdi + 0x740], rbx
test rcx, rcx
je 0x140020dc4
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x140020dd2
mov eax, 2
mov word [rdi + 0x1c2], ax
cmp dword [rdi + 0x30], 0x801d
jne 0x140020ec8
test byte [rdi + 0x28], 1
jne 0x140020ec8
lea rcx, str.extract_extradata
call sub.avcodec_58.dll_av_bsf_get_by_name
mov rcx, rax
lea rdx, [rdi + 0x600]
call sub.avcodec_58.dll_av_bsf_alloc
test eax, eax
js 0x1400210c9
mov rax, qword [rdi + 0x600]
mov rbx, qword [rax + 0x20]
lea rcx, [rbx + 0x10]
call sub.avutil_56.dll_av_freep
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx + 8], xmm0
movups xmmword [rbx + 0x18], xmm0
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
movups xmmword [rbx + 0x78], xmm0
mov qword [rbx + 0x88], rax
xor ecx, ecx
mov dword [rbx], ecx
mov dword [rbx + 4], 0x801d
mov eax, dword [rdi + 0x34]
mov dword [rbx + 8], eax
movsxd rax, dword [rdi + 0x64]
mov qword [rbx + 0x20], rax
mov eax, dword [rdi + 0x90]
mov dword [rbx + 0x1c], eax
mov eax, dword [rdi + 0x4c]
mov dword [rbx + 0x38], eax
mov eax, dword [rdi + 0x50]
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x48], ebp
mov eax, dword [rdi + 0x48]
mov dword [rbx + 0x4c], eax
mov eax, dword [rdi + 0x3c]
mov dword [rbx + 0x50], eax
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x54], eax
mov eax, dword [rdi + 0x44]
mov dword [rbx + 0x58], eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], ebp
mov rax, qword [rsp + 0x20]
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x30], 0xffffff9d
mov dword [rbx + 0x34], 0xffffff9d
mov rcx, qword [rdi + 0x600]
call sub.avcodec_58.dll_av_bsf_init
test eax, eax
js 0x1400210c9
mov rcx, rdi
call fcn.14001e040
test eax, eax
js 0x1400210c9
lea rdx, [rdi + 0x100]
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXQueryVersion
mov ebx, eax
test eax, eax
jns 0x140020f0b
mov edx, eax
lea rcx, str.error_while_query_version:__d_n
call fcn.140007b50
mov ecx, ebx
call fcn.14001de30
jmp 0x1400210c9
movzx r8d, word [rdi + 0x100]
movzx edx, word [rdi + 0x102]
lea rcx, str.oneVPL_runtime_version:__d._d_n
call fcn.140007b50
cmp dword [rdi + 0x30], 0x801d
jne 0x140020f5b
cmp word [rdi + 0x102], 2
ja 0x140020f5b
jne 0x140020f45
cmp word [rdi + 0x100], 5
jae 0x140020f5b
lea rcx, str.intel_av1_encoding_is_not_supported_until_ver_2.5_n
call fcn.140007b50
mov eax, 0xffffffff
jmp 0x1400210c9
mov rcx, rdi
call fcn.14001e9c0
test eax, eax
js 0x1400210c9
lea rax, [rdi + 0x5a8]
mov qword [rdi + 0x1c8], rax
movzx eax, word [rdi + 0x5f8]
mov word [rdi + 0x1d0], ax
lea rbx, [rdi + 0x108]
mov r8, rbx
mov rdx, rbx
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXVideoENCODE_Query
test eax, eax
jns 0x140020fd1
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.1400201d0
mov esi, eax
test eax, eax
jns 0x140020fd1
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_Query:__d_n
call fcn.140007b50
mov ecx, esi
call fcn.14001de30
jmp 0x1400210c9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], eax
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXVideoENCODE_QueryIOSurf
mov esi, eax
test eax, eax
jns 0x140021032
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_QueryIOSurf:__d_n
call fcn.140007b50
mov ecx, esi
call fcn.14001de30
jmp 0x1400210c9
movzx r9d, word [rsp + 0x88]
movzx r8d, word [rsp + 0x86]
movzx edx, word [rsp + 0x84]
lea rcx, str.req.Type:__d__req.NumFrameMin:__d__req.NumFrameSuggested:__d_n
call fcn.140007b50
mov rdx, rbx
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXVideoENCODE_Init
test eax, eax
jns 0x140021095
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.1400201d0
mov ebx, eax
test eax, eax
jns 0x140021095
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_Init:__d_n
call fcn.140007b50
mov ecx, ebx
call fcn.14001de30
jmp 0x1400210c9
test byte [rdi + 0x28], 1
je 0x14002109f
xor eax, eax
jmp 0x1400210c9
mov edx, dword [rdi + 0x68c]
lea rcx, str.hyper_encode_mode:__d_n
call fcn.140007b50
mov rcx, rdi
cmp dword [rdi + 0x30], 0x801d
je 0x1400210c4
call fcn.14001f5b0
jmp 0x1400210c9
call fcn.14001f2c0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400297b0
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret