Function at 0x1400b0796
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
mov rax, qword [rcx + 0x38]
test rax, rax
jle 0x1400b07bd
cmp qword [rcx + 0x40], 0
js 0x1400b07bd
add rax, 0xffffffffffffff00
mov qword [rcx + 0x38], rax
jmp 0x1400b085f
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call fcn.1400b2c3c
test rax, rax
je 0x1400b07fa
mov rcx, qword [0x1403531b0]
xor edx, edx
mov r8, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400b0833
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
lea rdx, [rsp + 0x40]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400b2b72
movaps xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmm2, xmmword [rbx + 0x20]
movaps xmmword [rdi + 0x20], xmm2
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
mov qword [rdi + 0x40], 0
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov rdx, rsi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
jmp 0x1400b085f
push rsi
push rdi
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm15
movaps xmmword [rsp + 0x280], xmm14
movaps xmmword [rsp + 0x270], xmm13
movaps xmmword [rsp + 0x260], xmm12
movaps xmmword [rsp + 0x250], xmm11
movaps xmmword [rsp + 0x240], xmm10
movaps xmmword [rsp + 0x230], xmm9
movaps xmmword [rsp + 0x220], xmm8
movaps xmmword [rsp + 0x210], xmm7
movaps xmmword [rsp + 0x200], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140353238]
test rax, rax
je 0x1400b123c
test ax, ax
js 0x1400b108c
mov rax, qword [0x140353238]
test rax, rax
je 0x1400b1246
bt eax, 0xe
jb 0x1400b10f8
mov rax, qword [0x140353238]
test rax, rax
je 0x1400b1250
bt eax, 0xa
jb 0x1400b1164
mov rax, qword [0x140353238]
test rax, rax
je 0x1400b125a
bt eax, 9
jb 0x1400b11d0
movdqa xmm14, xmmword [rdi]
movdqa xmm3, xmmword [rdi + 0x10]
movdqa xmm8, xmmword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
lea rcx, [rax + 1]
movd xmm2, ecx
shr rcx, 0x20
pshufd xmm0, xmm8, 0xf8
pslldq xmm0, 4
movdqa xmmword [rsp + 0x50], xmm0
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm8, 0xe8
por xmm2, xmm0
lea rcx, [rax + 2]
movd xmm7, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm8, 0xe8
por xmm7, xmm0
lea rcx, [rax + 3]
movd xmm6, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm8, 0xe8
por xmm6, xmm0
movdqa xmm10, xmmword [str.expand_32_byte_k]
mov ecx, 6
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm9, xmm10
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm11, xmm14
movdqa xmm12, xmm14
movdqa xmm13, xmm14
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmm15, xmm3
movdqa xmm1, xmm3
movdqa xmm5, xmm3
movdqa xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x80], xmm8
movdqa xmmword [rsp + 0x70], xmm2
movdqa xmmword [rsp + 0x60], xmm7
movdqa xmmword [rsp + 0x40], xmm6
movdqa xmm4, xmmword [rsp + 0x30]
paddd xmm4, xmm11
movdqa xmmword [rsp + 0x30], xmm4
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm12
movdqa xmmword [rsp + 0x20], xmm0
paddd xmm9, xmm13
paddd xmm10, xmm14
pxor xmm8, xmm4
pxor xmm2, xmm0
pxor xmm7, xmm9
pxor xmm6, xmm10
pshuflw xmm0, xmm8, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm2, xmm2, 0xb1
pshuflw xmm4, xmm7, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshuflw xmm6, xmm6, 0xb1
pshufhw xmm6, xmm6, 0xb1
paddd xmm15, xmm0
paddd xmm1, xmm2
paddd xmm5, xmm4
paddd xmm3, xmm6
pxor xmm11, xmm15
movdqa xmm7, xmm11
psrld xmm7, 0x14
pslld xmm11, 0xc
por xmm11, xmm7
pxor xmm12, xmm1
movdqa xmm7, xmm12
psrld xmm7, 0x14
pslld xmm12, 0xc
por xmm12, xmm7
pxor xmm13, xmm5
movdqa xmm7, xmm13
psrld xmm7, 0x14
pslld xmm13, 0xc
por xmm13, xmm7
pxor xmm14, xmm3
movdqa xmm7, xmm14
psrld xmm7, 0x14
pslld xmm14, 0xc
por xmm14, xmm7
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm11
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm12
movdqa xmmword [rsp + 0x20], xmm8
paddd xmm9, xmm13
paddd xmm10, xmm14
pxor xmm0, xmm7
movdqa xmm7, xmm0
psrld xmm7, 0x18
pslld xmm0, 8
por xmm0, xmm7
pxor xmm2, xmm8
movdqa xmm7, xmm2
psrld xmm7, 0x18
pslld xmm2, 8
por xmm2, xmm7
pxor xmm4, xmm9
movdqa xmm7, xmm4
psrld xmm7, 0x18
pslld xmm4, 8
por xmm4, xmm7
pxor xmm6, xmm10
movdqa xmm7, xmm6
psrld xmm7, 0x18
pslld xmm6, 8
por xmm6, xmm7
paddd xmm15, xmm0
paddd xmm1, xmm2
paddd xmm5, xmm4
paddd xmm3, xmm6
pxor xmm11, xmm15
pxor xmm12, xmm1
pxor xmm13, xmm5
pxor xmm14, xmm3
movdqa xmm7, xmm11
psrld xmm7, 0x19
pslld xmm11, 7
por xmm11, xmm7
movdqa xmm7, xmm12
psrld xmm7, 0x19
pslld xmm12, 7
por xmm12, xmm7
movdqa xmm7, xmm13
psrld xmm7, 0x19
pslld xmm13, 7
por xmm13, xmm7
movdqa xmm7, xmm14
psrld xmm7, 0x19
pslld xmm14, 7
por xmm14, xmm7
pshufd xmm11, xmm11, 0x39
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x4e
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp + 0xb0], xmm1
pshufd xmm5, xmm5, 0x4e
pshufd xmm3, xmm3, 0x4e
pshufd xmm0, xmm0, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm7, xmm6, 0x93
movdqa xmm6, xmmword [rsp + 0x30]
paddd xmm6, xmm11
movdqa xmmword [rsp + 0x30], xmm6
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm12
movdqa xmmword [rsp + 0x20], xmm1
paddd xmm9, xmm13
paddd xmm10, xmm14
pshuflw xmm6, xmm6, 0xb1
pshufhw xmm8, xmm6, 0xb1
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm6, xmm0, 0xb1
pxor xmm6, xmm8
pshuflw xmm0, xmm1, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm2, xmm2, 0xb1
pxor xmm2, xmm0
pshuflw xmm0, xmm9, 0xb1
pshufhw xmm8, xmm0, 0xb1
pshuflw xmm0, xmm4, 0xb1
pshufhw xmm0, xmm0, 0xb1
pxor xmm0, xmm8
pshuflw xmm4, xmm10, 0xb1
pshufhw xmm8, xmm4, 0xb1
pshuflw xmm4, xmm7, 0xb1
pshufhw xmm4, xmm4, 0xb1
pxor xmm4, xmm8
paddd xmm15, xmm6
movdqa xmm1, xmmword [rsp + 0xb0]
paddd xmm1, xmm2
paddd xmm5, xmm0
paddd xmm3, xmm4
pxor xmm11, xmm15
pxor xmm12, xmm1
pxor xmm13, xmm5
pxor xmm14, xmm3
movdqa xmm7, xmm11
psrld xmm7, 0x14
pslld xmm11, 0xc
por xmm11, xmm7
movdqa xmm7, xmm12
psrld xmm7, 0x14
pslld xmm12, 0xc
por xmm12, xmm7
movdqa xmm7, xmm13
psrld xmm7, 0x14
pslld xmm13, 0xc
por xmm13, xmm7
movdqa xmm7, xmm14
psrld xmm7, 0x14
pslld xmm14, 0xc
por xmm14, xmm7
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm11
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm12
paddd xmm9, xmm13
paddd xmm10, xmm14
movdqa xmmword [rsp + 0x30], xmm7
pxor xmm6, xmm7
movdqa xmm7, xmm6
psrld xmm7, 0x18
pslld xmm6, 8
por xmm6, xmm7
movdqa xmm7, xmm8
movdqa xmmword [rsp + 0x20], xmm8
pxor xmm2, xmm8
movdqa xmm7, xmm2
psrld xmm7, 0x18
pslld xmm2, 8
por xmm2, xmm7
pxor xmm0, xmm9
movdqa xmm7, xmm0
psrld xmm7, 0x18
pslld xmm0, 8
por xmm0, xmm7
pxor xmm4, xmm10
movdqa xmm7, xmm4
psrld xmm7, 0x18
pslld xmm4, 8
por xmm4, xmm7
paddd xmm15, xmm6
paddd xmm1, xmm2
paddd xmm5, xmm0
paddd xmm3, xmm4
pxor xmm11, xmm15
pxor xmm12, xmm1
pxor xmm13, xmm5
pxor xmm14, xmm3
movdqa xmm7, xmm11
psrld xmm7, 0x19
pslld xmm11, 7
por xmm11, xmm7
movdqa xmm7, xmm12
psrld xmm7, 0x19
pslld xmm12, 7
por xmm12, xmm7
movdqa xmm7, xmm13
psrld xmm7, 0x19
pslld xmm13, 7
por xmm13, xmm7
movdqa xmm7, xmm14
psrld xmm7, 0x19
pslld xmm14, 7
por xmm14, xmm7
pshufd xmm11, xmm11, 0x93
pshufd xmm12, xmm12, 0x93
pshufd xmm13, xmm13, 0x93
pshufd xmm14, xmm14, 0x93
pshufd xmm15, xmm15, 0x4e
pshufd xmm1, xmm1, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm3, xmm3, 0x4e
pshufd xmm8, xmm6, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm7, xmm0, 0x39
pshufd xmm6, xmm4, 0x39
dec ecx
jne 0x1400b0a17
add rax, 4
mov rcx, rax
shr rcx, 0x20
movd xmm0, ecx
por xmm0, xmmword [rsp + 0x50]
movdqa xmm4, xmm0
pslldq xmm4, 8
shufps xmm4, xmm0, 0xe8
movd xmm0, eax
por xmm0, xmm4
movaps xmm4, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm4
movdqa xmm4, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0xd0], xmm4
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm10
movdqa xmmword [rsp + 0x100], xmm11
movdqa xmmword [rsp + 0x110], xmm12
movdqa xmmword [rsp + 0x120], xmm13
movdqa xmmword [rsp + 0x130], xmm14
movdqa xmmword [rsp + 0x140], xmm15
movdqa xmmword [rsp + 0x150], xmm1
movdqa xmmword [rsp + 0x160], xmm5
movdqa xmmword [rsp + 0x170], xmm3
movaps xmmword [rsp + 0x180], xmm8
movdqa xmmword [rsp + 0x190], xmm2
movdqa xmmword [rsp + 0x1a0], xmm7
movdqa xmmword [rsp + 0x1b0], xmm6
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x1e0], xmm1
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x1f0], xmm1
movdqa xmmword [rdi + 0x20], xmm0
xor eax, eax
movdqa xmm0, xmmword [str.expand_32_byte_k]
movdqa xmm5, xmmword [rsp + 0xa0]
movdqa xmm6, xmmword [rsp + 0x90]
movdqa xmm1, xmmword [rsp + rax + 0x180]
movdqa xmm2, xmmword [rsp + rax + 0xc0]
paddd xmm2, xmm0
movdqa xmm3, xmmword [rsp + rax + 0x100]
paddd xmm3, xmm5
movdqa xmm4, xmmword [rsp + rax + 0x140]
paddd xmm4, xmm6
paddd xmm1, xmmword [rsp + rax + 0x1c0]
movdqu xmmword [rsi + rax*4], xmm2
movdqu xmmword [rsi + rax*4 + 0x10], xmm3
movdqu xmmword [rsi + rax*4 + 0x20], xmm4
movdqu xmmword [rsi + rax*4 + 0x30], xmm1
add rax, 0x10
cmp rax, 0x40
jne 0x1400b0fd0
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x260]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x260]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rdi
pop rsi
jmp 0x1400b1264
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x260]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rdi
pop rsi
jmp 0x1400b1644
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x260]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rdi
pop rsi
jmp 0x1400b1cd1
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x260]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm14, xmmword [rsp + 0x280]
movaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rdi
pop rsi
jmp 0x1400b23fb
call fcn.14023c280
jmp 0x1400b08d6
call fcn.14023c280
jmp 0x1400b08ef
call fcn.14023c280
jmp 0x1400b0909
call fcn.14023c280
jmp 0x1400b0923
sub rsp, 0x1f8
vmovaps xmmword [rsp + 0x1e0], xmm15
vmovaps xmmword [rsp + 0x1d0], xmm14
vmovaps xmmword [rsp + 0x1c0], xmm13
vmovaps xmmword [rsp + 0x1b0], xmm12
vmovaps xmmword [rsp + 0x1a0], xmm11
vmovaps xmmword [rsp + 0x190], xmm10
vmovaps xmmword [rsp + 0x180], xmm9
vmovaps xmmword [rsp + 0x170], xmm8
vmovaps xmmword [rsp + 0x160], xmm7
vmovaps xmmword [rsp + 0x150], xmm6
vmovdqa xmm0, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm1, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm3, xmm1, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm1, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm4, xmm1, r8d, 1
lea r8, [rax + 3]
vpinsrd xmm1, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm5, xmm1, r8d, 1
vmovdqu ymm1, ymmword [rcx]
vmovdqu ymm2, ymmword [rcx + 0x10]
vinserti128 ymm12, ymm4, xmm5, 1
vmovdqa xmmword [rsp], xmm3
vinserti128 ymm13, ymm0, xmm3, 1
vinserti128 ymm9, ymm1, xmm1, 1
vinserti128 ymm11, ymm2, xmm2, 1
vbroadcasti128 ymm8, xmmword [str.expand_32_byte_k]
mov r8d, 6
vbroadcasti128 ymm6, xmmword [0x14023fe20]
vmovdqa ymm7, ymmword [0x14023fe00]
vmovdqa ymm10, ymm8
vmovdqa ymm15, ymm11
vmovdqa ymm14, ymm9
vpaddd ymm8, ymm8, ymm9
vpaddd ymm10, ymm10, ymm14
vpxor ymm13, ymm13, ymm8
vpxor ymm12, ymm10, ymm12
vpshuflw ymm13, ymm13, 0xb1
vpshufhw ymm13, ymm13, 0xb1
vpshuflw ymm12, ymm12, 0xb1
vpshufhw ymm12, ymm12, 0xb1
vpaddd ymm11, ymm11, ymm13
vpaddd ymm15, ymm15, ymm12
vpxor ymm9, ymm11, ymm9
vpsrld ymm3, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm3, ymm9, ymm3
vpxor ymm9, ymm15, ymm14
vpsrld ymm14, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm14
vpaddd ymm8, ymm8, ymm3
vpaddd ymm10, ymm9, ymm10
vpshufb ymm14, ymm8, ymm6
vpshufb ymm13, ymm13, ymm6
vpxor ymm13, ymm13, ymm14
vpshufb ymm14, ymm10, ymm6
vpshufb ymm12, ymm12, ymm6
vpxor ymm12, ymm12, ymm14
vpaddd ymm11, ymm11, ymm13
vpaddd ymm14, ymm15, ymm12
vpxor ymm3, ymm11, ymm3
vpxor ymm9, ymm14, ymm9
vpsrld ymm15, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm15, ymm3
vpsrld ymm15, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm15
vpshufd ymm3, ymm3, 0x39
vpshufd ymm9, ymm9, 0x39
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm14, ymm14, 0x4e
vpaddd ymm8, ymm8, ymm3
vpaddd ymm10, ymm9, ymm10
vpshuflw ymm15, ymm8, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm13, ymm13, ymm7
vpxor ymm13, ymm13, ymm15
vpshuflw ymm15, ymm10, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm12, ymm12, ymm7
vpxor ymm12, ymm12, ymm15
vpaddd ymm11, ymm11, ymm13
vpaddd ymm14, ymm14, ymm12
vpxor ymm3, ymm11, ymm3
vpxor ymm9, ymm14, ymm9
vpsrld ymm15, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm3, ymm15, ymm3
vpsrld ymm15, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm15
vpaddd ymm8, ymm8, ymm3
vpaddd ymm10, ymm9, ymm10
vpxor ymm13, ymm13, ymm8
vpshufb ymm13, ymm13, ymm6
vpxor ymm12, ymm12, ymm10
vpshufb ymm12, ymm12, ymm6
vpaddd ymm11, ymm11, ymm13
vpaddd ymm15, ymm14, ymm12
vpxor ymm3, ymm11, ymm3
vpxor ymm9, ymm15, ymm9
vpsrld ymm14, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm14, ymm3
vpsrld ymm14, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm14, ymm9, ymm14
vpshufd ymm9, ymm3, 0x93
vpshufd ymm14, ymm14, 0x93
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm15, ymm15, 0x4e
vpshufd ymm13, ymm13, 0x39
vpshufd ymm12, ymm12, 0x39
dec r8d
jne 0x1400b135f
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm6, xmm0, eax, 0
vpinsrd xmm6, xmm6, r8d, 1
vmovdqu ymmword [rsp + 0x50], ymm8
vmovdqu ymmword [rsp + 0x70], ymm10
vmovdqu ymmword [rsp + 0x90], ymm9
vmovdqu ymmword [rsp + 0xb0], ymm14
vmovdqu ymmword [rsp + 0xd0], ymm11
vmovdqu ymmword [rsp + 0xf0], ymm15
vmovdqu ymmword [rsp + 0x110], ymm13
vmovdqu ymmword [rsp + 0x130], ymm12
vmovdqa xmmword [rsp + 0x10], xmm0
vmovaps xmm0, xmmword [rsp]
vmovaps xmmword [rsp + 0x20], xmm0
vmovdqa xmmword [rsp + 0x30], xmm4
vmovdqa xmmword [rsp + 0x40], xmm5
vmovdqa xmmword [rcx + 0x20], xmm6
xor eax, eax
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vmovdqa xmm3, xmmword [rsp + rax + 0x10]
vpaddd xmm4, xmm0, xmmword [rsp + rax + 0x50]
vpaddd xmm5, xmm1, xmmword [rsp + rax + 0x90]
vpaddd xmm6, xmm2, xmmword [rsp + rax + 0xd0]
vpaddd xmm3, xmm3, xmmword [rsp + rax + 0x110]
vmovdqu xmmword [rdx + rax*4], xmm4
vmovdqu xmmword [rdx + rax*4 + 0x10], xmm5
vmovdqu xmmword [rdx + rax*4 + 0x20], xmm6
vmovdqu xmmword [rdx + rax*4 + 0x30], xmm3
add rax, 0x10
cmp rax, 0x40
jne 0x1400b1597
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x150]
vmovaps xmm7, xmmword [rsp + 0x160]
vmovaps xmm8, xmmword [rsp + 0x170]
vmovaps xmm9, xmmword [rsp + 0x180]
vmovaps xmm10, xmmword [rsp + 0x190]
vmovaps xmm11, xmmword [rsp + 0x1a0]
vmovaps xmm12, xmmword [rsp + 0x1b0]
vmovaps xmm13, xmmword [rsp + 0x1c0]
vmovaps xmm14, xmmword [rsp + 0x1d0]
vmovaps xmm15, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
ret
sub rsp, 0x2a8
vmovaps xmmword [rsp + 0x290], xmm15
vmovaps xmmword [rsp + 0x280], xmm14
vmovaps xmmword [rsp + 0x270], xmm13
vmovaps xmmword [rsp + 0x260], xmm12
vmovaps xmmword [rsp + 0x250], xmm11
vmovaps xmmword [rsp + 0x240], xmm10
vmovaps xmmword [rsp + 0x230], xmm9
vmovdqa xmmword [rsp + 0x220], xmm8
vmovaps xmmword [rsp + 0x210], xmm7
vmovaps xmmword [rsp + 0x200], xmm6
vmovdqa xmm6, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm5, xmm0, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm15, xmm0, r8d, 1
vmovdqa xmm1, xmmword [rcx]
lea r8, [rax + 3]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm12, xmm0, r8d, 1
vmovdqa xmm3, xmmword [rcx + 0x10]
vmovdqa xmm9, xmmword [str.expand_32_byte_k]
mov r8d, 6
vmovdqa xmm0, xmm9
vmovdqa xmmword [rsp + 0x10], xmm9
vmovdqa xmmword [rsp + 0x20], xmm9
vmovdqa xmm4, xmm1
vmovdqa xmm2, xmm1
vmovdqa xmm14, xmm1
vmovdqa xmmword [rsp + 0xa0], xmm1
vmovdqa xmm10, xmm1
vmovdqa xmm7, xmm3
vmovdqa xmm13, xmm3
vmovdqa xmmword [rsp], xmm3
vmovdqa xmmword [rsp + 0x80], xmm3
vmovdqa xmm11, xmm3
vmovdqa xmmword [rsp + 0x90], xmm6
vmovdqa xmmword [rsp + 0x70], xmm5
vmovdqa xmm1, xmm5
vmovdqa xmmword [rsp + 0x60], xmm15
vmovdqa xmmword [rsp + 0x50], xmm12
vmovdqa xmm8, xmm10
vpaddd xmm10, xmm9, xmm4
vpxor xmm3, xmm10, xmm6
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm5, xmm3, 0xb1
vpaddd xmm3, xmm7, xmm5
vmovdqa xmmword [rsp + 0x30], xmm3
vpxor xmm4, xmm3, xmm4
vpsrld xmm7, xmm4, 0x14
vpslld xmm4, xmm4, 0xc
vpor xmm7, xmm4, xmm7
vpaddd xmm4, xmm0, xmm2
vpxor xmm1, xmm4, xmm1
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm3, xmm1, 0xb1
vpaddd xmm0, xmm13, xmm3
vmovdqa xmmword [rsp + 0x40], xmm0
vpxor xmm0, xmm0, xmm2
vmovdqa xmm6, xmm11
vpsrld xmm11, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm13, xmm11, xmm0
vpaddd xmm9, xmm14, xmmword [rsp + 0x10]
vpxor xmm0, xmm9, xmm15
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm1, xmm0, 0xb1
vpaddd xmm15, xmm1, xmmword [rsp]
vpxor xmm2, xmm15, xmm14
vpsrld xmm11, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm14, xmm11, xmm2
vpaddd xmm0, xmm8, xmmword [rsp + 0x20]
vpxor xmm2, xmm12, xmm0
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm11, xmm2, 0xb1
vpaddd xmm12, xmm11, xmm6
vpxor xmm2, xmm12, xmm8
vpsrld xmm6, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm2, xmm2, xmm6
vpaddd xmm6, xmm10, xmm7
vmovdqa xmm8, xmmword [0x14023fe20]
vpshufb xmm5, xmm5, xmm8
vpshufb xmm10, xmm6, xmm8
vpxor xmm5, xmm10, xmm5
vpaddd xmm4, xmm13, xmm4
vmovdqa xmmword [rsp], xmm4
vpshufb xmm3, xmm3, xmm8
vpshufb xmm4, xmm4, xmm8
vpxor xmm10, xmm3, xmm4
vpaddd xmm3, xmm14, xmm9
vmovdqa xmmword [rsp + 0x10], xmm3
vpshufb xmm1, xmm1, xmm8
vpshufb xmm3, xmm3, xmm8
vpxor xmm4, xmm1, xmm3
vpaddd xmm1, xmm2, xmm0
vmovdqa xmmword [rsp + 0x20], xmm1
vpshufb xmm0, xmm11, xmm8
vpshufb xmm1, xmm1, xmm8
vpxor xmm9, xmm0, xmm1
vpaddd xmm0, xmm5, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm0, xmm0, xmm7
vpsrld xmm3, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm0, xmm3
vpaddd xmm1, xmm10, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm1
vpxor xmm3, xmm13, xmm1
vpsrld xmm7, xmm3, 0x19
vpslld xmm3, xmm3, 7
vpor xmm3, xmm3, xmm7
vpaddd xmm7, xmm15, xmm4
vpxor xmm11, xmm14, xmm7
vpsrld xmm13, xmm11, 0x19
vpslld xmm11, xmm11, 7
vpor xmm14, xmm11, xmm13
vpaddd xmm13, xmm12, xmm9
vpxor xmm2, xmm13, xmm2
vpsrld xmm11, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm2, xmm11, xmm2
vpshufd xmm1, xmm0, 0x39
vpaddd xmm11, xmm1, xmm6
vpshuflw xmm6, xmm11, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vmovdqa xmm15, xmmword [0x14023fe30]
vpshufb xmm5, xmm5, xmm15
vpxor xmm12, xmm5, xmm6
vpshufd xmm6, xmm3, 0x39
vpaddd xmm0, xmm6, xmmword [rsp]
vmovdqa xmmword [rsp], xmm0
vpshuflw xmm5, xmm0, 0xb1
vpshufhw xmm5, xmm5, 0xb1
vpshufb xmm10, xmm10, xmm15
vpxor xmm5, xmm10, xmm5
vpshufd xmm14, xmm14, 0x39
vpaddd xmm0, xmm14, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x10], xmm0
vpshuflw xmm10, xmm0, 0xb1
vpshufhw xmm10, xmm10, 0xb1
vpshufb xmm4, xmm4, xmm15
vpxor xmm4, xmm10, xmm4
vpshufd xmm3, xmm2, 0x39
vpaddd xmm2, xmm3, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm2
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm2, xmm2, 0xb1
vpshufb xmm9, xmm9, xmm15
vpxor xmm0, xmm9, xmm2
vmovdqa xmmword [rsp + 0xb0], xmm0
vpshufd xmm2, xmmword [rsp + 0x30], 0x4e
vpaddd xmm15, xmm12, xmm2
vpxor xmm1, xmm15, xmm1
vpsrld xmm2, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm1, xmm1, xmm2
vpshufd xmm2, xmmword [rsp + 0x40], 0x4e
vpaddd xmm10, xmm2, xmm5
vpxor xmm2, xmm10, xmm6
vpsrld xmm6, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm2, xmm2, xmm6
vpshufd xmm6, xmm7, 0x4e
vpaddd xmm9, xmm6, xmm4
vpxor xmm6, xmm9, xmm14
vpsrld xmm7, xmm6, 0x14
vpslld xmm6, xmm6, 0xc
vpor xmm14, xmm6, xmm7
vpshufd xmm6, xmm13, 0x4e
vpaddd xmm7, xmm6, xmm0
vpxor xmm0, xmm7, xmm3
vpsrld xmm6, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm13, xmm0, xmm6
vpaddd xmm0, xmm11, xmm1
vmovdqa xmmword [rsp + 0x40], xmm0
vpxor xmm0, xmm12, xmm0
vpshufb xmm0, xmm0, xmm8
vmovdqa xmmword [rsp + 0x30], xmm0
vpaddd xmm12, xmm15, xmm0
vpxor xmm0, xmm12, xmm1
vpsrld xmm1, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm11, xmm0, xmm1
vpaddd xmm6, xmm2, xmmword [rsp]
vpxor xmm1, xmm5, xmm6
vpshufb xmm1, xmm1, xmm8
vpaddd xmm3, xmm10, xmm1
vpxor xmm2, xmm3, xmm2
vpsrld xmm5, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm2, xmm2, xmm5
vpaddd xmm0, xmm14, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x10], xmm0
vpxor xmm4, xmm4, xmm0
vpshufb xmm5, xmm4, xmm8
vpaddd xmm9, xmm9, xmm5
vpxor xmm4, xmm9, xmm14
vpsrld xmm10, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm10, xmm10, xmm4
vpaddd xmm4, xmm13, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm4
vpxor xmm4, xmm4, xmmword [rsp + 0xb0]
vpshufb xmm8, xmm4, xmm8
vpaddd xmm15, xmm8, xmm7
vpxor xmm4, xmm15, xmm13
vpsrld xmm7, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm7, xmm4, xmm7
vpshufd xmm4, xmm11, 0x93
vpshufd xmm2, xmm2, 0x93
vpshufd xmm14, xmm10, 0x93
vpshufd xmm10, xmm7, 0x93
vpshufd xmm7, xmm12, 0x4e
vpshufd xmm13, xmm3, 0x4e
vpshufd xmm0, xmm9, 0x4e
vmovdqa xmmword [rsp], xmm0
vmovdqa xmm9, xmmword [rsp + 0x40]
vpshufd xmm11, xmm15, 0x4e
vmovdqa xmm0, xmm6
vpshufd xmm6, xmmword [rsp + 0x30], 0x39
vpshufd xmm1, xmm1, 0x39
vpshufd xmm15, xmm5, 0x39
vpshufd xmm12, xmm8, 0x39
dec r8d
jne 0x1400b1763
vmovdqa xmmword [rsp + 0xc0], xmm9
vmovdqa xmmword [rsp + 0xd0], xmm0
vmovaps xmm0, xmmword [rsp + 0x10]
vmovaps xmmword [rsp + 0xe0], xmm0
vmovdqa xmm3, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0xf0], xmm3
vmovdqa xmmword [rsp + 0x100], xmm4
vmovdqa xmmword [rsp + 0x110], xmm2
vmovdqa xmmword [rsp + 0x120], xmm14
vmovdqa xmmword [rsp + 0x130], xmm10
vmovdqa xmmword [rsp + 0x140], xmm7
vmovdqa xmmword [rsp + 0x150], xmm13
vmovaps xmm0, xmmword [rsp]
vmovaps xmmword [rsp + 0x160], xmm0
vmovdqa xmmword [rsp + 0x170], xmm11
vmovdqa xmmword [rsp + 0x180], xmm6
vmovdqa xmmword [rsp + 0x190], xmm1
vmovdqa xmmword [rsp + 0x1a0], xmm15
vmovdqa xmmword [rsp + 0x1b0], xmm12
vmovdqa xmm0, xmmword [rsp + 0x90]
vmovdqa xmmword [rsp + 0x1c0], xmm0
vmovaps xmm1, xmmword [rsp + 0x70]
vmovaps xmmword [rsp + 0x1d0], xmm1
vmovaps xmm1, xmmword [rsp + 0x60]
vmovaps xmmword [rsp + 0x1e0], xmm1
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm0, xmm0, eax, 0
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmm1, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x1f0], xmm1
vmovdqa xmmword [rcx + 0x20], xmm0
xor eax, eax
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vmovdqa xmm5, xmmword [rsp + 0xa0]
vmovdqa xmm6, xmmword [rsp + 0x80]
vmovdqa xmm1, xmmword [rsp + rax + 0x1c0]
vpaddd xmm2, xmm0, xmmword [rsp + rax + 0xc0]
vpaddd xmm3, xmm5, xmmword [rsp + rax + 0x100]
vpaddd xmm4, xmm6, xmmword [rsp + rax + 0x140]
vpaddd xmm1, xmm1, xmmword [rsp + rax + 0x180]
vmovdqu xmmword [rdx + rax*4], xmm2
vmovdqu xmmword [rdx + rax*4 + 0x10], xmm3
vmovdqu xmmword [rdx + rax*4 + 0x20], xmm4
vmovdqu xmmword [rdx + rax*4 + 0x30], xmm1
add rax, 0x10
cmp rax, 0x40
jne 0x1400b1c1e
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x200]
vmovaps xmm7, xmmword [rsp + 0x210]
vmovaps xmm8, xmmword [rsp + 0x220]
vmovaps xmm9, xmmword [rsp + 0x230]
vmovaps xmm10, xmmword [rsp + 0x240]
vmovaps xmm11, xmmword [rsp + 0x250]
vmovaps xmm12, xmmword [rsp + 0x260]
vmovaps xmm13, xmmword [rsp + 0x270]
vmovaps xmm14, xmmword [rsp + 0x280]
vmovaps xmm15, xmmword [rsp + 0x290]
add rsp, 0x2a8
ret
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm15
movaps xmmword [rsp + 0x270], xmm14
movaps xmmword [rsp + 0x260], xmm13
movaps xmmword [rsp + 0x250], xmm12
movaps xmmword [rsp + 0x240], xmm11
movaps xmmword [rsp + 0x230], xmm10
movaps xmmword [rsp + 0x220], xmm9
movaps xmmword [rsp + 0x210], xmm8
movaps xmmword [rsp + 0x200], xmm7
movdqa xmmword [rsp + 0x1f0], xmm6
movdqa xmm4, xmmword [rcx]
movdqa xmm12, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
movdqa xmm13, xmm12
pinsrd xmm13, r8d, 0
shr r8, 0x20
pinsrd xmm13, r8d, 1
lea r8, [rax + 2]
movdqa xmm14, xmm12
pinsrd xmm14, r8d, 0
shr r8, 0x20
pinsrd xmm14, r8d, 1
lea r8, [rax + 3]
movdqa xmm15, xmm12
pinsrd xmm15, r8d, 0
shr r8, 0x20
pinsrd xmm15, r8d, 1
movdqa xmm10, xmmword [rcx + 0x10]
movdqa xmm9, xmmword [str.expand_32_byte_k]
mov r8d, 6
movdqa xmm7, xmm9
movdqa xmm8, xmm9
movdqa xmmword [rsp], xmm9
movdqa xmm0, xmm4
movdqa xmm1, xmm4
movdqa xmm3, xmm4
movdqa xmmword [rsp + 0x80], xmm4
movdqa xmm2, xmm10
movdqa xmm5, xmm10
movdqa xmm11, xmm10
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x70], xmm12
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmmword [rsp + 0x40], xmm14
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmm6, xmmword [rsp]
paddd xmm6, xmm0
movdqa xmmword [rsp], xmm6
paddd xmm7, xmm1
paddd xmm8, xmm3
paddd xmm9, xmm4
pxor xmm12, xmm6
pxor xmm13, xmm7
pxor xmm14, xmm8
pxor xmm15, xmm9
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
movdqa xmmword [rsp + 0x20], xmm12
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm6, xmm13, 0xb1
movdqa xmmword [rsp + 0x10], xmm6
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
paddd xmm2, xmm12
paddd xmm5, xmm6
paddd xmm11, xmm14
paddd xmm10, xmm15
pxor xmm0, xmm2
movdqa xmm6, xmm0
psrld xmm6, 0x14
pslld xmm0, 0xc
por xmm0, xmm6
pxor xmm1, xmm5
movdqa xmm6, xmm1
psrld xmm6, 0x14
pslld xmm1, 0xc
por xmm1, xmm6
pxor xmm3, xmm11
movdqa xmm6, xmm3
psrld xmm6, 0x14
pslld xmm3, 0xc
por xmm3, xmm6
pxor xmm4, xmm10
movdqa xmm6, xmm4
psrld xmm6, 0x14
pslld xmm4, 0xc
por xmm4, xmm6
movdqa xmm6, xmmword [rsp]
paddd xmm6, xmm0
movdqa xmmword [rsp], xmm6
paddd xmm7, xmm1
paddd xmm8, xmm3
paddd xmm9, xmm4
movdqa xmm13, xmmword [0x14023fe20]
pshufb xmm6, xmm13
movdqa xmm12, xmmword [rsp + 0x20]
pshufb xmm12, xmm13
pxor xmm12, xmm6
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmm6, xmm7
pshufb xmm6, xmm13
movdqa xmm12, xmmword [rsp + 0x10]
pshufb xmm12, xmm13
pxor xmm12, xmm6
movdqa xmmword [rsp + 0x10], xmm12
movdqa xmm6, xmm8
pshufb xmm6, xmm13
pshufb xmm14, xmm13
pxor xmm14, xmm6
movdqa xmm6, xmm9
pshufb xmm6, xmm13
pshufb xmm15, xmm13
pxor xmm15, xmm6
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm2, xmm13
paddd xmm5, xmm12
paddd xmm11, xmm14
paddd xmm10, xmm15
pxor xmm0, xmm2
pxor xmm1, xmm5
pxor xmm3, xmm11
pxor xmm4, xmm10
movdqa xmm6, xmm0
psrld xmm6, 0x19
pslld xmm0, 7
por xmm0, xmm6
movdqa xmm6, xmm1
psrld xmm6, 0x19
pslld xmm1, 7
por xmm1, xmm6
movdqa xmm6, xmm3
psrld xmm6, 0x19
pslld xmm3, 7
por xmm3, xmm6
movdqa xmm6, xmm4
psrld xmm6, 0x19
pslld xmm4, 7
por xmm4, xmm6
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm2, xmm2, 0x4e
movdqa xmmword [rsp + 0x90], xmm2
pshufd xmm2, xmm5, 0x4e
movdqa xmmword [rsp + 0xa0], xmm2
pshufd xmm11, xmm11, 0x4e
pshufd xmm10, xmm10, 0x4e
movdqa xmm2, xmmword [rsp]
paddd xmm2, xmm0
movdqa xmmword [rsp], xmm2
paddd xmm7, xmm1
paddd xmm8, xmm3
paddd xmm9, xmm4
pshuflw xmm6, xmm2, 0xb1
pshufhw xmm6, xmm6, 0xb1
movdqa xmm12, xmmword [0x14023fe30]
pshufb xmm13, xmm12
pxor xmm13, xmm6
pshuflw xmm6, xmm7, 0xb1
pshufhw xmm6, xmm6, 0xb1
movdqa xmm5, xmmword [rsp + 0x10]
pshufb xmm5, xmm12
pxor xmm5, xmm6
movdqa xmmword [rsp + 0x10], xmm5
pshuflw xmm6, xmm8, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshufb xmm14, xmm12
pxor xmm14, xmm6
pshuflw xmm6, xmm9, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshufb xmm15, xmm12
pxor xmm15, xmm6
movdqa xmm2, xmmword [rsp + 0x90]
paddd xmm2, xmm13
movdqa xmm6, xmmword [rsp + 0xa0]
paddd xmm6, xmm5
paddd xmm11, xmm14
paddd xmm10, xmm15
pxor xmm0, xmm2
pxor xmm1, xmm6
movdqa xmm5, xmm6
pxor xmm3, xmm11
pxor xmm4, xmm10
movdqa xmm6, xmm0
psrld xmm6, 0x14
pslld xmm0, 0xc
por xmm0, xmm6
movdqa xmm6, xmm1
psrld xmm6, 0x14
pslld xmm1, 0xc
por xmm1, xmm6
movdqa xmm6, xmm3
psrld xmm6, 0x14
pslld xmm3, 0xc
por xmm3, xmm6
movdqa xmm6, xmm4
psrld xmm6, 0x14
pslld xmm4, 0xc
por xmm4, xmm6
movdqa xmm6, xmmword [rsp]
paddd xmm6, xmm0
paddd xmm7, xmm1
paddd xmm8, xmm3
paddd xmm9, xmm4
movdqa xmmword [rsp], xmm6
pxor xmm13, xmm6
movdqa xmm12, xmm13
movdqa xmm6, xmmword [0x14023fe20]
pshufb xmm12, xmm6
movdqa xmm13, xmmword [rsp + 0x10]
pxor xmm13, xmm7
pshufb xmm13, xmm6
pxor xmm14, xmm8
pshufb xmm14, xmm6
pxor xmm15, xmm9
pshufb xmm15, xmm6
paddd xmm2, xmm12
paddd xmm5, xmm13
paddd xmm11, xmm14
paddd xmm10, xmm15
pxor xmm0, xmm2
pxor xmm1, xmm5
pxor xmm3, xmm11
pxor xmm4, xmm10
movdqa xmm6, xmm0
psrld xmm6, 0x19
pslld xmm0, 7
por xmm0, xmm6
movdqa xmm6, xmm1
psrld xmm6, 0x19
pslld xmm1, 7
por xmm1, xmm6
movdqa xmm6, xmm3
psrld xmm6, 0x19
pslld xmm3, 7
por xmm3, xmm6
movdqa xmm6, xmm4
psrld xmm6, 0x19
pslld xmm4, 7
por xmm4, xmm6
pshufd xmm0, xmm0, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm2, xmm2, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm11, xmm11, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
dec r8d
jne 0x1400b1dfc
movaps xmm6, xmmword [rsp]
movaps xmmword [rsp + 0xb0], xmm6
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0xd0], xmm8
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0x100], xmm1
movdqa xmmword [rsp + 0x110], xmm3
movdqa xmmword [rsp + 0x120], xmm4
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x140], xmm5
movdqa xmmword [rsp + 0x150], xmm11
movdqa xmmword [rsp + 0x160], xmm10
movdqa xmmword [rsp + 0x170], xmm12
movdqa xmmword [rsp + 0x180], xmm13
movdqa xmmword [rsp + 0x190], xmm14
movdqa xmmword [rsp + 0x1a0], xmm15
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x1b0], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x1d0], xmm1
add rax, 4
mov r8, rax
shr r8, 0x20
pinsrd xmm0, eax, 0
pinsrd xmm0, r8d, 1
movdqa xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x1e0], xmm1
movdqa xmmword [rcx + 0x20], xmm0
xor eax, eax
movdqa xmm0, xmmword [str.expand_32_byte_k]
movdqa xmm5, xmmword [rsp + 0x80]
movdqa xmm6, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + rax + 0x1b0]
movdqa xmm2, xmmword [rsp + rax + 0xb0]
paddd xmm2, xmm0
movdqa xmm3, xmmword [rsp + rax + 0xf0]
paddd xmm3, xmm5
movdqa xmm4, xmmword [rsp + rax + 0x130]
paddd xmm4, xmm6
paddd xmm1, xmmword [rsp + rax + 0x170]
movdqu xmmword [rdx + rax*4], xmm2
movdqu xmmword [rdx + rax*4 + 0x10], xmm3
movdqu xmmword [rdx + rax*4 + 0x20], xmm4
movdqu xmmword [rdx + rax*4 + 0x30], xmm1
add rax, 0x10
cmp rax, 0x40
jne 0x1400b2341
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
ret
sub rsp, 0x288
movaps xmmword [rsp + 0x270], xmm15
movaps xmmword [rsp + 0x260], xmm14
movaps xmmword [rsp + 0x250], xmm13
movaps xmmword [rsp + 0x240], xmm12
movaps xmmword [rsp + 0x230], xmm11
movaps xmmword [rsp + 0x220], xmm10
movaps xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
movdqa xmm6, xmmword [rcx]
movdqa xmm11, xmmword [rcx + 0x10]
movdqa xmm13, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
movd xmm14, r8d
shr r8, 0x20
movdqa xmm2, xmm13
pslldq xmm2, 8
shufps xmm2, xmm13, 0xe8
movd xmm0, r8d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm14, xmm1
lea r8, [rax + 2]
movd xmm15, r8d
shr r8, 0x20
movd xmm0, r8d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
lea r8, [rax + 3]
movd xmm7, r8d
shr r8, 0x20
movd xmm0, r8d
movaps xmmword [rsp + 0x40], xmm2
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm7, xmm1
movdqa xmm10, xmmword [str.expand_32_byte_k]
mov r8d, 6
movdqa xmm8, xmm10
movdqa xmm9, xmm10
movdqa xmmword [rsp + 0x10], xmm10
movdqa xmm0, xmm6
movdqa xmm3, xmm6
movdqa xmm4, xmm6
movdqa xmmword [rsp + 0x90], xmm6
movdqa xmm1, xmm11
movdqa xmm5, xmm11
movdqa xmm12, xmm11
movdqa xmmword [rsp + 0x80], xmm11
movaps xmmword [rsp + 0x70], xmm13
movdqa xmmword [rsp + 0x60], xmm14
movdqa xmmword [rsp + 0x50], xmm15
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm2, xmm7
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
movdqa xmmword [rsp + 0x10], xmm7
paddd xmm8, xmm3
paddd xmm9, xmm4
paddd xmm10, xmm6
pxor xmm13, xmm7
pxor xmm14, xmm8
pxor xmm15, xmm9
pxor xmm2, xmm10
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm7, xmm13, 0xb1
movdqa xmmword [rsp], xmm7
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm2, xmm2, 0xb1
movdqa xmmword [rsp + 0x20], xmm2
paddd xmm1, xmm7
paddd xmm5, xmm14
paddd xmm12, xmm15
paddd xmm11, xmm2
pxor xmm0, xmm1
movdqa xmm7, xmm0
psrld xmm7, 0x14
pslld xmm0, 0xc
por xmm0, xmm7
pxor xmm3, xmm5
movdqa xmm7, xmm3
psrld xmm7, 0x14
pslld xmm3, 0xc
por xmm3, xmm7
pxor xmm4, xmm12
movdqa xmm7, xmm4
psrld xmm7, 0x14
pslld xmm4, 0xc
por xmm4, xmm7
pxor xmm6, xmm11
movdqa xmm7, xmm6
psrld xmm7, 0x14
pslld xmm6, 0xc
por xmm6, xmm7
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
movdqa xmmword [rsp + 0x10], xmm7
paddd xmm8, xmm3
paddd xmm9, xmm4
paddd xmm10, xmm6
movdqa xmm2, xmmword [0x14023fe20]
pshufb xmm7, xmm2
movdqa xmm13, xmmword [rsp]
pshufb xmm13, xmm2
pxor xmm13, xmm7
movdqa xmmword [rsp], xmm13
movdqa xmm7, xmm8
pshufb xmm7, xmm2
pshufb xmm14, xmm2
pxor xmm14, xmm7
movdqa xmm7, xmm9
pshufb xmm7, xmm2
pshufb xmm15, xmm2
pxor xmm15, xmm7
movdqa xmm7, xmm10
pshufb xmm7, xmm2
movdqa xmm13, xmmword [rsp + 0x20]
pshufb xmm13, xmm2
pxor xmm13, xmm7
movdqa xmm2, xmm13
paddd xmm1, xmmword [rsp]
paddd xmm5, xmm14
paddd xmm12, xmm15
paddd xmm11, xmm13
pxor xmm0, xmm1
pxor xmm3, xmm5
pxor xmm4, xmm12
pxor xmm6, xmm11
movdqa xmm7, xmm0
psrld xmm7, 0x19
pslld xmm0, 7
por xmm0, xmm7
movdqa xmm7, xmm3
psrld xmm7, 0x19
pslld xmm3, 7
por xmm3, xmm7
movdqa xmm7, xmm4
psrld xmm7, 0x19
pslld xmm4, 7
por xmm4, xmm7
movdqa xmm7, xmm6
psrld xmm7, 0x19
pslld xmm6, 7
por xmm6, xmm7
pshufd xmm0, xmm0, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp + 0x20], xmm1
pshufd xmm5, xmm5, 0x4e
pshufd xmm12, xmm12, 0x4e
pshufd xmm11, xmm11, 0x4e
movdqa xmm1, xmmword [rsp + 0x10]
paddd xmm1, xmm0
movdqa xmmword [rsp + 0x10], xmm1
paddd xmm8, xmm3
paddd xmm9, xmm4
paddd xmm10, xmm6
pshuflw xmm7, xmm1, 0xb1
pshufhw xmm7, xmm7, 0xb1
movdqa xmm13, xmmword [0x14023fe30]
movdqa xmm1, xmmword [rsp]
pshufb xmm1, xmm13
pxor xmm1, xmm7
pshuflw xmm7, xmm8, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm14, xmm13
pxor xmm14, xmm7
pshuflw xmm7, xmm9, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm15, xmm13
pxor xmm15, xmm7
pshuflw xmm7, xmm10, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm2, xmm13
pxor xmm2, xmm7
movdqa xmm7, xmmword [rsp + 0x20]
paddd xmm7, xmm1
movdqa xmmword [rsp + 0x20], xmm7
paddd xmm5, xmm14
paddd xmm12, xmm15
paddd xmm11, xmm2
pxor xmm0, xmm7
pxor xmm3, xmm5
pxor xmm4, xmm12
pxor xmm6, xmm11
movdqa xmm7, xmm0
psrld xmm7, 0x14
pslld xmm0, 0xc
por xmm0, xmm7
movdqa xmm7, xmm3
psrld xmm7, 0x14
pslld xmm3, 0xc
por xmm3, xmm7
movdqa xmm7, xmm4
psrld xmm7, 0x14
pslld xmm4, 0xc
por xmm4, xmm7
movdqa xmm7, xmm6
psrld xmm7, 0x14
pslld xmm6, 0xc
por xmm6, xmm7
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
paddd xmm8, xmm3
paddd xmm9, xmm4
paddd xmm10, xmm6
movdqa xmmword [rsp + 0x10], xmm7
pxor xmm1, xmm7
movdqa xmm13, xmm1
movdqa xmm1, xmmword [0x14023fe20]
pshufb xmm13, xmm1
pxor xmm14, xmm8
pshufb xmm14, xmm1
pxor xmm15, xmm9
pshufb xmm15, xmm1
pxor xmm2, xmm10
pshufb xmm2, xmm1
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm13
paddd xmm5, xmm14
paddd xmm12, xmm15
paddd xmm11, xmm2
pxor xmm0, xmm1
pxor xmm3, xmm5
pxor xmm4, xmm12
pxor xmm6, xmm11
movdqa xmm7, xmm0
psrld xmm7, 0x19
pslld xmm0, 7
por xmm0, xmm7
movdqa xmm7, xmm3
psrld xmm7, 0x19
pslld xmm3, 7
por xmm3, xmm7
movdqa xmm7, xmm4
psrld xmm7, 0x19
pslld xmm4, 7
por xmm4, xmm7
movdqa xmm7, xmm6
psrld xmm7, 0x19
pslld xmm6, 7
por xmm6, xmm7
pshufd xmm0, xmm0, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm6, xmm6, 0x93
pshufd xmm1, xmm1, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm12, xmm12, 0x4e
pshufd xmm11, xmm11, 0x4e
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm2, xmm2, 0x39
dec r8d
jne 0x1400b2565
add rax, 4
mov r8, rax
shr r8, 0x20
movd xmm7, r8d
por xmm7, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmmword [rsp], xmm7
movdqa xmm7, xmmword [rsp]
pslldq xmm7, 8
movdqa xmmword [rsp], xmm7
movaps xmm7, xmmword [rsp]
shufps xmm7, xmmword [rsp + 0x20], 0xe8
movaps xmmword [rsp], xmm7
movd xmm7, eax
por xmm7, xmmword [rsp]
movdqa xmmword [rsp], xmm7
movaps xmm7, xmmword [rsp + 0x10]
movaps xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmmword [rsp + 0xf0], xmm3
movdqa xmmword [rsp + 0x100], xmm4
movdqa xmmword [rsp + 0x110], xmm6
movdqa xmmword [rsp + 0x120], xmm1
movdqa xmmword [rsp + 0x130], xmm5
movdqa xmmword [rsp + 0x140], xmm12
movdqa xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x160], xmm13
movdqa xmmword [rsp + 0x170], xmm14
movdqa xmmword [rsp + 0x180], xmm15
movdqa xmmword [rsp + 0x190], xmm2
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp]
movaps xmmword [rcx + 0x20], xmm0
xor eax, eax
movdqa xmm0, xmmword [str.expand_32_byte_k]
movdqa xmm5, xmmword [rsp + 0x90]
movdqa xmm6, xmmword [rsp + 0x80]
movdqa xmm1, xmmword [rsp + rax + 0x1a0]
movdqa xmm2, xmmword [rsp + rax + 0xa0]
paddd xmm2, xmm0
movdqa xmm3, xmmword [rsp + rax + 0xe0]
paddd xmm3, xmm5
movdqa xmm4, xmmword [rsp + rax + 0x120]
paddd xmm4, xmm6
paddd xmm1, xmmword [rsp + rax + 0x160]
movdqu xmmword [rdx + rax*4], xmm2
movdqu xmmword [rdx + rax*4 + 0x10], xmm3
movdqu xmmword [rdx + rax*4 + 0x20], xmm4
movdqu xmmword [rdx + rax*4 + 0x30], xmm1
add rax, 0x10
cmp rax, 0x40
jne 0x1400b2ab8
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
movaps xmm10, xmmword [rsp + 0x220]
movaps xmm11, xmmword [rsp + 0x230]
movaps xmm12, xmmword [rsp + 0x240]
movaps xmm13, xmmword [rsp + 0x250]
movaps xmm14, xmmword [rsp + 0x260]
movaps xmm15, xmmword [rsp + 0x270]
add rsp, 0x288
ret