Function at 0x140093590
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
vmovdqa xmmword [rsp + 0x2f0], xmm15
vmovdqa xmmword [rsp + 0x2e0], xmm14
vmovdqa xmmword [rsp + 0x2d0], xmm13
vmovdqa xmmword [rsp + 0x2c0], xmm12
vmovdqa xmmword [rsp + 0x2b0], xmm11
vmovdqa xmmword [rsp + 0x2a0], xmm10
vmovdqa xmmword [rsp + 0x290], xmm9
vmovdqa xmmword [rsp + 0x280], xmm8
vmovdqa xmmword [rsp + 0x270], xmm7
vmovdqa xmmword [rsp + 0x260], xmm6
mov ebx, r8d
mov r12, rcx
mov r15d, dword [rsp + 0x380]
mov r8d, dword [rsp + 0x378]
mov ebp, dword [rsp + 0x370]
xor esi, esi
cmp r15d, 0x10
sete cl
mov eax, r8d
or eax, ebp
js 0x14009367f
mov edi, r9d
mov r14, rdx
mov rax, qword [r12]
movsxd r13, dword [rax + 8]
test r8d, r8d
je 0x14009364b
mov eax, 0x7fffffff
xor edx, edx
div r8d
cmp eax, ebp
jl 0x14009367f
mov sil, cl
inc esi
mov r9d, esi
imul r9d, edi
mov ecx, r8d
imul ecx, ebp
mov eax, r9d
or eax, ecx
js 0x14009367f
test r9d, r9d
je 0x14009371e
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, ecx
jge 0x14009371e
mov qword [r12 + 0x18], 0
lea r8, str.outofmem
mov eax, dword [0x14020d200]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], r8
xor ecx, ecx
mov eax, ecx
vmovaps xmm6, xmmword [rsp + 0x260]
vmovaps xmm7, xmmword [rsp + 0x270]
vmovaps xmm8, xmmword [rsp + 0x280]
vmovaps xmm9, xmmword [rsp + 0x290]
vmovaps xmm10, xmmword [rsp + 0x2a0]
vmovaps xmm11, xmmword [rsp + 0x2b0]
vmovaps xmm12, xmmword [rsp + 0x2c0]
vmovaps xmm13, xmmword [rsp + 0x2d0]
vmovaps xmm14, xmmword [rsp + 0x2e0]
vmovaps xmm15, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov dword [rsp + 0x4c], r9d
imul ecx, r9d
movsxd rcx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r12 + 0x18], rax
test rax, rax
je 0x140093688
lea r8, str.too_large
mov eax, r13d
or eax, ebp
js 0x14009368f
test ebp, ebp
je 0x140093766
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, r13d
jl 0x14009368f
mov ecx, r13d
imul ecx, ebp
mov eax, ecx
or eax, r15d
js 0x14009368f
test r15d, r15d
je 0x1400937ab
mov eax, 0x7fffffff
xor edx, edx
div r15d
cmp eax, ecx
mov r11d, dword [rsp + 0x378]
jl 0x14009368f
mov r10d, ecx
imul r10d, r15d
cmp r10d, 0x7ffffff8
jle 0x1400937b6
jmp 0x14009368f
xor r10d, r10d
mov r11d, dword [rsp + 0x378]
add r10d, 7
shr r10d, 3
lea eax, [r10 + 1]
imul eax, r11d
cmp eax, ebx
jbe 0x1400937d6
lea r8, str.not_enough_pixels
jmp 0x14009368f
mov eax, ebp
imul eax, edi
mov qword [rsp + 0x108], rax
test r11d, r11d
je 0x140096b06
mov dword [rsp + 0x48], ecx
cmp r15d, 8
setl dl
cmp r13d, edi
sete al
movzx r9d, byte [r14]
cmp r9b, 4
jbe 0x140093813
lea r8, str.invalid_filter
jmp 0x14009368f
mov ecx, esi
mov r8d, edx
mov rdx, qword [rsp + 0x108]
imul ecx, edx
mov ebx, r13d
imul ebx, esi
mov dword [rsp + 0x28], ebx
sub edx, r10d
mov qword [rsp + 0x250], rdx
mov dword [rsp + 0x40], ecx
mov ecx, ecx
mov rdx, rcx
neg rdx
mov qword [rsp + 0xa8], rdx
movsxd rdx, dword [rsp + 0x4c]
or r8b, al
mov byte [rsp + 0x47], r8b
mov eax, ebp
and eax, 7
mov dword [rsp + 0xcc], eax
mov eax, ebp
and eax, 0xfffffff8
mov dword [rsp + 0x118], eax
mov eax, 0x60
mov r8d, 0x60
sub r8, rdx
mov qword [rsp + 0x100], r8
mov rbx, rdx
neg rbx
mov r8, rbx
mov qword [rsp + 0xb0], rbx
sub rbx, rcx
mov qword [rsp + 0x230], rbx
mov r8d, 3
sub r8, rcx
mov qword [rsp + 0x228], r8
mov r8d, 1
sub r8, rcx
mov qword [rsp + 0x218], r8
sub rax, rcx
mov qword [rsp + 0x210], rax
vmovdqa xmm8, xmmword [0x14011a560]
vmovdqa xmm9, xmmword [0x14011a560]
movsxd rax, edi
mov qword [rsp + 0x258], rax
lea eax, [rbp - 1]
mov dword [rsp + 0x11c], eax
mov eax, r11d
mov qword [rsp + 0x110], rax
mov rax, qword [r12 + 0x18]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x38], rdx
add rcx, rdx
mov qword [rsp + 0x248], rcx
xor edx, edx
mov ecx, ebp
mov qword [rsp + 0x170], rcx
xor ecx, ecx
mov qword [rsp + 0xd8], r12
mov dword [rsp + 0x88], edi
mov dword [rsp + 0x8c], esi
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xd0], r10
cmp r15d, 7
jg 0x140093978
cmp r10d, ebp
ja 0x140096b7e
add rax, qword [rsp + 0x250]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x170], r10
mov qword [rsp + 0xc0], rcx
test rcx, rcx
mov r8, qword [rsp + 0xa8]
lea r12, [0x140096b8c]
jne 0x1400939a4
movzx ecx, r9b
lea r9, [0x14011a75c]
movzx r9d, byte [rcx + r9]
lea rbp, [r14 + 1]
add r8, rax
movzx r10d, r9b
cmp dword [rsp + 0x28], 0
jle 0x1400939fb
mov ecx, dword [rsp + 0x28]
xor r11d, r11d
jmp 0x1400939d2
movzx ebx, byte [rbp + r11]
mov byte [rax + r11], bl
inc r11
cmp rcx, r11
je 0x1400939fb
cmp r9b, 6
ja case.default.0x1400939df
movsxd rsi, dword [r12 + r10*4]
add rsi, r12
jmp rsi
movzx ebx, byte [r8 + r11]
add bl, byte [rbp + r11]
jmp 0x1400939c6
movzx ebx, byte [r8 + r11]
shr bl, 1
add bl, byte [rbp + r11]
jmp 0x1400939c6
cmp r15d, 8
jne 0x140093a18
cmp r13d, edi
je 0x140093a0b
mov byte [rax + r13], 0xff
add rbp, r13
mov r15, qword [rsp + 0x258]
jmp 0x140093a48
cmp r15d, 0x10
jne 0x140093a3b
movsxd rcx, dword [rsp + 0x28]
cmp r13d, edi
je 0x140093a31
mov byte [rax + rcx], 0xff
mov byte [rcx + rax + 1], 0xff
add rbp, rcx
mov r15, qword [rsp + 0x38]
jmp 0x140093a48
add r14, 2
mov r15d, 1
mov rbp, r14
mov r13d, dword [rsp + 0x28]
lea rcx, [rax + r15]
add r8, r15
cmp byte [rsp + 0x47], 0
mov qword [rsp + 0x30], rbp
je 0x140093aa0
mov rdx, qword [rsp + 0x170]
lea r11d, [rdx - 1]
imul r11d, r13d
movsxd r14, r11d
cmp r9b, 6
ja case.default.0x140093a8b
lea r9, [0x140096bc4]
movsxd rdx, dword [r9 + r10*4]
add rdx, r9
jmp rdx
mov rdx, rbp
mov r8, r14
vzeroupper
call sub.VCRUNTIME140.dll_memcpy
jmp case.default.0x140093a8b
cmp r9b, 6
mov ebp, dword [rsp + 0x11c]
ja case.default.0x140093abf
lea r11, [0x140096ba8]
movsxd r9, dword [r11 + r10*4]
add r9, r11
jmp r9
test ebp, ebp
je case.default.0x140093abf
movsxd r8, r13d
mov r9d, r13d
add rax, r15
mov r10d, r9d
and r10d, 0xffffff80
mov r11d, r9d
and r11d, 0xfffffff0
mov esi, r9d
and esi, 3
xor edi, edi
mov ebx, ebp
mov r14, qword [rsp + 0x30]
jmp 0x140093b0a
mov byte [rcx + r8], 0xff
add r14, r8
add rcx, qword [rsp + 0x38]
inc rdi
dec ebx
je 0x1400955db
test r13d, r13d
jle 0x140093af2
cmp r13d, 0x10
jb 0x140093be3
mov r15, rdi
imul r15, r8
add r15, qword [rsp + 0x30]
mov r13, rdi
imul r13, qword [rsp + 0x38]
add r13, rax
sub r13, r15
mov r12d, 0
cmp r13, 0x80
mov r13d, dword [rsp + 0x28]
jb 0x140093be6
xor r15d, r15d
cmp r13d, 0x80
jb 0x140093bc0
nop dword [rax + rax]
vmovdqu ymm0, ymmword [r14 + r15]
vmovdqu ymm1, ymmword [r14 + r15 + 0x20]
vmovdqu ymm2, ymmword [r14 + r15 + 0x40]
vmovdqu ymm3, ymmword [r14 + r15 + 0x60]
vmovdqu ymmword [rcx + r15], ymm0
vmovdqu ymmword [rcx + r15 + 0x20], ymm1
vmovdqu ymmword [rcx + r15 + 0x40], ymm2
vmovdqu ymmword [rcx + r15 + 0x60], ymm3
sub r15, 0xffffffffffffff80
cmp r10, r15
jne 0x140093b60
cmp r10, r9
je 0x140093af2
mov r15, r10
mov r12, r10
test r9b, 0x70
je 0x140093be6
nop word cs:[rax + rax]
vmovdqu xmm0, xmmword [r14 + r15]
vmovdqu xmmword [rcx + r15], xmm0
add r15, 0x10
cmp r11, r15
jne 0x140093bc0
mov r12, r11
cmp r11, r9
je 0x140093af2
jmp 0x140093be6
xor r12d, r12d
mov r15, r12
not r15
add r15, r9
test rsi, rsi
je 0x140093c11
mov r13, rsi
nop word [rax + rax]
movzx ebp, byte [r14 + r12]
mov byte [rcx + r12], bpl
inc r12
dec r13
jne 0x140093c00
cmp r15, 3
mov r13d, dword [rsp + 0x28]
jb 0x140093af2
movzx ebp, byte [r14 + r12]
mov byte [rcx + r12], bpl
movzx ebp, byte [r14 + r12 + 1]
mov byte [rcx + r12 + 1], bpl
movzx ebp, byte [r14 + r12 + 2]
mov byte [rcx + r12 + 2], bpl
movzx ebp, byte [r14 + r12 + 3]
mov byte [rcx + r12 + 3], bpl
add r12, 4
cmp r9, r12
jne 0x140093c20
jmp 0x140093af2
test r11d, r11d
jle case.default.0x140093a8b
mov r10d, dword [rsp + 0x28]
movsxd r8, r10d
mov edx, r11d
cmp r11d, 0x10
jae 0x1400957fe
xor r9d, r9d
mov r10, r9
test dl, 1
je 0x140093c9c
mov r10, r9
sub r10, r8
movzx r10d, byte [rcx + r10]
add r10b, byte [rbp + r9]
mov byte [rcx + r9], r10b
mov r10, r9
or r10, 1
not r9
add r9, rdx
je case.default.0x140093a8b
mov rcx, r15
sub rcx, r8
add rcx, rax
inc rcx
add rax, r15
inc rax
movzx r8d, byte [rcx + r10 - 1]
add r8b, byte [rbp + r10]
mov byte [rax + r10 - 1], r8b
movzx r8d, byte [rcx + r10]
add r8b, byte [rbp + r10 + 1]
mov byte [rax + r10], r8b
add r10, 2
cmp rdx, r10
jne 0x140093cba
jmp case.default.0x140093a8b
test r11d, r11d
jle case.default.0x140093a8b
mov edx, r11d
cmp r11d, 0x10
jae 0x140095760
xor r9d, r9d
mov rcx, r9
not rcx
add rcx, rdx
mov r8, rdx
and r8, 3
je 0x140093d4b
mov r10, r9
neg r10
lea r11, [r9 + r15]
add r11, rax
mov rsi, qword [rsp + 0xa8]
add rsi, r11
add r9, rbp
xor edi, edi
movzx ebx, byte [rsi + rdi]
add bl, byte [r9 + rdi]
mov byte [r11 + rdi], bl
inc rdi
dec r10
cmp r8, rdi
jne 0x140093d2e
neg r10
mov r9, r10
cmp rcx, 3
jb case.default.0x140093a8b
sub rdx, r9
add r15, r9
add rax, r15
add rax, 3
lea rcx, [r9 + rbp]
add rcx, 3
mov r9, qword [rsp + 0xa8]
movzx r8d, byte [rax + r9 - 3]
add r8b, byte [rcx - 3]
mov byte [rax - 3], r8b
movzx r8d, byte [rax + r9 - 2]
add r8b, byte [rcx - 2]
mov byte [rax - 2], r8b
movzx r8d, byte [rax + r9 - 1]
add r8b, byte [rcx - 1]
mov byte [rax - 1], r8b
movzx r8d, byte [rax + r9]
add r8b, byte [rcx]
mov byte [rax], r8b
add rax, 4
add rcx, 4
add rdx, 0xfffffffffffffffc
jne 0x140093d6a
jmp case.default.0x140093a8b
test r11d, r11d
jle case.default.0x140093a8b
mov esi, dword [rsp + 0x28]
movsxd r9, esi
mov edx, r11d
cmp r11d, 0x10
jae 0x140095840
xor r10d, r10d
mov r11, r10
test dl, 1
je 0x140093e08
movzx r8d, byte [r8 + r10]
mov r11, r10
sub r11, r9
movzx r11d, byte [rcx + r11]
add r11d, r8d
shr r11d, 1
add r11b, byte [rbp + r10]
mov byte [rcx + r10], r11b
mov r11, r10
or r11, 1
not r10
add r10, rdx
je case.default.0x140093a8b
mov rcx, r15
sub rcx, r9
add rcx, rax
inc rcx
lea r8, [rax + r15]
inc r8
add rax, qword [rsp + 0x218]
add rax, r15
lea r9, [rbp + 1]
movzx r10d, byte [rax + r11 - 1]
movzx esi, byte [rcx + r11 - 1]
add esi, r10d
shr esi, 1
add sil, byte [r9 + r11 - 1]
mov byte [r8 + r11 - 1], sil
movzx r10d, byte [rax + r11]
movzx esi, byte [rcx + r11]
add esi, r10d
shr esi, 1
add sil, byte [r9 + r11]
mov byte [r8 + r11], sil
add rdx, 0xfffffffffffffffe
add rcx, 2
add r8, 2
add rax, 2
add r9, 2
cmp r11, rdx
jne 0x140093e36
jmp case.default.0x140093a8b
test r11d, r11d
jle case.default.0x140093a8b
mov esi, dword [rsp + 0x28]
movsxd r13, esi
mov edx, r11d
cmp r11d, 0x10
jae 0x1400957a6
xor r9d, r9d
sub r15, r13
add rax, r15
mov r10, qword [rsp + 0xa8]
add r10, rax
mov r11, rbp
jmp 0x140093ef0
cmp ebp, r12d
cmova esi, edi
cmp ebp, r15d
cmova esi, edi
add sil, byte [r11 + r9]
mov byte [rcx + r9], sil
inc r10
inc rax
inc rcx
inc r8
inc r11
dec rdx
cmp r9, rdx
mov rbp, qword [rsp + 0x30]
je case.default.0x140093a8b
movzx edi, byte [r10 + r9]
movzx ebx, byte [r8 + r9]
movzx esi, byte [rax + r9]
mov r15d, ebx
sub r15d, edi
lea r13d, [r15 + rsi]
mov ebp, r15d
neg ebp
cmovs ebp, r15d
mov r12d, r13d
sub r12d, ebx
mov r15d, r12d
neg r15d
cmovs r15d, r12d
sub r13d, edi
mov r12d, r13d
neg r12d
cmovs r12d, r13d
cmp r15d, r12d
ja 0x140093ebc
mov edi, ebx
jmp 0x140093ebc
test r11d, r11d
jle case.default.0x140093a8b
mov r10d, dword [rsp + 0x28]
movsxd r8, r10d
mov edx, r11d
cmp r11d, 0x10
jae 0x1400958e5
xor r9d, r9d
mov r10, r9
test dl, 1
je 0x140093f7f
mov r10, r9
sub r10, r8
movzx r10d, byte [rcx + r10]
shr r10b, 1
add r10b, byte [rbp + r9]
mov byte [rcx + r9], r10b
mov r10, r9
or r10, 1
not r9
add r9, rdx
je case.default.0x140093a8b
mov rcx, r15
sub rcx, r8
add rcx, rax
inc rcx
add rax, r15
inc rax
movzx r8d, byte [rcx + r10 - 1]
shr r8b, 1
add r8b, byte [rbp + r10]
mov byte [rax + r10 - 1], r8b
movzx r8d, byte [rcx + r10]
shr r8b, 1
add r8b, byte [rbp + r10 + 1]
mov byte [rax + r10], r8b
add r10, 2
cmp rdx, r10
jne 0x140093f9d
jmp case.default.0x140093a8b
test r11d, r11d
jle case.default.0x140093a8b
mov r10d, dword [rsp + 0x28]
movsxd r8, r10d
mov edx, r11d
cmp r11d, 0x10
jae 0x140095927
xor r9d, r9d
mov r10, r9
test dl, 1
je 0x14009400f
mov r10, r9
sub r10, r8
movzx r10d, byte [rcx + r10]
add r10b, byte [rbp + r9]
mov byte [rcx + r9], r10b
mov r10, r9
or r10, 1
not r9
add r9, rdx
je case.default.0x140093a8b
mov rcx, r15
sub rcx, r8
add rcx, rax
inc rcx
add rax, r15
inc rax
movzx r8d, byte [rcx + r10 - 1]
add r8b, byte [rbp + r10]
mov byte [rax + r10 - 1], r8b
movzx r8d, byte [rcx + r10]
add r8b, byte [rbp + r10 + 1]
mov byte [rax + r10], r8b
add r10, 2
cmp rdx, r10
jne 0x140094029
add rbp, r14
mov r14, rbp
mov r12, qword [rsp + 0xd8]
mov r15d, dword [rsp + 0x380]
mov edi, dword [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
mov r13, qword [rsp + 0xb8]
mov ebp, dword [rsp + 0x370]
mov r11d, dword [rsp + 0x378]
mov r10, qword [rsp + 0xd0]
vmovdqa xmm8, xmmword [0x14011a560]
vmovdqa xmm9, xmmword [0x14011a560]
jmp 0x140095709
test ebp, ebp
je case.default.0x140093abf
movsxd r8, r13d
mov r9d, r13d
lea r10, [rax + r15]
mov qword [rsp + 0x50], r10
mov r11d, r9d
and r11d, 0xffffff80
mov edi, r9d
and edi, 0xfffffff0
mov r10, r9
neg r10
mov qword [rsp + 0x60], r10
mov r10, qword [rsp + 0x100]
lea rbx, [rax + r10]
add rbx, r15
add rax, qword [rsp + 0xb0]
add rax, r15
xor r12d, r12d
mov r10d, ebp
mov r14, qword [rsp + 0x30]
jmp 0x140094120
mov byte [rcx + r8], 0xff
add r14, r8
mov rsi, qword [rsp + 0x38]
add rcx, rsi
inc r12
add rbx, rsi
add rax, rsi
dec r10d
je 0x1400955db
test r13d, r13d
jle 0x1400940fe
cmp r13d, 0x10
jae 0x140094189
xor esi, esi
mov rbp, rsi
test r9b, 1
je 0x140094152
mov r15, rsi
sub r15, qword [rsp + 0x38]
movzx ebp, byte [rcx + r15]
add bpl, byte [r14 + rsi]
mov byte [rcx + rsi], bpl
mov rbp, rsi
or rbp, 1
not rsi
cmp rsi, qword [rsp + 0x60]
je 0x1400940fe
nop dword [rax]
movzx esi, byte [rax + rbp]
add sil, byte [r14 + rbp]
mov byte [rcx + rbp], sil
movzx esi, byte [rax + rbp + 1]
add sil, byte [r14 + rbp + 1]
mov byte [rcx + rbp + 1], sil
add rbp, 2
cmp r9, rbp
jne 0x140094160
jmp 0x1400940fe
mov rsi, r12
imul rsi, qword [rsp + 0x38]
add rsi, qword [rsp + 0x50]
mov r15, r12
imul r15, r8
add r15, qword [rsp + 0x30]
sub rsi, r15
cmp rsi, 0x80
jb 0x14009412b
jb 0x14009412b
mov esi, 0
cmp dword [rsp + 0x4c], 0x80
jb 0x14009412d
cmp r13d, 0x80
jae 0x1400941dd
xor r15d, r15d
jmp 0x14009429a
xor ebp, ebp
vmovdqu xmm0, xmmword [rbx + rbp - 0x60]
vmovdqu xmm1, xmmword [rbx + rbp - 0x50]
vmovdqu xmm2, xmmword [rbx + rbp - 0x40]
vmovdqu xmm3, xmmword [rbx + rbp - 0x30]
vpaddb xmm0, xmm0, xmmword [r14 + rbp]
vpaddb xmm1, xmm1, xmmword [r14 + rbp + 0x10]
vpaddb xmm2, xmm2, xmmword [r14 + rbp + 0x20]
vpaddb xmm3, xmm3, xmmword [r14 + rbp + 0x30]
vmovdqu xmm4, xmmword [rbx + rbp - 0x20]
vpaddb xmm4, xmm4, xmmword [r14 + rbp + 0x40]
vmovdqu xmm5, xmmword [rbx + rbp - 0x10]
vpaddb xmm5, xmm5, xmmword [r14 + rbp + 0x50]
vmovdqu xmm6, xmmword [rbx + rbp]
vpaddb xmm6, xmm6, xmmword [r14 + rbp + 0x60]
vmovdqu xmm7, xmmword [rbx + rbp + 0x10]
vpaddb xmm7, xmm7, xmmword [r14 + rbp + 0x70]
vmovdqu xmmword [rcx + rbp + 0x10], xmm1
vmovdqu xmmword [rcx + rbp], xmm0
vmovdqu xmmword [rcx + rbp + 0x30], xmm3
vmovdqu xmmword [rcx + rbp + 0x20], xmm2
vmovdqu xmmword [rcx + rbp + 0x50], xmm5
vmovdqu xmmword [rcx + rbp + 0x40], xmm4
vmovdqu xmmword [rcx + rbp + 0x70], xmm7
vmovdqu xmmword [rcx + rbp + 0x60], xmm6
sub rbp, 0xffffffffffffff80
cmp r11, rbp
jne 0x1400941df
cmp r11, r9
je 0x1400940fe
mov r15, r11
mov rsi, r11
test r9b, 0x70
je 0x14009412d
vmovdqu xmm0, xmmword [rax + r15]
vpaddb xmm0, xmm0, xmmword [r14 + r15]
vmovdqu xmmword [rcx + r15], xmm0
add r15, 0x10
cmp rdi, r15
jne 0x14009429a
mov rsi, rdi
cmp rdi, r9
je 0x1400940fe
jmp 0x14009412d
test ebp, ebp
je case.default.0x140093abf
movsxd r12, r13d
mov r11d, r13d
lea r9, [rax + r15]
mov qword [rsp + 0x140], r9
mov r9d, r11d
and r9d, 0xffffff80
mov qword [rsp + 0xe0], r9
mov r9d, r11d
and r9d, 0xfffffff0
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x70], r11
and r11d, 3
lea r9, [r15 + rax]
add r9, 3
mov qword [rsp + 0x50], r9
add rax, qword [rsp + 0x228]
add rax, r15
mov r14, qword [rsp + 0x30]
lea rdi, [r14 + 3]
xor ebx, ebx
mov qword [rsp + 0x90], r12
jmp 0x140094366
mov byte [rcx + r12], 0xff
add r14, r12
mov r9, qword [rsp + 0x38]
add rcx, r9
add r8, r9
inc rbx
add qword [rsp + 0x50], r9
add rax, r9
add rdi, r12
mov ebp, dword [rsp + 0x60]
dec ebp
mov r13d, dword [rsp + 0x28]
je 0x1400955db
mov dword [rsp + 0x60], ebp
test r13d, r13d
jle 0x140094334
cmp dword [rsp + 0x28], 0x10
jae 0x14009444c
xor r10d, r10d
mov r9, r10
not r9
add r9, qword [rsp + 0x70]
test r11, r11
je 0x1400943d8
mov r15, r10
neg r15
lea r13, [rcx + r10]
lea rbp, [r8 + r10]
add r10, r14
xor r12d, r12d
nop word cs:[rax + rax]
movzx esi, byte [rbp + r12]
add sil, byte [r10 + r12]
mov byte [r13 + r12], sil
inc r12
dec r15
cmp r11, r12
jne 0x1400943b0
neg r15
mov r10, r15
mov r12, qword [rsp + 0x90]
cmp r9, 3
jb 0x140094334
mov r9, qword [rsp + 0x70]
sub r9, r10
mov rsi, qword [rsp + 0x50]
lea rbp, [rsi + r10]
lea r15, [rax + r10]
add r10, rdi
xor r13d, r13d
nop dword [rax]
movzx esi, byte [r15 + r13 - 3]
add sil, byte [r10 + r13 - 3]
mov byte [rbp + r13 - 3], sil
movzx esi, byte [r15 + r13 - 2]
add sil, byte [r10 + r13 - 2]
mov byte [rbp + r13 - 2], sil
movzx esi, byte [r15 + r13 - 1]
add sil, byte [r10 + r13 - 1]
mov byte [rbp + r13 - 1], sil
movzx esi, byte [r15 + r13]
add sil, byte [r10 + r13]
mov byte [rbp + r13], sil
add r13, 4
cmp r9, r13
jne 0x140094400
jmp 0x140094334
mov r9, rbx
imul r9, qword [rsp + 0x38]
add r9, qword [rsp + 0x140]
mov r10, rbx
imul r10, r12
add r10, qword [rsp + 0x30]
sub r9, r10
cmp r9, 0x80
jb 0x14009437a
jb 0x14009437a
mov r10d, 0
cmp dword [rsp + 0x40], 0x80
jb 0x14009437d
cmp dword [rsp + 0x28], 0x80
jae 0x1400944a5
xor r9d, r9d
jmp 0x140094583
xor r9d, r9d
mov r10, qword [rsp + 0xe0]
vmovdqu xmm0, xmmword [r8 + r9]
vmovdqu xmm1, xmmword [r8 + r9 + 0x10]
vmovdqu xmm2, xmmword [r8 + r9 + 0x20]
vmovdqu xmm3, xmmword [r8 + r9 + 0x30]
vpaddb xmm0, xmm0, xmmword [r14 + r9]
vpaddb xmm1, xmm1, xmmword [r14 + r9 + 0x10]
vpaddb xmm2, xmm2, xmmword [r14 + r9 + 0x20]
vpaddb xmm3, xmm3, xmmword [r14 + r9 + 0x30]
vmovdqu xmm4, xmmword [r8 + r9 + 0x40]
vpaddb xmm4, xmm4, xmmword [r14 + r9 + 0x40]
vmovdqu xmm5, xmmword [r8 + r9 + 0x50]
vpaddb xmm5, xmm5, xmmword [r14 + r9 + 0x50]
vmovdqu xmm6, xmmword [r8 + r9 + 0x60]
vpaddb xmm6, xmm6, xmmword [r14 + r9 + 0x60]
vmovdqu xmm7, xmmword [r8 + r9 + 0x70]
vpaddb xmm7, xmm7, xmmword [r14 + r9 + 0x70]
vmovdqu xmmword [rcx + r9 + 0x10], xmm1
vmovdqu xmmword [rcx + r9], xmm0
vmovdqu xmmword [rcx + r9 + 0x30], xmm3
vmovdqu xmmword [rcx + r9 + 0x20], xmm2
vmovdqu xmmword [rcx + r9 + 0x50], xmm5
vmovdqu xmmword [rcx + r9 + 0x40], xmm4
vmovdqu xmmword [rcx + r9 + 0x70], xmm7
vmovdqu xmmword [rcx + r9 + 0x60], xmm6
sub r9, 0xffffffffffffff80
cmp r10, r9
jne 0x1400944b0
cmp r10, qword [rsp + 0x70]
je 0x140094334
mov r10, qword [rsp + 0xe0]
mov r9, r10
test byte [rsp + 0x70], 0x70
je 0x14009437d
mov rsi, qword [rsp + 0x130]
vmovdqu xmm0, xmmword [r8 + r9]
vpaddb xmm0, xmm0, xmmword [r14 + r9]
vmovdqu xmmword [rcx + r9], xmm0
add r9, 0x10
cmp rsi, r9
jne 0x14009458b
mov r10, rsi
cmp rsi, qword [rsp + 0x70]
je 0x140094334
jmp 0x14009437d
test ebp, ebp
je case.default.0x140093abf
movsxd r9, r13d
mov r10d, r13d
lea r11, [rax + r15]
mov qword [rsp + 0x50], r11
mov edi, r10d
and edi, 0xffffffe0
mov ebx, r10d
and ebx, 0xfffffff0
mov r11, r10
neg r11
mov qword [rsp + 0x60], r11
add rax, qword [rsp + 0xb0]
add rax, r15
xor r12d, r12d
mov r11d, ebp
mov r14, qword [rsp + 0x30]
jmp 0x140094621
mov byte [rcx + r9], 0xff
add r14, r9
mov rsi, qword [rsp + 0x38]
add rcx, rsi
add r8, rsi
inc r12
add rax, rsi
dec r11d
je 0x1400955db
test r13d, r13d
jle 0x1400945ff
cmp r13d, 0x10
jae 0x1400946b2
xor esi, esi
mov rbp, rsi
test r10b, 1
je 0x140094662
movzx ebp, byte [r8 + rsi]
mov r15, rsi
sub r15, qword [rsp + 0x38]
movzx r15d, byte [rcx + r15]
add r15d, ebp
shr r15d, 1
add r15b, byte [r14 + rsi]
mov byte [rcx + rsi], r15b
mov rbp, rsi
or rbp, 1
not rsi
cmp rsi, qword [rsp + 0x60]
je 0x1400945ff
nop dword [rax]
movzx esi, byte [r8 + rbp]
movzx r15d, byte [rax + rbp]
add r15d, esi
shr r15d, 1
add r15b, byte [r14 + rbp]
mov byte [rcx + rbp], r15b
movzx esi, byte [r8 + rbp + 1]
movzx r15d, byte [rax + rbp + 1]
add r15d, esi
shr r15d, 1
add r15b, byte [r14 + rbp + 1]
mov byte [rcx + rbp + 1], r15b
add rbp, 2
cmp r10, rbp
jne 0x140094670
jmp 0x1400945ff
mov rsi, r12
imul rsi, qword [rsp + 0x38]
add rsi, qword [rsp + 0x50]
mov r15, r12
imul r15, r9
add r15, qword [rsp + 0x30]
sub rsi, r15
cmp rsi, 0x20
jb 0x140094630
jb 0x140094630
cmp dword [rsp + 0x40], 0x20
jb 0x140094630
mov esi, 0
cmp dword [rsp + 0x4c], 0x20
jb 0x140094632
cmp r13d, 0x20
jae 0x140094708
xor r15d, r15d
jmp 0x1400947aa
xor esi, esi
vpmovzxbw xmm0, qword [r8 + rsi + 8]
vpmovzxbw xmm1, qword [r8 + rsi]
vpmovzxbw xmm2, qword [r8 + rsi + 0x18]
vpmovzxbw xmm3, qword [r8 + rsi + 0x10]
vpmovzxbw xmm4, qword [rax + rsi + 8]
vpaddw xmm0, xmm4, xmm0
vpmovzxbw xmm4, qword [rax + rsi]
vpaddw xmm1, xmm4, xmm1
vpmovzxbw xmm4, qword [rax + rsi + 0x18]
vpmovzxbw xmm5, qword [rax + rsi + 0x10]
vpaddw xmm2, xmm4, xmm2
vpaddw xmm3, xmm5, xmm3
vpsrlw xmm0, xmm0, 1
vpsrlw xmm1, xmm1, 1
vpackuswb xmm0, xmm1, xmm0
vpsrlw xmm1, xmm2, 1
vpsrlw xmm2, xmm3, 1
vpackuswb xmm1, xmm2, xmm1
vpaddb xmm0, xmm0, xmmword [r14 + rsi]
vpaddb xmm1, xmm1, xmmword [r14 + rsi + 0x10]
vmovdqu xmmword [rcx + rsi + 0x10], xmm1
vmovdqu xmmword [rcx + rsi], xmm0
add rsi, 0x20
cmp rdi, rsi
jne 0x14009470a
cmp rdi, r10
je 0x1400945ff
mov r15, rdi
mov rsi, rdi
test r10b, 0x10
je 0x140094632
vpmovzxbw xmm0, qword [r8 + r15 + 8]
vpmovzxbw xmm1, qword [r8 + r15]
vpmovzxbw xmm2, qword [rax + r15 + 8]
vpaddw xmm0, xmm2, xmm0
vpmovzxbw xmm2, qword [rax + r15]
vpaddw xmm1, xmm2, xmm1
vpsrlw xmm0, xmm0, 1
vpsrlw xmm1, xmm1, 1
vpackuswb xmm0, xmm1, xmm0
vpaddb xmm0, xmm0, xmmword [r14 + r15]
vmovdqu xmmword [rcx + r15], xmm0
add r15, 0x10
cmp rbx, r15
jne 0x1400947aa
mov rsi, rbx
cmp rbx, r10
je 0x1400945ff
jmp 0x140094632
test ebp, ebp
je case.default.0x140093abf
movsxd r9, r13d
mov qword [rsp + 0x180], r9
mov r11d, r13d
lea r9, [rax + r15]
mov qword [rsp + 0x240], r9
mov r9d, r11d
and r9d, 0xffffffe0
mov qword [rsp + 0x168], r9
mov r9d, r11d
and r9d, 0xfffffff0
mov qword [rsp + 0x238], r9
mov r9, qword [rsp + 0xb0]
add r9, rax
add r9, r15
add rax, qword [rsp + 0x230]
add rax, r15
xor r10d, r10d
mov qword [rsp + 0x178], r10
mov r14, qword [rsp + 0x30]
jmp 0x1400948a8
mov r10, qword [rsp + 0x180]
mov byte [rcx + r10], 0xff
add r14, r10
mov r10, qword [rsp + 0x38]
add rcx, r10
add r8, r10
inc qword [rsp + 0x178]
add r9, r10
add rax, r10
mov ebp, dword [rsp + 0x120]
dec ebp
mov r13d, dword [rsp + 0x28]
je 0x1400955db
mov dword [rsp + 0x120], ebp
test r13d, r13d
jle 0x14009486b
cmp dword [rsp + 0x28], 0x10
jae 0x1400948c2
xor edi, edi
jmp 0x1400950f0
mov rdi, qword [rsp + 0x178]
mov rsi, rdi
imul rsi, qword [rsp + 0x38]
add rsi, qword [rsp + 0x240]
imul rdi, qword [rsp + 0x180]
add rdi, qword [rsp + 0x30]
sub rsi, rdi
cmp rsi, 0x20
jb 0x1400950ba
jb 0x1400950be
cmp qword [rsp + 0x248], 0x20
jb 0x1400950b6
cmp dword [rsp + 0x40], 0x20
jb 0x1400950b2
mov edi, 0
cmp dword [rsp + 0x4c], 0x20
jb 0x1400950f0
cmp dword [rsp + 0x28], 0x20
jae 0x140094b7a
xor esi, esi
mov r10, qword [rsp + 0x238]
vmovdqu xmm1, xmmword [rax + rsi]
vpshufd xmm0, xmm1, 0xff
vpmovzxbd xmm6, xmm0
vpshufd xmm0, xmm1, 0xee
vpmovzxbd xmm4, xmm0
vpmovzxbd xmm5, xmm1
vpshufd xmm0, xmm1, 0x55
vpmovzxbd xmm7, xmm0
vmovdqu xmm2, xmmword [r8 + rsi]
vpshufd xmm0, xmm2, 0xff
vpmovzxbd xmm15, xmm0
vpshufd xmm0, xmm2, 0xee
vpmovzxbd xmm12, xmm0
vpmovzxbd xmm8, xmm2
vpshufd xmm0, xmm2, 0x55
vpmovzxbd xmm10, xmm0
vmovdqu xmm9, xmmword [r9 + rsi]
vpshufd xmm3, xmm9, 0x55
vpmovzxbd xmm11, xmm3
vpmovzxbd xmm13, xmm9
vpshufd xmm3, xmm9, 0xee
vpmovzxbd xmm3, xmm3
vpshufd xmm14, xmm9, 0xff
vpmovzxbd xmm14, xmm14
vpsubd xmm0, xmm10, xmm7
vmovdqa xmmword [rsp + 0x60], xmm0
vpaddd xmm11, xmm11, xmm0
vpsubd xmm0, xmm11, xmm10
vmovdqa xmmword [rsp + 0x90], xmm0
vpsubd xmm0, xmm11, xmm7
vmovdqa xmmword [rsp + 0x140], xmm0
vpsubd xmm11, xmm8, xmm5
vpaddd xmm10, xmm11, xmm13
vpsubd xmm7, xmm10, xmm8
vpsubd xmm8, xmm10, xmm5
vpsubd xmm0, xmm12, xmm4
vmovdqa xmmword [rsp + 0x70], xmm0
vpaddd xmm3, xmm0, xmm3
vpsubd xmm12, xmm3, xmm12
vpsubd xmm3, xmm3, xmm4
vpsubd xmm0, xmm15, xmm6
vmovdqa xmmword [rsp + 0x50], xmm0
vpaddd xmm13, xmm14, xmm0
vpsubd xmm5, xmm13, xmm15
vpabsd xmm5, xmm5
vpabsd xmm12, xmm12
vpsubd xmm6, xmm13, xmm6
vpabsd xmm10, xmm6
vpabsd xmm13, xmm3
vpminud xmm3, xmm5, xmm10
vpcmpeqd xmm3, xmm5, xmm3
vpcmpeqd xmm0, xmm0, xmm0
vpxor xmm3, xmm3, xmm0
vpminud xmm6, xmm12, xmm13
vpcmpeqd xmm6, xmm12, xmm6
vpxor xmm6, xmm6, xmm0
vpackssdw xmm3, xmm6, xmm3
vpabsd xmm6, xmm7
vpabsd xmm7, xmmword [rsp + 0x90]
vpabsd xmm8, xmm8
vpabsd xmm14, xmmword [rsp + 0x140]
vpminud xmm15, xmm6, xmm8
vpcmpeqd xmm15, xmm15, xmm6
vpxor xmm15, xmm15, xmm0
vpminud xmm4, xmm7, xmm14
vpcmpeqd xmm4, xmm7, xmm4
vpxor xmm4, xmm4, xmm0
vpackssdw xmm4, xmm15, xmm4
vpacksswb xmm3, xmm4, xmm3
vpblendvb xmm1, xmm2, xmm1, xmm3
vpabsd xmm2, xmmword [rsp + 0x60]
vpminud xmm3, xmm2, xmm7
vpcmpeqd xmm3, xmm2, xmm3
vpminud xmm4, xmm2, xmm14
vpcmpeqd xmm2, xmm2, xmm4
vpxor xmm3, xmm3, xmm0
vpxor xmm2, xmm2, xmm0
vpor xmm2, xmm3, xmm2
vpabsd xmm3, xmm11
vpminud xmm4, xmm3, xmm6
vpcmpeqd xmm4, xmm3, xmm4
vpminud xmm6, xmm3, xmm8
vpcmpeqd xmm3, xmm3, xmm6
vpxor xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmm0
vpor xmm3, xmm4, xmm3
vpackssdw xmm2, xmm3, xmm2
vpabsd xmm3, xmmword [rsp + 0x70]
vpminud xmm4, xmm3, xmm12
vpcmpeqd xmm4, xmm3, xmm4
vpminud xmm6, xmm3, xmm13
vpcmpeqd xmm3, xmm3, xmm6
vpxor xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmm0
vpor xmm3, xmm4, xmm3
vpabsd xmm4, xmmword [rsp + 0x50]
vpminud xmm5, xmm4, xmm5
vpcmpeqd xmm5, xmm4, xmm5
vpminud xmm6, xmm4, xmm10
vpcmpeqd xmm4, xmm4, xmm6
vpxor xmm5, xmm5, xmm0
vpxor xmm4, xmm4, xmm0
vpor xmm4, xmm5, xmm4
vpackssdw xmm3, xmm3, xmm4
vpacksswb xmm2, xmm2, xmm3
vpblendvb xmm0, xmm9, xmm1, xmm2
vpaddb xmm0, xmm0, xmmword [r14 + rsi]
vmovdqu xmmword [rcx + rsi], xmm0
add rsi, 0x10
cmp r10, rsi
jne 0x14009493b
mov rdi, r10
cmp r10, r11
vmovdqa xmm8, xmmword [0x14011a560]
vmovdqa xmm9, xmmword [0x14011a560]
jne 0x1400950f0
jmp 0x14009486b
xor esi, esi
mov r10, qword [rsp + 0x168]
vmovdqu xmm0, xmmword [rax + rsi]
vmovdqu xmm14, xmmword [rax + rsi + 0x10]
vpshufd xmm1, xmm14, 0x55
vpmovzxbd xmm1, xmm1
vmovdqa xmmword [rsp + 0x60], xmm1
vpshufd xmm1, xmm0, 0xff
vpmovzxbd xmm6, xmm1
vpshufd xmm1, xmm0, 0xee
vpmovzxbd xmm4, xmm1
vpmovzxbd xmm5, xmm0
vpshufd xmm0, xmm0, 0x55
vpmovzxbd xmm9, xmm0
vmovdqu xmm0, xmmword [r8 + rsi]
vmovdqu xmm7, xmmword [r8 + rsi + 0x10]
vpshufd xmm2, xmm0, 0xff
vpmovzxbd xmm1, xmm2
vpshufd xmm2, xmm0, 0xee
vpmovzxbd xmm12, xmm2
vpmovzxbd xmm13, xmm0
vpshufd xmm0, xmm0, 0x55
vpmovzxbd xmm2, xmm0
vmovdqu xmm8, xmmword [r9 + rsi]
vpshufd xmm0, xmm8, 0x55
vpmovzxbd xmm15, xmm0
vpmovzxbd xmm0, xmm8
vpshufd xmm3, xmm8, 0xee
vpmovzxbd xmm3, xmm3
vpshufd xmm8, xmm8, 0xff
vpmovzxbd xmm8, xmm8
vmovdqa xmmword [rsp + 0x50], xmm8
vpsubd xmm11, xmm2, xmm9
vpaddd xmm8, xmm11, xmm15
vpsubd xmm15, xmm8, xmm2
vpsubd xmm2, xmm8, xmm9
vpsubd xmm8, xmm13, xmm5
vpaddd xmm0, xmm8, xmm0
vpsubd xmm9, xmm0, xmm13
vmovdqa xmmword [rsp + 0x70], xmm9
vpsubd xmm0, xmm0, xmm5
vmovdqa xmmword [rsp + 0x90], xmm0
vpsubd xmm10, xmm12, xmm4
vpaddd xmm3, xmm10, xmm3
vpsubd xmm12, xmm3, xmm12
vpsubd xmm0, xmm3, xmm4
vmovdqa xmmword [rsp + 0x190], xmm0
vpsubd xmm3, xmm1, xmm6
vpaddd xmm4, xmm3, xmmword [rsp + 0x50]
vpsubd xmm0, xmm4, xmm1
vmovdqa xmmword [rsp + 0x140], xmm0
vpsubd xmm0, xmm4, xmm6
vmovdqa xmmword [rsp + 0xf0], xmm0
vpshufd xmm4, xmm7, 0x55
vpmovzxbd xmm4, xmm4
vmovdqu xmm5, xmmword [r9 + rsi + 0x10]
vpshufd xmm6, xmm5, 0x55
vpmovzxbd xmm0, xmm6
vmovdqa xmm1, xmmword [rsp + 0x60]
vpsubd xmm6, xmm4, xmm1
vpaddd xmm0, xmm6, xmm0
vpsubd xmm4, xmm0, xmm4
vmovdqa xmmword [rsp + 0x1c0], xmm4
vpsubd xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + 0x1b0], xmm0
vpmovzxbd xmm0, xmm14
vpmovzxbd xmm9, xmm7
vpmovzxbd xmm13, xmm5
vpsubd xmm4, xmm9, xmm0
vpaddd xmm13, xmm13, xmm4
vpsubd xmm1, xmm13, xmm9
vmovdqa xmmword [rsp + 0x1e0], xmm1
vpsubd xmm0, xmm13, xmm0
vmovdqa xmmword [rsp + 0x1d0], xmm0
vpshufd xmm0, xmm14, 0xee
vpmovzxbd xmm0, xmm0
vpshufd xmm9, xmm7, 0xee
vpmovzxbd xmm13, xmm9
vpshufd xmm9, xmm5, 0xee
vpmovzxbd xmm1, xmm9
vpsubd xmm9, xmm13, xmm0
vpaddd xmm1, xmm9, xmm1
vpsubd xmm13, xmm1, xmm13
vmovdqa xmmword [rsp + 0xe0], xmm13
vpsubd xmm0, xmm1, xmm0
vmovdqa xmmword [rsp + 0x200], xmm0
vpshufd xmm0, xmm14, 0xff
vpmovzxbd xmm0, xmm0
vpshufd xmm1, xmm7, 0xff
vpmovzxbd xmm1, xmm1
vpshufd xmm5, xmm5, 0xff
vpmovzxbd xmm7, xmm5
vpsubd xmm5, xmm1, xmm0
vpaddd xmm7, xmm5, xmm7
vpsubd xmm1, xmm7, xmm1
vmovdqa xmmword [rsp + 0x130], xmm1
vpsubd xmm0, xmm7, xmm0
vmovdqa xmmword [rsp + 0x1f0], xmm0
vpabsd xmm0, xmm11
vpabsd xmm1, xmm15
vmovdqa xmmword [rsp + 0x60], xmm1
vpabsd xmm2, xmm2
vmovdqa xmmword [rsp + 0x50], xmm2
vpminud xmm1, xmm0, xmm1
vpcmpeqd xmm1, xmm0, xmm1
vpminud xmm2, xmm0, xmm2
vpcmpeqd xmm0, xmm0, xmm2
vpcmpeqd xmm2, xmm2, xmm2
vpxor xmm1, xmm1, xmm2
vpxor xmm0, xmm0, xmm2
vpor xmm0, xmm1, xmm0
vpabsd xmm1, xmm8
vpabsd xmm7, xmmword [rsp + 0x70]
vmovdqa xmmword [rsp + 0x70], xmm7
vpabsd xmm8, xmmword [rsp + 0x90]
vmovdqa xmmword [rsp + 0x90], xmm8
vpminud xmm7, xmm1, xmm7
vpcmpeqd xmm7, xmm1, xmm7
vpminud xmm15, xmm1, xmm8
vpcmpeqd xmm1, xmm15, xmm1
vpxor xmm7, xmm7, xmm2
vpxor xmm1, xmm1, xmm2
vpor xmm1, xmm7, xmm1
vpackssdw xmm7, xmm1, xmm0
vpabsd xmm10, xmm10
vpabsd xmm0, xmm12
vpabsd xmm1, xmmword [rsp + 0x190]
vmovdqa xmmword [rsp + 0x190], xmm1
vpminud xmm12, xmm10, xmm0
vpcmpeqd xmm12, xmm10, xmm12
vpminud xmm15, xmm10, xmm1
vpcmpeqd xmm10, xmm10, xmm15
vpxor xmm12, xmm12, xmm2
vpxor xmm10, xmm10, xmm2
vpor xmm15, xmm12, xmm10
vpabsd xmm3, xmm3
vpabsd xmm12, xmmword [rsp + 0x140]
vpabsd xmm1, xmmword [rsp + 0xf0]
vmovdqa xmmword [rsp + 0xf0], xmm1
vpminud xmm14, xmm3, xmm12
vpcmpeqd xmm14, xmm14, xmm3
vpminud xmm13, xmm3, xmm1
vpcmpeqd xmm3, xmm13, xmm3
vpxor xmm13, xmm14, xmm2
vpxor xmm3, xmm3, xmm2
vpor xmm3, xmm13, xmm3
vpackssdw xmm3, xmm15, xmm3
vpacksswb xmm1, xmm7, xmm3
vmovdqu ymmword [rsp + 0x140], ymm1
vpabsd xmm6, xmm6
vpabsd xmm7, xmmword [rsp + 0x1c0]
vpabsd xmm13, xmmword [rsp + 0x1b0]
vpminud xmm14, xmm6, xmm7
vpcmpeqd xmm14, xmm14, xmm6
vpminud xmm15, xmm6, xmm13
vpcmpeqd xmm6, xmm15, xmm6
vpxor xmm14, xmm14, xmm2
vpxor xmm6, xmm6, xmm2
vpor xmm6, xmm14, xmm6
vpabsd xmm4, xmm4
vpabsd xmm14, xmmword [rsp + 0x1e0]
vpabsd xmm15, xmmword [rsp + 0x1d0]
vpminud xmm3, xmm4, xmm14
vpcmpeqd xmm3, xmm4, xmm3
vpminud xmm8, xmm4, xmm15
vpcmpeqd xmm4, xmm8, xmm4
vpxor xmm3, xmm3, xmm2
vpxor xmm4, xmm4, xmm2
vpor xmm3, xmm3, xmm4
vpackssdw xmm3, xmm3, xmm6
vpabsd xmm4, xmm9
vpabsd xmm6, xmmword [rsp + 0xe0]
vpabsd xmm8, xmmword [rsp + 0x200]
vpminud xmm9, xmm4, xmm6
vpcmpeqd xmm9, xmm9, xmm4
vpminud xmm11, xmm4, xmm8
vpcmpeqd xmm4, xmm11, xmm4
vpxor xmm9, xmm9, xmm2
vpxor xmm4, xmm4, xmm2
vpor xmm4, xmm9, xmm4
vpabsd xmm5, xmm5
vpabsd xmm9, xmmword [rsp + 0x130]
vpabsd xmm11, xmmword [rsp + 0x1f0]
vpminud xmm1, xmm5, xmm9
vpcmpeqd xmm1, xmm5, xmm1
vpminud xmm10, xmm5, xmm11
vpcmpeqd xmm5, xmm10, xmm5
vpxor xmm1, xmm1, xmm2
vpxor xmm5, xmm5, xmm2
vpor xmm1, xmm1, xmm5
vpackssdw xmm1, xmm4, xmm1
vpacksswb xmm1, xmm3, xmm1
vpminud xmm3, xmm9, xmm11
vpcmpeqd xmm3, xmm9, xmm3
vpminud xmm4, xmm6, xmm8
vpcmpeqd xmm4, xmm6, xmm4
vpxor xmm3, xmm3, xmm2
vpxor xmm4, xmm4, xmm2
vpackssdw xmm3, xmm4, xmm3
vpminud xmm4, xmm14, xmm15
vpcmpeqd xmm4, xmm14, xmm4
vpminud xmm5, xmm7, xmm13
vpcmpeqd xmm5, xmm7, xmm5
vpxor xmm4, xmm4, xmm2
vpxor xmm5, xmm5, xmm2
vpackssdw xmm4, xmm4, xmm5
vpacksswb xmm3, xmm4, xmm3
vpminud xmm4, xmm12, xmmword [rsp + 0xf0]
vpcmpeqd xmm4, xmm12, xmm4
vpminud xmm5, xmm0, xmmword [rsp + 0x190]
vpcmpeqd xmm0, xmm0, xmm5
vpxor xmm4, xmm4, xmm2
vpxor xmm0, xmm0, xmm2
vpackssdw xmm0, xmm0, xmm4
vmovdqa xmm5, xmmword [rsp + 0x70]
vpminud xmm4, xmm5, xmmword [rsp + 0x90]
vpcmpeqd xmm5, xmm5, xmm4
vmovdqa xmm6, xmmword [rsp + 0x60]
vpminud xmm4, xmm6, xmmword [rsp + 0x50]
vpcmpeqd xmm4, xmm6, xmm4
vpxor xmm5, xmm5, xmm2
vpxor xmm4, xmm4, xmm2
vpackssdw xmm2, xmm5, xmm4
vpacksswb xmm0, xmm2, xmm0
vinsertf128 ymm0, ymm0, xmm3, 1
vandnps ymm2, ymm0, ymmword [r8 + rsi]
vandps ymm0, ymm0, ymmword [rax + rsi]
vmovdqu ymm3, ymmword [rsp + 0x140]
vinsertf128 ymm1, ymm3, xmm1, 1
vorps ymm0, ymm0, ymm2
vandnps ymm2, ymm1, ymmword [r9 + rsi]
vandps ymm0, ymm0, ymm1
vorps ymm0, ymm0, ymm2
vpaddb xmm1, xmm0, xmmword [r14 + rsi]
vextractf128 xmm0, ymm0, 1
vpaddb xmm0, xmm0, xmmword [r14 + rsi + 0x10]
vmovdqu xmmword [rcx + rsi + 0x10], xmm0
vmovdqu xmmword [rcx + rsi], xmm1
add rsi, 0x20
cmp r10, rsi
jne 0x140094b84
cmp r10, r11
vmovdqa xmm8, xmmword [0x14011a560]
vmovdqa xmm9, xmmword [0x14011a560]
je 0x14009486b
mov rdi, qword [rsp + 0x168]
mov rsi, rdi
test r11b, 0x10
je 0x1400950f0
jmp 0x140094933
xor edi, edi
jmp 0x1400950f0
xor edi, edi
jmp 0x1400950f0
xor edi, edi
jmp 0x1400950f0
xor edi, edi
jmp 0x1400950f0
cmp r15d, ebx
cmova esi, ebp
cmp r15d, r13d
cmova esi, ebp
add sil, byte [r14 + rdi]
mov byte [rcx + rdi], sil
inc rdi
cmp r11, rdi
je 0x14009486b
movzx ebp, byte [rax + rdi]
movzx r12d, byte [r8 + rdi]
movzx esi, byte [r9 + rdi]
mov ebx, r12d
sub ebx, ebp
lea r10d, [rbx + rsi]
mov r15d, ebx
neg r15d
cmovs r15d, ebx
mov ebx, r10d
sub ebx, r12d
mov r13d, ebx
neg r13d
cmovs r13d, ebx
sub r10d, ebp
mov ebx, r10d
neg ebx
cmovs ebx, r10d
cmp r13d, ebx
ja 0x1400950d0
mov ebp, r12d
jmp 0x1400950d0
test ebp, ebp
je case.default.0x140093abf
movsxd r8, r13d
mov r9d, r13d
lea r10, [rax + r15]
mov qword [rsp + 0x50], r10
mov r11d, r9d
and r11d, 0xffffff80
mov edi, r9d
and edi, 0xfffffff0
mov r10, r9
neg r10
mov qword [rsp + 0x60], r10
mov r10, qword [rsp + 0x100]
lea rbx, [rax + r10]
add rbx, r15
add rax, qword [rsp + 0xb0]
add rax, r15
xor r12d, r12d
mov r10d, ebp
mov r14, qword [rsp + 0x30]
jmp 0x1400951af
mov byte [rcx + r8], 0xff
add r14, r8
mov rsi, qword [rsp + 0x38]
add rcx, rsi
inc r12
add rbx, rsi
add rax, rsi
dec r10d
je 0x1400955db
test r13d, r13d
jle 0x14009518d
cmp r13d, 0x10
jae 0x14009521f
xor esi, esi
mov rbp, rsi
test r9b, 1
je 0x1400951e4
mov r15, rsi
sub r15, qword [rsp + 0x38]
movzx ebp, byte [rcx + r15]
shr bpl, 1
add bpl, byte [r14 + rsi]
mov byte [rcx + rsi], bpl
mov rbp, rsi
or rbp, 1
not rsi
cmp rsi, qword [rsp + 0x60]
je 0x14009518d
nop
movzx esi, byte [rax + rbp]
shr sil, 1
add sil, byte [r14 + rbp]
mov byte [rcx + rbp], sil
movzx esi, byte [rax + rbp + 1]
shr sil, 1
add sil, byte [r14 + rbp + 1]
mov byte [rcx + rbp + 1], sil
add rbp, 2
cmp r9, rbp
jne 0x1400951f0
jmp 0x14009518d
mov rsi, r12
imul rsi, qword [rsp + 0x38]
add rsi, qword [rsp + 0x50]
mov r15, r12
imul r15, r8
add r15, qword [rsp + 0x30]
sub rsi, r15
cmp rsi, 0x80
jb 0x1400951ba
jb 0x1400951ba
mov esi, 0
cmp dword [rsp + 0x4c], 0x80
jb 0x1400951bc
cmp r13d, 0x80
jae 0x140095273
xor r15d, r15d
jmp 0x140095378
xor ebp, ebp
vmovdqu xmm0, xmmword [rbx + rbp - 0x60]
vmovdqu xmm1, xmmword [rbx + rbp - 0x50]
vmovdqu xmm2, xmmword [rbx + rbp - 0x40]
vmovdqu xmm3, xmmword [rbx + rbp - 0x30]
vpsrlw xmm1, xmm1, 1
vpand xmm1, xmm9, xmm1
vpsrlw xmm0, xmm0, 1
vpand xmm0, xmm9, xmm0
vpsrlw xmm3, xmm3, 1
vpand xmm3, xmm9, xmm3
vpsrlw xmm2, xmm2, 1
vpand xmm2, xmm9, xmm2
vmovdqu xmm4, xmmword [rbx + rbp - 0x10]
vpsrlw xmm4, xmm4, 1
vpand xmm4, xmm9, xmm4
vmovdqu xmm5, xmmword [rbx + rbp - 0x20]
vpsrlw xmm5, xmm5, 1
vpand xmm5, xmm9, xmm5
vmovdqu xmm6, xmmword [rbx + rbp + 0x10]
vpsrlw xmm6, xmm6, 1
vpand xmm6, xmm9, xmm6
vmovdqu xmm7, xmmword [rbx + rbp]
vpsrlw xmm7, xmm7, 1
vpand xmm7, xmm9, xmm7
vpaddb xmm0, xmm0, xmmword [r14 + rbp]
vpaddb xmm1, xmm1, xmmword [r14 + rbp + 0x10]
vpaddb xmm2, xmm2, xmmword [r14 + rbp + 0x20]
vpaddb xmm3, xmm3, xmmword [r14 + rbp + 0x30]
vpaddb xmm5, xmm5, xmmword [r14 + rbp + 0x40]
vpaddb xmm4, xmm4, xmmword [r14 + rbp + 0x50]
vpaddb xmm7, xmm7, xmmword [r14 + rbp + 0x60]
vpaddb xmm6, xmm6, xmmword [r14 + rbp + 0x70]
vmovdqu xmmword [rcx + rbp + 0x10], xmm1
vmovdqu xmmword [rcx + rbp], xmm0
vmovdqu xmmword [rcx + rbp + 0x30], xmm3
vmovdqu xmmword [rcx + rbp + 0x20], xmm2
vmovdqu xmmword [rcx + rbp + 0x50], xmm4
vmovdqu xmmword [rcx + rbp + 0x40], xmm5
vmovdqu xmmword [rcx + rbp + 0x70], xmm6
vmovdqu xmmword [rcx + rbp + 0x60], xmm7
sub rbp, 0xffffffffffffff80
cmp r11, rbp
jne 0x140095275
cmp r11, r9
je 0x14009518d
mov r15, r11
mov rsi, r11
test r9b, 0x70
je 0x1400951bc
vmovdqu xmm0, xmmword [rax + r15]
vpsrlw xmm0, xmm0, 1
vpand xmm0, xmm8, xmm0
vpaddb xmm0, xmm0, xmmword [r14 + r15]
vmovdqu xmmword [rcx + r15], xmm0
add r15, 0x10
cmp rdi, r15
jne 0x140095378
mov rsi, rdi
cmp rdi, r9
je 0x14009518d
jmp 0x1400951bc
test ebp, ebp
je case.default.0x140093abf
movsxd r8, r13d
mov r9d, r13d
lea r10, [rax + r15]
mov qword [rsp + 0x50], r10
mov r11d, r9d
and r11d, 0xffffff80
mov edi, r9d
and edi, 0xfffffff0
mov r10, r9
neg r10
mov qword [rsp + 0x60], r10
mov r10, qword [rsp + 0x100]
lea rbx, [rax + r10]
add rbx, r15
add rax, qword [rsp + 0xb0]
add rax, r15
xor r12d, r12d
mov r10d, ebp
mov r14, qword [rsp + 0x30]
jmp 0x140095425
mov byte [rcx + r8], 0xff
add r14, r8
mov rsi, qword [rsp + 0x38]
add rcx, rsi
inc r12
add rbx, rsi
add rax, rsi
dec r10d
je 0x1400955db
test r13d, r13d
jle 0x140095403
cmp r13d, 0x10
jae 0x140095499
xor esi, esi
mov rbp, rsi
test r9b, 1
je 0x140095457
mov r15, rsi
sub r15, qword [rsp + 0x38]
movzx ebp, byte [rcx + r15]
add bpl, byte [r14 + rsi]
mov byte [rcx + rsi], bpl
mov rbp, rsi
or rbp, 1
not rsi
cmp rsi, qword [rsp + 0x60]
je 0x140095403
nop word cs:[rax + rax]
movzx esi, byte [rax + rbp]
add sil, byte [r14 + rbp]
mov byte [rcx + rbp], sil
movzx esi, byte [rax + rbp + 1]
add sil, byte [r14 + rbp + 1]
mov byte [rcx + rbp + 1], sil
add rbp, 2
cmp r9, rbp
jne 0x140095470
jmp 0x140095403
mov rsi, r12
imul rsi, qword [rsp + 0x38]
add rsi, qword [rsp + 0x50]
mov r15, r12
imul r15, r8
add r15, qword [rsp + 0x30]
sub rsi, r15
cmp rsi, 0x80
jb 0x140095430
jb 0x140095430
mov esi, 0
cmp dword [rsp + 0x4c], 0x80
jb 0x140095432
cmp r13d, 0x80
jae 0x1400954ed
xor r15d, r15d
jmp 0x1400955aa
xor ebp, ebp
vmovdqu xmm0, xmmword [rbx + rbp - 0x60]
vmovdqu xmm1, xmmword [rbx + rbp - 0x50]
vmovdqu xmm2, xmmword [rbx + rbp - 0x40]
vmovdqu xmm3, xmmword [rbx + rbp - 0x30]
vpaddb xmm0, xmm0, xmmword [r14 + rbp]
vpaddb xmm1, xmm1, xmmword [r14 + rbp + 0x10]
vpaddb xmm2, xmm2, xmmword [r14 + rbp + 0x20]
vpaddb xmm3, xmm3, xmmword [r14 + rbp + 0x30]
vmovdqu xmm4, xmmword [rbx + rbp - 0x20]
vpaddb xmm4, xmm4, xmmword [r14 + rbp + 0x40]
vmovdqu xmm5, xmmword [rbx + rbp - 0x10]
vpaddb xmm5, xmm5, xmmword [r14 + rbp + 0x50]
vmovdqu xmm6, xmmword [rbx + rbp]
vpaddb xmm6, xmm6, xmmword [r14 + rbp + 0x60]
vmovdqu xmm7, xmmword [rbx + rbp + 0x10]
vpaddb xmm7, xmm7, xmmword [r14 + rbp + 0x70]
vmovdqu xmmword [rcx + rbp + 0x10], xmm1
vmovdqu xmmword [rcx + rbp], xmm0
vmovdqu xmmword [rcx + rbp + 0x30], xmm3
vmovdqu xmmword [rcx + rbp + 0x20], xmm2
vmovdqu xmmword [rcx + rbp + 0x50], xmm5
vmovdqu xmmword [rcx + rbp + 0x40], xmm4
vmovdqu xmmword [rcx + rbp + 0x70], xmm7
vmovdqu xmmword [rcx + rbp + 0x60], xmm6
sub rbp, 0xffffffffffffff80
cmp r11, rbp
jne 0x1400954ef
cmp r11, r9
je 0x140095403
mov r15, r11
mov rsi, r11
test r9b, 0x70
je 0x140095432
vmovdqu xmm0, xmmword [rax + r15]
vpaddb xmm0, xmm0, xmmword [r14 + r15]
vmovdqu xmmword [rcx + r15], xmm0
add r15, 0x10
cmp rdi, r15
jne 0x1400955aa
mov rsi, rdi
cmp rdi, r9
je 0x140095403
jmp 0x140095432
mov r14, qword [rsp + 0x30]
mov r15d, dword [rsp + 0x380]
cmp r15d, 0x10
jne 0x1400956d4
mov ebp, dword [rsp + 0x370]
test ebp, ebp
mov r12, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
mov r13, qword [rsp + 0xb8]
mov r11d, dword [rsp + 0x378]
mov r10, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0xcc]
je 0x140095746
add rdx, qword [r12 + 0x18]
movsxd rax, dword [rsp + 0x28]
inc rax
cmp ebp, 8
jb 0x1400956bf
mov r8, rbx
sub r8, rax
mov r9d, dword [rsp + 0x118]
mov rcx, rdx
add rdx, rax
mov byte [rcx + rax], 0xff
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
mov byte [rbx + rdx], 0xff
add rdx, rbx
add rdx, r8
add r9d, 0xfffffff8
jne 0x140095656
add rcx, rbx
add rcx, rbx
lea rdx, [rbx + rbx]
add rdx, rbx
add rcx, rdx
add rcx, rdx
mov rdx, rcx
mov r10, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xcc]
test ecx, ecx
je 0x140095709
add rdx, rax
mov eax, ecx
mov byte [rdx], 0xff
add rdx, rbx
dec eax
jne 0x1400956c8
jmp 0x140095709
mov r12, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
mov r13, qword [rsp + 0xb8]
mov ebp, dword [rsp + 0x370]
mov r11d, dword [rsp + 0x378]
mov r10, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
inc rcx
cmp rcx, qword [rsp + 0x110]
je 0x14009669b
mov eax, dword [rsp + 0x40]
mov edx, eax
imul edx, ecx
mov rax, qword [r12 + 0x18]
add rax, rdx
movzx r9d, byte [r14]
cmp r9b, 4
jbe 0x140093951
jmp 0x140093807
mov rcx, qword [rsp + 0xc0]
inc rcx
cmp rcx, qword [rsp + 0x110]
jne 0x140095722
jmp 0x140096b15
lea r10, [rax + r15]
mov r9, r10
sub r9, rbp
cmp r9, 0x80
jb 0x140093cfc
jb 0x140093cfc
mov r9d, 0
cmp dword [rsp + 0x40], 0x80
jb 0x140093cff
cmp r11d, 0x80
jae 0x140095969
xor r9d, r9d
jmp 0x140095a3f
lea r10, [rax + r15]
sub r10, rbp
mov r9, qword [rsp + 0x220]
add r9, r13
cmp r10, 0x20
jb 0x140093ea3
jb 0x140093ea3
cmp r9, 0x20
jb 0x140093ea3
cmp dword [rsp + 0x40], 0x20
jb 0x140093ea3
mov r9d, 0
cmp esi, 0x20
jb 0x140093ea6
cmp r11d, 0x20
jae 0x140095a73
xor r9d, r9d
jmp 0x140095fcb
lea r9, [rax + r15]
sub r9, rbp
cmp r9, 0x80
jb 0x140093c76
jb 0x140093c76
mov r9d, 0
cmp r10d, 0x80
jb 0x140093c79
cmp r11d, 0x80
jae 0x140096243
xor r9d, r9d
jmp 0x14009631e
lea r10, [rax + r15]
sub r10, rbp
cmp r10, 0x20
jb 0x140093dd7
jb 0x140093dd7
cmp dword [rsp + 0x40], 0x20
jb 0x140093dd7
mov r10d, 0
cmp esi, 0x20
jb 0x140093dda
cmp r11d, 0x20
jae 0x14009635b
xor r10d, r10d
mov r11, r10
mov r10d, edx
and r10d, 0xfffffff0
mov rsi, r15
sub rsi, r9
add rsi, rax
vpmovzxbw xmm0, qword [r8 + r11 + 8]
vpmovzxbw xmm1, qword [r8 + r11]
vpmovzxbw xmm2, qword [rsi + r11 + 8]
vpaddw xmm0, xmm2, xmm0
vpmovzxbw xmm2, qword [rsi + r11]
vpaddw xmm1, xmm2, xmm1
vpsrlw xmm0, xmm0, 1
vpsrlw xmm1, xmm1, 1
vpackuswb xmm0, xmm1, xmm0
vpaddb xmm0, xmm0, xmmword [rbp + r11]
vmovdqu xmmword [rcx + r11], xmm0
add r11, 0x10
cmp r10, r11
jne 0x140095891
cmp r10, rdx
jne 0x140093dda
jmp case.default.0x140093a8b
lea r9, [rax + r15]
sub r9, rbp
cmp r9, 0x80
jb 0x140093f56
jb 0x140093f56
mov r9d, 0
cmp r10d, 0x80
jb 0x140093f59
cmp r11d, 0x80
jae 0x14009640a
xor r9d, r9d
jmp 0x140096535
lea r9, [rax + r15]
sub r9, rbp
cmp r9, 0x80
jb 0x140093fe9
jb 0x140093fe9
mov r9d, 0
cmp r10d, 0x80
jb 0x140093fec
cmp r11d, 0x80
jae 0x140096583
xor r9d, r9d
jmp 0x14009665e
mov r9d, edx
and r9d, 0xffffff80
add r10, qword [rsp + 0x210]
lea r11, [rax + r15]
add r11, 0x60
xor esi, esi
vmovdqu xmm0, xmmword [r10 + rsi - 0x60]
vmovdqu xmm1, xmmword [r10 + rsi - 0x50]
vmovdqu xmm2, xmmword [r10 + rsi - 0x40]
vmovdqu xmm3, xmmword [r10 + rsi - 0x30]
vpaddb xmm0, xmm0, xmmword [rbp + rsi]
vpaddb xmm1, xmm1, xmmword [rbp + rsi + 0x10]
vpaddb xmm2, xmm2, xmmword [rbp + rsi + 0x20]
vpaddb xmm3, xmm3, xmmword [rbp + rsi + 0x30]
vmovdqu xmm4, xmmword [r10 + rsi - 0x20]
vpaddb xmm4, xmm4, xmmword [rbp + rsi + 0x40]
vmovdqu xmm5, xmmword [r10 + rsi - 0x10]
vpaddb xmm5, xmm5, xmmword [rbp + rsi + 0x50]
vmovdqu xmm6, xmmword [r10 + rsi]
vpaddb xmm6, xmm6, xmmword [rbp + rsi + 0x60]
vmovdqu xmm7, xmmword [r10 + rsi + 0x10]
vpaddb xmm7, xmm7, xmmword [rbp + rsi + 0x70]
vmovdqu xmmword [r11 + rsi - 0x50], xmm1
vmovdqu xmmword [r11 + rsi - 0x60], xmm0
vmovdqu xmmword [r11 + rsi - 0x30], xmm3
vmovdqu xmmword [r11 + rsi - 0x40], xmm2
vmovdqu xmmword [r11 + rsi - 0x10], xmm5
vmovdqu xmmword [r11 + rsi - 0x20], xmm4
vmovdqu xmmword [r11 + rsi + 0x10], xmm7
vmovdqu xmmword [r11 + rsi], xmm6
sub rsi, 0xffffffffffffff80
cmp r9, rsi
jne 0x140095982
cmp r9, rdx
je case.default.0x140093a8b
test dl, 0x70
je 0x140093cff
mov r10, r9
mov r9d, edx
and r9d, 0xfffffff0
vmovdqu xmm0, xmmword [r8 + r10]
vpaddb xmm0, xmm0, xmmword [rbp + r10]
vmovdqu xmmword [rcx + r10], xmm0
add r10, 0x10
cmp r9, r10
jne 0x140095a49
cmp r9, rdx
jne 0x140093cff
jmp case.default.0x140093a8b
mov r9d, edx
and r9d, 0xffffffe0
mov r11, r15
sub r11, r13
add r11, rax
mov rdi, r9
mov rbx, rcx
mov r12, rbp
mov r10, qword [rsp + 0xa8]
vmovdqu xmm0, xmmword [r11 + r10]
vmovdqu xmm12, xmmword [r11 + r10 + 0x10]
vpshufd xmm1, xmm12, 0x55
vpmovzxbd xmm1, xmm1
vmovdqa xmmword [rsp + 0x60], xmm1
vpshufd xmm1, xmm0, 0xff
vpmovzxbd xmm8, xmm1
vpshufd xmm1, xmm0, 0xee
vpmovzxbd xmm6, xmm1
vpmovzxbd xmm1, xmm0
vpshufd xmm0, xmm0, 0x55
vpmovzxbd xmm9, xmm0
vmovdqu xmm0, xmmword [rbx + r10]
vmovdqu xmm4, xmmword [rbx + r10 + 0x10]
vpshufd xmm3, xmm0, 0xff
vpmovzxbd xmm5, xmm3
vpshufd xmm3, xmm0, 0xee
vpmovzxbd xmm10, xmm3
vpmovzxbd xmm13, xmm0
vpshufd xmm0, xmm0, 0x55
vpmovzxbd xmm0, xmm0
vmovdqu xmm3, xmmword [r11]
vpshufd xmm7, xmm3, 0x55
vpmovzxbd xmm14, xmm7
vpmovzxbd xmm7, xmm3
vpshufd xmm11, xmm3, 0xee
vpmovzxbd xmm2, xmm11
vmovdqa xmmword [rsp + 0x50], xmm2
vpshufd xmm3, xmm3, 0xff
vpmovzxbd xmm2, xmm3
vmovdqa xmmword [rsp + 0x70], xmm2
vpsubd xmm15, xmm0, xmm9
vpaddd xmm3, xmm15, xmm14
vpsubd xmm2, xmm3, xmm0
vpsubd xmm11, xmm3, xmm9
vpsubd xmm14, xmm13, xmm1
vpaddd xmm3, xmm14, xmm7
vpsubd xmm13, xmm3, xmm13
vpsubd xmm0, xmm3, xmm1
vmovdqa xmmword [rsp + 0x90], xmm0
vpsubd xmm3, xmm10, xmm6
vpaddd xmm7, xmm3, xmmword [rsp + 0x50]
vpsubd xmm0, xmm7, xmm10
vmovdqa xmmword [rsp + 0x120], xmm0
vpsubd xmm0, xmm7, xmm6
vmovdqa xmmword [rsp + 0x180], xmm0
vpsubd xmm10, xmm5, xmm8
vpaddd xmm7, xmm10, xmmword [rsp + 0x70]
vpsubd xmm0, xmm7, xmm5
vmovdqa xmmword [rsp + 0xf0], xmm0
vpsubd xmm0, xmm7, xmm8
vmovdqa xmmword [rsp + 0x190], xmm0
vpshufd xmm5, xmm4, 0x55
vpmovzxbd xmm5, xmm5
vmovdqu xmm9, xmmword [r11 + 0x10]
vpshufd xmm6, xmm9, 0x55
vpmovzxbd xmm7, xmm6
vmovdqa xmm0, xmmword [rsp + 0x60]
vpsubd xmm6, xmm5, xmm0
vpaddd xmm7, xmm6, xmm7
vpsubd xmm1, xmm7, xmm5
vmovdqa xmmword [rsp + 0x1c0], xmm1
vpsubd xmm0, xmm7, xmm0
vmovdqa xmmword [rsp + 0x1b0], xmm0
vpmovzxbd xmm5, xmm12
vpmovzxbd xmm8, xmm4
vpmovzxbd xmm0, xmm9
vpsubd xmm7, xmm8, xmm5
vpaddd xmm0, xmm7, xmm0
vpsubd xmm1, xmm0, xmm8
vmovdqa xmmword [rsp + 0x1e0], xmm1
vpsubd xmm0, xmm0, xmm5
vmovdqa xmmword [rsp + 0x1d0], xmm0
vpshufd xmm0, xmm12, 0xee
vpmovzxbd xmm0, xmm0
vpshufd xmm5, xmm4, 0xee
vpmovzxbd xmm5, xmm5
vpshufd xmm8, xmm9, 0xee
vpmovzxbd xmm1, xmm8
vpsubd xmm8, xmm5, xmm0
vpaddd xmm1, xmm8, xmm1
vpsubd xmm5, xmm1, xmm5
vmovdqa xmmword [rsp + 0x140], xmm5
vpsubd xmm0, xmm1, xmm0
vmovdqa xmmword [rsp + 0x130], xmm0
vpshufd xmm0, xmm12, 0xff
vpmovzxbd xmm0, xmm0
vpshufd xmm1, xmm4, 0xff
vpmovzxbd xmm1, xmm1
vpshufd xmm4, xmm9, 0xff
vpmovzxbd xmm4, xmm4
vpsubd xmm5, xmm1, xmm0
vmovdqa xmmword [rsp + 0x1f0], xmm5
vpaddd xmm4, xmm5, xmm4
vpsubd xmm1, xmm4, xmm1
vmovdqa xmmword [rsp + 0xe0], xmm1
vpsubd xmm0, xmm4, xmm0
vmovdqa xmmword [rsp + 0x200], xmm0
vpabsd xmm0, xmm15
vpabsd xmm1, xmm2
vmovdqa xmmword [rsp + 0x60], xmm1
vpabsd xmm2, xmm11
vmovdqa xmmword [rsp + 0x50], xmm2
vpminud xmm1, xmm0, xmm1
vpcmpeqd xmm1, xmm0, xmm1
vpminud xmm4, xmm0, xmm2
vpcmpeqd xmm0, xmm0, xmm4
vpcmpeqd xmm2, xmm2, xmm2
vpxor xmm1, xmm1, xmm2
vpxor xmm0, xmm0, xmm2
vpor xmm0, xmm1, xmm0
vpabsd xmm1, xmm14
vpabsd xmm4, xmm13
vmovdqa xmmword [rsp + 0x70], xmm4
vpabsd xmm5, xmmword [rsp + 0x90]
vmovdqa xmmword [rsp + 0x90], xmm5
vpminud xmm4, xmm1, xmm4
vpcmpeqd xmm4, xmm1, xmm4
vpminud xmm13, xmm1, xmm5
vpcmpeqd xmm1, xmm13, xmm1
vpxor xmm4, xmm4, xmm2
vpxor xmm1, xmm1, xmm2
vpor xmm1, xmm4, xmm1
vpackssdw xmm13, xmm1, xmm0
vpabsd xmm3, xmm3
vpabsd xmm1, xmmword [rsp + 0x120]
vpabsd xmm0, xmmword [rsp + 0x180]
vmovdqa xmmword [rsp + 0x120], xmm0
vpminud xmm4, xmm3, xmm1
vpcmpeqd xmm4, xmm3, xmm4
vpminud xmm14, xmm3, xmm0
vpcmpeqd xmm3, xmm14, xmm3
vpxor xmm4, xmm4, xmm2
vpxor xmm3, xmm3, xmm2
vpor xmm14, xmm4, xmm3
vpabsd xmm10, xmm10
vpabsd xmm3, xmmword [rsp + 0xf0]
vpabsd xmm0, xmmword [rsp + 0x190]
vmovdqa xmmword [rsp + 0xf0], xmm0
vpminud xmm15, xmm10, xmm3
vpcmpeqd xmm15, xmm10, xmm15
vpminud xmm12, xmm10, xmm0
vpcmpeqd xmm10, xmm10, xmm12
vpxor xmm12, xmm15, xmm2
vpxor xmm10, xmm10, xmm2
vpor xmm10, xmm12, xmm10
vpackssdw xmm10, xmm14, xmm10
vpacksswb xmm0, xmm13, xmm10
vmovdqu ymmword [rsp + 0x190], ymm0
vpabsd xmm6, xmm6
vpabsd xmm12, xmmword [rsp + 0x1c0]
vpabsd xmm13, xmmword [rsp + 0x1b0]
vpminud xmm14, xmm6, xmm12
vpcmpeqd xmm14, xmm14, xmm6
vpminud xmm15, xmm6, xmm13
vpcmpeqd xmm6, xmm15, xmm6
vpxor xmm14, xmm14, xmm2
vpxor xmm6, xmm6, xmm2
vpor xmm6, xmm14, xmm6
vpabsd xmm7, xmm7
vpabsd xmm14, xmmword [rsp + 0x1e0]
vpabsd xmm15, xmmword [rsp + 0x1d0]
vpminud xmm11, xmm7, xmm14
vpcmpeqd xmm11, xmm11, xmm7
vpminud xmm9, xmm7, xmm15
vpcmpeqd xmm7, xmm9, xmm7
vpxor xmm9, xmm11, xmm2
vpxor xmm7, xmm7, xmm2
vpor xmm7, xmm9, xmm7
vpackssdw xmm6, xmm7, xmm6
vpabsd xmm7, xmm8
vpabsd xmm8, xmmword [rsp + 0x140]
vpabsd xmm9, xmmword [rsp + 0x130]
vpminud xmm11, xmm7, xmm8
vpcmpeqd xmm11, xmm11, xmm7
vpminud xmm5, xmm7, xmm9
vpcmpeqd xmm5, xmm7, xmm5
vpxor xmm7, xmm11, xmm2
vpxor xmm5, xmm5, xmm2
vpor xmm5, xmm7, xmm5
vpabsd xmm7, xmmword [rsp + 0x1f0]
vpabsd xmm11, xmmword [rsp + 0xe0]
vpabsd xmm0, xmmword [rsp + 0x200]
vpminud xmm10, xmm7, xmm11
vpcmpeqd xmm10, xmm10, xmm7
vpminud xmm4, xmm7, xmm0
vpcmpeqd xmm4, xmm7, xmm4
vpxor xmm7, xmm10, xmm2
vpxor xmm4, xmm4, xmm2
vpor xmm4, xmm7, xmm4
vpackssdw xmm4, xmm5, xmm4
vpacksswb xmm4, xmm6, xmm4
vmovups ymm5, ymmword [rsp + 0x190]
vinsertf128 ymm5, ymm5, xmm4, 1
vpminud xmm0, xmm11, xmm0
vpcmpeqd xmm0, xmm11, xmm0
vpminud xmm4, xmm8, xmm9
vpcmpeqd xmm4, xmm8, xmm4
vpxor xmm0, xmm0, xmm2
vpxor xmm4, xmm4, xmm2
vpackssdw xmm0, xmm4, xmm0
vpminud xmm4, xmm14, xmm15
vpcmpeqd xmm4, xmm14, xmm4
vpminud xmm6, xmm12, xmm13
vpcmpeqd xmm6, xmm12, xmm6
vpxor xmm4, xmm4, xmm2
vpxor xmm6, xmm6, xmm2
vpackssdw xmm4, xmm4, xmm6
vpacksswb xmm0, xmm4, xmm0
vpminud xmm4, xmm3, xmmword [rsp + 0xf0]
vpcmpeqd xmm3, xmm3, xmm4
vpminud xmm4, xmm1, xmmword [rsp + 0x120]
vpcmpeqd xmm1, xmm1, xmm4
vpxor xmm3, xmm3, xmm2
vpxor xmm1, xmm1, xmm2
vpackssdw xmm1, xmm1, xmm3
vmovdqa xmm4, xmmword [rsp + 0x70]
vpminud xmm3, xmm4, xmmword [rsp + 0x90]
vpcmpeqd xmm4, xmm4, xmm3
vmovdqa xmm6, xmmword [rsp + 0x60]
vpminud xmm3, xmm6, xmmword [rsp + 0x50]
vpcmpeqd xmm3, xmm6, xmm3
vpxor xmm4, xmm4, xmm2
vpxor xmm3, xmm3, xmm2
vpackssdw xmm2, xmm4, xmm3
vpacksswb xmm1, xmm2, xmm1
vinsertf128 ymm0, ymm1, xmm0, 1
vandnps ymm1, ymm0, ymmword [rbx + r10]
vandps ymm0, ymm0, ymmword [r11 + r10]
vorps ymm0, ymm0, ymm1
vandps ymm0, ymm0, ymm5
vandnps ymm1, ymm5, ymmword [r11]
vorps ymm0, ymm0, ymm1
vpaddb xmm1, xmm0, xmmword [r12]
vextractf128 xmm0, ymm0, 1
vpaddb xmm0, xmm0, xmmword [r12 + 0x10]
vmovdqu xmmword [rbx + 0x10], xmm0
vmovdqu xmmword [rbx], xmm1
add r12, 0x20
add r11, 0x20
add rbx, 0x20
add rdi, 0xffffffffffffffe0
jne 0x140095a94
cmp r9, rdx
je case.default.0x140093a8b
test dl, 0x10
je 0x140093ea6
mov ebx, edx
and ebx, 0xfffffff0
mov rsi, r15
sub rsi, r13
add rsi, rax
mov r10, qword [rsp + 0xa8]
lea rdi, [rsi + r10]
mov qword [rsp + 0xe0], rbx
mov r12, rcx
mov r11, r8
mov r10, rbp
vmovdqu xmm1, xmmword [rdi + r9]
vpshufd xmm0, xmm1, 0xff
vpmovzxbd xmm6, xmm0
vpshufd xmm0, xmm1, 0xee
vpmovzxbd xmm4, xmm0
vpmovzxbd xmm5, xmm1
vpshufd xmm0, xmm1, 0x55
vpmovzxbd xmm7, xmm0
vmovdqu xmm2, xmmword [r11 + r9]
vpshufd xmm0, xmm2, 0xff
vpmovzxbd xmm15, xmm0
vpshufd xmm0, xmm2, 0xee
vpmovzxbd xmm12, xmm0
vpmovzxbd xmm8, xmm2
vpshufd xmm0, xmm2, 0x55
vpmovzxbd xmm10, xmm0
vmovdqu xmm9, xmmword [rsi + r9]
vpshufd xmm3, xmm9, 0x55
vpmovzxbd xmm11, xmm3
vpmovzxbd xmm13, xmm9
vpshufd xmm3, xmm9, 0xee
vpmovzxbd xmm3, xmm3
vpshufd xmm14, xmm9, 0xff
vpmovzxbd xmm14, xmm14
vpsubd xmm0, xmm10, xmm7
vmovdqa xmmword [rsp + 0x60], xmm0
vpaddd xmm11, xmm11, xmm0
vpsubd xmm0, xmm11, xmm10
vmovdqa xmmword [rsp + 0x90], xmm0
vpsubd xmm0, xmm11, xmm7
vmovdqa xmmword [rsp + 0x140], xmm0
vpsubd xmm11, xmm8, xmm5
vpaddd xmm10, xmm11, xmm13
vpsubd xmm7, xmm10, xmm8
vpsubd xmm8, xmm10, xmm5
vpsubd xmm0, xmm12, xmm4
vmovdqa xmmword [rsp + 0x70], xmm0
vpaddd xmm3, xmm0, xmm3
vpsubd xmm12, xmm3, xmm12
vpsubd xmm3, xmm3, xmm4
vpsubd xmm0, xmm15, xmm6
vmovdqa xmmword [rsp + 0x50], xmm0
vpaddd xmm13, xmm14, xmm0
vpsubd xmm5, xmm13, xmm15
vpabsd xmm5, xmm5
vpabsd xmm12, xmm12
vpsubd xmm6, xmm13, xmm6
vpabsd xmm10, xmm6
vpabsd xmm13, xmm3
vpminud xmm3, xmm5, xmm10
vpcmpeqd xmm3, xmm5, xmm3
vpcmpeqd xmm0, xmm0, xmm0
vpxor xmm3, xmm3, xmm0
vpminud xmm6, xmm12, xmm13
vpcmpeqd xmm6, xmm12, xmm6
vpxor xmm6, xmm6, xmm0
vpackssdw xmm3, xmm6, xmm3
vpabsd xmm6, xmm7
vpabsd xmm7, xmmword [rsp + 0x90]
vpabsd xmm8, xmm8
vpabsd xmm14, xmmword [rsp + 0x140]
vpminud xmm15, xmm6, xmm8
vpcmpeqd xmm15, xmm15, xmm6
vpxor xmm15, xmm15, xmm0
vpminud xmm4, xmm7, xmm14
vpcmpeqd xmm4, xmm7, xmm4
vpxor xmm4, xmm4, xmm0
vpackssdw xmm4, xmm15, xmm4
vpacksswb xmm3, xmm4, xmm3
vpblendvb xmm1, xmm2, xmm1, xmm3
vpabsd xmm2, xmmword [rsp + 0x60]
vpminud xmm3, xmm2, xmm7
vpcmpeqd xmm3, xmm2, xmm3
vpminud xmm4, xmm2, xmm14
vpcmpeqd xmm2, xmm2, xmm4
vpxor xmm3, xmm3, xmm0
vpxor xmm2, xmm2, xmm0
vpor xmm2, xmm3, xmm2
vpabsd xmm3, xmm11
vpminud xmm4, xmm3, xmm6
vpcmpeqd xmm4, xmm3, xmm4
vpminud xmm6, xmm3, xmm8
vpcmpeqd xmm3, xmm3, xmm6
vpxor xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmm0
vpor xmm3, xmm4, xmm3
vpackssdw xmm2, xmm3, xmm2
vpabsd xmm3, xmmword [rsp + 0x70]
vpminud xmm4, xmm3, xmm12
vpcmpeqd xmm4, xmm3, xmm4
vpminud xmm6, xmm3, xmm13
vpcmpeqd xmm3, xmm3, xmm6
vpxor xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmm0
vpor xmm3, xmm4, xmm3
vpabsd xmm4, xmmword [rsp + 0x50]
vpminud xmm5, xmm4, xmm5
vpcmpeqd xmm5, xmm4, xmm5
vpminud xmm6, xmm4, xmm10
vpcmpeqd xmm4, xmm4, xmm6
vpxor xmm5, xmm5, xmm0
vpxor xmm4, xmm4, xmm0
vpor xmm4, xmm5, xmm4
vpackssdw xmm3, xmm3, xmm4
vpacksswb xmm2, xmm2, xmm3
vpblendvb xmm0, xmm9, xmm1, xmm2
vpaddb xmm0, xmm0, xmmword [r10 + r9]
vmovdqu xmmword [r12 + r9], xmm0
add r10, 0x10
add rsi, 0x10
add rdi, 0x10
add r11, 0x10
add r12, 0x10
add rbx, 0xfffffffffffffff0
cmp r9, rbx
jne 0x140095ff6
mov r10, qword [rsp + 0xe0]
mov r9, r10
cmp r10, rdx
je case.default.0x140093a8b
jmp 0x140093ea6
mov r9d, edx
and r9d, 0xffffff80
mov r10, r15
sub r10, r8
add r10, rax
add r10, 0x60
lea r11, [rax + r15]
add r11, 0x60
xor esi, esi
vmovdqu xmm0, xmmword [r10 + rsi - 0x60]
vmovdqu xmm1, xmmword [r10 + rsi - 0x50]
vmovdqu xmm2, xmmword [r10 + rsi - 0x40]
vmovdqu xmm3, xmmword [r10 + rsi - 0x30]
vpaddb xmm0, xmm0, xmmword [rbp + rsi]
vpaddb xmm1, xmm1, xmmword [rbp + rsi + 0x10]
vpaddb xmm2, xmm2, xmmword [rbp + rsi + 0x20]
vpaddb xmm3, xmm3, xmmword [rbp + rsi + 0x30]
vmovdqu xmm4, xmmword [r10 + rsi - 0x20]
vpaddb xmm4, xmm4, xmmword [rbp + rsi + 0x40]
vmovdqu xmm5, xmmword [r10 + rsi - 0x10]
vpaddb xmm5, xmm5, xmmword [rbp + rsi + 0x50]
vmovdqu xmm6, xmmword [r10 + rsi]
vpaddb xmm6, xmm6, xmmword [rbp + rsi + 0x60]
vmovdqu xmm7, xmmword [r10 + rsi + 0x10]
vpaddb xmm7, xmm7, xmmword [rbp + rsi + 0x70]
vmovdqu xmmword [r11 + rsi - 0x50], xmm1
vmovdqu xmmword [r11 + rsi - 0x60], xmm0
vmovdqu xmmword [r11 + rsi - 0x30], xmm3
vmovdqu xmmword [r11 + rsi - 0x40], xmm2
vmovdqu xmmword [r11 + rsi - 0x10], xmm5
vmovdqu xmmword [r11 + rsi - 0x20], xmm4
vmovdqu xmmword [r11 + rsi + 0x10], xmm7
vmovdqu xmmword [r11 + rsi], xmm6
sub rsi, 0xffffffffffffff80
cmp r9, rsi
jne 0x140096261
cmp r9, rdx
je case.default.0x140093a8b
test dl, 0x70
je 0x140093c79
mov r10, r9
mov r9d, edx
and r9d, 0xfffffff0
mov r11, r15
sub r11, r8
add r11, rax
vmovdqu xmm0, xmmword [r11 + r10]
vpaddb xmm0, xmm0, xmmword [rbp + r10]
vmovdqu xmmword [rcx + r10], xmm0
add r10, 0x10
cmp r9, r10
jne 0x140096331
cmp r9, rdx
jne 0x140093c79
jmp case.default.0x140093a8b
mov r10d, edx
and r10d, 0xffffffe0
mov r11, r15
sub r11, r9
add r11, rax
xor esi, esi
vpmovzxbw xmm0, qword [r8 + rsi + 8]
vpmovzxbw xmm1, qword [r8 + rsi]
vpmovzxbw xmm2, qword [r8 + rsi + 0x18]
vpmovzxbw xmm3, qword [r8 + rsi + 0x10]
vpmovzxbw xmm4, qword [r11 + rsi + 8]
vpaddw xmm0, xmm4, xmm0
vpmovzxbw xmm4, qword [r11 + rsi]
vpaddw xmm1, xmm4, xmm1
vpmovzxbw xmm4, qword [r11 + rsi + 0x18]
vpmovzxbw xmm5, qword [r11 + rsi + 0x10]
vpaddw xmm2, xmm4, xmm2
vpaddw xmm3, xmm5, xmm3
vpsrlw xmm0, xmm0, 1
vpsrlw xmm1, xmm1, 1
vpackuswb xmm0, xmm1, xmm0
vpsrlw xmm1, xmm2, 1
vpsrlw xmm2, xmm3, 1
vpackuswb xmm1, xmm2, xmm1
vpaddb xmm0, xmm0, xmmword [rbp + rsi]
vpaddb xmm1, xmm1, xmmword [rbp + rsi + 0x10]
vmovdqu xmmword [rcx + rsi + 0x10], xmm1
vmovdqu xmmword [rcx + rsi], xmm0
add rsi, 0x20
cmp r10, rsi
jne 0x14009636d
cmp r10, rdx
je case.default.0x140093a8b
test dl, 0x10
je 0x140093dda
jmp 0x14009587e
mov r9d, edx
and r9d, 0xffffff80
mov r10, r15
sub r10, r8
add r10, rax
add r10, 0x60
lea r11, [rax + r15]
add r11, 0x60
xor esi, esi
vmovdqa xmm8, xmmword [0x14011a560]
vmovdqu xmm0, xmmword [r10 + rsi - 0x60]
vmovdqu xmm1, xmmword [r10 + rsi - 0x50]
vmovdqu xmm2, xmmword [r10 + rsi - 0x40]
vmovdqu xmm3, xmmword [r10 + rsi - 0x30]
vpsrlw xmm1, xmm1, 1
vpand xmm1, xmm8, xmm1
vpsrlw xmm0, xmm0, 1
vpand xmm0, xmm8, xmm0
vpsrlw xmm3, xmm3, 1
vpand xmm3, xmm8, xmm3
vpsrlw xmm2, xmm2, 1
vpand xmm2, xmm8, xmm2
vmovdqu xmm4, xmmword [r10 + rsi - 0x10]
vpsrlw xmm4, xmm4, 1
vpand xmm4, xmm8, xmm4
vmovdqu xmm5, xmmword [r10 + rsi - 0x20]
vpsrlw xmm5, xmm5, 1
vpand xmm5, xmm8, xmm5
vmovdqu xmm6, xmmword [r10 + rsi + 0x10]
vpsrlw xmm6, xmm6, 1
vpand xmm6, xmm8, xmm6
vmovdqu xmm7, xmmword [r10 + rsi]
vpsrlw xmm7, xmm7, 1
vpand xmm7, xmm8, xmm7
vpaddb xmm0, xmm0, xmmword [rbp + rsi]
vpaddb xmm1, xmm1, xmmword [rbp + rsi + 0x10]
vpaddb xmm2, xmm2, xmmword [rbp + rsi + 0x20]
vpaddb xmm3, xmm3, xmmword [rbp + rsi + 0x30]
vpaddb xmm5, xmm5, xmmword [rbp + rsi + 0x40]
vpaddb xmm4, xmm4, xmmword [rbp + rsi + 0x50]
vpaddb xmm7, xmm7, xmmword [rbp + rsi + 0x60]
vpaddb xmm6, xmm6, xmmword [rbp + rsi + 0x70]
vmovdqu xmmword [r11 + rsi - 0x50], xmm1
vmovdqu xmmword [r11 + rsi - 0x60], xmm0
vmovdqu xmmword [r11 + rsi - 0x30], xmm3
vmovdqu xmmword [r11 + rsi - 0x40], xmm2
vmovdqu xmmword [r11 + rsi - 0x10], xmm4
vmovdqu xmmword [r11 + rsi - 0x20], xmm5
vmovdqu xmmword [r11 + rsi + 0x10], xmm6
vmovdqu xmmword [r11 + rsi], xmm7
sub rsi, 0xffffffffffffff80
cmp r9, rsi
jne 0x140096430
cmp r9, rdx
je case.default.0x140093a8b
test dl, 0x70
je 0x140093f59
mov r10, r9
mov r9d, edx
and r9d, 0xfffffff0
mov r11, r15
sub r11, r8
add r11, rax
vmovdqa xmm1, xmmword [0x14011a560]
vmovdqu xmm0, xmmword [r11 + r10]
vpsrlw xmm0, xmm0, 1
vpand xmm0, xmm0, xmm1
vpaddb xmm0, xmm0, xmmword [rbp + r10]
vmovdqu xmmword [rcx + r10], xmm0
add r10, 0x10
cmp r9, r10
jne 0x140096550
cmp r9, rdx
jne 0x140093f59
jmp case.default.0x140093a8b
mov r9d, edx
and r9d, 0xffffff80
mov r10, r15
sub r10, r8
add r10, rax
add r10, 0x60
lea r11, [rax + r15]
add r11, 0x60
xor esi, esi
vmovdqu xmm0, xmmword [r10 + rsi - 0x60]
vmovdqu xmm1, xmmword [r10 + rsi - 0x50]
vmovdqu xmm2, xmmword [r10 + rsi - 0x40]
vmovdqu xmm3, xmmword [r10 + rsi - 0x30]
vpaddb xmm0, xmm0, xmmword [rbp + rsi]
vpaddb xmm1, xmm1, xmmword [rbp + rsi + 0x10]
vpaddb xmm2, xmm2, xmmword [rbp + rsi + 0x20]
vpaddb xmm3, xmm3, xmmword [rbp + rsi + 0x30]
vmovdqu xmm4, xmmword [r10 + rsi - 0x20]
vpaddb xmm4, xmm4, xmmword [rbp + rsi + 0x40]
vmovdqu xmm5, xmmword [r10 + rsi - 0x10]
vpaddb xmm5, xmm5, xmmword [rbp + rsi + 0x50]
vmovdqu xmm6, xmmword [r10 + rsi]
vpaddb xmm6, xmm6, xmmword [rbp + rsi + 0x60]
vmovdqu xmm7, xmmword [r10 + rsi + 0x10]
vpaddb xmm7, xmm7, xmmword [rbp + rsi + 0x70]
vmovdqu xmmword [r11 + rsi - 0x50], xmm1
vmovdqu xmmword [r11 + rsi - 0x60], xmm0
vmovdqu xmmword [r11 + rsi - 0x30], xmm3
vmovdqu xmmword [r11 + rsi - 0x40], xmm2
vmovdqu xmmword [r11 + rsi - 0x10], xmm5
vmovdqu xmmword [r11 + rsi - 0x20], xmm4
vmovdqu xmmword [r11 + rsi + 0x10], xmm7
vmovdqu xmmword [r11 + rsi], xmm6
sub rsi, 0xffffffffffffff80
cmp r9, rsi
jne 0x1400965a1
cmp r9, rdx
je case.default.0x140093a8b
test dl, 0x70
je 0x140093fec
mov r10, r9
mov r9d, edx
and r9d, 0xfffffff0
mov r11, r15
sub r11, r8
add r11, rax
vmovdqu xmm0, xmmword [r11 + r10]
vpaddb xmm0, xmm0, xmmword [rbp + r10]
vmovdqu xmmword [rcx + r10], xmm0
add r10, 0x10
cmp r9, r10
jne 0x140096671
cmp r9, rdx
jne 0x140093fec
jmp case.default.0x140093a8b
cmp r15d, 8
jge 0x140096b06
mov ecx, 1
test r11d, r11d
je 0x1400936ab
mov eax, dword [rsp + 0x108]
mov edx, r10d
movsxd r8, r15d
mov qword [rsp + 0x38], r8
lea r9d, [rbp - 1]
movsxd r8, r9d
imul esi, ebp
imul esi, edi
mov r11, rax
sub r11, rdx
neg rdx
lea r10, [r8 + r8*2]
add r10, 2
mov qword [rsp + 0x60], r10
lea r10d, [rbp*4 - 4]
mov dword [rsp + 0x50], r10d
dec r8
mov qword [rsp + 0x28], r8
lea r8d, [rbp + rbp - 1]
mov dword [rsp + 0x70], r8d
xor r14d, r14d
add rdx, rax
xor r13d, r13d
jmp 0x140096731
inc r13
mov esi, r10d
add r14d, r10d
cmp r13, qword [rsp + 0x110]
mov r15d, dword [rsp + 0x380]
je 0x1400936ab
mov r10d, esi
mov r12, qword [r12 + 0x18]
mov eax, dword [rsp + 0x40]
mov edi, eax
imul edi, r13d
lea rsi, [r12 + rdi]
mov bl, 1
cmp dword [rsp + 0x388], 0
jne 0x140096764
mov rax, qword [rsp + 0x38]
lea r8, [0x14011a6d0]
movzx ebx, byte [rax + r8]
lea rbp, [rsi + rdx]
mov r14d, r14d
cmp r15d, 4
je 0x1400969cb
cmp r15d, 2
je 0x140096916
cmp r15d, 1
jne 0x140096a2c
mov r8d, dword [rsp + 0x48]
mov eax, r8d
cmp r8d, 8
jl 0x140096852
lea rbp, [r12 + r11]
mov eax, dword [rsp + 0x48]
mov esi, eax
movzx eax, byte [rbp + r14]
sar al, 7
and al, bl
mov byte [r12 + r14], al
movzx eax, byte [rbp + r14]
add al, al
sar al, 7
and al, bl
mov byte [r12 + r14 + 1], al
movzx eax, byte [rbp + r14]
shl al, 2
sar al, 7
and al, bl
mov byte [r12 + r14 + 2], al
movzx eax, byte [rbp + r14]
shl al, 3
sar al, 7
and al, bl
mov byte [r12 + r14 + 3], al
movzx eax, byte [rbp + r14]
shl al, 4
sar al, 7
and al, bl
mov byte [r12 + r14 + 4], al
movzx eax, byte [rbp + r14]
shl al, 5
sar al, 7
and al, bl
mov byte [r12 + r14 + 5], al
movzx eax, byte [rbp + r14]
shl al, 6
sar al, 7
and al, bl
mov byte [r12 + r14 + 6], al
movzx eax, byte [rbp + r14]
and al, 1
neg al
and al, bl
mov byte [r12 + r14 + 7], al
lea eax, [rsi - 8]
inc rbp
add r12, 8
cmp esi, 0xf
ja 0x1400967a3
add rbp, r14
add r12, r14
mov rsi, r12
test eax, eax
jle 0x140096a2c
movzx r8d, byte [rbp]
sar r8b, 7
and r8b, bl
mov byte [rsi], r8b
cmp eax, 1
je 0x140096a2c
movzx r8d, byte [rbp]
add r8b, r8b
sar r8b, 7
and r8b, bl
mov byte [rsi + 1], r8b
cmp eax, 3
jb 0x140096a2c
movzx r8d, byte [rbp]
shl r8b, 2
sar r8b, 7
and r8b, bl
mov byte [rsi + 2], r8b
cmp eax, 3
je 0x140096a2c
movzx r8d, byte [rbp]
shl r8b, 3
sar r8b, 7
and r8b, bl
mov byte [rsi + 3], r8b
cmp eax, 5
jb 0x140096a2c
movzx r8d, byte [rbp]
shl r8b, 4
sar r8b, 7
and r8b, bl
mov byte [rsi + 4], r8b
cmp eax, 5
je 0x140096a2c
movzx r8d, byte [rbp]
shl r8b, 5
sar r8b, 7
and r8b, bl
mov byte [rsi + 5], r8b
cmp eax, 7
jb 0x140096a2c
movzx eax, byte [rbp]
shl al, 6
sar al, 7
and al, bl
mov byte [rsi + 6], al
jmp 0x140096a2c
mov eax, dword [rsp + 0x48]
mov r8d, eax
cmp eax, 4
jl 0x140096989
lea rbp, [r12 + r11]
mov r8d, dword [rsp + 0x48]
mov esi, r8d
movzx eax, byte [rbp + r14]
shr al, 6
mul bl
mov byte [r12 + r14], al
movzx eax, byte [rbp + r14]
shr al, 4
and al, 3
mul bl
mov byte [r12 + r14 + 1], al
movzx eax, byte [rbp + r14]
shr al, 2
and al, 3
mul bl
mov byte [r12 + r14 + 2], al
movzx eax, byte [rbp + r14]
and al, 3
mul bl
mov byte [r12 + r14 + 3], al
lea r8d, [rsi - 4]
inc rbp
add r12, 4
cmp esi, 7
ja 0x14009692b
add rbp, r14
add r12, r14
mov rsi, r12
test r8d, r8d
jle 0x140096a2c
movzx eax, byte [rbp]
shr al, 6
mul bl
mov byte [rsi], al
cmp r8d, 1
je 0x140096a2c
movzx eax, byte [rbp]
shr al, 4
and al, 3
mul bl
mov byte [rsi + 1], al
cmp r8d, 3
jb 0x140096a2c
movzx eax, byte [rbp]
shr al, 2
and al, 3
mul bl
mov byte [rsi + 2], al
jmp 0x140096a2c
mov r8d, dword [rsp + 0x48]
mov eax, r8d
cmp r8d, 2
jl 0x140096a1c
lea rbp, [r12 + r11]
mov eax, dword [rsp + 0x48]
mov r8d, eax
movzx eax, byte [rbp + r14]
shr al, 4
mul bl
mov byte [r12 + r14], al
movzx eax, byte [rbp + r14]
and al, 0xf
mul bl
mov byte [r12 + r14 + 1], al
lea eax, [r8 - 2]
inc rbp
add r12, 2
cmp r8d, 3
ja 0x1400969e1
add rbp, r14
add r12, r14
mov rsi, r12
cmp eax, 1
jne 0x140096a2c
movzx eax, byte [rbp]
shr al, 4
mul bl
mov byte [rsi], al
mov rax, qword [rsp + 0xb8]
cmp eax, dword [rsp + 0x88]
mov r12, qword [rsp + 0xd8]
je 0x140096712
mov rax, qword [r12 + 0x18]
add rdi, rax
cmp dword [rsp + 0xb8], 1
jne 0x140096a9f
test r9d, r9d
js 0x140096712
add rax, r14
mov ebx, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x28]
mov r8, rsi
movsxd r15, ebx
dec ebx
mov byte [rdi + r15], 0xff
movzx ebp, byte [rax + rsi + 1]
movsxd rbx, ebx
mov byte [rdi + rbx], bpl
dec r8
add r15d, 0xfffffffe
mov ebx, r15d
test esi, esi
mov rsi, r8
jns 0x140096a73
jmp 0x140096712
test r9d, r9d
js 0x140096712
add rax, qword [rsp + 0x60]
add rax, r14
mov r8, qword [rsp + 0x28]
mov esi, dword [rsp + 0x50]
mov rbx, r8
lea ebp, [rsi + 3]
movsxd r15, ebp
mov byte [rdi + r15], 0xff
movzx ebp, byte [rax]
lea r15d, [rsi + 2]
movsxd r15, r15d
mov byte [rdi + r15], bpl
movzx ebp, byte [rax - 1]
lea r15d, [rsi + 1]
movsxd r15, r15d
mov byte [rdi + r15], bpl
movzx ebp, byte [rax - 2]
movsxd rsi, esi
mov byte [rdi + rsi], bpl
add rax, 0xfffffffffffffffd
add esi, 0xfffffffc
dec rbx
test r8d, r8d
mov r8, rbx
jns 0x140096abc
jmp 0x140096712
mov ecx, 1
cmp r15d, 0x10
jne 0x1400936ab
mov r8, qword [rsp + 0x108]
imul r8d, r11d
mov ecx, 1
test r8d, r8d
je 0x1400936ab
mov rax, qword [r12 + 0x18]
cmp r8d, 4
jb 0x140096b5c
mov edx, r8d
and edx, 0xfffffffc
rol word [rax], 8
rol word [rax + 2], 8
rol word [rax + 4], 8
rol word [rax + 6], 8
add rax, 8
add edx, 0xfffffffc
jne 0x140096b40
test r8b, 3
je 0x1400936ab
and r8d, 3
xor edx, edx
rol word [rax + rdx*2], 8
inc rdx
cmp r8d, edx
jne 0x140096b6c
jmp 0x1400936ab
lea r8, str.invalid_width
jmp 0x14009368f