Function at 0x1403776d0
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, 0x58
mov r12, qword [rsp + 0xc0]
cmp ecx, 0xba
mov edi, ecx
mov ebx, edx
mov ebp, r8d
mov r13d, r9d
ja 0x140377708
cmp edx, 0xba
jbe 0x140377ae0
mov ebx, edi
test r12, r12
je 0x140377ac4
cmp r13d, 1
mov esi, 0xfffffffc
sbb r9d, r9d
not r9d
and r9d, 8
cmp ebp, 0xba
ja 0x140377ac0
cmp ebx, 0xba
ja 0x140377ac0
movsxd r10, ebp
lea r8, str.yuv420p
lea rcx, [r10 + r10*4]
mov rdx, rcx
shl rdx, 5
add rdx, r8
mov r13, qword [rdx + 0x10]
test r13b, 8
jne 0x140377b30
movsxd r11, ebx
lea rax, [r11 + r11*4]
shl rax, 5
add rax, r8
mov r15, qword [rax + 0x10]
test r15b, 8
jne 0x140377b30
xor esi, esi
cmp ebx, ebp
je 0x140377ac0
cmp byte [rdx + 8], 0
mov esi, 0xfffffffd
je 0x140377ac0
movzx eax, byte [rax + 8]
test al, al
je 0x140377ac0
test r13b, 2
movzx edx, byte [rdx + 8]
jne 0x140377d00
lea esi, [rdx - 1]
cmp sil, 1
jbe 0x140377ea0
shl rcx, 5
mov r14, qword [r8 + rcx]
test r14, r14
je 0x140377cdb
lea rdi, str.yuvj
mov ecx, 4
mov rsi, r14
mov byte [rsp + 0x2d], 1
mov dword [rsp + 0x28], 3
repe cmpsb byte [rsi], byte [rdi]
seta sil
setb cl
cmp sil, cl
jne 0x140377cb2
xor edi, edi
test r15b, 2
jne 0x14037784c
lea ecx, [rax - 1]
cmp cl, 1
jbe 0x140377e90
lea rcx, [r11 + r11*4]
shl rcx, 5
mov r14, qword [r8 + rcx]
test r14, r14
je 0x140377e68
lea rdi, str.yuvj
mov ecx, 4
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
mov edi, 3
seta sil
setb cl
cmp sil, cl
jne 0x140377e42
cmp ebx, 0xb
je 0x140377d42
cmp al, dl
cmovbe edx, eax
movzx r14d, dl
test r14d, r14d
je 0x140377e30
lea rax, [r11 + r11*4]
shl rax, 5
mov ecx, dword [r8 + rax + 0x28]
lea rax, [r10 + r10*4]
shl rax, 5
mov eax, dword [r8 + rax + 0x28]
sub ecx, 1
sub eax, 1
cmp eax, ecx
jle 0x140377d30
mov eax, 0x10000
mov esi, 0x7ffffffe
mov dword [rsp + 0x24], 2
sar eax, cl
sub esi, eax
cmp r14d, 1
je 0x140377960
lea rax, [r11 + r11*4]
shl rax, 5
mov ecx, dword [r8 + rax + 0x48]
lea rax, [r10 + r10*4]
shl rax, 5
mov eax, dword [r8 + rax + 0x48]
sub ecx, 1
sub eax, 1
cmp eax, ecx
jle 0x1403778e4
mov eax, 0x10000
mov dword [rsp + 0x24], 2
sar eax, cl
sub esi, eax
cmp r14d, 2
je 0x140377960
lea rax, [r11 + r11*4]
shl rax, 5
mov ecx, dword [r8 + rax + 0x68]
lea rax, [r10 + r10*4]
shl rax, 5
mov eax, dword [r8 + rax + 0x68]
sub ecx, 1
sub eax, 1
cmp eax, ecx
jle 0x14037791f
mov eax, 0x10000
mov dword [rsp + 0x24], 2
sar eax, cl
sub esi, eax
cmp r14d, 3
je 0x140377960
lea rax, [r11 + r11*4]
shl rax, 5
mov ecx, dword [r8 + rax + 0x88]
lea rax, [r10 + r10*4]
shl rax, 5
mov eax, dword [r8 + rax + 0x88]
sub ecx, 1
sub eax, 1
cmp ecx, eax
jge 0x140377960
mov eax, 0x10000
mov dword [rsp + 0x24], 2
sar eax, cl
sub esi, eax
lea rax, [r11 + r11*4]
lea rdx, [r10 + r10*4]
shl rax, 5
shl rdx, 5
movzx ecx, byte [r8 + rdx + 9]
movzx eax, byte [r8 + rax + 9]
cmp al, cl
mov byte [rsp + 0x2e], cl
jbe 0x140377994
or dword [rsp + 0x24], 1
mov edx, 0x100
mov ecx, eax
shl edx, cl
sub esi, edx
lea rcx, [r11 + r11*4]
lea rdx, [r10 + r10*4]
shl rcx, 5
shl rdx, 5
movzx edx, byte [r8 + rdx + 0xa]
movzx ecx, byte [r8 + rcx + 0xa]
cmp cl, dl
mov byte [rsp + 0x2f], dl
jbe 0x1403779c6
or dword [rsp + 0x24], 1
mov edx, 0x100
shl edx, cl
sub esi, edx
cmp byte [rsp + 0x2e], 0
sete dl
cmp al, 1
sete al
and edx, eax
cmp cl, 1
sete al
test dl, al
je 0x1403779f2
cmp byte [rsp + 0x2f], 0
lea eax, [rsi + 0x200]
sete dl
test dl, dl
cmovne esi, eax
cmp edi, 1
je 0x140377ec4
jle 0x140377d12
cmp edi, 2
je 0x140377ee3
cmp edi, 3
jne 0x140377ed4
mov eax, dword [rsp + 0x28]
sub eax, 1
cmp eax, 2
jbe 0x140377a6e
nop
lea rax, [r11 + r11*4]
mov edx, r14d
or dword [rsp + 0x24], 4
shl edx, 0x10
shl rax, 5
mov r11d, dword [r8 + rax + 0x28]
lea rax, [r10 + r10*4]
shl rax, 5
mov r8d, dword [r8 + rax + 0x28]
lea ecx, [r11 - 1]
lea eax, [r8 - 1]
cmp r11d, r8d
cmovg ecx, eax
sar edx, cl
sub esi, edx
cmp edi, 1
jne 0x140377a6e
cmp byte [rsp + 0x2d], 0
je 0x140377a6e
or dword [rsp + 0x24], 0x20
sub esi, 0x20000
and r15d, 0x80
jne 0x140377a90
test r13b, 0x80
je 0x140377a90
test r9d, r9d
je 0x140377a90
or dword [rsp + 0x24], 8
sub esi, 0x10000
nop dword [rax]
cmp ebp, 0xb
je 0x140377ab0
cmp ebx, 0xb
jne 0x140377ab0
cmp byte [rsp + 0x2d], 0
je 0x140377f00
or dword [rsp + 0x24], 0x10
sub esi, 0x10000
test esi, esi
cmovns esi, dword [rsp + 0x24]
nop word [rax + rax]
mov dword [r12], esi
mov eax, ebx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r12, r12
mov esi, 0xffffffff
je 0x140377af0
mov esi, dword [r12]
not esi
mov eax, esi
lea r8, [rsp + 0x38]
mov edx, ebp
and eax, 0xfffffff7
test r13d, r13d
mov ecx, edi
cmove esi, eax
mov r9d, esi
call fcn.140375b00
lea r8, [rsp + 0x3c]
mov r14d, eax
mov r9d, esi
mov edx, ebp
mov ecx, ebx
call fcn.140375b00
cmp r14d, eax
je 0x140377b40
jge 0x140377706
jmp 0x140377708
xor esi, esi
cmp ebx, ebp
sete sil
sub esi, 2
jmp 0x140377ac0
movsxd r11, ebx
lea r8, str.yuv420p
mov qword [rsp + 0x40], 0
lea rdx, [r11 + r11*4]
mov qword [rsp + 0x48], 0
shl rdx, 5
add rdx, r8
movzx eax, byte [rdx + 0xa]
movzx ecx, byte [rdx + 9]
add ecx, eax
movzx eax, byte [rdx + 8]
test eax, eax
mov r9d, eax
je 0x140377bc5
movsxd rsi, dword [rdx + 0x18]
mov r10d, dword [rdx + 0x1c]
shl r10d, cl
cmp eax, 1
mov dword [rsp + rsi*4 + 0x40], r10d
je 0x140377bc1
movsxd r10, dword [rdx + 0x38]
mov esi, dword [rdx + 0x3c]
cmp eax, 2
mov dword [rsp + r10*4 + 0x40], esi
je 0x140377bc1
movsxd r10, dword [rdx + 0x58]
mov esi, dword [rdx + 0x5c]
cmp eax, 3
mov dword [rsp + r10*4 + 0x40], esi
je 0x140377bc1
movsxd r10, dword [rdx + 0x78]
mov eax, dword [rdx + 0x7c]
shl eax, cl
mov dword [rsp + r10*4 + 0x40], eax
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x44]
lea rdx, [r11 + r11*4]
movsxd r11, edi
add eax, dword [rsp + 0x48]
lea rsi, [r11 + r11*4]
mov qword [rsp + 0x40], 0
add eax, dword [rsp + 0x4c]
shl rdx, 5
mov qword [rsp + 0x48], 0
test byte [r8 + rdx + 0x10], 4
lea r10d, [rax*8]
cmove eax, r10d
shl rsi, 5
sar eax, cl
add rsi, r8
mov edx, eax
movzx ecx, byte [rsi + 9]
movzx eax, byte [rsi + 0xa]
add ecx, eax
movzx eax, byte [rsi + 8]
test eax, eax
mov r10d, eax
je 0x140377c6f
movsxd r14, dword [rsi + 0x18]
mov r15d, dword [rsi + 0x1c]
shl r15d, cl
cmp eax, 1
mov dword [rsp + r14*4 + 0x40], r15d
je 0x140377c6b
movsxd r14, dword [rsi + 0x38]
mov r15d, dword [rsi + 0x3c]
cmp eax, 2
mov dword [rsp + r14*4 + 0x40], r15d
je 0x140377c6b
movsxd r14, dword [rsi + 0x58]
mov r15d, dword [rsi + 0x5c]
cmp eax, 3
mov dword [rsp + r14*4 + 0x40], r15d
je 0x140377c6b
movsxd r14, dword [rsi + 0x78]
mov eax, dword [rsi + 0x7c]
shl eax, cl
mov dword [rsp + r14*4 + 0x40], eax
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x44]
lea r11, [r11 + r11*4]
add eax, dword [rsp + 0x48]
add eax, dword [rsp + 0x4c]
shl r11, 5
test byte [r8 + r11 + 0x10], 4
lea esi, [rax*8]
cmove eax, esi
sar eax, cl
cmp eax, edx
je 0x140377ca4
jg 0x140377708
jmp 0x140377706
cmp r10b, r9b
ja 0x140377708
jmp 0x140377706
lea rdi, [0x140436805]
mov ecx, 3
mov rsi, r14
mov dword [rsp + 0x28], 4
repe cmpsb byte [rsi], byte [rdi]
seta sil
setb cl
cmp sil, cl
je 0x1403777fd
test r13b, 0x20
mov byte [rsp + 0x2d], 1
jne 0x140377ef3
cmp dl, 1
sbb edi, edi
or edi, 2
mov dword [rsp + 0x28], edi
jmp 0x1403777fd
mov byte [rsp + 0x2d], 1
mov dword [rsp + 0x28], 0
jmp 0x1403777fd
test edi, edi
jne 0x140377ed4
cmp dword [rsp + 0x28], 1
ja 0x140377a20
jmp 0x140377a6e
mov esi, 0x7ffffffe
mov dword [rsp + 0x24], 0
jmp 0x1403778a5
cmp dl, 4
ja 0x140377e80
movzx r14d, dl
test r14d, r14d
je 0x140377e30
mov eax, 7
cdq
idiv r14d
lea rdx, [r10 + r10*4]
shl rdx, 5
mov edx, dword [r8 + rdx + 0x28]
sub edx, 1
cmp edx, eax
jle 0x140377eb2
mov edx, 0x10000
mov ecx, eax
mov esi, 0x7ffffffe
sar edx, cl
mov dword [rsp + 0x24], 2
sub esi, edx
cmp r14d, 1
je 0x140377960
lea rdx, [r10 + r10*4]
shl rdx, 5
mov edx, dword [r8 + rdx + 0x48]
sub edx, 1
cmp edx, eax
jle 0x140377dc2
mov edx, 0x10000
mov ecx, eax
mov dword [rsp + 0x24], 2
sar edx, cl
sub esi, edx
cmp r14d, 2
je 0x140377960
lea rdx, [r10 + r10*4]
shl rdx, 5
mov edx, dword [r8 + rdx + 0x68]
sub edx, 1
cmp edx, eax
jle 0x140377df3
mov edx, 0x10000
mov ecx, eax
mov dword [rsp + 0x24], 2
sar edx, cl
sub esi, edx
cmp r14d, 4
jne 0x140377960
lea rdx, [r10 + r10*4]
shl rdx, 5
mov edx, dword [r8 + rdx + 0x88]
sub edx, 1
cmp edx, eax
jle 0x140377960
mov edx, 0x10000
mov ecx, eax
mov dword [rsp + 0x24], 2
sar edx, cl
sub esi, edx
jmp 0x140377960
mov dword [rsp + 0x24], 0
mov esi, 0x7ffffffe
jmp 0x140377960
lea rdi, [0x140436805]
mov ecx, 3
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
mov edi, 4
seta sil
setb cl
cmp sil, cl
je 0x14037784c
mov rcx, r15
and ecx, 0x20
cmp rcx, 1
sbb edi, edi
and edi, 2
jmp 0x14037784c
mov r14d, 4
jmp 0x140377d58
mov edi, 1
jmp 0x14037784c
mov byte [rsp + 0x2d], 0
mov dword [rsp + 0x28], 1
jmp 0x1403777fd
mov esi, 0x7ffffffe
mov dword [rsp + 0x24], 0
jmp 0x140377d91
cmp dword [rsp + 0x28], 1
jne 0x140377a20
jmp 0x140377a6e
cmp edi, dword [rsp + 0x28]
jne 0x140377a20
jmp 0x140377a57
cmp dword [rsp + 0x28], 2
jne 0x140377a20
jmp 0x140377a6e
mov dword [rsp + 0x28], 0
jmp 0x1403777fd
and r13d, 0x80
je 0x140377ab0
test r9d, r9d
je 0x140377ab0
jmp 0x140377aa5