Function at 0x14002d1a0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r13, rdx
mov rdi, rcx
cmp qword [0x1400e1678], 0
je 0x14002dbf9
cmp qword [rcx + 0x358], 0
je 0x14002dc1f
xor r14d, r14d
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
add rcx, 0x378
call fcn.140052ae4
test eax, eax
jne 0x14002dc45
mov eax, dword [rdi + 0x3c4]
cmp eax, 0x7fffffff
je 0x14002dc50
mov rbx, qword [rdi + 0x3c8]
test rbx, rbx
je 0x14002db75
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rdi + 0x3e0], rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov rcx, qword [rdi + 0x3c8]
test rcx, rcx
je 0x14002d252
mov qword [rdi + 0x3c8], r14
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x88]
test eax, eax
jne 0x14002dbd3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
cmp eax, 1
jne 0x14002dd21
mov rax, qword [rbx]
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x10], 0xb04b7248
mov dword [rbp - 0xc], 0x4321b6f0
mov dword [rbp - 8], 0xa4ba91b6
mov dword [rbp - 4], 0xcb9f0f74
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x10]
mov rcx, rbx
call qword [rax + 0x10]
mov ecx, eax
call fcn.1400419e0
mov esi, eax
test eax, eax
js 0x14002db10
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002dcfb
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SetErrorInfo]
mov r15, rax
test rax, rax
je 0x14002dcd5
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rcx]
call qword [rdx + 0xc0]
mov r14, rax
lea rcx, [rax - 1]
mov eax, 0xfffffffe
cmp rcx, rax
ja 0x14002dcaf
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rcx]
call qword [rdx + 0xa0]
mov r12, rax
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rcx]
call qword [rdx + 0xb0]
mov qword [rbp - 0x10], rax
lea r8, [rbp - 0x28]
lea rdx, str.OutputDataType
mov rcx, qword [rbp - 0x38]
call fcn.14002de70
mov ecx, eax
call fcn.1400419e0
mov esi, eax
test eax, eax
js 0x14002daa4
lea r8, [rbp + 0x50]
lea rdx, str.OutputBufferType
mov rcx, qword [rbp - 0x38]
call fcn.14002de70
mov ecx, eax
call fcn.1400419e0
mov esi, eax
test eax, eax
js 0x14002da38
lea r8, [rbp - 0x20]
lea rdx, str.DteStreamNum
mov rcx, qword [rbp - 0x38]
call fcn.14002de70
mov ecx, eax
call fcn.1400419e0
mov esi, eax
test eax, eax
js 0x14002d9cc
lea r8, [rbp - 0x18]
lea rdx, str.DteFrameNum
mov rcx, qword [rbp - 0x38]
call fcn.14002de70
mov ecx, eax
call fcn.1400419e0
mov esi, eax
test eax, eax
js 0x14002d960
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d3cb
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rdx, [rbp - 0x40]
mov ecx, r14d
call qword [sym.imp.MFPlat.DLL_MFCreateMemoryBuffer]
mov esi, eax
test eax, eax
js 0x14002d8f4
xor eax, eax
mov qword [rbp - 0x30], rax
mov dword [rbp + 0x50], eax
mov dword [rbp + 0x58], eax
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
lea r9, [rbp + 0x58]
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x30]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
js 0x14002d888
mov eax, dword [rbp + 0x50]
cmp rax, r14
jne 0x14002dc89
cmp dword [rbp + 0x58], 0
jne 0x14002dc63
mov r8, r14
mov rdx, r15
mov rcx, qword [rbp - 0x30]
call fcn.140082f10
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov esi, eax
test eax, eax
js 0x14002d81c
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + 0x30]
mov esi, eax
test eax, eax
js 0x14002d7b0
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d46e
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
lea rcx, [r13 + 8]
call qword [sym.imp.MFPlat.DLL_MFCreateSample]
mov esi, eax
test eax, eax
jns 0x14002d4d9
mov dword [rsp + 0x20], 0x135
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.::MFCreateSample__dataBuffer.pSample__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d4d2
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x40]
call qword [rax + 0x150]
mov esi, eax
test eax, eax
jns 0x14002d535
mov dword [rsp + 0x20], 0x136
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__AddBuffer__outBuffer.Get____
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d52e
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x120]
mov esi, eax
test eax, eax
jns 0x14002d590
mov dword [rsp + 0x20], 0x137
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__SetSampleTime__bitstreamTimestamp__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d589
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x10]
call qword [rax + 0x130]
mov esi, eax
test eax, eax
jns 0x14002d5ec
mov dword [rsp + 0x20], 0x138
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__SetSampleDuration__bitstreamDuration__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d5e5
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
cmp qword [rbp - 0x28], 0
jne 0x14002d658
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [0x140087830]
call qword [rax + 0xa8]
mov esi, eax
test eax, eax
jns 0x14002d658
mov dword [rsp + 0x20], 0x13a
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__SetUINT32__MFSampleExtension_CleanPoint__TRUE__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d651
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov r8, qword [rbp - 0x20]
mov r14d, 0xfffffffe
cmp r8, r14
ja 0x14002d6c6
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
lea rdx, [0x1400b1810]
call qword [rax + 0xa8]
mov esi, eax
test eax, eax
jns 0x14002d6c6
mov dword [rsp + 0x20], 0x13d
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__SetUINT32__DTE_GUID_STREAMNUM__UINT32__bitstreamStreamNum____
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d6bf
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov r8, qword [rbp - 0x18]
cmp r8, r14
ja 0x14002d72e
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
lea rdx, [0x1400b1858]
call qword [rax + 0xa8]
mov ebx, eax
test eax, eax
jns 0x14002d72e
mov dword [rsp + 0x20], 0x140
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.dataBuffer.pSample__SetUINT32__DTE_GUID_FRAMENUM__UINT32__bitstreamFrameNum____
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d727
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, ebx
jmp 0x14002dbbb
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rdi + 0x3e8], rax
mov rcx, rdi
call fcn.140046630
mov ebx, eax
test eax, eax
jns 0x14002d791
mov dword [rsp + 0x20], 0x154
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, eax
lea rdx, str.signalNeedInput__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d78a
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, ebx
jmp 0x14002dbbb
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d7a9
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x130
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.outBuffer__SetCurrentLength__DWORD__bitstreamSize____
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d7e6
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d815
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x12f
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.outBuffer__Unlock__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d852
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d881
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x12b
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.outBuffer__Lock__outPtr__outPtrMaxLen__outPtrCurLen__
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d8be
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d8ed
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x128
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::MFCreateMemoryBuffer__DWORD__bitstreamSize____outBuffer.ReleaseAndGetAddressOf____
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d92a
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d959
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x124
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::dte::amd::ToHresult_amfBuffer__GetProperty__DTE_STR_FRAMENUM__bitstreamFrameNum___
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002d996
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002d9c5
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x123
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::dte::amd::ToHresult_amfBuffer__GetProperty__DTE_STR_STREAMNUM__bitstreamStreamNum___
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002da02
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002da31
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x122
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::dte::amd::ToHresult_amfBuffer__GetProperty__L_OutputBufferType___bitstreamBufferType___
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002da6e
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002da9d
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x121
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::dte::amd::ToHresult_amfBuffer__GetProperty__L_OutputDataType___bitstreamDataType___
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002dada
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002db09
mov qword [rbp - 0x40], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov dword [rsp + 0x20], 0x117
lea r9, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
mov r8d, esi
lea rdx, str.::dte::amd::ToHresult_amfData__QueryInterface__amfBuffer__IID_____void_amfBuffer___
lea rcx, str._s____0x_08X___s__d_
call fcn.140011520
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002db46
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002db71
mov qword [rbp - 0x40], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x14002dbbb
mov r9d, 0x10c
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.m_output
lea rcx, str.__s__does_not_hold___s__d_
call fcn.140011520
lea rcx, [rdi + 0x378]
call fcn.140052aec
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002dbb6
mov qword [rbp - 0x40], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, 0xc00d6d72
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9d, 0x114
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.amfData__GetDataType____amf::AMF_DATA_BUFFER
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x101
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.Amf.isLoaded___
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x102
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.m_encoder
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov ecx, 5
call fcn.140052320
int3
dec eax
mov dword [rdi + 0x3c4], eax
mov ecx, 6
call fcn.140052320
int3
mov r9d, 0x12d
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.outPtrCurLen__0
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x12c
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.outPtrMaxLen__bitstreamSize
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x11e
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.0___bitstreamSize__bitstreamSize___UINT32_MAX
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x11c
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.nullptr___bitstreamPtr
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x118
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.nullptr___amfBuffer.GetPtr__
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3
mov r9d, 0x115
lea r8, str.dte::mfcodec::EncoderAmdH264::onOutputRequested
lea rdx, str.amfData__GetMemoryType____amf::AMF_MEMORY_HOST
lea rcx, str.ASSERTION_FAILED:__s___s__d_
call fcn.140011520
call fcn.14005e1c0
int3