Function at 0x14003af50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rbp
mov rbp, rsp
sub rsp, 0x210
and rsp, 0xffffffffffffffc0
movdqa xmmword [rsp + 0x170], xmm6
movdqa xmmword [rsp + 0x180], xmm7
movdqa xmmword [rsp + 0x190], xmm8
movdqa xmmword [rsp + 0x1a0], xmm9
movdqa xmmword [rsp + 0x1b0], xmm10
movdqa xmmword [rsp + 0x1c0], xmm11
movdqa xmmword [rsp + 0x1d0], xmm12
movdqa xmmword [rsp + 0x1e0], xmm13
movdqa xmmword [rsp + 0x1f0], xmm14
movdqa xmmword [rsp + 0x200], xmm15
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rbp + 0x68]
movzx r9, byte [rbp + 0x70]
neg r9d
movd xmm0, r9d
pshufd xmm0, xmm0, 0
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmm1, xmm0
pand xmm1, xmmword [0x140059710]
pand xmm0, xmmword [0x140059720]
movdqa xmmword [rsp + 0x150], xmm0
movd xmm0, r8d
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movdqa xmmword [rsp + 0x110], xmm0
pxor xmm0, xmmword [0x140059780]
pxor xmm1, xmmword [0x140059780]
pcmpgtd xmm1, xmm0
shr r8, 0x20
movd xmm2, r8d
pshufd xmm2, xmm2, 0
psubd xmm2, xmm1
movdqa xmmword [rsp + 0x120], xmm2
mov rbx, qword [rbp + 0x90]
mov r15, rdx
shl r15, 6
movzx r13d, byte [rbp + 0x78]
movzx r12d, byte [rbp + 0x88]
cmp rsi, 4
jb 0x14003d330
movdqu xmm3, xmmword [rcx]
pshufd xmm0, xmm3, 0
pshufd xmm1, xmm3, 0x55
pshufd xmm2, xmm3, 0xaa
pshufd xmm3, xmm3, 0xff
movdqu xmm7, xmmword [rcx + 0x10]
pshufd xmm4, xmm7, 0
pshufd xmm5, xmm7, 0x55
pshufd xmm6, xmm7, 0xaa
pshufd xmm7, xmm7, 0xff
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov r10, qword [rdi + 0x10]
mov r11, qword [rdi + 0x18]
movzx eax, byte [rbp + 0x80]
or eax, r13d
xor edx, edx
mov r14d, eax
or eax, r12d
add rdx, 0x40
cmp rdx, r15
cmovne eax, r14d
movdqu xmm8, xmmword [r8 + rdx - 0x40]
movdqu xmm9, xmmword [r9 + rdx - 0x40]
movdqu xmm10, xmmword [r10 + rdx - 0x40]
movdqu xmm11, xmmword [r11 + rdx - 0x40]
movdqa xmm12, xmm8
punpckldq xmm8, xmm9
punpckhdq xmm12, xmm9
movdqa xmm14, xmm10
punpckldq xmm10, xmm11
punpckhdq xmm14, xmm11
movdqa xmm9, xmm8
punpcklqdq xmm8, xmm10
punpckhqdq xmm9, xmm10
movdqa xmm13, xmm12
punpcklqdq xmm12, xmm14
punpckhqdq xmm13, xmm14
movdqa xmmword [rsp], xmm8
movdqa xmmword [rsp + 0x10], xmm9
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmmword [rsp + 0x30], xmm13
movdqu xmm8, xmmword [r8 + rdx - 0x30]
movdqu xmm9, xmmword [r9 + rdx - 0x30]
movdqu xmm10, xmmword [r10 + rdx - 0x30]
movdqu xmm11, xmmword [r11 + rdx - 0x30]
movdqa xmm12, xmm8
punpckldq xmm8, xmm9
punpckhdq xmm12, xmm9
movdqa xmm14, xmm10
punpckldq xmm10, xmm11
punpckhdq xmm14, xmm11
movdqa xmm9, xmm8
punpcklqdq xmm8, xmm10
punpckhqdq xmm9, xmm10
movdqa xmm13, xmm12
punpcklqdq xmm12, xmm14
punpckhqdq xmm13, xmm14
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x70], xmm13
movdqu xmm8, xmmword [r8 + rdx - 0x20]
movdqu xmm9, xmmword [r9 + rdx - 0x20]
movdqu xmm10, xmmword [r10 + rdx - 0x20]
movdqu xmm11, xmmword [r11 + rdx - 0x20]
movdqa xmm12, xmm8
punpckldq xmm8, xmm9
punpckhdq xmm12, xmm9
movdqa xmm14, xmm10
punpckldq xmm10, xmm11
punpckhdq xmm14, xmm11
movdqa xmm9, xmm8
punpcklqdq xmm8, xmm10
punpckhqdq xmm9, xmm10
movdqa xmm13, xmm12
punpcklqdq xmm12, xmm14
punpckhqdq xmm13, xmm14
movdqa xmmword [rsp + 0x80], xmm8
movdqa xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0xa0], xmm12
movdqa xmmword [rsp + 0xb0], xmm13
movdqu xmm8, xmmword [r8 + rdx - 0x10]
movdqu xmm9, xmmword [r9 + rdx - 0x10]
movdqu xmm10, xmmword [r10 + rdx - 0x10]
movdqu xmm11, xmmword [r11 + rdx - 0x10]
movdqa xmm12, xmm8
punpckldq xmm8, xmm9
punpckhdq xmm12, xmm9
movdqa xmm14, xmm10
punpckldq xmm10, xmm11
punpckhdq xmm14, xmm11
movdqa xmm9, xmm8
punpcklqdq xmm8, xmm10
punpckhqdq xmm9, xmm10
movdqa xmm13, xmm12
punpcklqdq xmm12, xmm14
punpckhqdq xmm13, xmm14
movdqa xmmword [rsp + 0xc0], xmm8
movdqa xmmword [rsp + 0xd0], xmm9
movdqa xmmword [rsp + 0xe0], xmm12
movdqa xmmword [rsp + 0xf0], xmm13
movdqa xmm9, xmmword [0x140059740]
movdqa xmm10, xmmword [0x140059750]
movdqa xmm11, xmmword [0x140059760]
movdqa xmm12, xmmword [rsp + 0x110]
movdqa xmm13, xmmword [rsp + 0x120]
movdqa xmm14, xmmword [0x140059770]
movd xmm15, eax
pshufd xmm15, xmm15, 0
prefetcht0 byte [r8 + rdx + 0x80]
prefetcht0 byte [r9 + rdx + 0x80]
prefetcht0 byte [r10 + rdx + 0x80]
prefetcht0 byte [r11 + rdx + 0x80]
paddd xmm0, xmmword [rsp]
paddd xmm1, xmmword [rsp + 0x20]
paddd xmm2, xmmword [rsp + 0x40]
paddd xmm3, xmmword [rsp + 0x60]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [0x140059730]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x10]
paddd xmm1, xmmword [rsp + 0x30]
paddd xmm2, xmmword [rsp + 0x50]
paddd xmm3, xmmword [rsp + 0x70]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x80]
paddd xmm1, xmmword [rsp + 0xa0]
paddd xmm2, xmmword [rsp + 0xc0]
paddd xmm3, xmmword [rsp + 0xe0]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x90]
paddd xmm1, xmmword [rsp + 0xb0]
paddd xmm2, xmmword [rsp + 0xd0]
paddd xmm3, xmmword [rsp + 0xf0]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x20]
paddd xmm1, xmmword [rsp + 0x30]
paddd xmm2, xmmword [rsp + 0x70]
paddd xmm3, xmmword [rsp + 0x40]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x60]
paddd xmm1, xmmword [rsp + 0xa0]
paddd xmm2, xmmword [rsp]
paddd xmm3, xmmword [rsp + 0xd0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x10]
paddd xmm1, xmmword [rsp + 0xc0]
paddd xmm2, xmmword [rsp + 0x90]
paddd xmm3, xmmword [rsp + 0xf0]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0xb0]
paddd xmm1, xmmword [rsp + 0x50]
paddd xmm2, xmmword [rsp + 0xe0]
paddd xmm3, xmmword [rsp + 0x80]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x30]
paddd xmm1, xmmword [rsp + 0xa0]
paddd xmm2, xmmword [rsp + 0xd0]
paddd xmm3, xmmword [rsp + 0x70]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x40]
paddd xmm1, xmmword [rsp + 0xc0]
paddd xmm2, xmmword [rsp + 0x20]
paddd xmm3, xmmword [rsp + 0xe0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x60]
paddd xmm1, xmmword [rsp + 0x90]
paddd xmm2, xmmword [rsp + 0xb0]
paddd xmm3, xmmword [rsp + 0x80]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x50]
paddd xmm1, xmmword [rsp]
paddd xmm2, xmmword [rsp + 0xf0]
paddd xmm3, xmmword [rsp + 0x10]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0xa0]
paddd xmm1, xmmword [rsp + 0xc0]
paddd xmm2, xmmword [rsp + 0xe0]
paddd xmm3, xmmword [rsp + 0xd0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x70]
paddd xmm1, xmmword [rsp + 0x90]
paddd xmm2, xmmword [rsp + 0x30]
paddd xmm3, xmmword [rsp + 0xf0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x40]
paddd xmm1, xmmword [rsp + 0xb0]
paddd xmm2, xmmword [rsp + 0x50]
paddd xmm3, xmmword [rsp + 0x10]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp]
paddd xmm1, xmmword [rsp + 0x20]
paddd xmm2, xmmword [rsp + 0x80]
paddd xmm3, xmmword [rsp + 0x60]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0xc0]
paddd xmm1, xmmword [rsp + 0x90]
paddd xmm2, xmmword [rsp + 0xf0]
paddd xmm3, xmmword [rsp + 0xe0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0xd0]
paddd xmm1, xmmword [rsp + 0xb0]
paddd xmm2, xmmword [rsp + 0xa0]
paddd xmm3, xmmword [rsp + 0x80]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0x70]
paddd xmm1, xmmword [rsp + 0x50]
paddd xmm2, xmmword [rsp]
paddd xmm3, xmmword [rsp + 0x60]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x20]
paddd xmm1, xmmword [rsp + 0x30]
paddd xmm2, xmmword [rsp + 0x10]
paddd xmm3, xmmword [rsp + 0x40]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x90]
paddd xmm1, xmmword [rsp + 0xb0]
paddd xmm2, xmmword [rsp + 0x80]
paddd xmm3, xmmword [rsp + 0xf0]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0xe0]
paddd xmm1, xmmword [rsp + 0x50]
paddd xmm2, xmmword [rsp + 0xc0]
paddd xmm3, xmmword [rsp + 0x10]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0xd0]
paddd xmm1, xmmword [rsp]
paddd xmm2, xmmword [rsp + 0x20]
paddd xmm3, xmmword [rsp + 0x40]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0x30]
paddd xmm1, xmmword [rsp + 0xa0]
paddd xmm2, xmmword [rsp + 0x60]
paddd xmm3, xmmword [rsp + 0x70]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0xb0]
paddd xmm1, xmmword [rsp + 0x50]
paddd xmm2, xmmword [rsp + 0x10]
paddd xmm3, xmmword [rsp + 0x80]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0xf0]
paddd xmm1, xmmword [rsp]
paddd xmm2, xmmword [rsp + 0x90]
paddd xmm3, xmmword [rsp + 0x60]
paddd xmm0, xmm4
paddd xmm1, xmm5
paddd xmm2, xmm6
paddd xmm3, xmm7
pxor xmm12, xmm0
pxor xmm13, xmm1
pxor xmm14, xmm2
pxor xmm15, xmm3
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
paddd xmm11, xmm15
pxor xmm4, xmm8
pxor xmm5, xmm9
pxor xmm6, xmm10
pxor xmm7, xmm11
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
paddd xmm0, xmmword [rsp + 0xe0]
paddd xmm1, xmmword [rsp + 0x20]
paddd xmm2, xmmword [rsp + 0x30]
paddd xmm3, xmmword [rsp + 0x70]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmm8, xmm5
psrld xmm8, 0xc
pslld xmm5, 0x14
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0xc
pslld xmm6, 0x14
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 0xc
pslld xmm7, 0x14
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 0xc
pslld xmm4, 0x14
por xmm4, xmm8
paddd xmm0, xmmword [rsp + 0xa0]
paddd xmm1, xmmword [rsp + 0xc0]
paddd xmm2, xmmword [rsp + 0x40]
paddd xmm3, xmmword [rsp + 0xd0]
paddd xmm0, xmm5
paddd xmm1, xmm6
paddd xmm2, xmm7
paddd xmm3, xmm4
pxor xmm15, xmm0
pxor xmm12, xmm1
pxor xmm13, xmm2
pxor xmm14, xmm3
movdqa xmm8, xmm15
psrld xmm15, 8
pslld xmm8, 0x18
pxor xmm15, xmm8
movdqa xmm8, xmm12
psrld xmm12, 8
pslld xmm8, 0x18
pxor xmm12, xmm8
movdqa xmm8, xmm13
psrld xmm13, 8
pslld xmm8, 0x18
pxor xmm13, xmm8
movdqa xmm8, xmm14
psrld xmm14, 8
pslld xmm8, 0x18
pxor xmm14, xmm8
paddd xmm10, xmm15
paddd xmm11, xmm12
movdqa xmm8, xmmword [rsp + 0x100]
paddd xmm8, xmm13
paddd xmm9, xmm14
pxor xmm5, xmm10
pxor xmm6, xmm11
pxor xmm7, xmm8
pxor xmm4, xmm9
pxor xmm0, xmm8
pxor xmm1, xmm9
pxor xmm2, xmm10
pxor xmm3, xmm11
movdqa xmm8, xmm5
psrld xmm8, 7
pslld xmm5, 0x19
por xmm5, xmm8
movdqa xmm8, xmm6
psrld xmm8, 7
pslld xmm6, 0x19
por xmm6, xmm8
movdqa xmm8, xmm7
psrld xmm8, 7
pslld xmm7, 0x19
por xmm7, xmm8
movdqa xmm8, xmm4
psrld xmm8, 7
pslld xmm4, 0x19
por xmm4, xmm8
pxor xmm4, xmm12
pxor xmm5, xmm13
pxor xmm6, xmm14
pxor xmm7, xmm15
mov eax, r13d
jne 0x14003b0cb
movdqa xmm9, xmm0
punpckldq xmm0, xmm1
punpckhdq xmm9, xmm1
movdqa xmm11, xmm2
punpckldq xmm2, xmm3
punpckhdq xmm11, xmm3
movdqa xmm1, xmm0
punpcklqdq xmm0, xmm2
punpckhqdq xmm1, xmm2
movdqa xmm3, xmm9
punpcklqdq xmm9, xmm11
punpckhqdq xmm3, xmm11
movdqu xmmword [rbx], xmm0
movdqu xmmword [rbx + 0x20], xmm1
movdqu xmmword [rbx + 0x40], xmm9
movdqu xmmword [rbx + 0x60], xmm3
movdqa xmm9, xmm4
punpckldq xmm4, xmm5
punpckhdq xmm9, xmm5
movdqa xmm11, xmm6
punpckldq xmm6, xmm7
punpckhdq xmm11, xmm7
movdqa xmm5, xmm4
punpcklqdq xmm4, xmm6
punpckhqdq xmm5, xmm6
movdqa xmm7, xmm9
punpcklqdq xmm9, xmm11
punpckhqdq xmm7, xmm11
movdqu xmmword [rbx + 0x10], xmm4
movdqu xmmword [rbx + 0x30], xmm5
movdqu xmmword [rbx + 0x50], xmm9
movdqu xmmword [rbx + 0x70], xmm7
movdqa xmm1, xmmword [rsp + 0x110]
movdqa xmm0, xmm1
paddd xmm1, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0x110], xmm1
pxor xmm0, xmmword [0x140059780]
pxor xmm1, xmmword [0x140059780]
pcmpgtd xmm0, xmm1
movdqa xmm1, xmmword [rsp + 0x120]
psubd xmm1, xmm0
movdqa xmmword [rsp + 0x120], xmm1
add rbx, 0x80
add rdi, 0x20
sub rsi, 4
cmp rsi, 4
jae 0x14003b07f
test rsi, rsi
jne 0x14003d330
movdqa xmm6, xmmword [rsp + 0x170]
movdqa xmm7, xmmword [rsp + 0x180]
movdqa xmm8, xmmword [rsp + 0x190]
movdqa xmm9, xmmword [rsp + 0x1a0]
movdqa xmm10, xmmword [rsp + 0x1b0]
movdqa xmm11, xmmword [rsp + 0x1c0]
movdqa xmm12, xmmword [rsp + 0x1d0]
movdqa xmm13, xmmword [rsp + 0x1e0]
movdqa xmm14, xmmword [rsp + 0x1f0]
movdqa xmm15, xmmword [rsp + 0x200]
mov rsp, rbp
pop rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test esi, 2
je 0x14003d818
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmm8, xmm0
movaps xmm9, xmm1
movd xmm13, dword [rsp + 0x110]
movd xmm14, dword [rsp + 0x120]
punpckldq xmm13, xmm14
movaps xmmword [rsp], xmm13
movd xmm14, dword [rsp + 0x114]
movd xmm13, dword [rsp + 0x124]
punpckldq xmm14, xmm13
movaps xmmword [rsp + 0x10], xmm14
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
movzx eax, byte [rbp + 0x80]
or eax, r13d
xor edx, edx
mov r14d, eax
or eax, r12d
add rdx, 0x40
cmp rdx, r15
cmovne eax, r14d
movaps xmm2, xmmword [0x140059700]
movaps xmm10, xmm2
movups xmm4, xmmword [r8 + rdx - 0x40]
movups xmm5, xmmword [r8 + rdx - 0x30]
movaps xmm3, xmm4
shufps xmm4, xmm5, 0x88
shufps xmm3, xmm5, 0xdd
movaps xmm5, xmm3
movups xmm6, xmmword [r8 + rdx - 0x20]
movups xmm7, xmmword [r8 + rdx - 0x10]
movaps xmm3, xmm6
shufps xmm6, xmm7, 0x88
pshufd xmm6, xmm6, 0x93
shufps xmm3, xmm7, 0xdd
pshufd xmm7, xmm3, 0x93
movups xmm12, xmmword [r9 + rdx - 0x40]
movups xmm13, xmmword [r9 + rdx - 0x30]
movaps xmm11, xmm12
shufps xmm12, xmm13, 0x88
shufps xmm11, xmm13, 0xdd
movaps xmm13, xmm11
movups xmm14, xmmword [r9 + rdx - 0x20]
movups xmm15, xmmword [r9 + rdx - 0x10]
movaps xmm11, xmm14
shufps xmm14, xmm15, 0x88
pshufd xmm14, xmm14, 0x93
shufps xmm11, xmm15, 0xdd
pshufd xmm15, xmm11, 0x93
shl rax, 0x20
or rax, 0x40
movq xmm3, rax
movdqa xmmword [rsp + 0x20], xmm3
movaps xmm3, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
punpcklqdq xmm3, xmmword [rsp + 0x20]
punpcklqdq xmm11, xmmword [rsp + 0x20]
mov al, 7
paddd xmm0, xmm4
paddd xmm8, xmm12
movaps xmmword [rsp + 0x20], xmm4
movaps xmmword [rsp + 0x30], xmm12
paddd xmm0, xmm1
paddd xmm8, xmm9
pxor xmm3, xmm0
pxor xmm11, xmm8
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
pshuflw xmm11, xmm11, 0xb1
pshufhw xmm11, xmm11, 0xb1
paddd xmm2, xmm3
paddd xmm10, xmm11
pxor xmm1, xmm2
pxor xmm9, xmm10
movdqa xmm4, xmm1
pslld xmm1, 0x14
psrld xmm4, 0xc
por xmm1, xmm4
movdqa xmm4, xmm9
pslld xmm9, 0x14
psrld xmm4, 0xc
por xmm9, xmm4
paddd xmm0, xmm5
paddd xmm8, xmm13
movaps xmmword [rsp + 0x40], xmm5
movaps xmmword [rsp + 0x50], xmm13
paddd xmm0, xmm1
paddd xmm8, xmm9
pxor xmm3, xmm0
pxor xmm11, xmm8
movdqa xmm13, xmm3
psrld xmm3, 8
pslld xmm13, 0x18
pxor xmm3, xmm13
movdqa xmm13, xmm11
psrld xmm11, 8
pslld xmm13, 0x18
pxor xmm11, xmm13
paddd xmm2, xmm3
paddd xmm10, xmm11
pxor xmm1, xmm2
pxor xmm9, xmm10
movdqa xmm4, xmm1
pslld xmm1, 0x19
psrld xmm4, 7
por xmm1, xmm4
movdqa xmm4, xmm9
pslld xmm9, 0x19
psrld xmm4, 7
por xmm9, xmm4
pshufd xmm0, xmm0, 0x93
pshufd xmm8, xmm8, 0x93
pshufd xmm3, xmm3, 0x4e
pshufd xmm11, xmm11, 0x4e
pshufd xmm2, xmm2, 0x39
pshufd xmm10, xmm10, 0x39
paddd xmm0, xmm6
paddd xmm8, xmm14
paddd xmm0, xmm1
paddd xmm8, xmm9
pxor xmm3, xmm0
pxor xmm11, xmm8
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
pshuflw xmm11, xmm11, 0xb1
pshufhw xmm11, xmm11, 0xb1
paddd xmm2, xmm3
paddd xmm10, xmm11
pxor xmm1, xmm2
pxor xmm9, xmm10
movdqa xmm4, xmm1
pslld xmm1, 0x14
psrld xmm4, 0xc
por xmm1, xmm4
movdqa xmm4, xmm9
pslld xmm9, 0x14
psrld xmm4, 0xc
por xmm9, xmm4
paddd xmm0, xmm7
paddd xmm8, xmm15
paddd xmm0, xmm1
paddd xmm8, xmm9
pxor xmm3, xmm0
pxor xmm11, xmm8
movdqa xmm13, xmm3
psrld xmm3, 8
pslld xmm13, 0x18
pxor xmm3, xmm13
movdqa xmm13, xmm11
psrld xmm11, 8
pslld xmm13, 0x18
pxor xmm11, xmm13
paddd xmm2, xmm3
paddd xmm10, xmm11
pxor xmm1, xmm2
pxor xmm9, xmm10
movdqa xmm4, xmm1
pslld xmm1, 0x19
psrld xmm4, 7
por xmm1, xmm4
movdqa xmm4, xmm9
pslld xmm9, 0x19
psrld xmm4, 7
por xmm9, xmm4
pshufd xmm0, xmm0, 0x39
pshufd xmm8, xmm8, 0x39
pshufd xmm3, xmm3, 0x4e
pshufd xmm11, xmm11, 0x4e
pshufd xmm2, xmm2, 0x93
pshufd xmm10, xmm10, 0x93
dec al
je 0x14003d7b4
movdqa xmm12, xmmword [rsp + 0x20]
movdqa xmm5, xmmword [rsp + 0x40]
pshufd xmm13, xmm12, 0xf
shufps xmm12, xmm5, 0xd6
pshufd xmm4, xmm12, 0x39
movdqa xmm12, xmm6
shufps xmm12, xmm7, 0xfa
pand xmm13, xmmword [0x1400597a0]
pand xmm12, xmmword [0x1400597b0]
por xmm13, xmm12
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmm12, xmm7
punpcklqdq xmm12, xmm5
movdqa xmm13, xmm6
pand xmm12, xmmword [0x1400597c0]
pand xmm13, xmmword [0x1400597d0]
por xmm12, xmm13
pshufd xmm12, xmm12, 0x78
punpckhdq xmm5, xmm7
punpckldq xmm6, xmm5
pshufd xmm7, xmm6, 0x1e
movdqa xmmword [rsp + 0x40], xmm12
movdqa xmm5, xmmword [rsp + 0x30]
movdqa xmm13, xmmword [rsp + 0x50]
pshufd xmm6, xmm5, 0xf
shufps xmm5, xmm13, 0xd6
pshufd xmm12, xmm5, 0x39
movdqa xmm5, xmm14
shufps xmm5, xmm15, 0xfa
pand xmm6, xmmword [0x1400597a0]
pand xmm5, xmmword [0x1400597b0]
por xmm6, xmm5
movdqa xmm5, xmm15
punpcklqdq xmm5, xmm13
movdqa xmmword [rsp + 0x30], xmm2
movdqa xmm2, xmm14
pand xmm5, xmmword [0x1400597c0]
pand xmm2, xmmword [0x1400597d0]
por xmm5, xmm2
movdqa xmm2, xmmword [rsp + 0x30]
pshufd xmm5, xmm5, 0x78
punpckhdq xmm13, xmm15
punpckldq xmm14, xmm13
pshufd xmm15, xmm14, 0x1e
movdqa xmm13, xmm6
movdqa xmm14, xmm5
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm6, xmmword [rsp + 0x40]
jmp 0x14003d462
pxor xmm0, xmm2
pxor xmm1, xmm3
pxor xmm8, xmm10
pxor xmm9, xmm11
mov eax, r13d
cmp rdx, r15
jne 0x14003d39b
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm8
movups xmmword [rbx + 0x30], xmm9
mov eax, dword [rsp + 0x130]
neg eax
mov r10d, dword [rsp + rax*8 + 0x110]
mov r11d, dword [rsp + rax*8 + 0x120]
mov dword [rsp + 0x110], r10d
mov dword [rsp + 0x120], r11d
add rdi, 0x10
add rbx, 0x40
sub rsi, 2
test esi, 1
je 0x14003d2b3
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movd xmm13, dword [rsp + 0x110]
movd xmm14, dword [rsp + 0x120]
punpckldq xmm13, xmm14
mov r8, qword [rdi]
movzx eax, byte [rbp + 0x80]
or eax, r13d
xor edx, edx
mov r14d, eax
or eax, r12d
add rdx, 0x40
cmp rdx, r15
cmovne eax, r14d
movaps xmm2, xmmword [0x140059700]
shl rax, 0x20
or rax, 0x40
movq xmm12, rax
movdqa xmm3, xmm13
punpcklqdq xmm3, xmm12
movups xmm4, xmmword [r8 + rdx - 0x40]
movups xmm5, xmmword [r8 + rdx - 0x30]
movaps xmm8, xmm4
shufps xmm4, xmm5, 0x88
shufps xmm8, xmm5, 0xdd
movaps xmm5, xmm8
movups xmm6, xmmword [r8 + rdx - 0x20]
movups xmm7, xmmword [r8 + rdx - 0x10]
movaps xmm8, xmm6
shufps xmm6, xmm7, 0x88
pshufd xmm6, xmm6, 0x93
shufps xmm8, xmm7, 0xdd
pshufd xmm7, xmm8, 0x93
mov al, 7
paddd xmm0, xmm4
paddd xmm0, xmm1
pxor xmm3, xmm0
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm11, xmm1
pslld xmm1, 0x14
psrld xmm11, 0xc
por xmm1, xmm11
paddd xmm0, xmm5
paddd xmm0, xmm1
pxor xmm3, xmm0
movdqa xmm14, xmm3
psrld xmm3, 8
pslld xmm14, 0x18
pxor xmm3, xmm14
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm11, xmm1
pslld xmm1, 0x19
psrld xmm11, 7
por xmm1, xmm11
pshufd xmm0, xmm0, 0x93
pshufd xmm3, xmm3, 0x4e
pshufd xmm2, xmm2, 0x39
paddd xmm0, xmm6
paddd xmm0, xmm1
pxor xmm3, xmm0
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm11, xmm1
pslld xmm1, 0x14
psrld xmm11, 0xc
por xmm1, xmm11
paddd xmm0, xmm7
paddd xmm0, xmm1
pxor xmm3, xmm0
movdqa xmm14, xmm3
psrld xmm3, 8
pslld xmm14, 0x18
pxor xmm3, xmm14
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm11, xmm1
pslld xmm1, 0x19
psrld xmm11, 7
por xmm1, xmm11
pshufd xmm0, xmm0, 0x39
pshufd xmm3, xmm3, 0x4e
pshufd xmm2, xmm2, 0x93
dec al
je 0x14003da48
movdqa xmm8, xmm4
shufps xmm8, xmm5, 0xd6
pshufd xmm9, xmm4, 0xf
pshufd xmm4, xmm8, 0x39
movdqa xmm8, xmm6
shufps xmm8, xmm7, 0xfa
pand xmm9, xmmword [0x1400597a0]
pand xmm8, xmmword [0x1400597b0]
por xmm9, xmm8
movdqa xmm8, xmm7
punpcklqdq xmm8, xmm5
movdqa xmm10, xmm6
pand xmm8, xmmword [0x1400597c0]
pand xmm10, xmmword [0x1400597d0]
por xmm8, xmm10
pshufd xmm8, xmm8, 0x78
punpckhdq xmm5, xmm7
punpckldq xmm6, xmm5
pshufd xmm7, xmm6, 0x1e
movdqa xmm5, xmm9
movdqa xmm6, xmm8
jmp 0x14003d8c5
pxor xmm0, xmm2
pxor xmm1, xmm3
mov eax, r13d
cmp rdx, r15
jne 0x14003d853
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
jmp 0x14003d2b3