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

Disassembly:
push r14
push rsi
push rdi
push rbx
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, r8
mov ebx, edx
mov rdi, rcx
mov r14, qword [0x1400a3048]
mov rax, qword [r14]
test rax, rax
je 0x1400788e2
and eax, 0x8000
xor ecx, ecx
or rax, rcx
je 0x1400787d0
mov rcx, rdi
mov edx, ebx
mov r8, 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 rbx
pop rdi
pop rsi
pop r14
jmp 0x1400791a3
mov rax, qword [r14]
test rax, rax
je 0x140078975
and eax, 0x4000
xor ecx, ecx
or rax, rcx
je 0x140078859
mov rcx, rdi
mov edx, ebx
mov r8, 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 rbx
pop rdi
pop rsi
pop r14
jmp 0x1400795b2
mov rax, qword [r14]
test rax, rax
je 0x140078f55
and eax, 0x400
xor ecx, ecx
or rax, rcx
je 0x1400788ec
mov rcx, rdi
mov edx, ebx
mov r8, 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 rbx
pop rdi
pop rsi
pop r14
jmp 0x140079caa
call fcn.14007fcc0
jmp 0x140078753
mov rax, qword [r14]
test rax, rax
je 0x140079199
and eax, 0x200
xor ecx, ecx
or rax, rcx
je 0x14007897f
mov rcx, rdi
mov edx, ebx
mov r8, 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 rbx
pop rdi
pop rsi
pop r14
jmp 0x14007a3f7
call fcn.14007fcc0
jmp 0x1400787dc
movdqa xmm12, xmmword [rdi]
movdqa xmm15, xmmword [rdi + 0x10]
movdqa xmm2, xmmword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
lea rcx, [rax + 1]
movd xmm4, ecx
shr rcx, 0x20
movd xmm0, ecx
movdqa xmm1, xmm2
pslldq xmm1, 8
shufps xmm1, xmm2, 0xe8
movaps xmmword [rsp + 0x60], xmm1
por xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm4, xmm1
lea rcx, [rax + 2]
movd xmm6, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm2, 0xe8
por xmm6, xmm0
lea rcx, [rax + 3]
movd xmm1, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm2, 0xe8
por xmm1, xmm0
movdqa xmm9, xmmword [str.expand_32_byte_k]
test ebx, ebx
movdqa xmmword [rsp + 0xb0], xmm12
movdqa xmmword [rsp + 0xa0], xmm15
movaps xmmword [rsp + 0x90], xmm2
movdqa xmmword [rsp + 0x80], xmm4
movdqa xmmword [rsp + 0x70], xmm6
movdqa xmmword [rsp + 0x50], xmm1
je 0x140078f5f
movdqa xmm9, xmmword [str.expand_32_byte_k]
movdqa xmm11, xmm9
movdqa xmm10, xmm9
movdqa xmm8, xmm9
movdqa xmm7, xmm12
movdqa xmm5, xmm12
movdqa xmm3, xmm12
movdqa xmm0, xmm12
movdqa xmm14, xmm15
movdqa xmm13, xmm15
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmm12, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm14
paddd xmm9, xmm7
paddd xmm11, xmm5
paddd xmm10, xmm3
paddd xmm8, xmm0
pxor xmm2, xmm9
pxor xmm4, xmm11
pxor xmm6, xmm10
pxor xmm1, xmm8
movdqa xmm14, xmm1
pshuflw xmm1, xmm2, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshuflw xmm2, xmm4, 0xb1
pshufhw xmm2, xmm2, 0xb1
pshuflw xmm4, xmm6, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshuflw xmm6, xmm14, 0xb1
pshufhw xmm6, xmm6, 0xb1
paddd xmm15, xmm1
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmm14, xmmword [rsp + 0x20]
paddd xmm14, xmm2
paddd xmm13, xmm4
movdqa xmmword [rsp + 0x20], xmm13
paddd xmm12, xmm6
pxor xmm7, xmm15
movdqa xmm15, xmm12
movdqa xmm12, xmm7
psrld xmm12, 0x14
pslld xmm7, 0xc
por xmm7, xmm12
pxor xmm5, xmm14
movdqa xmm12, xmm5
psrld xmm12, 0x14
pslld xmm5, 0xc
por xmm5, xmm12
pxor xmm3, xmm13
movdqa xmm12, xmm3
psrld xmm12, 0x14
pslld xmm3, 0xc
por xmm3, xmm12
pxor xmm0, xmm15
movdqa xmm13, xmm15
movdqa xmm12, xmm0
psrld xmm12, 0x14
pslld xmm0, 0xc
por xmm0, xmm12
paddd xmm9, xmm7
paddd xmm11, xmm5
paddd xmm10, xmm3
paddd xmm8, xmm0
pxor xmm1, xmm9
movdqa xmm12, xmm1
psrld xmm12, 0x18
pslld xmm1, 8
por xmm1, xmm12
pxor xmm2, xmm11
movdqa xmm12, xmm2
psrld xmm12, 0x18
pslld xmm2, 8
por xmm2, xmm12
pxor xmm4, xmm10
movdqa xmm12, xmm4
psrld xmm12, 0x18
pslld xmm4, 8
por xmm4, xmm12
pxor xmm6, xmm8
movdqa xmm12, xmm6
psrld xmm12, 0x18
pslld xmm6, 8
por xmm6, xmm12
movdqa xmm15, xmmword [rsp + 0x30]
paddd xmm15, xmm1
paddd xmm14, xmm2
movdqa xmm12, xmmword [rsp + 0x20]
paddd xmm12, xmm4
movdqa xmmword [rsp + 0x20], xmm12
paddd xmm13, xmm6
pxor xmm7, xmm15
pxor xmm5, xmm14
pxor xmm3, xmm12
pxor xmm0, xmm13
movdqa xmm12, xmm7
psrld xmm12, 0x19
pslld xmm7, 7
por xmm7, xmm12
movdqa xmm12, xmm5
psrld xmm12, 0x19
pslld xmm5, 7
por xmm5, xmm12
movdqa xmm12, xmm3
psrld xmm12, 0x19
pslld xmm3, 7
por xmm3, xmm12
movdqa xmm12, xmm0
psrld xmm12, 0x19
pslld xmm0, 7
por xmm0, xmm12
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm15, xmm15, 0x4e
pshufd xmm14, xmm14, 0x4e
pshufd xmm12, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x30], xmm12
pshufd xmm12, xmm13, 0x4e
movdqa xmmword [rsp + 0x20], xmm12
pshufd xmm1, xmm1, 0x93
pshufd xmm12, xmm2, 0x93
pshufd xmm2, xmm4, 0x93
movdqa xmmword [rsp + 0x40], xmm2
pshufd xmm13, xmm6, 0x93
paddd xmm9, xmm7
paddd xmm11, xmm5
paddd xmm10, xmm3
paddd xmm8, xmm0
pshuflw xmm2, xmm9, 0xb1
pshufhw xmm4, xmm2, 0xb1
pshuflw xmm1, xmm1, 0xb1
pshufhw xmm2, xmm1, 0xb1
pxor xmm2, xmm4
pshuflw xmm1, xmm11, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshuflw xmm4, xmm12, 0xb1
pshufhw xmm4, xmm4, 0xb1
pxor xmm4, xmm1
pshuflw xmm1, xmm10, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshuflw xmm6, xmmword [rsp + 0x40], 0xb1
pshufhw xmm6, xmm6, 0xb1
pxor xmm6, xmm1
pshuflw xmm1, xmm8, 0xb1
pshufhw xmm12, xmm1, 0xb1
pshuflw xmm1, xmm13, 0xb1
pshufhw xmm1, xmm1, 0xb1
pxor xmm1, xmm12
paddd xmm15, xmm2
paddd xmm14, xmm4
movdqa xmm13, xmmword [rsp + 0x30]
paddd xmm13, xmm6
movdqa xmm12, xmmword [rsp + 0x20]
paddd xmm12, xmm1
movdqa xmmword [rsp + 0x20], xmm12
pxor xmm7, xmm15
pxor xmm5, xmm14
pxor xmm3, xmm13
pxor xmm0, xmm12
movdqa xmm12, xmm7
psrld xmm12, 0x14
pslld xmm7, 0xc
por xmm7, xmm12
movdqa xmm12, xmm5
psrld xmm12, 0x14
pslld xmm5, 0xc
por xmm5, xmm12
movdqa xmm12, xmm3
psrld xmm12, 0x14
pslld xmm3, 0xc
por xmm3, xmm12
movdqa xmm12, xmm0
psrld xmm12, 0x14
pslld xmm0, 0xc
por xmm0, xmm12
paddd xmm9, xmm7
paddd xmm11, xmm5
paddd xmm10, xmm3
paddd xmm8, xmm0
pxor xmm2, xmm9
movdqa xmm12, xmm2
psrld xmm12, 0x18
pslld xmm2, 8
por xmm2, xmm12
pxor xmm4, xmm11
movdqa xmm12, xmm4
psrld xmm12, 0x18
pslld xmm4, 8
por xmm4, xmm12
pxor xmm6, xmm10
movdqa xmm12, xmm6
psrld xmm12, 0x18
pslld xmm6, 8
por xmm6, xmm12
pxor xmm1, xmm8
movdqa xmm12, xmm1
psrld xmm12, 0x18
pslld xmm1, 8
por xmm1, xmm12
paddd xmm15, xmm2
paddd xmm14, xmm4
paddd xmm13, xmm6
movdqa xmm12, xmmword [rsp + 0x20]
paddd xmm12, xmm1
movdqa xmmword [rsp + 0x20], xmm12
pxor xmm7, xmm15
pxor xmm5, xmm14
pxor xmm3, xmm13
pxor xmm0, xmm12
movdqa xmm12, xmm7
psrld xmm12, 0x19
pslld xmm7, 7
por xmm7, xmm12
movdqa xmm12, xmm5
psrld xmm12, 0x19
pslld xmm5, 7
por xmm5, xmm12
movdqa xmm12, xmm3
psrld xmm12, 0x19
pslld xmm3, 7
por xmm3, xmm12
movdqa xmm12, xmm0
psrld xmm12, 0x19
pslld xmm0, 7
por xmm0, xmm12
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm15, xmm15, 0x4e
pshufd xmm14, xmm14, 0x4e
pshufd xmm13, xmm13, 0x4e
pshufd xmm12, xmmword [rsp + 0x20], 0x4e
pshufd xmm2, xmm2, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm1, xmm1, 0x39
dec ebx
jne 0x140078a8a
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmmword [rsp + 0x40], xmm1
jmp 0x140078f99
call fcn.14007fcc0
jmp 0x140078865
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmm13, xmm15
movdqa xmm14, xmm15
movdqa xmm0, xmm12
movdqa xmm3, xmm12
movdqa xmm5, xmm12
movdqa xmm7, xmm12
movdqa xmm8, xmm9
movdqa xmm10, xmm9
movdqa xmm11, xmm9
add rax, 4
mov rcx, rax
shr rcx, 0x20
movd xmm12, ecx
por xmm12, xmmword [rsp + 0x60]
movdqa xmm1, xmm12
pslldq xmm1, 8
shufps xmm1, xmm12, 0xe8
movd xmm12, eax
movdqa xmmword [rsp + 0x20], xmm12
movaps xmm12, xmmword [rsp + 0x20]
orps xmm12, xmm1
movaps xmmword [rsp + 0x20], xmm12
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xd0], xmm11
movdqa xmmword [rsp + 0xe0], xmm10
movdqa xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0x110], xmm5
movdqa xmmword [rsp + 0x120], xmm3
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x140], xmm15
movdqa xmmword [rsp + 0x150], xmm14
movdqa xmmword [rsp + 0x160], xmm13
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x180], xmm2
movdqa xmmword [rsp + 0x190], xmm4
movdqa xmmword [rsp + 0x1a0], xmm6
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1f0], xmm0
movdqa xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rdi + 0x20], xmm0
xor eax, eax
movdqa xmm4, xmmword [rsp + 0xa0]
movdqa xmm5, xmmword [str.expand_32_byte_k]
movdqa xmm6, xmmword [rsp + 0xb0]
movdqa xmm0, xmmword [rsp + rax + 0x180]
movdqa xmm1, xmmword [rsp + rax + 0xc0]
paddd xmm1, xmm5
movdqa xmm2, xmmword [rsp + rax + 0x100]
paddd xmm2, xmm6
movdqa xmm3, xmmword [rsp + rax + 0x140]
paddd xmm3, xmm4
paddd xmm0, xmmword [rsp + rax + 0x1c0]
movdqu xmmword [rsi + rax*4], xmm1
movdqu xmmword [rsi + rax*4 + 0x10], xmm2
movdqu xmmword [rsi + rax*4 + 0x20], xmm3
movdqu xmmword [rsi + rax*4 + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x1400790da
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 rbx
pop rdi
pop rsi
pop r14
ret
call fcn.14007fcc0
jmp 0x1400788f8
sub rsp, 0x1f8
vmovdqa xmmword [rsp + 0x1e0], xmm15
vmovdqa 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 r9, [rax + 1]
vpinsrd xmm1, xmm0, r9d, 0
shr r9, 0x20
vpinsrd xmm3, xmm1, r9d, 1
lea r9, [rax + 2]
vpinsrd xmm1, xmm0, r9d, 0
shr r9, 0x20
vpinsrd xmm4, xmm1, r9d, 1
lea r9, [rax + 3]
vpinsrd xmm1, xmm0, r9d, 0
shr r9, 0x20
vpinsrd xmm5, xmm1, r9d, 1
vmovdqu ymm1, ymmword [rcx]
vmovdqu ymm2, ymmword [rcx + 0x10]
vinserti128 ymm8, ymm1, xmm1, 1
vinserti128 ymm9, ymm2, xmm2, 1
vinserti128 ymm10, ymm0, xmm3, 1
vinserti128 ymm11, ymm4, xmm5, 1
test edx, edx
je 0x14007946b
vmovdqa xmmword [rsp], xmm3
vbroadcasti128 ymm13, xmmword [str.expand_32_byte_k]
vbroadcasti128 ymm6, xmmword [0x14008d6e0]
vmovdqa ymm7, ymmword [0x14008d6c0]
vmovdqa ymm12, ymm13
vmovdqa ymm15, ymm9
vmovdqa ymm14, ymm8
vpaddd ymm13, ymm8, ymm13
vpaddd ymm12, ymm14, ymm12
vpxor ymm10, ymm10, ymm13
vpxor ymm11, ymm12, ymm11
vpshuflw ymm10, ymm10, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpshuflw ymm11, ymm11, 0xb1
vpshufhw ymm11, ymm11, 0xb1
vpaddd ymm9, ymm9, ymm10
vpaddd ymm15, ymm15, ymm11
vpxor ymm8, ymm9, ymm8
vpsrld ymm3, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm3, ymm8, ymm3
vpxor ymm8, ymm15, ymm14
vpsrld ymm14, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm14
vpaddd ymm13, ymm13, ymm3
vpaddd ymm12, ymm8, ymm12
vpshufb ymm14, ymm13, ymm6
vpshufb ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymm14
vpshufb ymm14, ymm12, ymm6
vpshufb ymm11, ymm11, ymm6
vpxor ymm11, ymm11, ymm14
vpaddd ymm9, ymm9, ymm10
vpaddd ymm14, ymm15, ymm11
vpxor ymm3, ymm9, ymm3
vpxor ymm8, ymm14, ymm8
vpsrld ymm15, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm15, ymm3
vpsrld ymm15, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm15
vpshufd ymm3, ymm3, 0x39
vpshufd ymm8, ymm8, 0x39
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm14, ymm14, 0x4e
vpaddd ymm13, ymm13, ymm3
vpaddd ymm12, ymm8, ymm12
vpshuflw ymm15, ymm13, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm10, ymm10, ymm7
vpxor ymm10, ymm10, ymm15
vpshuflw ymm15, ymm12, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm11, ymm11, ymm7
vpxor ymm11, ymm11, ymm15
vpaddd ymm9, ymm9, ymm10
vpaddd ymm14, ymm14, ymm11
vpxor ymm3, ymm9, ymm3
vpxor ymm8, ymm14, ymm8
vpsrld ymm15, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm3, ymm15, ymm3
vpsrld ymm15, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm15
vpaddd ymm13, ymm13, ymm3
vpaddd ymm12, ymm8, ymm12
vpxor ymm10, ymm10, ymm13
vpshufb ymm10, ymm10, ymm6
vpxor ymm11, ymm11, ymm12
vpshufb ymm11, ymm11, ymm6
vpaddd ymm9, ymm9, ymm10
vpaddd ymm15, ymm14, ymm11
vpxor ymm3, ymm9, ymm3
vpxor ymm8, ymm15, ymm8
vpsrld ymm14, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm14, ymm3
vpsrld ymm14, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm14, ymm8, ymm14
vpshufd ymm8, ymm3, 0x93
vpshufd ymm14, ymm14, 0x93
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm15, ymm15, 0x4e
vpshufd ymm10, ymm10, 0x39
vpshufd ymm11, ymm11, 0x39
dec edx
jne 0x1400792a0
vmovdqa ymm6, ymm9
vmovdqa ymm7, ymm8
vmovdqa ymm8, ymm14
vmovdqa ymm9, ymm15
vmovdqa xmm3, xmmword [rsp]
jmp 0x140079481
vbroadcasti128 ymm12, xmmword [str.expand_32_byte_k]
vmovdqa ymm7, ymm8
vmovdqa ymm6, ymm9
vmovdqa ymm13, ymm12
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm14, xmm0, eax, 0
vpinsrd xmm14, xmm14, edx, 1
vmovdqu ymmword [rsp + 0x50], ymm13
vmovdqu ymmword [rsp + 0x70], ymm12
vmovdqu ymmword [rsp + 0x90], ymm7
vmovdqu ymmword [rsp + 0xb0], ymm8
vmovdqu ymmword [rsp + 0xd0], ymm6
vmovdqu ymmword [rsp + 0xf0], ymm9
vmovdqu ymmword [rsp + 0x110], ymm10
vmovdqu ymmword [rsp + 0x130], ymm11
vmovdqa xmmword [rsp + 0x10], xmm0
vmovdqa xmmword [rsp + 0x20], xmm3
vmovdqa xmmword [rsp + 0x30], xmm4
vmovdqa xmmword [rsp + 0x40], xmm5
vmovdqa xmmword [rcx + 0x20], xmm14
xor eax, eax
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vmovdqa xmm3, xmmword [rsp + rax + 0x110]
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 + 0x10]
vmovdqu xmmword [r8 + rax*4], xmm4
vmovdqu xmmword [r8 + rax*4 + 0x10], xmm5
vmovdqu xmmword [r8 + rax*4 + 0x20], xmm6
vmovdqu xmmword [r8 + rax*4 + 0x30], xmm3
add rax, 0x10
cmp rax, 0x40
jne 0x140079501
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
vmovaps xmmword [rsp + 0x220], xmm8
vmovaps xmmword [rsp + 0x210], xmm7
vmovaps xmmword [rsp + 0x200], xmm6
vmovdqa xmm7, xmmword [rcx]
vmovdqa xmm1, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
vpinsrd xmm0, xmm1, r9d, 0
shr r9, 0x20
vpinsrd xmm5, xmm0, r9d, 1
vmovdqa xmm11, xmmword [rcx + 0x10]
lea r9, [rax + 2]
vpinsrd xmm0, xmm1, r9d, 0
shr r9, 0x20
vpinsrd xmm12, xmm0, r9d, 1
lea r9, [rax + 3]
vpinsrd xmm0, xmm1, r9d, 0
shr r9, 0x20
vpinsrd xmm0, xmm0, r9d, 1
test edx, edx
vmovdqa xmmword [rsp + 0xa0], xmm5
vmovdqa xmmword [rsp + 0x90], xmm0
je 0x140079aa7
vmovdqa xmm10, xmmword [str.expand_32_byte_k]
vmovdqa xmm13, xmm10
vmovdqa xmm8, xmm10
vmovdqa xmmword [rsp + 0x30], xmm10
vmovdqa xmm2, xmm7
vmovdqa xmm4, xmm0
vmovdqa xmm0, xmm7
vmovdqa xmm15, xmm7
vmovdqa xmmword [rsp + 0x80], xmm7
vmovdqa xmmword [rsp + 0x20], xmm7
vmovdqa xmm9, xmm11
vmovdqa xmm3, xmm11
vmovdqa xmmword [rsp], xmm11
vmovdqa xmmword [rsp + 0x70], xmm11
vmovdqa xmmword [rsp + 0x10], xmm11
vmovdqa xmmword [rsp + 0x60], xmm1
vmovdqa xmm6, xmm1
vmovdqa xmmword [rsp + 0x50], xmm12
vmovdqa xmm14, xmm12
vmovdqa xmm1, xmm4
vpaddd xmm10, xmm10, xmm2
vpxor xmm4, xmm10, xmm6
vpshuflw xmm4, xmm4, 0xb1
vpshufhw xmm12, xmm4, 0xb1
vpaddd xmm4, xmm9, xmm12
vmovdqa xmmword [rsp + 0xb0], xmm4
vpxor xmm2, xmm4, xmm2
vpsrld xmm4, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm7, xmm2, xmm4
vpaddd xmm11, xmm13, xmm0
vpxor xmm4, xmm11, xmm5
vpshuflw xmm4, xmm4, 0xb1
vpshufhw xmm4, xmm4, 0xb1
vpaddd xmm2, xmm3, xmm4
vmovdqa xmmword [rsp + 0x40], xmm2
vpxor xmm0, xmm2, xmm0
vpsrld xmm3, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm6, xmm0, xmm3
vpaddd xmm8, xmm15, xmm8
vpxor xmm0, xmm14, xmm8
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm9, xmm0, 0xb1
vpaddd xmm14, xmm9, xmmword [rsp]
vpxor xmm0, xmm14, xmm15
vpsrld xmm3, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm15, xmm0, xmm3
vmovdqa xmm0, xmmword [rsp + 0x20]
vpaddd xmm3, xmm0, xmmword [rsp + 0x30]
vpxor xmm1, xmm1, xmm3
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm2, xmm1, 0xb1
vpaddd xmm13, xmm2, xmmword [rsp + 0x10]
vpxor xmm1, xmm13, xmm0
vpsrld xmm0, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm5, xmm1, xmm0
vpaddd xmm0, xmm10, xmm7
vmovdqa xmmword [rsp + 0x30], xmm0
vmovdqa xmm10, xmmword [0x14008d6e0]
vpshufb xmm1, xmm12, xmm10
vpshufb xmm12, xmm0, xmm10
vpxor xmm12, xmm12, xmm1
vpaddd xmm1, xmm11, xmm6
vmovdqa xmmword [rsp + 0x10], xmm1
vpshufb xmm0, xmm4, xmm10
vpshufb xmm4, xmm1, xmm10
vpxor xmm11, xmm0, xmm4
vpaddd xmm8, xmm15, xmm8
vpshufb xmm0, xmm9, xmm10
vpshufb xmm4, xmm8, xmm10
vpxor xmm4, xmm0, xmm4
vpaddd xmm1, xmm5, xmm3
vmovdqa xmmword [rsp + 0x20], xmm1
vpshufb xmm0, xmm2, xmm10
vpshufb xmm2, xmm1, xmm10
vpxor xmm9, xmm0, xmm2
vpaddd xmm0, xmm12, xmmword [rsp + 0xb0]
vmovdqa xmmword [rsp], xmm0
vpxor xmm2, xmm0, xmm7
vpsrld xmm3, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm3, xmm2, xmm3
vpaddd xmm10, xmm11, xmmword [rsp + 0x40]
vpxor xmm6, xmm10, xmm6
vpsrld xmm7, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm2, xmm6, xmm7
vpaddd xmm7, xmm14, xmm4
vpxor xmm6, xmm15, xmm7
vpsrld xmm14, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm15, xmm14, xmm6
vpaddd xmm6, xmm13, xmm9
vpxor xmm1, xmm6, xmm5
vpsrld xmm5, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm1, xmm1, xmm5
vpshufd xmm14, xmm3, 0x39
vpaddd xmm0, xmm14, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vpshuflw xmm3, xmm0, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vmovdqa xmm0, xmmword [0x14008d6f0]
vpshufb xmm5, xmm12, xmm0
vpxor xmm12, xmm5, xmm3
vpshufd xmm5, xmm2, 0x39
vpaddd xmm3, xmm5, xmmword [rsp + 0x10]
vpshuflw xmm13, xmm3, 0xb1
vpshufhw xmm13, xmm13, 0xb1
vpshufb xmm11, xmm11, xmm0
vpxor xmm11, xmm11, xmm13
vpshufd xmm15, xmm15, 0x39
vpaddd xmm8, xmm15, xmm8
vmovdqa xmmword [rsp + 0x10], xmm8
vpshuflw xmm8, xmm8, 0xb1
vpshufhw xmm8, xmm8, 0xb1
vpshufb xmm4, xmm4, xmm0
vpxor xmm4, xmm8, xmm4
vpshufd xmm8, xmm1, 0x39
vpaddd xmm1, xmm8, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm1
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm1, xmm1, 0xb1
vpshufb xmm0, xmm9, xmm0
vpxor xmm1, xmm0, xmm1
vmovdqa xmmword [rsp + 0x40], xmm1
vpshufd xmm0, xmmword [rsp], 0x4e
vpaddd xmm13, xmm12, xmm0
vpxor xmm0, xmm13, xmm14
vpsrld xmm9, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm0, xmm9, xmm0
vpshufd xmm2, xmm10, 0x4e
vpaddd xmm2, xmm11, xmm2
vpxor xmm5, xmm2, xmm5
vpsrld xmm9, xmm5, 0x14
vpslld xmm5, xmm5, 0xc
vpor xmm9, xmm9, xmm5
vpshufd xmm5, xmm7, 0x4e
vpaddd xmm7, xmm5, xmm4
vpxor xmm5, xmm15, xmm7
vpsrld xmm14, xmm5, 0x14
vpslld xmm5, xmm5, 0xc
vpor xmm15, xmm14, xmm5
vpshufd xmm5, xmm6, 0x4e
vpaddd xmm5, xmm5, xmm1
vpxor xmm6, xmm8, xmm5
vpsrld xmm8, xmm6, 0x14
vpslld xmm6, xmm6, 0xc
vpor xmm14, xmm8, xmm6
vpaddd xmm10, xmm0, xmmword [rsp + 0x30]
vpxor xmm6, xmm12, xmm10
vmovdqa xmm1, xmmword [0x14008d6e0]
vpshufb xmm6, xmm6, xmm1
vpaddd xmm12, xmm13, xmm6
vpxor xmm0, xmm12, xmm0
vpsrld xmm8, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm8, xmm0
vmovdqa xmmword [rsp], xmm0
vpaddd xmm13, xmm9, xmm3
vpxor xmm3, xmm11, xmm13
vpshufb xmm11, xmm3, xmm1
vpaddd xmm3, xmm11, xmm2
vpxor xmm2, xmm9, xmm3
vpsrld xmm8, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm9, xmm8, xmm2
vpaddd xmm8, xmm15, xmmword [rsp + 0x10]
vpxor xmm2, xmm8, xmm4
vpshufb xmm4, xmm2, xmm1
vmovdqa xmm0, xmm1
vpaddd xmm7, xmm7, xmm4
vpxor xmm2, xmm15, xmm7
vpsrld xmm15, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm15, xmm15, xmm2
vpaddd xmm2, xmm14, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x30], xmm2
vpxor xmm1, xmm2, xmmword [rsp + 0x40]
vpshufb xmm1, xmm1, xmm0
vpaddd xmm5, xmm5, xmm1
vpxor xmm2, xmm14, xmm5
vpsrld xmm14, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm14, xmm14, xmm2
vpshufd xmm2, xmmword [rsp], 0x93
vpshufd xmm0, xmm9, 0x93
vpshufd xmm15, xmm15, 0x93
vpshufd xmm9, xmm14, 0x93
vmovdqa xmmword [rsp + 0x20], xmm9
vpshufd xmm9, xmm12, 0x4e
vpshufd xmm3, xmm3, 0x4e
vpshufd xmm7, xmm7, 0x4e
vmovdqa xmmword [rsp], xmm7
vpshufd xmm5, xmm5, 0x4e
vmovdqa xmmword [rsp + 0x10], xmm5
vpshufd xmm6, xmm6, 0x39
vpshufd xmm5, xmm11, 0x39
vpshufd xmm14, xmm4, 0x39
vpshufd xmm1, xmm1, 0x39
dec edx
jne 0x1400796e5
vmovdqa xmm7, xmmword [rsp + 0x80]
vmovdqa xmm11, xmmword [rsp + 0x70]
vmovdqa xmmword [rsp + 0x40], xmm1
vmovdqa xmm1, xmmword [rsp + 0x60]
vmovdqa xmm12, xmmword [rsp + 0x50]
vmovdqa xmm4, xmmword [rsp + 0x30]
jmp 0x140079af0
vmovdqa xmm4, xmmword [str.expand_32_byte_k]
vmovdqa xmmword [rsp + 0x40], xmm0
vmovdqa xmm14, xmm12
vmovdqa xmm6, xmm1
vmovdqa xmmword [rsp + 0x10], xmm11
vmovdqa xmmword [rsp], xmm11
vmovdqa xmm3, xmm11
vmovdqa xmm9, xmm11
vmovdqa xmmword [rsp + 0x20], xmm7
vmovdqa xmm15, xmm7
vmovdqa xmm0, xmm7
vmovdqa xmm2, xmm7
vmovdqa xmm8, xmm4
vmovdqa xmm13, xmm4
vmovdqa xmm10, xmm4
vmovdqa xmmword [rsp + 0xc0], xmm10
vmovdqa xmmword [rsp + 0xd0], xmm13
vmovdqa xmmword [rsp + 0xe0], xmm8
vmovdqa xmmword [rsp + 0xf0], xmm4
vmovdqa xmmword [rsp + 0x100], xmm2
vmovdqa xmmword [rsp + 0x110], xmm0
vmovdqa xmmword [rsp + 0x120], xmm15
vmovaps xmm0, xmmword [rsp + 0x20]
vmovaps xmmword [rsp + 0x130], xmm0
vmovdqa xmmword [rsp + 0x140], xmm9
vmovdqa xmmword [rsp + 0x150], xmm3
vmovaps xmm0, xmmword [rsp]
vmovaps xmmword [rsp + 0x160], xmm0
vmovaps xmm0, xmmword [rsp + 0x10]
vmovaps xmmword [rsp + 0x170], xmm0
vmovdqa xmmword [rsp + 0x180], xmm6
vmovdqa xmmword [rsp + 0x190], xmm5
vmovdqa xmmword [rsp + 0x1a0], xmm14
vmovaps xmm0, xmmword [rsp + 0x40]
vmovaps xmmword [rsp + 0x1b0], xmm0
vmovdqa xmmword [rsp + 0x1c0], xmm1
vmovaps xmm0, xmmword [rsp + 0xa0]
vmovaps xmmword [rsp + 0x1d0], xmm0
vmovdqa xmmword [rsp + 0x1e0], xmm12
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm0, xmm1, eax, 0
vpinsrd xmm0, xmm0, edx, 1
vmovdqa xmm1, xmmword [rsp + 0x90]
vmovdqa xmmword [rsp + 0x1f0], xmm1
vmovdqa xmmword [rcx + 0x20], xmm0
xor eax, eax
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vmovdqa xmm1, xmmword [rsp + rax + 0x180]
vpaddd xmm2, xmm0, xmmword [rsp + rax + 0xc0]
vpaddd xmm3, xmm7, xmmword [rsp + rax + 0x100]
vpaddd xmm4, xmm11, xmmword [rsp + rax + 0x140]
vpaddd xmm1, xmm1, xmmword [rsp + rax + 0x1c0]
vmovdqu xmmword [r8 + rax*4], xmm2
vmovdqu xmmword [r8 + rax*4 + 0x10], xmm3
vmovdqu xmmword [r8 + rax*4 + 0x20], xmm4
vmovdqu xmmword [r8 + rax*4 + 0x30], xmm1
add rax, 0x10
cmp rax, 0x40
jne 0x140079bf3
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, 0x278
movaps xmmword [rsp + 0x260], xmm15
movaps xmmword [rsp + 0x250], xmm14
movaps xmmword [rsp + 0x240], xmm13
movaps xmmword [rsp + 0x230], xmm12
movaps xmmword [rsp + 0x220], xmm11
movaps xmmword [rsp + 0x210], xmm10
movaps xmmword [rsp + 0x200], xmm9
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm6
movdqa xmm11, xmmword [rcx]
movdqa xmm1, xmmword [rcx + 0x10]
movdqa xmm13, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
movdqa xmm14, xmm13
pinsrd xmm14, r9d, 0
shr r9, 0x20
pinsrd xmm14, r9d, 1
lea r9, [rax + 2]
movdqa xmm15, xmm13
pinsrd xmm15, r9d, 0
shr r9, 0x20
pinsrd xmm15, r9d, 1
lea r9, [rax + 3]
movdqa xmm4, xmm13
pinsrd xmm4, r9d, 0
shr r9, 0x20
pinsrd xmm4, r9d, 1
movdqa xmm7, xmmword [str.expand_32_byte_k]
test edx, edx
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm13
movdqa xmmword [rsp + 0x50], xmm14
movdqa xmmword [rsp + 0x40], xmm15
movdqa xmmword [rsp + 0x30], xmm4
je 0x14007a20a
movdqa xmm7, xmmword [str.expand_32_byte_k]
movdqa xmm10, xmm7
movdqa xmm9, xmm7
movdqa xmm8, xmm7
movdqa xmm0, xmm11
movdqa xmm12, xmm11
movdqa xmm3, xmm11
movdqa xmm6, xmm1
movdqa xmm5, xmm1
movdqa xmm2, xmm1
paddd xmm7, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm8, xmm0
pxor xmm13, xmm7
pxor xmm14, xmm10
pxor xmm15, xmm9
pxor xmm4, xmm8
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
movdqa xmmword [rsp + 0x10], xmm13
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm4, xmm4, 0xb1
paddd xmm6, xmm13
paddd xmm5, xmm14
paddd xmm2, xmm15
movdqa xmmword [rsp + 0x20], xmm2
paddd xmm1, xmm4
pxor xmm11, xmm6
movdqa xmm13, xmm1
movdqa xmmword [rsp], xmm1
movdqa xmm1, xmm11
psrld xmm1, 0x14
pslld xmm11, 0xc
por xmm11, xmm1
pxor xmm12, xmm5
movdqa xmm1, xmm12
psrld xmm1, 0x14
pslld xmm12, 0xc
por xmm12, xmm1
pxor xmm3, xmm2
movdqa xmm1, xmm3
psrld xmm1, 0x14
pslld xmm3, 0xc
por xmm3, xmm1
pxor xmm0, xmm13
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
paddd xmm7, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm8, xmm0
movdqa xmm1, xmm7
movdqa xmm2, xmmword [0x14008d6e0]
pshufb xmm1, xmm2
movdqa xmm13, xmmword [rsp + 0x10]
pshufb xmm13, xmm2
pxor xmm13, xmm1
movdqa xmmword [rsp + 0x10], xmm13
movdqa xmm1, xmm10
pshufb xmm1, xmm2
pshufb xmm14, xmm2
pxor xmm14, xmm1
movdqa xmm1, xmm9
pshufb xmm1, xmm2
pshufb xmm15, xmm2
pxor xmm15, xmm1
movdqa xmm1, xmm8
pshufb xmm1, xmm2
pshufb xmm4, xmm2
pxor xmm4, xmm1
paddd xmm6, xmm13
paddd xmm5, xmm14
movdqa xmm2, xmmword [rsp + 0x20]
paddd xmm2, xmm15
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm4
pxor xmm11, xmm6
pxor xmm12, xmm5
pxor xmm3, xmm2
movdqa xmm13, xmm2
pxor xmm0, xmm1
movdqa xmm2, xmm1
movdqa xmm1, xmm11
psrld xmm1, 0x19
pslld xmm11, 7
por xmm11, xmm1
movdqa xmm1, xmm12
psrld xmm1, 0x19
pslld xmm12, 7
por xmm12, xmm1
movdqa xmm1, xmm3
psrld xmm1, 0x19
pslld xmm3, 7
por xmm3, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
pshufd xmm11, xmm11, 0x39
pshufd xmm12, xmm12, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm6, xmm6, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm1, xmm13, 0x4e
movdqa xmmword [rsp + 0x20], xmm1
pshufd xmm1, xmm2, 0x4e
movdqa xmmword [rsp], xmm1
paddd xmm7, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm8, xmm0
pshuflw xmm1, xmm7, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmm13, xmmword [0x14008d6f0]
movdqa xmm2, xmmword [rsp + 0x10]
pshufb xmm2, xmm13
pxor xmm2, xmm1
pshuflw xmm1, xmm10, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm14, xmm13
pxor xmm14, xmm1
pshuflw xmm1, xmm9, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm15, xmm13
pxor xmm15, xmm1
pshuflw xmm1, xmm8, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm4, xmm13
pxor xmm4, xmm1
paddd xmm6, xmm2
movdqa xmm13, xmm2
paddd xmm5, xmm14
movdqa xmm2, xmmword [rsp + 0x20]
paddd xmm2, xmm15
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm4
movdqa xmmword [rsp], xmm1
pxor xmm11, xmm6
pxor xmm12, xmm5
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqa xmm1, xmm11
psrld xmm1, 0x14
pslld xmm11, 0xc
por xmm11, xmm1
movdqa xmm1, xmm12
psrld xmm1, 0x14
pslld xmm12, 0xc
por xmm12, xmm1
movdqa xmm1, xmm3
psrld xmm1, 0x14
pslld xmm3, 0xc
por xmm3, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
paddd xmm7, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm8, xmm0
pxor xmm13, xmm7
movdqa xmm1, xmmword [0x14008d6e0]
pshufb xmm13, xmm1
movdqa xmmword [rsp + 0x10], xmm13
pxor xmm14, xmm10
pshufb xmm14, xmm1
pxor xmm15, xmm9
pshufb xmm15, xmm1
pxor xmm4, xmm8
pshufb xmm4, xmm1
paddd xmm6, xmm13
paddd xmm5, xmm14
paddd xmm2, xmm15
movdqa xmm13, xmmword [rsp]
paddd xmm13, xmm4
pxor xmm11, xmm6
pxor xmm12, xmm5
pxor xmm3, xmm2
pxor xmm0, xmm13
movdqa xmm1, xmm11
psrld xmm1, 0x19
pslld xmm11, 7
por xmm11, xmm1
movdqa xmm1, xmm12
psrld xmm1, 0x19
pslld xmm12, 7
por xmm12, xmm1
movdqa xmm1, xmm3
psrld xmm1, 0x19
pslld xmm3, 7
por xmm3, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
pshufd xmm11, xmm11, 0x93
pshufd xmm12, xmm12, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm6, xmm6, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm2, xmm2, 0x4e
pshufd xmm1, xmm13, 0x4e
pshufd xmm13, xmmword [rsp + 0x10], 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm4, xmm4, 0x39
dec edx
jne 0x140079ddb
jmp 0x14007a234
movdqa xmm2, xmm1
movdqa xmm5, xmm1
movdqa xmm6, xmm1
movdqa xmm0, xmm11
movdqa xmm3, xmm11
movdqa xmm12, xmm11
movdqa xmm8, xmm7
movdqa xmm9, xmm7
movdqa xmm10, xmm7
movdqa xmmword [rsp + 0x90], xmm7
movdqa xmmword [rsp + 0xa0], xmm10
movdqa xmmword [rsp + 0xb0], xmm9
movdqa xmmword [rsp + 0xc0], xmm8
movdqa xmmword [rsp + 0xd0], xmm11
movdqa xmmword [rsp + 0xe0], xmm12
movdqa xmmword [rsp + 0xf0], xmm3
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0x110], xmm6
movdqa xmmword [rsp + 0x120], xmm5
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x140], xmm1
movdqa xmmword [rsp + 0x150], xmm13
movdqa xmmword [rsp + 0x160], xmm14
movdqa xmmword [rsp + 0x170], xmm15
movdqa xmmword [rsp + 0x180], xmm4
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x190], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x1b0], xmm1
movdqa xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x1c0], xmm1
add rax, 4
mov rdx, rax
shr rdx, 0x20
pinsrd xmm0, eax, 0
pinsrd xmm0, edx, 1
movdqa xmmword [rcx + 0x20], xmm0
xor eax, eax
movdqa xmm4, xmmword [rsp + 0x80]
movdqa xmm5, xmmword [rsp + 0x70]
movdqa xmm6, xmmword [str.expand_32_byte_k]
movdqa xmm0, xmmword [rsp + rax + 0x150]
movdqa xmm1, xmmword [rsp + rax + 0x90]
paddd xmm1, xmm6
movdqa xmm2, xmmword [rsp + rax + 0xd0]
paddd xmm2, xmm4
movdqa xmm3, xmmword [rsp + rax + 0x110]
paddd xmm3, xmm5
paddd xmm0, xmmword [rsp + rax + 0x190]
movdqu xmmword [r8 + rax*4], xmm1
movdqu xmmword [r8 + rax*4 + 0x10], xmm2
movdqu xmmword [r8 + rax*4 + 0x20], xmm3
movdqu xmmword [r8 + rax*4 + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14007a339
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm10, xmmword [rsp + 0x210]
movaps xmm11, xmmword [rsp + 0x220]
movaps xmm12, xmmword [rsp + 0x230]
movaps xmm13, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
movaps xmm15, xmmword [rsp + 0x260]
add rsp, 0x278
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
movaps xmmword [rsp + 0x1f0], xmm6
movdqa xmm14, xmmword [rcx]
movdqa xmm4, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
movd xmm6, r9d
shr r9, 0x20
movdqa xmm2, xmm4
pslldq xmm2, 8
shufps xmm2, xmm4, 0xe8
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm6, xmm1
lea r9, [rax + 2]
movd xmm13, r9d
shr r9, 0x20
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm13, xmm1
lea r9, [rax + 3]
movd xmm3, r9d
shr r9, 0x20
movd xmm0, r9d
movaps xmmword [rsp + 0x40], xmm2
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
movdqa xmm5, xmmword [rcx + 0x10]
por xmm3, xmm1
movdqa xmm8, xmmword [str.expand_32_byte_k]
test edx, edx
movdqa xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0x80], xmm4
movdqa xmmword [rsp + 0x70], xmm6
movdqa xmmword [rsp + 0x60], xmm5
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmmword [rsp + 0x30], xmm3
je 0x14007a9c2
movdqa xmm8, xmmword [str.expand_32_byte_k]
movdqa xmm11, xmm8
movdqa xmm10, xmm8
movdqa xmm9, xmm8
movdqa xmm12, xmm14
movdqa xmm2, xmm14
movdqa xmm7, xmm14
movdqa xmm0, xmm14
movdqa xmm1, xmm5
movdqa xmm14, xmm3
movdqa xmm3, xmm5
movdqa xmm15, xmm5
movdqa xmmword [rsp], xmm5
movdqa xmm5, xmm13
movdqa xmm13, xmm14
movdqa xmm14, xmmword [rsp]
paddd xmm8, xmm12
paddd xmm11, xmm2
paddd xmm10, xmm7
paddd xmm9, xmm0
pxor xmm4, xmm8
pxor xmm6, xmm11
pxor xmm5, xmm10
pxor xmm13, xmm9
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm4, xmm4, 0xb1
movdqa xmmword [rsp + 0x20], xmm4
pshuflw xmm6, xmm6, 0xb1
pshufhw xmm6, xmm6, 0xb1
pshuflw xmm5, xmm5, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
paddd xmm1, xmm4
paddd xmm3, xmm6
paddd xmm15, xmm5
movdqa xmmword [rsp + 0x10], xmm15
paddd xmm14, xmm13
pxor xmm12, xmm1
movdqa xmm4, xmm14
movdqa xmmword [rsp], xmm14
movdqa xmm14, xmm12
psrld xmm14, 0x14
pslld xmm12, 0xc
por xmm12, xmm14
pxor xmm2, xmm3
movdqa xmm14, xmm2
psrld xmm14, 0x14
pslld xmm2, 0xc
por xmm2, xmm14
pxor xmm7, xmm15
movdqa xmm14, xmm7
psrld xmm14, 0x14
pslld xmm7, 0xc
por xmm7, xmm14
pxor xmm0, xmm4
movdqa xmm14, xmm0
psrld xmm14, 0x14
pslld xmm0, 0xc
por xmm0, xmm14
paddd xmm8, xmm12
paddd xmm11, xmm2
paddd xmm10, xmm7
paddd xmm9, xmm0
movdqa xmm14, xmm8
movdqa xmm15, xmmword [0x14008d6e0]
pshufb xmm14, xmm15
movdqa xmm4, xmmword [rsp + 0x20]
pshufb xmm4, xmm15
pxor xmm4, xmm14
movdqa xmmword [rsp + 0x20], xmm4
movdqa xmm14, xmm11
pshufb xmm14, xmm15
pshufb xmm6, xmm15
pxor xmm6, xmm14
movdqa xmm14, xmm10
pshufb xmm14, xmm15
pshufb xmm5, xmm15
pxor xmm5, xmm14
movdqa xmm14, xmm9
pshufb xmm14, xmm15
pshufb xmm13, xmm15
pxor xmm13, xmm14
paddd xmm1, xmm4
paddd xmm3, xmm6
movdqa xmm14, xmmword [rsp + 0x10]
paddd xmm14, xmm5
movdqa xmm4, xmmword [rsp]
paddd xmm4, xmm13
pxor xmm12, xmm1
pxor xmm2, xmm3
pxor xmm7, xmm14
movdqa xmm15, xmm14
pxor xmm0, xmm4
movdqa xmm14, xmm12
psrld xmm14, 0x19
pslld xmm12, 7
por xmm12, xmm14
movdqa xmm14, xmm2
psrld xmm14, 0x19
pslld xmm2, 7
por xmm2, xmm14
movdqa xmm14, xmm7
psrld xmm14, 0x19
pslld xmm7, 7
por xmm7, xmm14
movdqa xmm14, xmm0
psrld xmm14, 0x19
pslld xmm0, 7
por xmm0, xmm14
pshufd xmm12, xmm12, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm7, xmm7, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp], xmm1
pshufd xmm1, xmm3, 0x4e
movdqa xmmword [rsp + 0xa0], xmm1
pshufd xmm15, xmm15, 0x4e
pshufd xmm1, xmm4, 0x4e
movdqa xmmword [rsp + 0x10], xmm1
paddd xmm8, xmm12
paddd xmm11, xmm2
paddd xmm10, xmm7
paddd xmm9, xmm0
pshuflw xmm1, xmm8, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmm14, xmmword [0x14008d6f0]
movdqa xmm4, xmmword [rsp + 0x20]
pshufb xmm4, xmm14
pxor xmm4, xmm1
pshuflw xmm1, xmm11, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm6, xmm14
pxor xmm6, xmm1
pshuflw xmm1, xmm10, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm5, xmm14
pxor xmm5, xmm1
pshuflw xmm1, xmm9, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm13, xmm14
pxor xmm13, xmm1
movdqa xmm3, xmmword [rsp]
paddd xmm3, xmm4
movdqa xmmword [rsp], xmm3
movdqa xmm1, xmmword [rsp + 0xa0]
paddd xmm1, xmm6
paddd xmm15, xmm5
movdqa xmm14, xmmword [rsp + 0x10]
paddd xmm14, xmm13
pxor xmm12, xmm3
pxor xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm7, xmm15
pxor xmm0, xmm14
movdqa xmm1, xmm12
psrld xmm1, 0x14
pslld xmm12, 0xc
por xmm12, xmm1
movdqa xmm1, xmm2
psrld xmm1, 0x14
pslld xmm2, 0xc
por xmm2, xmm1
movdqa xmm1, xmm7
psrld xmm1, 0x14
pslld xmm7, 0xc
por xmm7, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
paddd xmm8, xmm12
paddd xmm11, xmm2
paddd xmm10, xmm7
paddd xmm9, xmm0
pxor xmm4, xmm8
movdqa xmm1, xmmword [0x14008d6e0]
pshufb xmm4, xmm1
pxor xmm6, xmm11
pshufb xmm6, xmm1
pxor xmm5, xmm10
pshufb xmm5, xmm1
pxor xmm13, xmm9
pshufb xmm13, xmm1
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm4
movdqa xmmword [rsp], xmm1
paddd xmm3, xmm6
paddd xmm15, xmm5
paddd xmm14, xmm13
pxor xmm12, xmm1
pxor xmm2, xmm3
pxor xmm7, xmm15
pxor xmm0, xmm14
movdqa xmm1, xmm12
psrld xmm1, 0x19
pslld xmm12, 7
por xmm12, xmm1
movdqa xmm1, xmm2
psrld xmm1, 0x19
pslld xmm2, 7
por xmm2, xmm1
movdqa xmm1, xmm7
psrld xmm1, 0x19
pslld xmm7, 7
por xmm7, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
pshufd xmm12, xmm12, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm1, xmmword [rsp], 0x4e
pshufd xmm3, xmm3, 0x4e
pshufd xmm15, xmm15, 0x4e
pshufd xmm14, xmm14, 0x4e
pshufd xmm4, xmm4, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm13, xmm13, 0x39
dec edx
jne 0x14007a580
movdqa xmmword [rsp], xmm14
jmp 0x14007aa05
movdqa xmm0, xmm13
movdqa xmm13, xmm3
movdqa xmm1, xmm5
movdqa xmm5, xmm0
movdqa xmmword [rsp], xmm1
movdqa xmm15, xmm1
movdqa xmm3, xmm1
movdqa xmm0, xmm14
movdqa xmm7, xmm14
movdqa xmm2, xmm14
movdqa xmm12, xmm14
movdqa xmm9, xmm8
movdqa xmm10, xmm8
movdqa xmm11, xmm8
add rax, 4
mov rdx, rax
shr rdx, 0x20
movd xmm14, edx
por xmm14, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x10], xmm14
movdqa xmmword [rsp + 0x20], xmm14
movdqa xmm14, xmmword [rsp + 0x20]
pslldq xmm14, 8
movdqa xmmword [rsp + 0x20], xmm14
movaps xmm14, xmmword [rsp + 0x20]
shufps xmm14, xmmword [rsp + 0x10], 0xe8
movaps xmmword [rsp + 0x20], xmm14
movd xmm14, eax
movdqa xmmword [rsp + 0x10], xmm14
movaps xmm14, xmmword [rsp + 0x10]
orps xmm14, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x10], xmm14
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xc0], xmm11
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm12
movdqa xmmword [rsp + 0x100], xmm2
movdqa xmmword [rsp + 0x110], xmm7
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmmword [rsp + 0x130], xmm1
movdqa xmmword [rsp + 0x140], xmm3
movdqa xmmword [rsp + 0x150], xmm15
movaps xmm0, xmmword [rsp]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x170], xmm4
movdqa xmmword [rsp + 0x180], xmm6
movdqa xmmword [rsp + 0x190], xmm5
movdqa xmmword [rsp + 0x1a0], xmm13
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x1e0], xmm0
movdqa xmm0, xmmword [rsp + 0x10]
movdqa xmmword [rcx + 0x20], xmm0
xor eax, eax
movdqa xmm4, xmmword [rsp + 0x60]
movdqa xmm5, xmmword [str.expand_32_byte_k]
movdqa xmm6, xmmword [rsp + 0x90]
movdqa xmm0, xmmword [rsp + rax + 0x170]
movdqa xmm1, xmmword [rsp + rax + 0xb0]
paddd xmm1, xmm5
movdqa xmm2, xmmword [rsp + rax + 0xf0]
paddd xmm2, xmm6
movdqa xmm3, xmmword [rsp + rax + 0x130]
paddd xmm3, xmm4
paddd xmm0, xmmword [rsp + rax + 0x1b0]
movdqu xmmword [r8 + rax*4], xmm1
movdqu xmmword [r8 + rax*4 + 0x10], xmm2
movdqu xmmword [r8 + rax*4 + 0x20], xmm3
movdqu xmmword [r8 + rax*4 + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14007ab63
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