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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x14004e3b8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, rcx
call fcn.140021be0
test eax, eax
js 0x14002d9c2
call sub.avutil_56.dll_av_frame_alloc
mov qword [rdi + 0x6a0], rax
test rax, rax
jne 0x14002d5e2
mov eax, 0xfffffff4
jmp 0x14002d9c2
mov eax, dword [rdi + 0x5c]
mov dword [rsp + 0x20], eax
mov eax, dword [rdi + 0x58]
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
mov r14d, 2
cmp dword [rdi + 0xa8], r14d
jne 0x14002d662
mov word [rdi + 0x1c2], bp
mov rbx, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0x740]
cmp rcx, rbx
je 0x14002d66a
test rbx, rbx
je 0x14002d64d
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 0x14002d660
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14002d66a
mov word [rdi + 0x1c2], r14w
cmp dword [rdi + 0x30], 0x801d
jne 0x14002d762
test byte [rdi + 0x28], 1
jne 0x14002d762
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 0x14002d9c2
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
mov dword [rbx], eax
mov dword [rbx + 4], 0x801d
mov eax, dword [rdi + 0x34]
mov dword [rbx + 8], eax
movsxd rax, dword [rdi + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [rdi + 0x94]
mov dword [rbx + 0x1c], eax
mov eax, dword [rdi + 0x50]
mov dword [rbx + 0x38], eax
mov eax, dword [rdi + 0x54]
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x48], ebp
mov eax, dword [rdi + 0x4c]
mov dword [rbx + 0x4c], eax
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x50], eax
mov eax, dword [rdi + 0x44]
mov dword [rbx + 0x54], eax
mov eax, dword [rdi + 0x48]
mov dword [rbx + 0x58], eax
mov dword [rsp + 0x20], 0
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 0x14002d9c2
mov ecx, dword [0x1400513e8]
mov rax, qword gs:[0x58]
mov r8d, 4
mov rcx, qword [rax + rcx*8]
lea rbp, [0x14004f490]
mov eax, dword [r8 + rcx]
cmp dword [0x14004f4e0], eax
jg 0x14002d9f2
mov qword [rsp + 0x20], rbp
mov byte [rsp + 0x28], 0
mov rcx, rbp
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14002d9ea
mov byte [rsp + 0x28], 1
mov rcx, rdi
call fcn.14002a8a0
mov ebx, eax
test eax, eax
js 0x14002d9b8
lea rdx, [rdi + 0x100]
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXQueryVersion
mov ebx, eax
test eax, eax
jns 0x14002d7f6
mov edx, eax
lea rcx, str.error_while_query_version:__d_n
call fcn.140008850
mov ecx, ebx
call fcn.14002a690
jmp 0x14002d9b6
movzx r8d, word [rdi + 0x100]
movzx edx, word [rdi + 0x102]
lea rcx, str.oneVPL_runtime_version:__d._d_n
call fcn.140008850
cmp dword [rdi + 0x30], 0x801d
jne 0x14002d846
cmp word [rdi + 0x102], 2
ja 0x14002d846
jne 0x14002d830
cmp word [rdi + 0x100], 5
jae 0x14002d846
lea rcx, str.intel_av1_encoding_is_not_supported_until_ver_2.5_n
call fcn.140008850
mov ebx, 0xffffffff
jmp 0x14002d9b8
mov rcx, rdi
call fcn.14002b230
mov ebx, eax
test eax, eax
js 0x14002d9b8
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 0x14002d8be
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.14002ca50
mov esi, eax
test eax, eax
jns 0x14002d8be
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_Query:__d_n
call fcn.140008850
mov ecx, esi
call fcn.14002a690
jmp 0x14002d9b6
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 0x14002d91f
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_QueryIOSurf:__d_n
call fcn.140008850
mov ecx, esi
call fcn.14002a690
jmp 0x14002d9b6
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.140008850
mov rdx, rbx
mov rcx, qword [rdi + 0xf8]
call sub.libvpl.dll_MFXVideoENCODE_Init
test eax, eax
jns 0x14002d982
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.14002ca50
mov ebx, eax
test eax, eax
jns 0x14002d982
mov edx, eax
lea rcx, str.error_while_MFXVideoENCODE_Init:__d_n
call fcn.140008850
mov ecx, ebx
call fcn.14002a690
jmp 0x14002d9b6
test byte [rdi + 0x28], 1
je 0x14002d98c
xor ebx, ebx
jmp 0x14002d9b8
mov edx, dword [rdi + 0x68c]
lea rcx, str.hyper_encode_mode:__d_n
call fcn.140008850
mov rcx, rdi
cmp dword [rdi + 0x30], 0x801d
je 0x14002d9b1
call fcn.14002be20
jmp 0x14002d9b6
call fcn.14002bb30
mov ebx, eax
mov rcx, rbp
call sub.MSVCP140.dll__Mtx_unlock
mov eax, ebx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140035fc0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3
lea rcx, [0x14004f4e0]
call fcn.14003619c
cmp dword [0x14004f4e0], 0xffffffff
jne 0x14002d792
mov edx, r14d
mov rcx, rbp
call sub.MSVCP140.dll__Mtx_init_in_situ
lea rcx, [0x140038c70]
call fcn.140035e94
lea rcx, [0x14004f4e0]
call fcn.14003613c
jmp 0x14002d792