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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov ebp, dword [rsp + 0xe0]
mov r14, rdx
mov ebx, r8d
mov qword [rsp + 0xd8], r9
mov r13, rcx
mov r15, r9
jmp 0x1402e9319
cmp byte [rax + 8], 1
jbe 0x1402e9355
mov ecx, dword [r13 + 0x40]
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
jne 0x1402e9393
cmp byte [rax + 8], 1
jbe 0x1402e9393
cmp ebx, dword [r13 + 0x9cec]
je 0x1402e93e0
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
cmp dword [r13 + 0x50], 8
mov qword [r13 + 0x9ccc], rax
mov qword [r13 + 0x9cd4], rdx
mov rax, qword [r15]
mov rdx, qword [r15 + 8]
mov dword [r13 + 0x9cec], ebx
mov dword [r13 + 0x9cf0], ebp
mov qword [r13 + 0x9cdc], rax
mov eax, dword [rsp + 0xe8]
mov qword [r13 + 0x9ce4], rdx
mov dword [r13 + 0x9cc4], eax
mov eax, dword [rsp + 0xf0]
mov dword [r13 + 0x9cc0], eax
mov eax, dword [rsp + 0xf8]
mov dword [r13 + 0x9cc8], eax
je 0x1402e9495
mov ecx, dword [r13 + 0x40]
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
jne 0x1402e9495
cmp byte [rax + 8], 1
jbe 0x1402e9495
mov r12d, 1
mov rcx, rsi
call fcn.140376720
mov rcx, rdi
mov dword [r13 + 0x44], eax
call fcn.140376720
mov dword [r13 + 0x48], eax
movsxd rax, dword [r13 + 0xf8]
mov rax, qword [r13 + rax*8 + 0x80]
test rax, rax
je 0x1402e94d0
mov r13, rax
mov rcx, r13
call fcn.1402e7280
mov ecx, dword [r13 + 0x3c]
call fcn.1403768d0
mov ecx, dword [r13 + 0x40]
mov rsi, rax
call fcn.1403768d0
mov ecx, dword [r13 + 0x3c]
mov rdi, rax
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
je 0x1402e9210
mov r12d, dword [r13 + 0x3c]
mov ecx, r12d
call fcn.1403768d0
test rax, rax
je 0x1402e9cdc
test byte [rax + 0x10], 0xa
jne 0x1402e94b0
cmp byte [rax + 8], 2
ja 0x1402e94b0
sub r12d, 9
mov eax, 0
cmp r12d, 1
cmovbe ebp, eax
jmp 0x1402e921a
mov r12d, dword [r13 + 0x40]
mov ecx, r12d
call fcn.1403768d0
test rax, rax
je 0x1402e9cdc
test byte [rax + 0x10], 0xa
jne 0x1402e94c0
cmp byte [rax + 8], 2
ja 0x1402e94c0
sub r12d, 9
mov eax, 0
cmp r12d, 1
cmovbe ebx, eax
cmp ebx, dword [r13 + 0x9cec]
jne 0x1402e924d
nop dword [rax]
cmp ebp, dword [r13 + 0x9cf0]
jne 0x1402e924d
mov eax, dword [rsp + 0xe8]
cmp dword [r13 + 0x9cc4], eax
jne 0x1402e924d
mov eax, dword [rsp + 0xf0]
cmp dword [r13 + 0x9cc0], eax
jne 0x1402e924d
mov eax, dword [rsp + 0xf8]
cmp dword [r13 + 0x9cc8], eax
jne 0x1402e924d
lea rcx, [r13 + 0x9ccc]
mov r8d, 0x10
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402e924d
lea rcx, [r13 + 0x9cdc]
mov r8d, 0x10
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402e924d
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
xor r12d, r12d
mov qword [r13 + 0x9ccc], rax
mov qword [r13 + 0x9cd4], rdx
mov rax, qword [r15]
mov rdx, qword [r15 + 8]
mov qword [r13 + 0x9cdc], rax
mov qword [r13 + 0x9ce4], rdx
jmp 0x1402e92e6
mov rcx, r13
mov r12d, 1
call fcn.1403aafa0
jmp 0x1402e92e6
xor ebp, ebp
jmp 0x1402e921a
xor ebx, ebx
jmp 0x1402e9240
test r12d, r12d
mov qword [rsp + 0xd8], r15
mov r15, r13
mov r13, qword [rsp + 0xd8]
jne 0x1402e94fb
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [r15 + 0x3c]
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
jne 0x1402e9634
cmp byte [rax + 8], 1
jbe 0x1402e9634
mov ecx, dword [r15 + 0x40]
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
jne 0x1402e9ba0
cmp byte [rax + 8], 1
jbe 0x1402e9ba0
cmp qword [r15 + 0x80], 0
jne 0x1402e9be4
lea rdx, [r15 + 0x9ccc]
lea rcx, [r15 + 0x9cdc]
mov r8d, 0x10
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1402e9be4
mov r12d, dword [r15 + 0x10]
test r12d, r12d
je 0x1402e9be4
mov eax, dword [r15 + 0x14]
test eax, eax
mov dword [rsp + 0x50], eax
je 0x1402e9be4
mov eax, dword [r15 + 0xbd88]
test eax, eax
mov dword [rsp + 0x58], eax
je 0x1402e9be4
mov esi, dword [r15 + 0x18]
test esi, esi
je 0x1402e9be4
lea r8, str.YUV_color_matrix_differs_for_YUV__YUV__using_intermediate_RGB_to_convert_n
mov edx, 0x28
mov rcx, r15
call fcn.14036cf30
mov ecx, dword [r15 + 0x3c]
call fcn.1403768d0
test rax, rax
je 0x1402e9d1e
mov eax, dword [rax + 0x28]
sub eax, 9
cmp eax, 5
jbe 0x1402e99ae
mov ecx, dword [r15 + 0x3c]
call fcn.1403768d0
test rax, rax
je 0x1402e9d38
cmp dword [rax + 0x28], 0x10
je 0x1402e99ae
mov edi, dword [r15 + 0x40]
mov ecx, edi
call fcn.1403768d0
test rax, rax
je 0x1402e9d2b
cmp edi, 0xb
je 0x1402e9ce9
test byte [rax + 0x10], 0x80
jne 0x1402e9ce9
mov edi, 3
jmp 0x1402e99da
mov esi, dword [r15 + 0x3c]
mov ecx, esi
call fcn.1403768d0
test rax, rax
je 0x1402e9cdc
test byte [rax + 0x10], 0xa
jne 0x1402e9660
cmp byte [rax + 8], 2
ja 0x1402e9660
sub esi, 9
cmp esi, 1
ja 0x1402e9521
mov ecx, dword [r15 + 0x3c]
call fcn.1403768d0
test rax, rax
je 0x1402e9c06
test byte [rax + 0x10], 0x20
jne 0x1402e9951
cmp byte [rax + 8], 1
jbe 0x1402e9951
mov eax, dword [r13 + 8]
mov ecx, dword [r13 + 0xc]
lea rbx, [r15 + 0x99e0]
movsxd r9, dword [r13]
movsxd rsi, dword [r13 + 4]
neg eax
neg ecx
cdqe
movsxd rcx, ecx
test rax, rax
jle 0x1402e9c95
mov rdx, rsi
shl rax, 0x20
sar rdx, 1
add rax, rdx
cqo
idiv rsi
test rcx, rcx
mov r11, rax
jle 0x1402e9c80
mov rax, r9
shl rcx, 0x20
sar rax, 1
add rax, rcx
cqo
movabs r8, 0x100000000
idiv r9
sub r8, r11
mov rcx, r8
sub rcx, rax
mov r12, rax
imul rax, rcx, 0x12a15
test rcx, rcx
jle 0x1402e9c75
add rax, 0x8000
lea rdx, [rax + 0xffff]
test rax, rax
mov r14, r12
cmovs rax, rdx
imul rsi, rcx
mov rbp, rax
sar rbp, 0x10
lea rdi, [rsi + 0x8000]
lea rdx, [rsi - 0x8000]
test rsi, rsi
cmovg rdx, rdi
lea rdi, [rdx + 0xffff]
test rdx, rdx
cmovns rdi, rdx
imul r9, rcx
sar rdi, 0x10
lea rsi, [r9 + 0x8000]
lea rdx, [r9 - 0x8000]
test r9, r9
cmovg rdx, rsi
lea r9, [rdx + 0xffff]
test rdx, rdx
cmovns r9, rdx
sar rax, 0x11
shl r14, 0xf
sar r9, 0x10
test r12, r12
mov r10, rax
lea rax, [r14 + rax]
jle 0x1402e9c6a
cqo
mov rsi, r11
idiv rbp
shl rsi, 0xf
neg eax
mov dword [r15 + 0x99e0], eax
movabs rax, 0x800000000000
add rax, r10
cqo
idiv rbp
test r11, r11
mov dword [r15 + 0x99e4], eax
lea rax, [rsi + r10]
jle 0x1402e9c5f
cqo
idiv rbp
mov rbp, rdi
sar rbp, 1
neg eax
test r12, r12
mov dword [r15 + 0x99e8], eax
lea rax, [rbp + r14]
jle 0x1402e9c54
cqo
add rcx, r11
idiv rdi
mov dword [r15 + 0x99ec], eax
movabs rax, 0x800000000000
add rax, rbp
cqo
idiv rdi
neg eax
test rcx, rcx
mov dword [r15 + 0x99f0], eax
jle 0x1402e9c45
shl rcx, 0xf
lea rax, [rcx + rbp]
cqo
mov rcx, r9
idiv rdi
sar rcx, 1
test r8, r8
mov dword [r15 + 0x99f4], eax
jle 0x1402e9c36
shl r8, 0xf
lea rax, [r8 + rcx]
cqo
mov r8d, 0x10
idiv r9
mov dword [r15 + 0x99f8], eax
movabs rax, 0x800000000000
add rax, rcx
cqo
idiv r9
neg eax
mov dword [r15 + 0x99fc], eax
lea rax, [rsi + rcx]
sub rsi, rcx
test r11, r11
mov rcx, r13
cmovle rax, rsi
cqo
idiv r9
mov rdx, qword [0x140444e80]
add rdx, 0x50
mov dword [r15 + 0x9a00], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402e990d
mov dword [r15 + 0x99e8], 0xc88
mov dword [r15 + 0x9a00], 0xfffff6e4
mov dword [r15 + 0x99f4], 0x3838
mov dword [r15 + 0x99e4], 0x4087
mov dword [r15 + 0x99fc], 0xffffd0e3
mov dword [r15 + 0x99f0], 0xffffdac8
mov dword [r15 + 0x99e0], 0x20de
mov dword [r15 + 0x99f8], 0x3838
mov dword [r15 + 0x99ec], 0xffffecff
xor eax, eax
mov edx, 2
jmp 0x1402e992c
lea rdx, [0x14042d840]
movsx rdx, byte [rdx + rax]
xor ecx, ecx
test dl, dl
js 0x1402e993b
movzx ecx, word [r15 + rdx*4 + 0x99e0]
mov word [rbx + rax*2 + 0x40], cx
add rax, 1
cmp rax, 0x118
jne 0x1402e9920
jmp 0x1402e94e8
mov esi, dword [r15 + 0x3c]
mov ecx, esi
call fcn.1403768d0
test rax, rax
je 0x1402e9cdc
test byte [rax + 0x10], 0xa
jne 0x1402e997d
cmp byte [rax + 8], 2
ja 0x1402e997d
sub esi, 9
cmp esi, 1
ja 0x1402e9686
mov eax, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0xe8]
mov r8d, ebx
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x20], eax
call fcn.1403b0e60
jmp 0x1402e9686
mov edi, dword [r15 + 0x40]
mov ecx, edi
call fcn.1403768d0
test rax, rax
je 0x1402e9d2b
cmp edi, 0xb
je 0x1402e9ca7
test byte [rax + 0x10], 0x80
jne 0x1402e9ca7
mov edi, 0x3c
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x50]
mov eax, ecx
imul edx, r12d
imul eax, esi
cmp edx, eax
jle 0x1402e9bee
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x5c], ecx
mov r9d, esi
mov r8d, ecx
lea rdx, [r15 + 0x98]
lea rcx, [r15 + 0xa8]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], edi
call fcn.14036a520
test eax, eax
js 0x1402e94ea
mov eax, dword [r15 + 0xdd4]
mov r10d, dword [r15 + 0x40]
mov ecx, 0xcf10
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], r10d
call fcn.14036dc50
test rax, rax
je 0x1402e9bd9
mov rdx, qword [0x140444970]
mov rcx, rax
mov qword [rsp + 0x68], rax
mov qword [rax], rdx
call fcn.140371cf0
mov rax, qword [rsp + 0x68]
movsd xmm0, qword [r15 + 0x70]
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
xor r8d, r8d
mov r10d, dword [rsp + 0x64]
movsd qword [rax + 0x70], xmm0
mov dword [rax + 0x10], r12d
mov r12d, dword [rsp + 0x5c]
mov dword [rax + 0xdd4], ecx
mov dword [rax + 0x18], edx
mov ecx, dword [rsp + 0x50]
movsd xmm0, qword [r15 + 0x78]
mov edx, dword [r15 + 0xcf00]
mov dword [rax + 0xbd88], r12d
mov dword [rax + 0x40], r10d
movsd qword [rax + 0x78], xmm0
mov dword [rax + 0x14], ecx
mov dword [rax + 0x3c], edi
mov rcx, rax
mov qword [r15 + 0x80], rax
mov dword [rax + 0xcf00], edx
xor edx, edx
call fcn.1403ac4d5
test eax, eax
js 0x1402e94ea
mov eax, dword [rsp + 0xf8]
mov rcx, qword [r15 + 0x80]
mov r9, r13
mov r8d, ebx
mov rdx, r14
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x28], eax
call fcn.1402e91e0
lea rax, [r15 + 0x70]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov r9d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x54]
mov r8d, edi
mov qword [rsp + 0x48], rax
mov eax, dword [r15 + 0xdd4]
mov ecx, r12d
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + 0x3c]
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], eax
call fcn.1402e9110
test rax, rax
mov qword [r15 + 0x88], rax
je 0x1402e9be4
mov dword [rsp + 0x38], 0x10000
mov dword [rsp + 0x30], 0x10000
mov r9, r13
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], ebp
mov r8d, ebx
mov rdx, r14
mov rcx, rax
call fcn.1402e91e0
jmp 0x1402e94e8
mov esi, dword [r15 + 0x40]
mov ecx, esi
call fcn.1403768d0
test rax, rax
je 0x1402e9cdc
test byte [rax + 0x10], 0xa
jne 0x1402e9660
cmp byte [rax + 8], 2
ja 0x1402e9660
sub esi, 9
cmp esi, 1
ja 0x1402e9547
jmp 0x1402e9660
mov qword [r15 + 0x80], 0
mov eax, 0xffffffff
jmp 0x1402e94ea
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5c], r12d
mov r8d, r12d
mov dword [rsp + 0x54], eax
mov r9d, eax
jmp 0x1402e9a01
mov dword [rsp + 0x28], 0x29e
lea rax, [0x14042d2d2]
lea r9, [0x14042d2cd]
lea r8, [0x14042cd08]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.14036cf30
call sub.msvcrt.dll_abort
mov rax, r8
shl rax, 0xf
sub rax, rcx
jmp 0x1402e984c
shl rcx, 0xf
mov rax, rcx
sub rax, rbp
jmp 0x1402e9829
mov rax, r14
sub rax, rbp
jmp 0x1402e97ee
mov rax, rsi
sub rax, r10
jmp 0x1402e97cc
mov rax, r14
sub rax, r10
jmp 0x1402e9791
sub rax, 0x8000
jmp 0x1402e970b
mov rax, rcx
mov rdx, r9
shl rax, 0x20
sar rdx, 1
sub rax, rdx
jmp 0x1402e96da
mov rdx, rsi
shl rax, 0x20
sar rdx, 1
sub rax, rdx
jmp 0x1402e96bc
mov edx, dword [r15 + 0x3c]
mov ecx, edx
mov dword [rsp + 0x54], edx
call fcn.1403768d0
test rax, rax
je 0x1402e9d2b
mov edx, dword [rsp + 0x54]
mov edi, 0x6d
cmp edx, 0xb
je 0x1402e99da
test byte [rax + 0x10], 0x80
je 0x1402e99d5
jmp 0x1402e99da
mov dword [rsp + 0x28], 0x2be
jmp 0x1402e9c0e
mov edx, dword [r15 + 0x3c]
mov ecx, edx
mov dword [rsp + 0x54], edx
call fcn.1403768d0
test rax, rax
je 0x1402e9d2b
mov edx, dword [rsp + 0x54]
mov edi, 0x1c
cmp edx, 0xb
je 0x1402e99da
test byte [rax + 0x10], 0x80
je 0x1402e962a
jmp 0x1402e99da
mov dword [rsp + 0x28], 0x290
jmp 0x1402e9c0e
mov dword [rsp + 0x28], 0x30b
jmp 0x1402e9c0e
mov dword [rsp + 0x28], 0x289
jmp 0x1402e9c0e