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

Disassembly:
push rsi
push rdi
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm15
movaps xmmword [rsp + 0x150], xmm14
movaps xmmword [rsp + 0x140], xmm13
movaps xmmword [rsp + 0x130], xmm12
movaps xmmword [rsp + 0x120], xmm11
movaps xmmword [rsp + 0x110], xmm10
movaps xmmword [rsp + 0x100], xmm9
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1403cdf88]
test rax, rax
je 0x14017eda3
test ax, ax
js 0x14017edb1
mov rax, qword [0x1403cdf88]
test rax, rax
je 0x14017ee1d
test eax, 0x4000
jne 0x14017ee2d
mov rax, qword [0x1403cdf88]
test rax, rax
je 0x14017ee99
test eax, 0x400
jne 0x14017eea9
mov rax, qword [0x1403cdf88]
test rax, rax
je 0x14017ef15
test eax, 0x200
jne 0x14017ef25
movdqa xmm11, xmmword [rdi]
movdqa xmm2, xmmword [rdi + 0x10]
movdqa xmm7, xmmword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
lea rcx, [rax + 1]
movd xmm12, ecx
shr rcx, 0x20
pshufd xmm0, xmm7, 0xf8
pslldq xmm0, 4
movdqa xmmword [rsp + 0x50], xmm0
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm7, 0xe8
por xmm12, xmm0
lea rcx, [rax + 2]
movd xmm6, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm7, 0xe8
por xmm6, xmm0
lea rcx, [rax + 3]
movd xmm5, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm7, 0xe8
por xmm5, xmm0
movdqa xmm10, xmmword [str.expand_32_byte_k]
mov ecx, 6
movdqa xmm9, xmm10
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmm1, xmm11
movdqa xmm15, xmm11
movdqa xmm13, xmm11
movdqa xmmword [rsp + 0xa0], xmm11
movdqa xmm8, xmm2
movdqa xmm0, xmm2
movdqa xmm14, xmm2
movdqa xmmword [rsp + 0xb0], xmm2
movdqa xmmword [rsp + 0x20], xmm2
movaps xmmword [rsp + 0x90], xmm7
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmmword [rsp + 0x70], xmm6
movdqa xmmword [rsp + 0x60], xmm5
nop word cs:[rax + rax]
paddd xmm10, xmm1
paddd xmm9, xmm15
movdqa xmm3, xmmword [rsp + 0x30]
paddd xmm3, xmm13
movdqa xmmword [rsp + 0x30], xmm3
movdqa xmm2, xmmword [rsp + 0x40]
paddd xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm2
pxor xmm7, xmm10
pxor xmm12, xmm9
pxor xmm6, xmm3
pxor xmm5, xmm2
pshuflw xmm2, xmm7, 0xb1
pshufhw xmm2, xmm2, 0xb1
pshuflw xmm3, xmm12, 0xb1
pshufhw xmm4, xmm3, 0xb1
pshuflw xmm3, xmm6, 0xb1
pshufhw xmm3, xmm3, 0xb1
pshuflw xmm5, xmm5, 0xb1
pshufhw xmm5, xmm5, 0xb1
paddd xmm8, xmm2
paddd xmm0, xmm4
paddd xmm14, xmm3
movdqa xmm6, xmmword [rsp + 0x20]
paddd xmm6, xmm5
movdqa xmm7, xmm6
movdqa xmmword [rsp + 0x20], xmm6
pxor xmm1, xmm8
movdqa xmm6, xmm1
psrld xmm6, 0x14
pslld xmm1, 0xc
por xmm1, xmm6
pxor xmm15, xmm0
movdqa xmm6, xmm15
psrld xmm6, 0x14
pslld xmm15, 0xc
por xmm15, xmm6
pxor xmm13, xmm14
movdqa xmm6, xmm13
psrld xmm6, 0x14
pslld xmm13, 0xc
por xmm13, xmm6
pxor xmm11, xmm7
movdqa xmm6, xmm11
psrld xmm6, 0x14
pslld xmm11, 0xc
por xmm11, xmm6
paddd xmm10, xmm1
paddd xmm9, xmm15
movdqa xmm7, xmm9
movdqa xmm9, xmmword [rsp + 0x30]
paddd xmm9, xmm13
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmm12, xmmword [rsp + 0x40]
paddd xmm12, xmm11
movdqa xmmword [rsp + 0x40], xmm12
pxor xmm2, xmm10
movdqa xmm6, xmm2
psrld xmm6, 0x18
pslld xmm2, 8
por xmm2, xmm6
pxor xmm4, xmm7
movdqa xmm6, xmm4
psrld xmm6, 0x18
pslld xmm4, 8
por xmm4, xmm6
pxor xmm3, xmm9
movdqa xmm9, xmm7
movdqa xmm6, xmm3
psrld xmm6, 0x18
pslld xmm3, 8
por xmm3, xmm6
pxor xmm5, xmm12
movdqa xmm6, xmm5
psrld xmm6, 0x18
pslld xmm5, 8
por xmm5, xmm6
paddd xmm8, xmm2
paddd xmm0, xmm4
paddd xmm14, xmm3
movdqa xmm6, xmmword [rsp + 0x20]
paddd xmm6, xmm5
pxor xmm1, xmm8
pxor xmm15, xmm0
pxor xmm13, xmm14
pxor xmm11, xmm6
movdqa xmm7, xmm6
movdqa xmm6, xmm1
psrld xmm6, 0x19
pslld xmm1, 7
por xmm1, xmm6
movdqa xmm6, xmm15
psrld xmm6, 0x19
pslld xmm15, 7
por xmm15, xmm6
movdqa xmm6, xmm13
psrld xmm6, 0x19
pslld xmm13, 7
por xmm13, xmm6
movdqa xmm6, xmm11
psrld xmm6, 0x19
pslld xmm11, 7
por xmm11, xmm6
pshufd xmm1, xmm1, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm8, xmm8, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqa xmmword [rsp + 0x20], xmm0
pshufd xmm14, xmm14, 0x4e
pshufd xmm12, xmm7, 0x4e
pshufd xmm2, xmm2, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm0, xmm5, 0x93
movdqa xmmword [rsp + 0xc0], xmm0
paddd xmm10, xmm1
paddd xmm9, xmm15
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm13
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm6, xmmword [rsp + 0x40]
paddd xmm6, xmm11
pshuflw xmm5, xmm10, 0xb1
pshufhw xmm7, xmm5, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm5, xmm2, 0xb1
pxor xmm5, xmm7
pshuflw xmm2, xmm9, 0xb1
pshufhw xmm7, xmm2, 0xb1
pshuflw xmm2, xmm4, 0xb1
pshufhw xmm2, xmm2, 0xb1
pxor xmm2, xmm7
pshuflw xmm4, xmm0, 0xb1
pshufhw xmm7, xmm4, 0xb1
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm4, xmm3, 0xb1
pxor xmm4, xmm7
movdqa xmm0, xmm6
pshuflw xmm3, xmm6, 0xb1
pshufhw xmm7, xmm3, 0xb1
pshuflw xmm3, xmmword [rsp + 0xc0], 0xb1
pshufhw xmm3, xmm3, 0xb1
pxor xmm3, xmm7
paddd xmm8, xmm5
movdqa xmm6, xmmword [rsp + 0x20]
paddd xmm6, xmm2
movdqa xmmword [rsp + 0x20], xmm6
paddd xmm14, xmm4
paddd xmm12, xmm3
pxor xmm1, xmm8
pxor xmm15, xmm6
pxor xmm13, xmm14
pxor xmm11, xmm12
movdqa xmm6, xmm1
psrld xmm6, 0x14
pslld xmm1, 0xc
por xmm1, xmm6
movdqa xmm6, xmm15
psrld xmm6, 0x14
pslld xmm15, 0xc
por xmm15, xmm6
movdqa xmm6, xmm13
psrld xmm6, 0x14
pslld xmm13, 0xc
por xmm13, xmm6
movdqa xmm6, xmm11
psrld xmm6, 0x14
pslld xmm11, 0xc
por xmm11, xmm6
paddd xmm10, xmm1
paddd xmm9, xmm15
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm13
paddd xmm0, xmm11
pxor xmm5, xmm10
movdqa xmm6, xmm5
psrld xmm6, 0x18
pslld xmm5, 8
por xmm5, xmm6
pxor xmm2, xmm9
movdqa xmm6, xmm2
psrld xmm6, 0x18
pslld xmm2, 8
por xmm2, xmm6
movdqa xmm6, xmm7
movdqa xmmword [rsp + 0x30], xmm7
pxor xmm4, xmm7
movdqa xmm6, xmm4
psrld xmm6, 0x18
pslld xmm4, 8
por xmm4, xmm6
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x40], xmm0
pxor xmm3, xmm0
movdqa xmm6, xmm3
psrld xmm6, 0x18
pslld xmm3, 8
por xmm3, xmm6
paddd xmm8, xmm5
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm2
paddd xmm14, xmm4
paddd xmm12, xmm3
pxor xmm1, xmm8
pxor xmm15, xmm0
pxor xmm13, xmm14
pxor xmm11, xmm12
movdqa xmm6, xmm1
psrld xmm6, 0x19
pslld xmm1, 7
por xmm1, xmm6
movdqa xmm6, xmm15
psrld xmm6, 0x19
pslld xmm15, 7
por xmm15, xmm6
movdqa xmm6, xmm13
psrld xmm6, 0x19
pslld xmm13, 7
por xmm13, xmm6
movdqa xmm6, xmm11
psrld xmm6, 0x19
pslld xmm11, 7
por xmm11, xmm6
pshufd xmm1, xmm1, 0x93
pshufd xmm15, xmm15, 0x93
pshufd xmm13, xmm13, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm8, xmm8, 0x4e
pshufd xmm0, xmm0, 0x4e
pshufd xmm14, xmm14, 0x4e
pshufd xmm6, xmm12, 0x4e
movdqa xmmword [rsp + 0x20], xmm6
pshufd xmm7, xmm5, 0x39
pshufd xmm12, xmm2, 0x39
pshufd xmm6, xmm4, 0x39
pshufd xmm5, xmm3, 0x39
dec ecx
jne 0x14017e760
add rax, 4
mov rcx, rax
shr rcx, 0x20
movd xmm2, ecx
por xmm2, xmmword [rsp + 0x50]
movdqa xmm3, xmm2
pslldq xmm3, 8
shufps xmm3, xmm2, 0xe8
movd xmm2, eax
por xmm2, xmm3
movdqa xmmword [rdi + 0x20], xmm2
movdqa xmm2, xmmword [str.expand_32_byte_k]
paddd xmm10, xmm2
movdqu xmmword [rsi], xmm10
movdqa xmm3, xmmword [rsp + 0xa0]
paddd xmm1, xmm3
movdqu xmmword [rsi + 0x10], xmm1
movdqa xmm1, xmmword [rsp + 0xb0]
paddd xmm8, xmm1
movdqu xmmword [rsi + 0x20], xmm8
paddd xmm7, xmmword [rsp + 0x90]
movdqu xmmword [rsi + 0x30], xmm7
paddd xmm9, xmm2
movdqu xmmword [rsi + 0x40], xmm9
paddd xmm15, xmm3
movdqu xmmword [rsi + 0x50], xmm15
paddd xmm0, xmm1
movdqu xmmword [rsi + 0x60], xmm0
paddd xmm12, xmmword [rsp + 0x80]
movdqu xmmword [rsi + 0x70], xmm12
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm2
movdqu xmmword [rsi + 0x80], xmm0
paddd xmm13, xmm3
movdqu xmmword [rsi + 0x90], xmm13
paddd xmm14, xmm1
movdqu xmmword [rsi + 0xa0], xmm14
paddd xmm6, xmmword [rsp + 0x70]
movdqu xmmword [rsi + 0xb0], xmm6
movdqa xmm0, xmmword [rsp + 0x40]
paddd xmm0, xmm2
movdqu xmmword [rsi + 0xc0], xmm0
paddd xmm11, xmm3
movdqu xmmword [rsi + 0xd0], xmm11
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm1
movdqu xmmword [rsi + 0xe0], xmm0
paddd xmm5, xmmword [rsp + 0x60]
movdqu xmmword [rsi + 0xf0], xmm5
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0x150]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
ret
call fcn.1402f3f50
test ax, ax
jns 0x14017e610
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0x150]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
jmp 0x14017efa0
call fcn.1402f3f50
test eax, 0x4000
je 0x14017e62b
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0x150]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
jmp 0x14017f390
call fcn.1402f3f50
test eax, 0x400
je 0x14017e646
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0x150]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
jmp 0x14017f9f0
call fcn.1402f3f50
test eax, 0x200
je 0x14017e661
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm14, xmmword [rsp + 0x150]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
pop rdi
pop rsi
jmp 0x1401800d0
sub rsp, 0xb8
vmovaps xmmword [rsp + 0xa0], xmm15
vmovaps xmmword [rsp + 0x90], xmm14
vmovaps xmmword [rsp + 0x80], xmm13
vmovaps xmmword [rsp + 0x70], xmm12
vmovaps xmmword [rsp + 0x60], xmm11
vmovaps xmmword [rsp + 0x50], xmm10
vmovaps xmmword [rsp + 0x40], xmm9
vmovaps xmmword [rsp + 0x30], xmm8
vmovaps xmmword [rsp + 0x20], xmm7
vmovaps xmmword [rsp + 0x10], xmm6
vmovdqa xmm0, xmmword [rcx]
vmovdqa xmm5, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm1, xmm5, r8d, 0
shr r8, 0x20
vpinsrd xmm4, xmm1, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm1, xmm5, r8d, 0
shr r8, 0x20
vpinsrd xmm3, xmm1, r8d, 1
lea r8, [rax + 3]
vpinsrd xmm1, xmm5, r8d, 0
shr r8, 0x20
vpinsrd xmm1, xmm1, r8d, 1
vperm2i128 ymm12, ymm0, ymmword [rcx], 2
vmovdqa xmm2, xmmword [rcx + 0x10]
vperm2i128 ymm14, ymm2, ymmword [rcx + 0x10], 2
vinserti128 ymm15, ymm5, xmm4, 1
vmovdqa xmmword [rsp], xmm1
vinserti128 ymm10, ymm3, xmm1, 1
vmovdqa ymm13, ymmword [str.expand_32_byte_kexpand_32_byte_k]
mov r8d, 6
vmovdqa ymm6, ymmword [0x1402f9fc0]
vmovdqa ymm7, ymmword [0x1402f9fe0]
vmovdqa ymm8, ymm13
vmovdqa ymm9, ymm12
vmovdqa ymm11, ymm14
nop word cs:[rax + rax]
vpaddd ymm13, ymm13, ymm12
vpaddd ymm8, ymm8, ymm9
vpxor ymm15, ymm15, ymm13
vpxor ymm10, ymm8, ymm10
vpshuflw ymm15, ymm15, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshuflw ymm10, ymm10, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpaddd ymm14, ymm15, ymm14
vpaddd ymm11, ymm10, ymm11
vpxor ymm12, ymm14, ymm12
vpsrld ymm1, ymm12, 0x14
vpslld ymm12, ymm12, 0xc
vpor ymm1, ymm12, ymm1
vpxor ymm9, ymm11, ymm9
vpsrld ymm12, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm12
vpaddd ymm12, ymm13, ymm1
vpaddd ymm8, ymm9, ymm8
vpshufb ymm13, ymm12, ymm6
vpshufb ymm15, ymm15, ymm6
vpxor ymm13, ymm15, ymm13
vpshufb ymm15, ymm8, ymm6
vpshufb ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymm15
vpaddd ymm14, ymm14, ymm13
vpaddd ymm11, ymm11, ymm10
vpxor ymm1, ymm14, ymm1
vpxor ymm9, ymm11, ymm9
vpsrld ymm15, ymm1, 0x19
vpslld ymm1, ymm1, 7
vpor ymm1, ymm15, ymm1
vpsrld ymm15, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm15
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm1, ymm1, 0x39
vpaddd ymm12, ymm12, ymm1
vpshufd ymm9, ymm9, 0x39
vpaddd ymm8, ymm8, ymm9
vpshuflw ymm15, ymm12, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm13, ymm13, ymm7
vpxor ymm15, ymm13, ymm15
vpshuflw ymm13, ymm8, 0xb1
vpshufhw ymm13, ymm13, 0xb1
vpshufb ymm10, ymm10, ymm7
vpxor ymm10, ymm10, ymm13
vpaddd ymm14, ymm14, ymm15
vpaddd ymm11, ymm11, ymm10
vpxor ymm1, ymm14, ymm1
vpsrld ymm13, ymm1, 0x14
vpslld ymm1, ymm1, 0xc
vpor ymm1, ymm13, ymm1
vpxor ymm9, ymm11, ymm9
vpsrld ymm13, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm13
vpaddd ymm13, ymm12, ymm1
vpaddd ymm8, ymm9, ymm8
vpxor ymm12, ymm15, ymm13
vpshufb ymm15, ymm12, ymm6
vpxor ymm10, ymm10, ymm8
vpshufb ymm10, ymm10, ymm6
vpaddd ymm14, ymm14, ymm15
vpaddd ymm11, ymm11, ymm10
vpxor ymm1, ymm14, ymm1
vpxor ymm9, ymm11, ymm9
vpsrld ymm12, ymm1, 0x19
vpslld ymm1, ymm1, 7
vpor ymm1, ymm12, ymm1
vpsrld ymm12, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm12
vpshufd ymm12, ymm1, 0x93
vpshufd ymm9, ymm9, 0x93
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm15, ymm15, 0x39
vpshufd ymm10, ymm10, 0x39
dec r8d
jne 0x14017f090
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm1, xmm5, eax, 0
vpinsrd xmm1, xmm1, r8d, 1
vextracti128 xmm6, ymm13, 1
vmovdqa xmmword [rcx + 0x20], xmm1
vmovdqa xmm1, xmmword [str.expand_32_byte_k]
vpaddd xmm7, xmm13, xmm1
vmovdqu xmmword [rdx], xmm7
vextracti128 xmm7, ymm12, 1
vpaddd xmm12, xmm12, xmm0
vmovdqu xmmword [rdx + 0x10], xmm12
vextracti128 xmm12, ymm14, 1
vpaddd xmm13, xmm14, xmm2
vmovdqu xmmword [rdx + 0x20], xmm13
vextracti128 xmm13, ymm15, 1
vpaddd xmm5, xmm15, xmm5
vmovdqu xmmword [rdx + 0x30], xmm5
vpaddd xmm5, xmm6, xmm1
vmovdqu xmmword [rdx + 0x40], xmm5
vpaddd xmm5, xmm7, xmm0
vmovdqu xmmword [rdx + 0x50], xmm5
vpaddd xmm5, xmm12, xmm2
vmovdqu xmmword [rdx + 0x60], xmm5
vpaddd xmm4, xmm13, xmm4
vmovdqu xmmword [rdx + 0x70], xmm4
vpaddd xmm4, xmm8, xmm1
vmovdqu xmmword [rdx + 0x80], xmm4
vpaddd xmm4, xmm9, xmm0
vmovdqu xmmword [rdx + 0x90], xmm4
vpaddd xmm4, xmm11, xmm2
vmovdqu xmmword [rdx + 0xa0], xmm4
vpaddd xmm3, xmm10, xmm3
vmovdqu xmmword [rdx + 0xb0], xmm3
vextracti128 xmm3, ymm10, 1
vextracti128 xmm4, ymm11, 1
vextracti128 xmm5, ymm9, 1
vextracti128 xmm6, ymm8, 1
vpaddd xmm1, xmm6, xmm1
vmovdqu xmmword [rdx + 0xc0], xmm1
vpaddd xmm0, xmm5, xmm0
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm4, xmm2
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm3, xmmword [rsp]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x10]
vmovaps xmm7, xmmword [rsp + 0x20]
vmovaps xmm8, xmmword [rsp + 0x30]
vmovaps xmm9, xmmword [rsp + 0x40]
vmovaps xmm10, xmmword [rsp + 0x50]
vmovaps xmm11, xmmword [rsp + 0x60]
vmovaps xmm12, xmmword [rsp + 0x70]
vmovaps xmm13, xmmword [rsp + 0x80]
vmovaps xmm14, xmmword [rsp + 0x90]
vmovaps xmm15, xmmword [rsp + 0xa0]
add rsp, 0xb8
ret
sub rsp, 0x178
vmovaps xmmword [rsp + 0x160], xmm15
vmovaps xmmword [rsp + 0x150], xmm14
vmovaps xmmword [rsp + 0x140], xmm13
vmovaps xmmword [rsp + 0x130], xmm12
vmovaps xmmword [rsp + 0x120], xmm11
vmovaps xmmword [rsp + 0x110], xmm10
vmovdqa xmmword [rsp + 0x100], xmm9
vmovdqa xmmword [rsp + 0xf0], xmm8
vmovaps xmmword [rsp + 0xe0], xmm7
vmovaps xmmword [rsp + 0xd0], xmm6
vmovdqa xmm6, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm3, xmm0, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm15, xmm0, r8d, 1
vmovdqa xmm2, xmmword [rcx]
lea r8, [rax + 3]
vpinsrd xmm0, xmm6, r8d, 0
shr r8, 0x20
vpinsrd xmm4, xmm0, r8d, 1
vmovdqa xmm5, xmmword [rcx + 0x10]
vmovdqa xmm10, xmmword [str.expand_32_byte_k]
mov r8d, 6
vmovdqa xmmword [rsp + 0x10], xmm10
vmovdqa xmmword [rsp + 0x40], xmm10
vmovdqa xmm1, xmm10
vmovdqa xmm0, xmm2
vmovdqa xmm13, xmm2
vmovdqa xmm14, xmm2
vmovdqa xmmword [rsp + 0xb0], xmm2
vmovdqa xmmword [rsp], xmm2
vmovdqa xmm7, xmm5
vmovdqa xmm12, xmm5
vmovdqa xmmword [rsp + 0x20], xmm5
vmovdqa xmmword [rsp + 0x60], xmm5
vmovdqa xmm11, xmm5
vmovdqa xmmword [rsp + 0xa0], xmm6
vmovdqa xmmword [rsp + 0x90], xmm3
vmovdqa xmm2, xmm3
vmovdqa xmmword [rsp + 0x80], xmm15
vmovdqa xmmword [rsp + 0x70], xmm4
vmovdqa xmmword [rsp + 0x30], xmm4
nop word [rax + rax]
vpaddd xmm3, xmm10, xmm0
vmovdqa xmmword [rsp + 0xc0], xmm3
vpxor xmm6, xmm6, xmm3
vpshuflw xmm6, xmm6, 0xb1
vpshufhw xmm8, xmm6, 0xb1
vmovdqa xmm10, xmm14
vmovdqa xmm14, xmm11
vpaddd xmm11, xmm8, xmm7
vpxor xmm0, xmm11, xmm0
vpsrld xmm7, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm9, xmm0, xmm7
vpaddd xmm7, xmm13, xmmword [rsp + 0x10]
vpxor xmm2, xmm7, xmm2
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm2, xmm2, 0xb1
vpaddd xmm0, xmm12, xmm2
vmovdqa xmmword [rsp + 0x10], xmm0
vpxor xmm5, xmm13, xmm0
vpsrld xmm13, xmm5, 0x14
vpslld xmm5, xmm5, 0xc
vpor xmm13, xmm13, xmm5
vpaddd xmm5, xmm10, xmmword [rsp + 0x40]
vpxor xmm3, xmm15, xmm5
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm4, xmm3, 0xb1
vmovdqa xmm12, xmmword [rsp]
vpaddd xmm0, xmm4, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x50], xmm0
vpxor xmm3, xmm10, xmm0
vpsrld xmm10, xmm3, 0x14
vpslld xmm3, xmm3, 0xc
vpor xmm15, xmm10, xmm3
vpaddd xmm6, xmm12, xmm1
vpxor xmm3, xmm6, xmmword [rsp + 0x30]
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm1, xmm3, 0xb1
vpaddd xmm14, xmm14, xmm1
vpxor xmm3, xmm14, xmm12
vpsrld xmm10, xmm3, 0x14
vpslld xmm3, xmm3, 0xc
vpor xmm3, xmm10, xmm3
vpaddd xmm0, xmm9, xmmword [rsp + 0xc0]
vmovdqa xmmword [rsp], xmm0
vmovdqa xmm12, xmmword [0x1402fa000]
vpshufb xmm8, xmm8, xmm12
vpshufb xmm10, xmm0, xmm12
vpxor xmm8, xmm8, xmm10
vpaddd xmm0, xmm13, xmm7
vmovdqa xmmword [rsp + 0x30], xmm0
vpshufb xmm2, xmm2, xmm12
vpshufb xmm10, xmm0, xmm12
vpxor xmm2, xmm10, xmm2
vpaddd xmm5, xmm15, xmm5
vmovdqa xmmword [rsp + 0x20], xmm5
vpshufb xmm4, xmm4, xmm12
vpshufb xmm5, xmm5, xmm12
vpxor xmm5, xmm4, xmm5
vpaddd xmm4, xmm3, xmm6
vmovdqa xmmword [rsp + 0x40], xmm4
vpshufb xmm0, xmm1, xmm12
vpshufb xmm1, xmm4, xmm12
vpxor xmm1, xmm0, xmm1
vpaddd xmm4, xmm11, xmm8
vpxor xmm0, xmm9, xmm4
vmovdqa xmm9, xmm4
vpsrld xmm7, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm10, xmm0, xmm7
vpaddd xmm0, xmm2, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x10], xmm0
vpxor xmm7, xmm13, xmm0
vpsrld xmm11, xmm7, 0x19
vpslld xmm7, xmm7, 7
vpor xmm13, xmm11, xmm7
vpaddd xmm7, xmm5, xmmword [rsp + 0x50]
vpxor xmm11, xmm15, xmm7
vpsrld xmm12, xmm11, 0x19
vpslld xmm11, xmm11, 7
vpor xmm12, xmm11, xmm12
vpaddd xmm15, xmm14, xmm1
vpxor xmm3, xmm15, xmm3
vpsrld xmm11, xmm3, 0x19
vpslld xmm3, xmm3, 7
vpor xmm4, xmm11, xmm3
vpshufd xmm14, xmm10, 0x39
vpaddd xmm11, xmm14, xmmword [rsp]
vpshuflw xmm3, xmm11, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vmovdqa xmm0, xmmword [0x1402fa010]
vpshufb xmm8, xmm8, xmm0
vpxor xmm10, xmm8, xmm3
vpshufd xmm8, xmm13, 0x39
vpaddd xmm3, xmm8, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm3
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vpshufb xmm2, xmm2, xmm0
vpxor xmm3, xmm2, xmm3
vmovdqa xmmword [rsp + 0x50], xmm3
vpshufd xmm12, xmm12, 0x39
vpaddd xmm2, xmm12, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm2
vpshuflw xmm6, xmm2, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpshufb xmm5, xmm5, xmm0
vpxor xmm5, xmm5, xmm6
vpshufd xmm4, xmm4, 0x39
vpaddd xmm2, xmm4, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp], xmm2
vpshuflw xmm6, xmm2, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpshufb xmm1, xmm1, xmm0
vpxor xmm6, xmm1, xmm6
vpshufd xmm1, xmm9, 0x4e
vpaddd xmm9, xmm10, xmm1
vpxor xmm1, xmm9, xmm14
vpsrld xmm14, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm1, xmm14, xmm1
vpshufd xmm2, xmmword [rsp + 0x10], 0x4e
vpaddd xmm14, xmm2, xmm3
vpxor xmm2, xmm14, xmm8
vpsrld xmm8, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm2, xmm8, xmm2
vpshufd xmm3, xmm7, 0x4e
vpaddd xmm3, xmm3, xmm5
vpxor xmm7, xmm12, xmm3
vpsrld xmm8, xmm7, 0x14
vpslld xmm7, xmm7, 0xc
vpor xmm12, xmm8, xmm7
vpshufd xmm7, xmm15, 0x4e
vpaddd xmm7, xmm7, xmm6
vpxor xmm0, xmm7, xmm4
vpsrld xmm8, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm8, xmm8, xmm0
vpaddd xmm13, xmm11, xmm1
vpxor xmm0, xmm10, xmm13
vmovdqa xmm4, xmmword [0x1402fa000]
vpshufb xmm15, xmm0, xmm4
vpaddd xmm9, xmm9, xmm15
vpxor xmm0, xmm9, xmm1
vpsrld xmm1, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm0, xmm1
vpaddd xmm1, xmm2, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x10], xmm1
vpxor xmm1, xmm1, xmmword [rsp + 0x50]
vpshufb xmm10, xmm1, xmm4
vpaddd xmm11, xmm14, xmm10
vpxor xmm1, xmm11, xmm2
vpsrld xmm2, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm2, xmm1, xmm2
vpaddd xmm1, xmm12, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x40], xmm1
vpxor xmm5, xmm5, xmm1
vpshufb xmm5, xmm5, xmm4
vpaddd xmm3, xmm3, xmm5
vpxor xmm12, xmm12, xmm3
vpsrld xmm14, xmm12, 0x19
vpslld xmm12, xmm12, 7
vpor xmm12, xmm12, xmm14
vpaddd xmm1, xmm8, xmmword [rsp]
vpxor xmm6, xmm6, xmm1
vpshufb xmm4, xmm6, xmm4
vpaddd xmm6, xmm7, xmm4
vpxor xmm7, xmm8, xmm6
vpsrld xmm8, xmm7, 0x19
vpslld xmm7, xmm7, 7
vpor xmm7, xmm8, xmm7
vpshufd xmm0, xmm0, 0x93
vpshufd xmm8, xmm2, 0x93
vpshufd xmm14, xmm12, 0x93
vpshufd xmm2, xmm7, 0x93
vmovdqa xmmword [rsp], xmm2
vpshufd xmm7, xmm9, 0x4e
vpshufd xmm12, xmm11, 0x4e
vpshufd xmm2, xmm3, 0x4e
vmovdqa xmmword [rsp + 0x20], xmm2
vpshufd xmm11, xmm6, 0x4e
vpshufd xmm6, xmm15, 0x39
vpshufd xmm2, xmm10, 0x39
vmovdqa xmm10, xmm13
vmovdqa xmm13, xmm8
vpshufd xmm15, xmm5, 0x39
vpshufd xmm3, xmm4, 0x39
vmovdqa xmmword [rsp + 0x30], xmm3
dec r8d
jne 0x14017f4c0
vmovdqa xmm3, xmmword [str.expand_32_byte_k]
vpaddd xmm8, xmm1, xmm3
vpaddd xmm1, xmm3, xmmword [rsp + 0x40]
vpaddd xmm4, xmm3, xmmword [rsp + 0x10]
vpaddd xmm3, xmm10, xmm3
add rax, 4
mov r8, rax
vmovdqa xmm10, xmmword [rsp + 0xa0]
vpinsrd xmm5, xmm10, eax, 0
shr r8, 0x20
vpinsrd xmm5, xmm5, r8d, 1
vmovdqa xmmword [rcx + 0x20], xmm5
vmovdqu xmmword [rdx], xmm3
vmovdqa xmm3, xmmword [rsp + 0xb0]
vpaddd xmm0, xmm0, xmm3
vmovdqu xmmword [rdx + 0x10], xmm0
vmovdqa xmm5, xmmword [rsp + 0x60]
vpaddd xmm0, xmm7, xmm5
vmovdqu xmmword [rdx + 0x20], xmm0
vpaddd xmm0, xmm10, xmm6
vmovdqu xmmword [rdx + 0x30], xmm0
vmovdqu xmmword [rdx + 0x40], xmm4
vpaddd xmm0, xmm13, xmm3
vmovdqu xmmword [rdx + 0x50], xmm0
vpaddd xmm0, xmm12, xmm5
vmovdqu xmmword [rdx + 0x60], xmm0
vpaddd xmm0, xmm2, xmmword [rsp + 0x90]
vmovdqu xmmword [rdx + 0x70], xmm0
vmovdqu xmmword [rdx + 0x80], xmm1
vpaddd xmm0, xmm14, xmm3
vmovdqu xmmword [rdx + 0x90], xmm0
vpaddd xmm0, xmm5, xmmword [rsp + 0x20]
vmovdqu xmmword [rdx + 0xa0], xmm0
vpaddd xmm0, xmm15, xmmword [rsp + 0x80]
vmovdqu xmmword [rdx + 0xb0], xmm0
vmovdqu xmmword [rdx + 0xc0], xmm8
vpaddd xmm0, xmm3, xmmword [rsp]
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm11, xmm5
vmovdqu xmmword [rdx + 0xe0], xmm0
vmovdqa xmm0, xmmword [rsp + 0x30]
vpaddd xmm0, xmm0, xmmword [rsp + 0x70]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0xd0]
vmovaps xmm7, xmmword [rsp + 0xe0]
vmovaps xmm8, xmmword [rsp + 0xf0]
vmovaps xmm9, xmmword [rsp + 0x100]
vmovaps xmm10, xmmword [rsp + 0x110]
vmovaps xmm11, xmmword [rsp + 0x120]
vmovaps xmm12, xmmword [rsp + 0x130]
vmovaps xmm13, xmmword [rsp + 0x140]
vmovaps xmm14, xmmword [rsp + 0x150]
vmovaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x178
ret
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm15
movaps xmmword [rsp + 0x120], xmm14
movaps xmmword [rsp + 0x110], xmm13
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm11
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
movdqa xmm0, 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 xmm4, xmmword [rcx + 0x10]
movdqa xmm9, xmmword [str.expand_32_byte_k]
mov r8d, 6
movdqa xmm8, xmm9
movdqa xmm7, xmm9
movdqa xmm6, xmm9
movdqa xmm11, xmm0
movdqa xmm3, xmm0
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm10, xmm4
movdqa xmm5, xmm4
movdqa xmm1, xmm4
movdqa xmmword [rsp + 0x50], xmm4
movdqa xmmword [rsp + 0x40], xmm12
movdqa xmmword [rsp + 0x60], xmm13
movdqa xmmword [rsp + 0x70], xmm14
movdqa xmmword [rsp + 0x80], xmm15
nop dword [rax]
paddd xmm9, xmm11
paddd xmm8, xmm3
paddd xmm7, xmm2
paddd xmm6, xmm0
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm12, xmm9
pxor xmm13, xmm8
pxor xmm14, xmm7
pxor xmm15, xmm6
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm6, xmm12, 0xb1
movdqa xmmword [rsp + 0x20], xmm6
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm12, xmm13, 0xb1
movdqa xmmword [rsp + 0x30], xmm12
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
paddd xmm10, xmm6
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm5, xmm12
paddd xmm1, xmm14
paddd xmm4, xmm15
pxor xmm11, xmm10
movdqa xmm12, xmm4
movdqa xmmword [rsp], xmm4
movdqa xmm4, xmm11
psrld xmm4, 0x14
pslld xmm11, 0xc
por xmm11, xmm4
pxor xmm3, xmm5
movdqa xmm4, xmm3
psrld xmm4, 0x14
pslld xmm3, 0xc
por xmm3, xmm4
pxor xmm2, xmm1
movdqa xmm4, xmm2
psrld xmm4, 0x14
pslld xmm2, 0xc
por xmm2, xmm4
pxor xmm0, xmm12
movdqa xmm4, xmm0
psrld xmm4, 0x14
pslld xmm0, 0xc
por xmm0, xmm4
paddd xmm9, xmm11
paddd xmm8, xmm3
paddd xmm7, xmm2
paddd xmm6, xmm0
movdqa xmm4, xmm9
movdqa xmm13, xmmword [0x1402fa000]
pshufb xmm4, xmm13
movdqa xmm12, xmmword [rsp + 0x20]
pshufb xmm12, xmm13
pxor xmm12, xmm4
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmm4, xmm8
pshufb xmm4, xmm13
movdqa xmm12, xmmword [rsp + 0x30]
pshufb xmm12, xmm13
pxor xmm12, xmm4
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmm4, xmm7
pshufb xmm4, xmm13
pshufb xmm14, xmm13
pxor xmm14, xmm4
movdqa xmm4, xmm6
pshufb xmm4, xmm13
pshufb xmm15, xmm13
pxor xmm15, xmm4
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm10, xmm13
paddd xmm5, xmm12
paddd xmm1, xmm14
movdqa xmm4, xmmword [rsp]
paddd xmm4, xmm15
pxor xmm11, xmm10
pxor xmm3, xmm5
pxor xmm2, xmm1
pxor xmm0, xmm4
movdqa xmm12, xmm4
movdqa xmm4, xmm11
psrld xmm4, 0x19
pslld xmm11, 7
por xmm11, xmm4
movdqa xmm4, xmm3
psrld xmm4, 0x19
pslld xmm3, 7
por xmm3, xmm4
movdqa xmm4, xmm2
psrld xmm4, 0x19
pslld xmm2, 7
por xmm2, xmm4
movdqa xmm4, xmm0
psrld xmm4, 0x19
pslld xmm0, 7
por xmm0, xmm4
pshufd xmm11, xmm11, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm10, xmm10, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp], xmm1
pshufd xmm1, xmm12, 0x4e
movdqa xmmword [rsp + 0x10], xmm1
paddd xmm9, xmm11
paddd xmm8, xmm3
paddd xmm7, xmm2
paddd xmm6, xmm0
pshuflw xmm1, xmm9, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmm4, xmmword [0x1402fa010]
movdqa xmm12, xmm13
pshufb xmm12, xmm4
pxor xmm12, xmm1
pshuflw xmm1, xmm8, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmm13, xmmword [rsp + 0x30]
pshufb xmm13, xmm4
pxor xmm13, xmm1
pshuflw xmm1, xmm7, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm14, xmm4
pxor xmm14, xmm1
pshuflw xmm1, xmm6, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm15, xmm4
pxor xmm15, xmm1
paddd xmm10, xmm12
paddd xmm5, xmm13
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm14
movdqa xmmword [rsp], xmm1
movdqa xmm4, xmmword [rsp + 0x10]
paddd xmm4, xmm15
pxor xmm11, xmm10
pxor xmm3, xmm5
pxor xmm2, xmm1
pxor xmm0, xmm4
movdqa xmm1, xmm11
psrld xmm1, 0x14
pslld xmm11, 0xc
por xmm11, xmm1
movdqa xmm1, xmm3
psrld xmm1, 0x14
pslld xmm3, 0xc
por xmm3, xmm1
movdqa xmm1, xmm2
psrld xmm1, 0x14
pslld xmm2, 0xc
por xmm2, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
paddd xmm9, xmm11
paddd xmm8, xmm3
paddd xmm7, xmm2
paddd xmm6, xmm0
pxor xmm12, xmm9
movdqa xmm1, xmmword [0x1402fa000]
pshufb xmm12, xmm1
pxor xmm13, xmm8
pshufb xmm13, xmm1
pxor xmm14, xmm7
pshufb xmm14, xmm1
pxor xmm15, xmm6
pshufb xmm15, xmm1
paddd xmm10, xmm12
paddd xmm5, xmm13
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm14
movdqa xmmword [rsp], xmm1
paddd xmm4, xmm15
pxor xmm11, xmm10
pxor xmm3, xmm5
pxor xmm2, xmm1
pxor xmm0, xmm4
movdqa xmm1, xmm11
psrld xmm1, 0x19
pslld xmm11, 7
por xmm11, xmm1
movdqa xmm1, xmm3
psrld xmm1, 0x19
pslld xmm3, 7
por xmm3, xmm1
movdqa xmm1, xmm2
psrld xmm1, 0x19
pslld xmm2, 7
por xmm2, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
pshufd xmm11, xmm11, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm10, xmm10, 0x4e
pshufd xmm5, xmm5, 0x4e
pshufd xmm1, xmmword [rsp], 0x4e
pshufd xmm4, xmm4, 0x4e
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
dec r8d
jne 0x14017fb20
movdqa xmmword [rsp], xmm4
movdqa xmm4, xmmword [str.expand_32_byte_k]
paddd xmm6, xmm4
paddd xmm7, xmm4
paddd xmm8, xmm4
paddd xmm9, xmm4
add rax, 4
mov r8, rax
shr r8, 0x20
movdqa xmm4, xmmword [rsp + 0x40]
paddd xmm12, xmm4
pinsrd xmm4, eax, 0
pinsrd xmm4, r8d, 1
movdqa xmmword [rcx + 0x20], xmm4
movdqu xmmword [rdx], xmm9
movdqa xmm4, xmmword [rsp + 0x90]
paddd xmm11, xmm4
movdqu xmmword [rdx + 0x10], xmm11
movdqa xmm9, xmmword [rsp + 0x50]
paddd xmm10, xmm9
movdqu xmmword [rdx + 0x20], xmm10
movdqu xmmword [rdx + 0x30], xmm12
movdqu xmmword [rdx + 0x40], xmm8
paddd xmm3, xmm4
movdqu xmmword [rdx + 0x50], xmm3
paddd xmm5, xmm9
movdqu xmmword [rdx + 0x60], xmm5
movdqa xmm3, xmmword [rsp + 0x60]
paddd xmm3, xmm13
movdqu xmmword [rdx + 0x70], xmm3
movdqu xmmword [rdx + 0x80], xmm7
paddd xmm2, xmm4
movdqu xmmword [rdx + 0x90], xmm2
paddd xmm1, xmm9
movdqu xmmword [rdx + 0xa0], xmm1
movdqa xmm1, xmmword [rsp + 0x70]
paddd xmm1, xmm14
movdqu xmmword [rdx + 0xb0], xmm1
movdqu xmmword [rdx + 0xc0], xmm6
paddd xmm0, xmm4
movdqu xmmword [rdx + 0xd0], xmm0
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm9
movdqu xmmword [rdx + 0xe0], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
paddd xmm0, xmm15
movdqu xmmword [rdx + 0xf0], xmm0
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
ret
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm15
movaps xmmword [rsp + 0x130], xmm14
movaps xmmword [rsp + 0x120], xmm13
movaps xmmword [rsp + 0x110], xmm12
movaps xmmword [rsp + 0x100], xmm11
movaps xmmword [rsp + 0xf0], xmm10
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm8
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm6
movdqa xmm4, xmmword [rcx]
movdqa xmm13, xmmword [rcx + 0x10]
movdqa xmm0, xmmword [rcx + 0x20]
movdqa xmmword [rsp + 0x40], xmm0
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
movd xmm14, r8d
shr r8, 0x20
movdqa xmm3, xmm0
pslldq xmm3, 8
shufps xmm3, xmm0, 0xe8
movd xmm0, r8d
por xmm0, xmm3
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, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
lea r8, [rax + 3]
movd xmm2, r8d
shr r8, 0x20
movd xmm0, r8d
movaps xmmword [rsp + 0x50], xmm3
por xmm0, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm2, xmm1
movdqa xmm10, xmmword [str.expand_32_byte_k]
mov r8d, 6
movdqa xmm9, xmm10
movdqa xmm8, xmm10
movdqa xmm6, xmm10
movdqa xmm12, xmm4
movdqa xmm5, xmm4
movdqa xmm3, xmm4
movdqa xmmword [rsp + 0x90], xmm4
movdqa xmm1, xmm4
movdqa xmm11, xmm13
movdqa xmm7, xmm13
movdqa xmm4, xmm13
movdqa xmmword [rsp + 0xa0], xmm13
movdqa xmm0, xmm13
movdqa xmm13, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x80], xmm14
movdqa xmmword [rsp + 0x70], xmm15
movdqa xmmword [rsp + 0x60], xmm2
nop word cs:[rax + rax]
paddd xmm10, xmm12
paddd xmm9, xmm5
paddd xmm8, xmm3
paddd xmm6, xmm1
pxor xmm13, xmm10
pxor xmm14, xmm9
pxor xmm15, xmm8
pxor xmm2, xmm6
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
movdqa xmmword [rsp], xmm13
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 + 0x30], xmm2
paddd xmm11, xmm13
paddd xmm7, xmm14
paddd xmm4, xmm15
paddd xmm0, xmm2
pxor xmm12, xmm11
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x10], xmm0
movdqa xmm0, xmm12
psrld xmm0, 0x14
pslld xmm12, 0xc
por xmm12, xmm0
pxor xmm5, xmm7
movdqa xmm0, xmm5
psrld xmm0, 0x14
pslld xmm5, 0xc
por xmm5, xmm0
pxor xmm3, xmm4
movdqa xmm0, xmm3
psrld xmm0, 0x14
pslld xmm3, 0xc
por xmm3, xmm0
pxor xmm1, xmm2
movdqa xmm0, xmm1
psrld xmm0, 0x14
pslld xmm1, 0xc
por xmm1, xmm0
paddd xmm10, xmm12
paddd xmm9, xmm5
paddd xmm8, xmm3
paddd xmm6, xmm1
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmm0, xmm10
movdqa xmm2, xmmword [0x1402fa000]
pshufb xmm0, xmm2
movdqa xmm6, xmmword [rsp]
pshufb xmm6, xmm2
pxor xmm6, xmm0
movdqa xmmword [rsp], xmm6
movdqa xmm0, xmm9
pshufb xmm0, xmm2
pshufb xmm14, xmm2
pxor xmm14, xmm0
movdqa xmm0, xmm8
pshufb xmm0, xmm2
pshufb xmm15, xmm2
pxor xmm15, xmm0
movdqa xmm0, xmmword [rsp + 0x20]
pshufb xmm0, xmm2
movdqa xmm13, xmmword [rsp + 0x30]
pshufb xmm13, xmm2
pxor xmm13, xmm0
movdqa xmm2, xmm13
paddd xmm11, xmm6
movdqa xmm6, xmmword [rsp + 0x20]
paddd xmm7, xmm14
paddd xmm4, xmm15
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm13
pxor xmm12, xmm11
pxor xmm5, xmm7
pxor xmm3, xmm4
pxor xmm1, xmm0
movdqa xmm13, xmm0
movdqa xmm0, xmm12
psrld xmm0, 0x19
pslld xmm12, 7
por xmm12, xmm0
movdqa xmm0, xmm5
psrld xmm0, 0x19
pslld xmm5, 7
por xmm5, xmm0
movdqa xmm0, xmm3
psrld xmm0, 0x19
pslld xmm3, 7
por xmm3, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
pshufd xmm12, xmm12, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm11, xmm11, 0x4e
pshufd xmm7, xmm7, 0x4e
pshufd xmm0, xmm4, 0x4e
movdqa xmmword [rsp + 0x30], xmm0
pshufd xmm0, xmm13, 0x4e
movdqa xmmword [rsp + 0x10], xmm0
paddd xmm10, xmm12
paddd xmm9, xmm5
paddd xmm8, xmm3
paddd xmm6, xmm1
pshuflw xmm0, xmm10, 0xb1
pshufhw xmm0, xmm0, 0xb1
movdqa xmm13, xmmword [0x1402fa010]
movdqa xmm4, xmmword [rsp]
pshufb xmm4, xmm13
pxor xmm4, xmm0
pshuflw xmm0, xmm9, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm14, xmm13
pxor xmm14, xmm0
pshuflw xmm0, xmm8, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm15, xmm13
pxor xmm15, xmm0
pshuflw xmm0, xmm6, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm2, xmm13
pxor xmm2, xmm0
paddd xmm11, xmm4
movdqa xmm13, xmm4
paddd xmm7, xmm14
movdqa xmm4, xmmword [rsp + 0x30]
paddd xmm4, xmm15
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm2
movdqa xmmword [rsp + 0x10], xmm0
pxor xmm12, xmm11
pxor xmm5, xmm7
pxor xmm3, xmm4
pxor xmm1, xmm0
movdqa xmm0, xmm12
psrld xmm0, 0x14
pslld xmm12, 0xc
por xmm12, xmm0
movdqa xmm0, xmm5
psrld xmm0, 0x14
pslld xmm5, 0xc
por xmm5, xmm0
movdqa xmm0, xmm3
psrld xmm0, 0x14
pslld xmm3, 0xc
por xmm3, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x14
pslld xmm1, 0xc
por xmm1, xmm0
paddd xmm10, xmm12
paddd xmm9, xmm5
paddd xmm8, xmm3
paddd xmm6, xmm1
pxor xmm13, xmm10
movdqa xmm0, xmmword [0x1402fa000]
pshufb xmm13, xmm0
movdqa xmmword [rsp], xmm13
pxor xmm14, xmm9
pshufb xmm14, xmm0
pxor xmm15, xmm8
pshufb xmm15, xmm0
pxor xmm2, xmm6
pshufb xmm2, xmm0
paddd xmm11, xmm13
paddd xmm7, xmm14
paddd xmm4, xmm15
movdqa xmm13, xmmword [rsp + 0x10]
paddd xmm13, xmm2
pxor xmm12, xmm11
pxor xmm5, xmm7
pxor xmm3, xmm4
pxor xmm1, xmm13
movdqa xmm0, xmm12
psrld xmm0, 0x19
pslld xmm12, 7
por xmm12, xmm0
movdqa xmm0, xmm5
psrld xmm0, 0x19
pslld xmm5, 7
por xmm5, xmm0
movdqa xmm0, xmm3
psrld xmm0, 0x19
pslld xmm3, 7
por xmm3, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
pshufd xmm12, xmm12, 0x93
pshufd xmm5, xmm5, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm11, xmm11, 0x4e
pshufd xmm7, xmm7, 0x4e
pshufd xmm4, xmm4, 0x4e
pshufd xmm0, xmm13, 0x4e
pshufd xmm13, xmmword [rsp], 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm2, xmm2, 0x39
dec r8d
jne 0x140180250
add rax, 4
mov r8, rax
shr r8, 0x20
movdqa xmmword [rsp + 0x20], xmm2
movd xmm2, r8d
movdqa xmmword [rsp], xmm2
movaps xmm2, xmmword [rsp]
orps xmm2, xmmword [rsp + 0x50]
movaps xmmword [rsp], xmm2
movdqa xmm2, xmmword [rsp]
pslldq xmm2, 8
shufps xmm2, xmmword [rsp], 0xe8
movdqa xmmword [rsp + 0x10], xmm0
movd xmm0, eax
por xmm0, xmm2
movdqa xmmword [rcx + 0x20], xmm0
paddd xmm10, xmmword [str.expand_32_byte_k]
movdqu xmmword [rdx], xmm10
movdqa xmm10, xmmword [rsp + 0x90]
paddd xmm12, xmm10
movdqu xmmword [rdx + 0x10], xmm12
movdqa xmm0, xmmword [rsp + 0xa0]
paddd xmm11, xmm0
movdqu xmmword [rdx + 0x20], xmm11
paddd xmm13, xmmword [rsp + 0x40]
movdqu xmmword [rdx + 0x30], xmm13
movdqa xmm11, xmmword [str.expand_32_byte_k]
paddd xmm9, xmm11
movdqu xmmword [rdx + 0x40], xmm9
paddd xmm5, xmm10
movdqu xmmword [rdx + 0x50], xmm5
paddd xmm7, xmm0
movdqu xmmword [rdx + 0x60], xmm7
paddd xmm14, xmmword [rsp + 0x80]
movdqu xmmword [rdx + 0x70], xmm14
paddd xmm8, xmm11
movdqu xmmword [rdx + 0x80], xmm8
paddd xmm3, xmm10
movdqu xmmword [rdx + 0x90], xmm3
paddd xmm4, xmm0
movdqu xmmword [rdx + 0xa0], xmm4
paddd xmm15, xmmword [rsp + 0x70]
movdqu xmmword [rdx + 0xb0], xmm15
paddd xmm6, xmm11
movdqu xmmword [rdx + 0xc0], xmm6
paddd xmm1, xmm10
movdqu xmmword [rdx + 0xd0], xmm1
movdqa xmm1, xmmword [rsp + 0x10]
paddd xmm1, xmm0
movdqu xmmword [rdx + 0xe0], xmm1
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rdx + 0xf0], xmm0
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0x100]
movaps xmm12, xmmword [rsp + 0x110]
movaps xmm13, xmmword [rsp + 0x120]
movaps xmm14, xmmword [rsp + 0x130]
movaps xmm15, xmmword [rsp + 0x140]
add rsp, 0x158
ret