Function at 0x1402e5f70
Capabilities:
Encrypt data using speck
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, 0x108
mov rbx, qword [rsp + 0x178]
mov r15, rcx
mov ecx, dword [rcx + 0x40]
mov r12, rdx
mov qword [rsp + 0x160], r8
mov dword [rsp + 0x168], r9d
call fcn.1403768d0
test rax, rax
je 0x1402e71e4
test byte [rax + 0x11], 1
mov edx, 2
jne 0x1402e5fc8
mov ecx, dword [r15 + 0x58]
mov edx, 1
shl edx, cl
cmp qword [rsp + 0x160], 0
je 0x1402e6180
cmp qword [rsp + 0x180], 0
je 0x1402e6180
test rbx, rbx
je 0x1402e6180
test r12, r12
je 0x1402e6180
mov rax, qword [rsp + 0x160]
sub edx, 1
mov esi, edx
and esi, dword [rsp + 0x168]
mov r9, qword [rax]
mov r10, qword [rax + 8]
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0xa8], r10
mov r9, qword [rax]
mov r10, qword [rax + 8]
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0xb8], r10
jne 0x1402e61cc
test dword [rsp + 0x170], edx
je 0x1402e61b0
mov eax, dword [r15 + 0x14]
mov edi, eax
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x168]
add eax, dword [rsp + 0x170]
cmp eax, edi
jne 0x1402e61cc
mov r11d, dword [r15 + 0x108]
mov rcx, qword [r15 + 0x80]
test r11d, r11d
je 0x1402e6200
test rcx, rcx
je 0x1402e6590
mov eax, dword [rsp + 0x170]
lea rbp, [r15 + 0x98]
lea rdi, [r15 + 0xa8]
mov r9d, dword [rsp + 0x168]
mov r8, qword [rsp + 0x160]
mov rdx, r12
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.1402e5f70
test eax, eax
js 0x1402e65a3
cmp qword [r15 + 0x90], 0
mov rcx, qword [r15 + 0x88]
je 0x1402e6f1b
lea rax, [r15 + 0xc8]
mov qword [rsp + 0x30], rax
lea rax, [r15 + 0xd8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x170]
mov r9d, dword [rsp + 0x168]
mov r8, rbp
mov rdx, rdi
mov dword [rsp + 0x20], eax
call fcn.1402e5f70
test eax, eax
js 0x1402e65a3
mov rcx, qword [r15 + 0x90]
mov esi, eax
test rcx, rcx
je 0x1402e6196
mov rax, qword [r15 + 0x88]
lea rdx, [r15 + 0xd8]
lea r8, [r15 + 0xc8]
mov r9d, dword [rax + 0xdd0]
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x30], rax
sub r9d, esi
call fcn.1402e5f70
mov esi, eax
jmp 0x1402e6196
lea r8, str.One_of_the_input_parameters_to_sws_scale___is_NULL__please_check_the_calling_code_n
mov edx, 0x10
mov rcx, r15
xor esi, esi
call fcn.14036cf30
mov eax, esi
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x168]
add eax, dword [rsp + 0x170]
cmp eax, dword [r15 + 0x14]
mov dword [rsp + 0x78], eax
jle 0x1402e6075
mov eax, dword [rsp + 0x170]
mov r9d, dword [rsp + 0x168]
lea r8, str.Slice_parameters__d___d_are_invalid_n
mov edx, 0x10
mov rcx, r15
mov esi, 0xffffffea
mov dword [rsp + 0x20], eax
call fcn.14036cf30
jmp 0x1402e6196
mov r10d, dword [rsp + 0x168]
test r10d, r10d
sete al
test rcx, rcx
setne dl
and dl, al
mov byte [rsp + 0x7f], dl
je 0x1402e6584
mov eax, dword [rcx + 0x14]
cmp dword [rsp + 0x170], eax
je 0x1402e6f32
mov rax, qword [r12]
mov r9d, dword [rsp + 0x170]
mov qword [rsp + 0xc0], rax
mov rax, qword [r12 + 8]
test r9d, r9d
mov qword [rsp + 0xc8], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
mov rax, qword [r12 + 0x18]
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx]
mov qword [rsp + 0xe0], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0xf0], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0xf8], rax
je 0x1402e6196
mov ecx, dword [r15 + 0x40]
call fcn.1403768d0
movsxd rdx, dword [rax + 0x18]
cmp qword [r12 + rdx*8], 0
je 0x1402e6edc
mov rdi, qword [rsp + 0x160]
mov r8d, dword [rdi + rdx*4]
test r8d, r8d
je 0x1402e6edc
movsxd rdx, dword [rax + 0x38]
cmp qword [r12 + rdx*8], 0
je 0x1402e6edc
mov ecx, dword [rdi + rdx*4]
test ecx, ecx
je 0x1402e6edc
movsxd rdx, dword [rax + 0x58]
cmp qword [r12 + rdx*8], 0
je 0x1402e6edc
mov edx, dword [rdi + rdx*4]
test edx, edx
je 0x1402e6edc
movsxd rax, dword [rax + 0x78]
cmp qword [r12 + rax*8], 0
je 0x1402e6edc
mov eax, dword [rdi + rax*4]
test eax, eax
je 0x1402e6edc
mov ecx, dword [r15 + 0x3c]
call fcn.1403768d0
movsxd rdx, dword [rax + 0x18]
cmp qword [rbx + rdx*8], 0
je 0x1402e6fae
mov rdi, qword [rsp + 0x180]
mov r8d, dword [rdi + rdx*4]
test r8d, r8d
je 0x1402e6fae
movsxd rdx, dword [rax + 0x38]
cmp qword [rbx + rdx*8], 0
je 0x1402e6fae
mov ecx, dword [rdi + rdx*4]
test ecx, ecx
je 0x1402e6fae
movsxd rdx, dword [rax + 0x58]
cmp qword [rbx + rdx*8], 0
je 0x1402e6fae
mov edx, dword [rdi + rdx*4]
test edx, edx
je 0x1402e6fae
movsxd rax, dword [rax + 0x78]
cmp qword [rbx + rax*8], 0
je 0x1402e6fae
mov eax, dword [rdi + rax*4]
test eax, eax
je 0x1402e6fae
mov esi, dword [r15 + 0x68]
test esi, esi
je 0x1402e65b0
mov ecx, dword [r15 + 0x40]
cmp ecx, 0x16
ja 0x1402e6720
mov eax, 1
shl rax, cl
test eax, 0x5a0900
je 0x1402e6720
mov r14d, dword [r15 + 0x3c]
lea r13, [r15 + 0x540]
xor edx, edx
jmp 0x1402e654a
cmp ecx, 0x14
je 0x1402e6640
cmp ecx, 0x11
je 0x1402e6680
cmp ecx, 0x16
je 0x1402e66e0
cmp ecx, 8
je 0x1402e66c0
mov r9d, edx
mov ebx, edx
and eax, 1
sar r9d, 3
sar ebx, 1
mov r10d, 0xff000000
mov r8d, r9d
and ebx, 3
mov r11d, 0xff
shl r8d, 8
sub r8d, r9d
mov r9d, eax
shl r9d, 8
imul ebx, ebx, 0x55
sub r9d, eax
mov eax, r9d
nop dword [rax + rax]
imul esi, eax, 0x20de
imul r9d, ebx, 0x4087
add r9d, esi
imul esi, r8d, 0xc88
lea esi, [r9 + rsi + 0x84000]
mov r9d, 0xff
sar esi, 0xf
test esi, 0xffffff00
cmovne esi, r9d
imul edi, eax, 0xffffecff
imul r9d, ebx, 0xffffdac8
add r9d, edi
imul edi, r8d, 0x3838
lea ebp, [r9 + rdi + 0x404000]
sar ebp, 0xf
test ebp, 0xffffff00
mov edi, ebp
je 0x1402e64a5
not ebp
sar ebp, 0x1f
mov edi, ebp
imul ebp, eax, 0x3838
movzx edi, dil
imul r9d, ebx, 0xffffd0e3
add r9d, ebp
imul ebp, r8d, 0xfffff6e4
lea ebp, [r9 + rbp + 0x404000]
sar ebp, 0xf
test ebp, 0xffffff00
mov r9d, ebp
je 0x1402e64e0
mov r9d, ebp
not r9d
sar r9d, 0x1f
shl edi, 8
movzx r9d, r9b
add esi, edi
shl r9d, 0x10
add r9d, esi
add r9d, r10d
cmp r14d, 0x19
mov dword [r13 - 0x400], r9d
je 0x1402e6620
jle 0x1402e65e0
cmp r14d, 0x1a
je 0x1402e6600
cmp r14d, 0x1b
jne 0x1402e65e6
shl r8d, 8
shl ebx, 0x10
shl eax, 0x18
add r11d, r8d
add r11d, ebx
add r11d, eax
mov dword [r13], r11d
add rdx, 1
add r13, 4
cmp rdx, 0x100
je 0x1402e6720
cmp ecx, 0xb
mov eax, edx
jne 0x1402e63e0
mov rax, qword [r12 + 8]
mov r8d, dword [rax + rdx*4]
mov r11d, r8d
mov eax, r8d
mov rbx, r8
shr r11d, 0x18
shr eax, 0x10
movzx ebx, bh
mov r10d, r11d
movzx eax, al
movzx r8d, r8b
shl r10d, 0x18
jmp 0x1402e6440
mov byte [rsp + 0x7f], al
jmp 0x1402e6230
mov eax, dword [rsp + 0x168]
test eax, eax
sete byte [rsp + 0x7f]
jmp 0x1402e6230
mov esi, eax
jmp 0x1402e6196
mov eax, dword [rsp + 0x168]
test eax, eax
je 0x1402e65c9
mov eax, dword [rsp + 0x78]
cmp dword [r15 + 0x14], eax
jne 0x1402e7145
cmp byte [rsp + 0x7f], 1
sbb eax, eax
or eax, 1
mov dword [r15 + 0x68], eax
jmp 0x1402e63a5
cmp r14d, 2
je 0x1402e6600
shl ebx, 8
shl eax, 0x10
add r8d, ebx
add eax, r8d
add eax, r10d
mov dword [r13], eax
jmp 0x1402e6535
shl ebx, 8
shl r8d, 0x10
add eax, ebx
add r8d, eax
add r10d, r8d
mov dword [r13], r10d
jmp 0x1402e6535
shl eax, 8
shl ebx, 0x10
shl r8d, 0x18
add r11d, eax
add ebx, r11d
add r8d, ebx
mov dword [r13], r8d
jmp 0x1402e6535
mov r8d, edx
and eax, 3
mov r10d, 0xff000000
sar r8d, 5
mov r11d, 0xff
lea r9d, [r8 + r8*8]
mov r8d, edx
sar r8d, 2
and r8d, 7
lea ebx, [r8 + r8*8]
imul r8d, eax, 0x55
lea eax, [r9*4]
shl ebx, 2
jmp 0x1402e6440
mov r9d, edx
and eax, 7
mov r8d, edx
sar r9d, 3
lea eax, [rax + rax*8]
sar r8d, 6
and r9d, 7
mov r10d, 0xff000000
mov r11d, 0xff
lea ebx, [r9 + r9*8]
shl eax, 2
imul r8d, r8d, 0x55
shl ebx, 2
jmp 0x1402e6440
mov r8d, edx
mov ebx, edx
mov r10d, 0xff000000
mov r11d, 0xff
jmp 0x1402e6440
mov r9d, edx
and eax, 1
mov ebx, edx
sar r9d, 3
mov r8d, eax
sar ebx, 1
mov r10d, r9d
shl r8d, 8
and ebx, 3
shl r10d, 8
sub r8d, eax
mov r11d, 0xff
mov eax, r10d
mov r10d, 0xff000000
imul ebx, ebx, 0x55
sub eax, r9d
jmp 0x1402e6440
mov eax, dword [r15 + 0x9cf4]
test eax, eax
je 0x1402e673b
mov r14d, dword [r15 + 0x9cf8]
test r14d, r14d
je 0x1402e6fe1
mov qword [rsp + 0x90], 0
mov ebp, dword [r15 + 0x9cfc]
test ebp, ebp
je 0x1402e6a73
mov edi, dword [r15 + 0x9d00]
test edi, edi
je 0x1402e6772
mov eax, dword [r15 + 0xbd88]
cmp dword [r15 + 0x10], eax
je 0x1402e7171
mov rax, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x160]
mov eax, dword [rax]
mov ecx, dword [rdi]
mov dword [rsp + 0x40], eax
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
imul ecx, dword [rsp + 0x170]
add ecx, 0x20
movsxd rcx, ecx
call fcn.14036d890
test rax, rax
mov rdi, rax
mov qword [rsp + 0x90], rax
je 0x1402e7231
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x98], rdi
mov eax, dword [rax]
test eax, eax
js 0x1402e711d
mov edx, eax
mov ecx, dword [r15 + 0x40]
shr edx, 0x1f
add eax, edx
sar eax, 1
mov dword [rsp + 0x40], eax
mov edi, eax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rax
call fcn.1403768d0
mov esi, dword [rsp + 0x170]
mov r13, rax
test esi, esi
jle 0x1402e6a63
movsxd rax, edi
mov dword [rsp + 0x6c], 0
add rax, rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x80], rax
nop
cmp dword [rsp + 0x40], 2
jle 0x1402e6a38
movsx eax, word [r15 + 0xce32]
mov r12, qword [r15 + 0xce10]
xor edi, edi
mov rbp, qword [r15 + 0xce18]
movsx r14d, word [r15 + 0xce30]
mov qword [rsp + 0x150], r15
mov rbx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x70]
mov dword [rsp + 0x48], eax
movsx eax, word [r15 + 0xce34]
mov dword [rsp + 0x54], eax
movsx eax, word [r15 + 0xce38]
mov dword [rsp + 0x58], eax
movsx eax, word [r15 + 0xce3a]
mov dword [rsp + 0x5c], eax
movsx eax, word [r15 + 0xce3c]
mov dword [rsp + 0x60], eax
movsx eax, word [r15 + 0xce40]
mov dword [rsp + 0x64], eax
movsx eax, word [r15 + 0xce42]
mov dword [rsp + 0x68], eax
movsx eax, word [r15 + 0xce44]
mov r15d, eax
jmp 0x1402e69ee
movzx ecx, word [r11]
movzx edx, word [r11 + 2]
movzx eax, word [r11 + 4]
rol cx, 8
rol dx, 8
rol ax, 8
movzx ecx, cx
movzx edx, dx
movzx eax, ax
sar ecx, 4
sar edx, 4
sar eax, 4
movsxd rcx, ecx
movsxd rdx, edx
cdqe
movsx r9d, word [r12 + rcx*2]
movsx r8d, word [r12 + rdx*2]
mov ecx, r14d
mov edx, dword [rsp + 0x48]
movsx eax, word [r12 + rax*2]
mov esi, dword [rsp + 0x58]
imul edx, r8d
imul ecx, r9d
add ecx, edx
mov edx, dword [rsp + 0x54]
imul esi, r9d
imul r9d, dword [rsp + 0x64]
imul edx, eax
add ecx, edx
mov edx, dword [rsp + 0x5c]
sar ecx, 0xc
imul edx, r8d
imul r8d, dword [rsp + 0x68]
add esi, edx
mov edx, dword [rsp + 0x60]
imul edx, eax
imul eax, r15d
add r9d, r8d
add edx, esi
add r9d, eax
sar edx, 0xc
sar r9d, 0xc
test ecx, 0xfffff000
je 0x1402e697b
not ecx
sar ecx, 0x1f
and ecx, 0xfff
test edx, 0xfffff000
je 0x1402e698e
not edx
sar edx, 0x1f
and edx, 0xfff
test r9d, 0xfffff000
je 0x1402e69a5
not r9d
sar r9d, 0x1f
and r9d, 0xfff
movzx eax, word [rbp + rcx*2]
shl eax, 4
test r10, r10
je 0x1402e6a10
rol ax, 8
mov word [rbx], ax
movzx eax, word [rbp + rdx*2]
shl eax, 4
rol ax, 8
mov word [rbx + 2], ax
movzx eax, word [rbp + r9*2]
shl eax, 4
rol ax, 8
mov word [rbx + 4], ax
add edi, 3
add rbx, 6
add r11, 6
lea eax, [rdi + 2]
cmp dword [rsp + 0x40], eax
jle 0x1402e6a30
mov r10, qword [r13 + 0x10]
and r10d, 1
jne 0x1402e68d0
movzx ecx, word [r11]
movzx edx, word [r11 + 2]
movzx eax, word [r11 + 4]
jmp 0x1402e68f3
mov word [rbx], ax
movzx eax, word [rbp + rdx*2]
shl eax, 4
mov word [rbx + 2], ax
movzx eax, word [rbp + r9*2]
shl eax, 4
mov word [rbx + 4], ax
jmp 0x1402e69da
mov r15, qword [rsp + 0x150]
add dword [rsp + 0x6c], 1
mov rdi, qword [rsp + 0x88]
mov eax, dword [rsp + 0x6c]
add qword [rsp + 0x70], rdi
add qword [rsp + 0x80], rdi
cmp dword [rsp + 0x170], eax
jne 0x1402e6830
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xc0], rax
cmp byte [rsp + 0x7f], 0
je 0x1402e6a92
test byte [r15 + 0xdd6], 8
je 0x1402e6a92
cmp dword [r15 + 0xcefc], 3
je 0x1402e7184
cmp dword [r15 + 0x68], 1
je 0x1402e6fd4
mov eax, dword [rsp + 0x170]
mov rdi, qword [rsp + 0x160]
mov edx, dword [r15 + 0x40]
neg dword [rsp + 0xa0]
neg dword [rsp + 0xb0]
lea r8d, [rax - 1]
mov eax, dword [rdi]
neg dword [rsp + 0xa4]
neg dword [rsp + 0xb4]
imul eax, r8d
neg dword [rsp + 0xa8]
neg dword [rsp + 0xb8]
cdqe
neg dword [rsp + 0xac]
neg dword [rsp + 0xbc]
add qword [rsp + 0xc0], rax
cmp edx, 0x16
ja 0x1402e6ef5
mov eax, 1
mov ecx, edx
shl rax, cl
test eax, 0x5a0900
je 0x1402e6ef5
mov ecx, dword [r15 + 0x58]
mov eax, dword [rsp + 0x170]
sar eax, cl
sub eax, 1
imul r8d, dword [rdi + 0xc]
imul eax, dword [rdi + 8]
mov rdi, qword [rsp + 0x180]
mov ebx, dword [r15 + 0x14]
sub ebx, dword [rsp + 0x168]
mov ecx, dword [rdi]
cdqe
add qword [rsp + 0xd0], rax
movsxd rax, r8d
add qword [rsp + 0xd8], rax
mov eax, dword [r15 + 0x18]
lea r8d, [rax - 1]
imul ecx, r8d
imul r8d, dword [rdi + 0xc]
movsxd rcx, ecx
add qword [rsp + 0xe0], rcx
mov ecx, dword [r15 + 0x60]
sar eax, cl
mov ecx, dword [rdi + 4]
sub eax, 1
imul ecx, eax
imul eax, dword [rdi + 8]
movsxd rcx, ecx
add qword [rsp + 0xe8], rcx
cdqe
add qword [rsp + 0xf0], rax
movsxd rax, r8d
add qword [rsp + 0xf8], rax
mov eax, ebx
sub eax, dword [rsp + 0x170]
mov dword [rsp + 0x168], eax
lea rsi, [rsp + 0xc0]
lea rdi, [rsp + 0xe0]
mov rcx, rsi
call fcn.1402e4b90
mov edx, dword [r15 + 0x3c]
mov rcx, rdi
call fcn.1402e4b90
cmp dword [r15 + 0x14], ebx
je 0x1402e6fc7
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rdi
mov r9d, dword [rsp + 0x168]
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x20], eax
call qword [r15 + 8]
mov ebx, dword [r15 + 0x9d00]
mov dword [rsp + 0x40], eax
test ebx, ebx
je 0x1402e6ec6
mov r11d, dword [r15 + 0x9cfc]
test r11d, r11d
je 0x1402e6c51
mov eax, dword [r15 + 0xbd88]
cmp dword [r15 + 0x10], eax
je 0x1402e715e
mov eax, dword [r15 + 0xdd0]
mov ebx, dword [rsp + 0x40]
test eax, eax
cmove eax, dword [rsp + 0x78]
mov edi, eax
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xb0]
mov r12d, edi
sub r12d, ebx
imul r12d, eax
movsxd r12, r12d
add r12, qword [rsp + 0xe0]
cmp edi, ebx
jl 0x1402e7214
mov r10d, dword [rsp + 0x40]
test r10d, r10d
js 0x1402e7262
cmp edi, dword [r15 + 0x18]
jg 0x1402e7245
mov ecx, dword [r15 + 0x3c]
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
call fcn.1403768d0
mov r9d, dword [rsp + 0x40]
sar ebp, 1
test r9d, r9d
je 0x1402e6ec6
movsxd rdx, ebp
xor r13d, r13d
lea rdi, [rdx + rdx]
mov qword [rsp + 0x48], rdi
xor edi, edi
cmp ebp, 2
mov rbx, r12
mov r11, r12
jg 0x1402e6e62
jmp 0x1402e6eb2
movzx edx, word [r11]
movzx ecx, word [r11 + 2]
movzx r9d, word [r11 + 4]
rol dx, 8
rol cx, 8
rol r9w, 8
movzx edx, dx
movzx ecx, cx
movzx r9d, r9w
mov r10, qword [r15 + 0xce28]
sar edx, 4
sar ecx, 4
sar r9d, 4
movsxd rcx, ecx
movsxd rdx, edx
movsxd r9, r9d
movsx r14d, word [r15 + 0xce50]
movsx esi, word [r10 + rcx*2]
movsx edx, word [r10 + rdx*2]
movsx ecx, word [r10 + r9*2]
movsx r10d, word [r15 + 0xce48]
movsx r9d, word [r15 + 0xce4a]
imul r14d, edx
imul r10d, edx
imul r9d, esi
add r9d, r10d
movsx r10d, word [r15 + 0xce4c]
imul r10d, ecx
add r10d, r9d
movsx r9d, word [r15 + 0xce52]
sar r10d, 0xc
imul r9d, esi
add r14d, r9d
movsx r9d, word [r15 + 0xce54]
imul r9d, ecx
add r9d, r14d
movsx r14d, word [r15 + 0xce58]
sar r9d, 0xc
imul edx, r14d
movsx r14d, word [r15 + 0xce5a]
imul esi, r14d
add esi, edx
movsx edx, word [r15 + 0xce5c]
imul ecx, edx
lea edx, [rsi + rcx]
sar edx, 0xc
test r10d, 0xfffff000
je 0x1402e6ddc
not r10d
sar r10d, 0x1f
and r10d, 0xfff
mov ecx, r9d
test ecx, 0xfffff000
je 0x1402e6df2
not ecx
sar ecx, 0x1f
and ecx, 0xfff
test edx, 0xfffff000
je 0x1402e6e05
not edx
sar edx, 0x1f
and edx, 0xfff
test r8, r8
mov r8, qword [r15 + 0xce20]
movzx r8d, word [r8 + r10*2]
je 0x1402e6e83
shl r8d, 4
rol r8w, 8
mov word [rbx], r8w
mov r8, qword [r15 + 0xce20]
movzx ecx, word [r8 + rcx*2]
shl ecx, 4
rol cx, 8
mov word [rbx + 2], cx
mov rcx, qword [r15 + 0xce20]
movzx edx, word [rcx + rdx*2]
shl edx, 4
rol dx, 8
mov word [rbx + 4], dx
add edi, 3
add rbx, 6
add r11, 6
lea edx, [rdi + 2]
cmp ebp, edx
jle 0x1402e6eb2
mov r8, qword [rax + 0x10]
and r8d, 1
jne 0x1402e6cf0
movzx edx, word [r11]
movzx ecx, word [r11 + 2]
movzx r9d, word [r11 + 4]
jmp 0x1402e6d15
shl r8d, 4
mov word [rbx], r8w
mov r8, qword [r15 + 0xce20]
movzx ecx, word [r8 + rcx*2]
shl ecx, 4
mov word [rbx + 2], cx
mov rcx, qword [r15 + 0xce20]
movzx edx, word [rcx + rdx*2]
shl edx, 4
mov word [rbx + 4], dx
jmp 0x1402e6e50
add r12, qword [rsp + 0x48]
add r13d, 1
cmp dword [rsp + 0x40], r13d
jne 0x1402e6cd4
mov rcx, qword [rsp + 0x90]
call fcn.14036dc20
mov esi, dword [rsp + 0x40]
jmp 0x1402e6196
lea r8, str.bad_src_image_pointers_n
mov edx, 0x10
mov rcx, r15
call fcn.14036cf30
jmp 0x1402e6196
mov ecx, dword [r15 + 0x58]
mov eax, dword [rsp + 0x170]
sar eax, cl
mov ecx, dword [rdi + 4]
sub eax, 1
imul ecx, eax
movsxd rcx, ecx
add qword [rsp + 0xc8], rcx
jmp 0x1402e6b2a
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rax
jmp 0x1402e6105
mov eax, dword [rsp + 0x170]
lea rbp, [r15 + 0x98]
lea rdi, [r15 + 0xa8]
mov r8, qword [rsp + 0x160]
xor r9d, r9d
mov rdx, r12
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.1402e5f70
test eax, eax
mov esi, eax
js 0x1402e6196
mov rax, qword [rsp + 0x180]
mov rcx, qword [r15 + 0x88]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov r8, rbp
mov rdx, rdi
mov qword [rsp + 0x30], rax
mov rax, qword [r15 + 0x80]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1402e5f70
mov esi, eax
jmp 0x1402e6196
lea r8, str.bad_dst_image_pointers_n
mov edx, 0x10
mov rcx, r15
call fcn.14036cf30
jmp 0x1402e6196
mov dword [r15 + 0x68], 0
jmp 0x1402e6bea
mov edx, dword [r15 + 0x40]
mov ebx, dword [rsp + 0x78]
jmp 0x1402e6bbc
mov ebx, dword [r15 + 0x3c]
mov ecx, ebx
call fcn.1403768d0
test rax, rax
je 0x1402e723b
cmp ebx, 0xb
je 0x1402e7004
test byte [rax + 0x10], 0x80
je 0x1402e673b
mov rax, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x160]
mov eax, dword [rax]
mov ecx, dword [rdi]
mov dword [rsp + 0x40], eax
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
imul ecx, dword [rsp + 0x170]
add ecx, 0x20
movsxd rcx, ecx
call fcn.14036d890
test rax, rax
mov qword [rsp + 0x90], rax
je 0x1402e7231
mov r12, rax
mov rax, qword [rsp + 0x160]
movsxd rsi, dword [rax]
test esi, esi
js 0x1402e71cd
mov r13d, dword [rsp + 0x170]
test r13d, r13d
jle 0x1402e7110
mov eax, dword [r15 + 0x10]
movsxd rbx, dword [r15 + 0x9cf4]
mov rcx, rsi
mov rdi, qword [rsp + 0xc0]
mov r9, r12
mov rsi, r12
mov qword [rsp + 0x150], r15
xor ebp, ebp
mov r12, rcx
lea r13d, [rax*4]
mov r14, rbx
mov r15, rdi
sub rbx, 1
movsxd rax, r13d
mov qword [rsp + 0x40], rax
mov rax, r13
sub rax, r14
and eax, 0xfffffffc
add rax, 4
mov rdi, rax
mov r8, qword [rsp + 0x40]
mov rdx, r15
mov rcx, r9
call sub.msvcrt.dll_memcpy
lea rdx, [rdi + rbx]
mov r9, rax
lea rax, [rsi + rbx]
add rdx, rsi
cmp r13d, r14d
jl 0x1402e70f0
mov byte [rax], 0xff
add rax, 4
cmp rax, rdx
jne 0x1402e70e4
add ebp, 1
add r9, r12
add r15, r12
add rbx, r12
cmp dword [rsp + 0x170], ebp
jne 0x1402e70c1
mov r15, qword [rsp + 0x150]
mov r12, rsi
mov qword [rsp + 0xc0], r12
jmp 0x1402e6747
mov edi, dword [rsp + 0x170]
lea edx, [rdi - 1]
mov rdi, qword [rsp + 0x90]
imul edx, eax
movsxd rdx, edx
sub rdi, rdx
mov qword [rsp + 0x98], rdi
jmp 0x1402e67d2
lea r8, str.Slices_start_in_the_middle__n
mov edx, 0x10
mov rcx, r15
call fcn.14036cf30
jmp 0x1402e6196
mov eax, dword [r15 + 0x18]
cmp dword [r15 + 0x14], eax
jne 0x1402e6c51
jmp 0x1402e6ec6
mov eax, dword [r15 + 0x18]
cmp dword [r15 + 0x14], eax
jne 0x1402e6772
jmp 0x1402e6a73
mov rcx, qword [r15 + 0x9ca0]
test rcx, rcx
je 0x1402e6a92
lea rsi, [r15 + 0x9ca8]
lea rbx, [r15 + 0x9cc0]
mov eax, dword [r15 + 0xbd88]
xor edx, edx
lea r8d, [rax + 2]
movsxd r8, r8d
shl r8, 2
call sub.msvcrt.dll_memset
cmp rsi, rbx
je 0x1402e6a92
mov rcx, qword [rsi]
add rsi, 8
jmp 0x1402e71a2
mov eax, dword [rsp + 0x170]
sub eax, 1
imul eax, esi
cdqe
sub r12, rax
jmp 0x1402e705d
mov dword [rsp + 0x28], 0x2f5
lea rax, [0x14042ca23]
lea r9, [0x14042ca00]
mov qword [rsp + 0x20], rax
lea r8, [0x14042ca05]
xor edx, edx
xor ecx, ecx
call fcn.14036cf30
call sub.msvcrt.dll_abort
lea rax, str.libswscale_swscale.c
mov dword [rsp + 0x28], 0x3e0
lea r9, str.dstY___ret
mov qword [rsp + 0x20], rax
jmp 0x1402e71ff
mov esi, 0xfffffff4
jmp 0x1402e6196
mov dword [rsp + 0x28], 0x30b
jmp 0x1402e71ec
lea rax, str.libswscale_swscale.c
mov dword [rsp + 0x28], 0x3e2
lea r9, str.c__dstH___dstY
mov qword [rsp + 0x20], rax
jmp 0x1402e71ff
lea rax, str.libswscale_swscale.c
mov dword [rsp + 0x28], 0x3e1
lea r9, [0x14042cc3e]
mov qword [rsp + 0x20], rax
jmp 0x1402e71ff