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

Disassembly:
push rsi
push rdi
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm15
movaps xmmword [rsp + 0xf0], xmm14
movaps xmmword [rsp + 0xe0], xmm13
movaps xmmword [rsp + 0xd0], xmm12
movaps xmmword [rsp + 0xc0], xmm11
movaps xmmword [rsp + 0xb0], xmm10
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14004b1e8]
test rax, rax
je 0x140020228
test ax, ax
js 0x140020236
mov rax, qword [0x14004b1e8]
test rax, rax
je 0x14002029f
test eax, 0x4000
jne 0x1400202af
mov rax, qword [0x14004b1e8]
test rax, rax
je 0x140020318
test eax, 0x400
jne 0x140020328
mov rax, qword [0x14004b1e8]
test rax, rax
je 0x140020391
test eax, 0x200
jne 0x1400203a1
movdqa xmm7, xmmword [rdi]
movdqa xmm12, xmmword [rdi + 0x10]
movaps xmm0, xmmword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
lea rcx, [rax + 3]
movd xmm14, ecx
shr rcx, 0x20
movd xmm1, ecx
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm14, xmm1
lea rcx, [rax + 2]
movd xmm15, ecx
shr rcx, 0x20
movd xmm1, ecx
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
inc rax
movd xmm1, eax
shr rax, 0x20
movd xmm2, eax
pslldq xmm2, 8
shufps xmm2, xmm0, 0xe8
por xmm1, xmm2
movdqa xmm5, xmmword [str.expand_32_byte_k]
mov eax, 6
movdqa xmm4, xmm5
movdqa xmm3, xmm5
movdqa xmm6, xmm5
movdqa xmmword [rsp + 0x20], xmm12
movdqa xmm8, xmm12
movdqa xmm10, xmm12
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmm13, xmm7
movdqa xmm11, xmm7
movdqa xmm9, xmm7
movdqa xmmword [rsp + 0x50], xmm7
paddd xmm5, xmm13
paddd xmm4, xmm11
paddd xmm3, xmm9
paddd xmm6, xmm7
xorps xmm0, xmm5
pxor xmm1, xmm4
pxor xmm15, xmm3
pxor xmm14, xmm6
pshuflw xmm0, xmm0, 0xb1
movdqa xmm2, xmm15
movdqa xmm15, xmm14
pshufhw xmm14, xmm0, 0xb1
pshuflw xmm0, xmm1, 0xb1
pshufhw xmm1, xmm0, 0xb1
pshuflw xmm0, xmm2, 0xb1
pshufhw xmm2, xmm0, 0xb1
pshuflw xmm0, xmm15, 0xb1
pshufhw xmm15, xmm0, 0xb1
paddd xmm12, xmm14
paddd xmm10, xmm1
paddd xmm8, xmm2
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm15
movdqa xmmword [rsp + 0x20], xmm0
pxor xmm13, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm0
movdqa xmm0, xmm13
psrld xmm0, 0x14
pslld xmm13, 0xc
por xmm13, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x14
pslld xmm11, 0xc
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x14
pslld xmm9, 0xc
por xmm9, xmm0
movdqa xmm0, xmm7
psrld xmm0, 0x14
pslld xmm7, 0xc
por xmm7, xmm0
paddd xmm5, xmm13
paddd xmm4, xmm11
paddd xmm3, xmm9
paddd xmm6, xmm7
pxor xmm14, xmm5
movdqa xmm0, xmm14
psrld xmm0, 0x18
pslld xmm14, 8
por xmm14, xmm0
pxor xmm1, xmm4
movdqa xmm0, xmm1
psrld xmm0, 0x18
pslld xmm1, 8
por xmm1, xmm0
pxor xmm2, xmm3
movdqa xmm0, xmm2
psrld xmm0, 0x18
pslld xmm2, 8
por xmm2, xmm0
pxor xmm15, xmm6
movdqa xmm0, xmm15
psrld xmm0, 0x18
pslld xmm15, 8
por xmm15, xmm0
paddd xmm12, xmm14
paddd xmm10, xmm1
paddd xmm8, xmm2
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm15
movdqa xmmword [rsp + 0x20], xmm0
pxor xmm13, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm0
movdqa xmm0, xmm13
psrld xmm0, 0x19
pslld xmm13, 7
por xmm13, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x19
pslld xmm11, 7
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x19
pslld xmm9, 7
por xmm9, xmm0
movdqa xmm0, xmm7
psrld xmm0, 0x19
pslld xmm7, 7
por xmm7, xmm0
pshufd xmm0, xmm13, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm9, xmm9, 0x39
pshufd xmm7, xmm7, 0x39
pshufd xmm12, xmm12, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm8, xmm8, 0x4e
pshufd xmm13, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm13
pshufd xmm13, xmm14, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm14, xmm15, 0x93
movdqa xmmword [rsp + 0x30], xmm14
paddd xmm5, xmm0
paddd xmm4, xmm11
paddd xmm3, xmm9
paddd xmm6, xmm7
pshuflw xmm14, xmm5, 0xb1
pshufhw xmm15, xmm14, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm14, xmm13, 0xb1
pxor xmm14, xmm15
pshuflw xmm13, xmm4, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm1, xmm1, 0xb1
pshufhw xmm1, xmm1, 0xb1
pxor xmm1, xmm13
pshuflw xmm13, xmm3, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm15, xmm2, 0xb1
pxor xmm15, xmm13
pshuflw xmm2, xmm6, 0xb1
pshufhw xmm13, xmm2, 0xb1
pshuflw xmm2, xmmword [rsp + 0x30], 0xb1
pshufhw xmm2, xmm2, 0xb1
pxor xmm2, xmm13
paddd xmm12, xmm14
paddd xmm10, xmm1
paddd xmm8, xmm15
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm13, xmm2
movdqa xmmword [rsp + 0x20], xmm13
pxor xmm0, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm13
movdqa xmm13, xmm0
psrld xmm13, 0x14
pslld xmm0, 0xc
por xmm0, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x14
pslld xmm11, 0xc
por xmm11, xmm13
movdqa xmm13, xmm9
psrld xmm13, 0x14
pslld xmm9, 0xc
por xmm9, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x14
pslld xmm7, 0xc
por xmm7, xmm13
paddd xmm5, xmm0
paddd xmm4, xmm11
paddd xmm3, xmm9
paddd xmm6, xmm7
pxor xmm14, xmm5
movdqa xmm13, xmm14
psrld xmm13, 0x18
pslld xmm14, 8
por xmm14, xmm13
pxor xmm1, xmm4
movdqa xmm13, xmm1
psrld xmm13, 0x18
pslld xmm1, 8
por xmm1, xmm13
pxor xmm15, xmm3
movdqa xmm13, xmm15
psrld xmm13, 0x18
pslld xmm15, 8
por xmm15, xmm13
pxor xmm2, xmm6
movdqa xmm13, xmm2
psrld xmm13, 0x18
pslld xmm2, 8
por xmm2, xmm13
paddd xmm12, xmm14
paddd xmm10, xmm1
paddd xmm8, xmm15
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm13, xmm2
movdqa xmmword [rsp + 0x20], xmm13
pxor xmm0, xmm12
pxor xmm11, xmm10
pxor xmm9, xmm8
pxor xmm7, xmm13
movdqa xmm13, xmm0
psrld xmm13, 0x19
pslld xmm0, 7
por xmm0, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x19
pslld xmm11, 7
por xmm11, xmm13
movdqa xmm13, xmm9
psrld xmm13, 0x19
pslld xmm9, 7
por xmm9, xmm13
movdqa xmm13, xmm7
psrld xmm13, 0x19
pslld xmm7, 7
por xmm7, xmm13
pshufd xmm13, xmm0, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm9, xmm9, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm12, xmm12, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm8, xmm8, 0x4e
pshufd xmm0, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm0
pshufd xmm0, xmm14, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm14, xmm2, 0x39
dec eax
jne 0x14001fbc0
movdqa xmm2, xmmword [str.expand_32_byte_k]
paddd xmm6, xmm2
paddd xmm3, xmm2
paddd xmm4, xmm2
paddd xmm5, xmm2
movdqa xmm2, xmmword [rdi + 0x20]
movq rax, xmm2
movdqa xmmword [rsp + 0x40], xmm2
lea rcx, [rax + 4]
mov rdx, rcx
shr rdx, 0x20
movdqa xmmword [rsp + 0x30], xmm14
movd xmm14, edx
pslldq xmm14, 8
shufps xmm14, xmm2, 0xe8
movd xmm2, ecx
por xmm2, xmm14
movdqa xmmword [rdi + 0x20], xmm2
movdqu xmmword [rsi], xmm5
movdqa xmm14, xmmword [rsp + 0x50]
paddd xmm13, xmm14
movdqu xmmword [rsi + 0x10], xmm13
movdqa xmm5, xmmword [rsp + 0x60]
paddd xmm12, xmm5
movdqu xmmword [rsi + 0x20], xmm12
lea rcx, [rax + 1]
mov rdx, rcx
shr rdx, 0x20
movdqa xmm12, xmmword [rsp + 0x40]
paddd xmm0, xmm12
movdqu xmmword [rsi + 0x30], xmm0
movd xmm0, edx
pslldq xmm0, 8
shufps xmm0, xmm12, 0xe8
movd xmm2, ecx
orps xmm0, xmm2
movdqu xmmword [rsi + 0x40], xmm4
paddd xmm11, xmm14
movdqu xmmword [rsi + 0x50], xmm11
paddd xmm10, xmm5
movdqu xmmword [rsi + 0x60], xmm10
lea rcx, [rax + 2]
paddd xmm0, xmm1
movd xmm1, ecx
shr rcx, 0x20
movdqu xmmword [rsi + 0x70], xmm0
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm12, 0xe8
orps xmm0, xmm1
movdqu xmmword [rsi + 0x80], xmm3
paddd xmm9, xmm14
movdqu xmmword [rsi + 0x90], xmm9
paddd xmm8, xmm5
movdqu xmmword [rsi + 0xa0], xmm8
paddd xmm0, xmm15
movdqu xmmword [rsi + 0xb0], xmm0
add rax, 3
mov rcx, rax
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm12, 0xe8
movd xmm1, eax
orps xmm0, xmm1
movdqu xmmword [rsi + 0xc0], xmm6
paddd xmm7, xmm14
movdqu xmmword [rsi + 0xd0], xmm7
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm5
movdqu xmmword [rsi + 0xe0], xmm1
paddd xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsi + 0xf0], xmm0
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
ret
call fcn.14003be70
test ax, ax
jns 0x14001fabd
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
jmp 0x140020410
call fcn.14003be70
test eax, 0x4000
je 0x14001fad8
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
jmp 0x140020800
call fcn.14003be70
test eax, 0x400
je 0x14001faf3
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
jmp 0x140020e40
call fcn.14003be70
test eax, 0x200
je 0x14001fb0e
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
jmp 0x140021560
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 xmm2, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 2]
vpinsrd xmm0, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm1, xmm0, r8d, 1
lea r8, [rax + 3]
vpinsrd xmm0, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmmword [rsp], xmm0
vinserti128 ymm8, ymm1, xmm0, 1
lea r8, [rax + 1]
vpinsrd xmm3, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm5, xmm3, r8d, 1
vbroadcasti128 ymm3, xmmword [rcx + 0x10]
vinserti128 ymm12, ymm2, xmm5, 1
vbroadcasti128 ymm4, xmmword [rcx]
vbroadcasti128 ymm9, xmmword [str.expand_32_byte_k]
mov r8d, 6
vbroadcasti128 ymm6, xmmword [0x14003d780]
vmovdqa ymm7, ymmword [0x14003d760]
vmovdqa ymm13, ymm9
vmovdqa ymm11, ymm3
vmovdqa ymm14, ymm3
vmovdqa ymm10, ymm4
vmovdqa ymm15, ymm4
nop word cs:[rax + rax]
vpaddd ymm13, ymm13, ymm15
vpaddd ymm9, ymm9, ymm10
vpxor ymm12, ymm12, ymm13
vpxor ymm8, ymm8, ymm9
vpshuflw ymm12, ymm12, 0xb1
vpshufhw ymm12, ymm12, 0xb1
vpshuflw ymm8, ymm8, 0xb1
vpshufhw ymm8, ymm8, 0xb1
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm15, ymm14, ymm15
vpsrld ymm0, ymm15, 0x14
vpslld ymm15, ymm15, 0xc
vpor ymm0, ymm15, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpshufb ymm15, ymm13, ymm6
vpshufb ymm12, ymm12, ymm6
vpxor ymm12, ymm12, ymm15
vpshufb ymm15, ymm9, ymm6
vpshufb ymm8, ymm8, ymm6
vpxor ymm8, ymm8, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm0, ymm0, 0x39
vpshufd ymm10, ymm10, 0x39
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpshuflw ymm15, ymm13, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm12, ymm12, ymm7
vpxor ymm12, ymm12, ymm15
vpshuflw ymm15, ymm9, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm8, ymm8, ymm7
vpxor ymm8, ymm8, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x14
vpslld ymm0, ymm0, 0xc
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpxor ymm12, ymm12, ymm13
vpshufb ymm12, ymm12, ymm6
vpxor ymm8, ymm8, ymm9
vpshufb ymm8, ymm8, ymm6
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm15, ymm0, 0x93
vpshufd ymm10, ymm10, 0x93
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm12, ymm12, 0x39
vpshufd ymm8, ymm8, 0x39
dec r8d
jne 0x140020500
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm0, xmm2, eax, 0
vpinsrd xmm0, xmm0, r8d, 1
vextracti128 xmm6, ymm13, 1
vmovdqa xmmword [rcx + 0x20], xmm0
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vpaddd xmm7, xmm13, xmm0
vmovdqu xmmword [rdx], xmm7
vpaddd xmm7, xmm15, xmm4
vmovdqu xmmword [rdx + 0x10], xmm7
vpaddd xmm7, xmm14, xmm3
vmovdqu xmmword [rdx + 0x20], xmm7
vextracti128 xmm7, ymm9, 1
vextracti128 xmm13, ymm15, 1
vpaddd xmm2, xmm12, xmm2
vmovdqu xmmword [rdx + 0x30], xmm2
vextracti128 xmm2, ymm10, 1
vextracti128 xmm14, ymm14, 1
vpaddd xmm6, xmm6, xmm0
vmovdqu xmmword [rdx + 0x40], xmm6
vextracti128 xmm6, ymm11, 1
vextracti128 xmm12, ymm12, 1
vpaddd xmm13, xmm13, xmm4
vmovdqu xmmword [rdx + 0x50], xmm13
vextracti128 xmm13, ymm8, 1
vpaddd xmm14, xmm14, xmm3
vmovdqu xmmword [rdx + 0x60], xmm14
vpaddd xmm5, xmm12, xmm5
vmovdqu xmmword [rdx + 0x70], xmm5
vpaddd xmm5, xmm9, xmm0
vmovdqu xmmword [rdx + 0x80], xmm5
vpaddd xmm5, xmm10, xmm4
vmovdqu xmmword [rdx + 0x90], xmm5
vpaddd xmm5, xmm11, xmm3
vmovdqu xmmword [rdx + 0xa0], xmm5
vpaddd xmm1, xmm8, xmm1
vmovdqu xmmword [rdx + 0xb0], xmm1
vpaddd xmm0, xmm7, xmm0
vmovdqu xmmword [rdx + 0xc0], xmm0
vpaddd xmm0, xmm4, xmm2
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm3, xmm6
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm13, 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, 0x148
vmovaps xmmword [rsp + 0x130], xmm15
vmovaps xmmword [rsp + 0x120], xmm14
vmovdqa xmmword [rsp + 0x110], xmm13
vmovaps xmmword [rsp + 0x100], xmm12
vmovaps xmmword [rsp + 0xf0], xmm11
vmovaps xmmword [rsp + 0xe0], xmm10
vmovdqa xmmword [rsp + 0xd0], xmm9
vmovaps xmmword [rsp + 0xc0], xmm8
vmovdqa xmmword [rsp + 0xb0], xmm7
vmovdqa xmmword [rsp + 0xa0], xmm6
mov rax, qword [rcx + 0x20]
vmovdqa xmm15, xmmword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm0, xmm15, r8d, 0
shr r8, 0x20
vpinsrd xmm8, xmm0, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm0, xmm15, r8d, 0
shr r8, 0x20
vpinsrd xmm10, xmm0, r8d, 1
vmovdqa xmm4, xmmword [rcx]
add rax, 3
vpinsrd xmm0, xmm15, eax, 0
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
vmovdqa xmmword [rsp + 0x40], xmm0
vmovdqa xmm1, xmmword [rcx + 0x10]
vmovdqa xmm11, xmmword [str.expand_32_byte_k]
mov eax, 6
vmovdqa xmmword [rsp + 0x20], xmm11
vmovdqa xmm12, xmm11
vmovdqa xmmword [rsp], xmm11
vmovdqa xmmword [rsp + 0x10], xmm1
vmovdqa xmmword [rsp + 0x50], xmm1
vmovdqa xmm2, xmm1
vmovdqa xmmword [rsp + 0x60], xmm1
vmovdqa xmm3, xmm4
vmovdqa xmm0, xmm4
vmovdqa xmm14, xmm4
vmovdqa xmmword [rsp + 0x70], xmm4
vmovdqa xmmword [rsp + 0x30], xmm4
vpaddd xmm4, xmm3, xmmword [rsp]
vmovdqa xmmword [rsp], xmm4
vpxor xmm6, xmm15, xmm4
vpshuflw xmm6, xmm6, 0xb1
vpshufhw xmm9, xmm6, 0xb1
vpaddd xmm1, xmm9, xmm1
vmovdqa xmmword [rsp + 0x80], xmm1
vpxor xmm3, xmm1, xmm3
vpsrld xmm4, xmm3, 0x14
vpslld xmm3, xmm3, 0xc
vpor xmm7, xmm3, xmm4
vpaddd xmm6, xmm0, xmmword [rsp + 0x20]
vpxor xmm4, xmm8, xmm6
vpshuflw xmm4, xmm4, 0xb1
vpshufhw xmm4, xmm4, 0xb1
vpaddd xmm1, xmm2, xmm4
vmovdqa xmmword [rsp + 0x90], xmm1
vpxor xmm0, xmm1, xmm0
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm8, xmm0, xmm1
vpaddd xmm5, xmm14, xmm12
vpxor xmm0, xmm10, xmm5
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm10, xmm0, 0xb1
vpaddd xmm13, xmm10, xmmword [rsp + 0x50]
vpxor xmm0, xmm13, xmm14
vpsrld xmm12, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm14, xmm12, xmm0
vmovdqa xmm2, xmmword [rsp + 0x30]
vpaddd xmm3, xmm11, xmm2
vpxor xmm11, xmm3, xmmword [rsp + 0x40]
vpshuflw xmm11, xmm11, 0xb1
vpshufhw xmm1, xmm11, 0xb1
vpaddd xmm15, xmm1, xmmword [rsp + 0x10]
vpxor xmm11, xmm15, xmm2
vpsrld xmm12, xmm11, 0x14
vpslld xmm11, xmm11, 0xc
vpor xmm2, xmm11, xmm12
vpaddd xmm12, xmm7, xmmword [rsp]
vmovdqa xmm0, xmmword [0x14003d780]
vpshufb xmm9, xmm9, xmm0
vpshufb xmm11, xmm12, xmm0
vpxor xmm11, xmm11, xmm9
vpaddd xmm6, xmm8, xmm6
vmovdqa xmmword [rsp + 0x10], xmm6
vpshufb xmm4, xmm4, xmm0
vpshufb xmm9, xmm6, xmm0
vpxor xmm4, xmm9, xmm4
vpaddd xmm5, xmm14, xmm5
vpshufb xmm9, xmm10, xmm0
vpshufb xmm10, xmm5, xmm0
vpxor xmm10, xmm10, xmm9
vpaddd xmm3, xmm2, xmm3
vmovdqa xmmword [rsp], xmm3
vpshufb xmm1, xmm1, xmm0
vpshufb xmm9, xmm3, xmm0
vpxor xmm1, xmm9, xmm1
vpaddd xmm0, xmm11, xmmword [rsp + 0x80]
vmovdqa xmmword [rsp + 0x20], xmm0
vpxor xmm6, xmm0, xmm7
vpsrld xmm9, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm6, xmm9, xmm6
vpaddd xmm9, xmm4, xmmword [rsp + 0x90]
vpxor xmm8, xmm9, xmm8
vpsrld xmm0, xmm8, 0x19
vpslld xmm8, xmm8, 7
vpor xmm0, xmm8, xmm0
vpaddd xmm8, xmm13, xmm10
vpxor xmm13, xmm8, xmm14
vpsrld xmm14, xmm13, 0x19
vpslld xmm13, xmm13, 7
vpor xmm13, xmm13, xmm14
vpaddd xmm14, xmm15, xmm1
vpxor xmm2, xmm14, xmm2
vpsrld xmm7, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm15, xmm2, xmm7
vpshufd xmm2, xmm6, 0x39
vpaddd xmm12, xmm12, xmm2
vpshuflw xmm6, xmm12, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vmovdqa xmm7, xmmword [0x14003d790]
vpshufb xmm11, xmm11, xmm7
vpxor xmm11, xmm11, xmm6
vpshufd xmm0, xmm0, 0x39
vpaddd xmm3, xmm0, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x30], xmm3
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vpshufb xmm4, xmm4, xmm7
vpxor xmm4, xmm4, xmm3
vpshufd xmm13, xmm13, 0x39
vpaddd xmm3, xmm13, xmm5
vmovdqa xmmword [rsp + 0x10], xmm3
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vpshufb xmm5, xmm10, xmm7
vpxor xmm5, xmm5, xmm3
vpshufd xmm10, xmm15, 0x39
vpaddd xmm3, xmm10, xmmword [rsp]
vpshuflw xmm6, xmm3, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpshufb xmm1, xmm1, xmm7
vpxor xmm6, xmm1, xmm6
vpshufd xmm1, xmmword [rsp + 0x20], 0x4e
vpaddd xmm1, xmm11, xmm1
vpxor xmm2, xmm1, xmm2
vpsrld xmm7, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm15, xmm2, xmm7
vpshufd xmm2, xmm9, 0x4e
vpaddd xmm2, xmm2, xmm4
vpxor xmm0, xmm2, xmm0
vpsrld xmm7, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm0, xmm0, xmm7
vpshufd xmm7, xmm8, 0x4e
vpaddd xmm8, xmm7, xmm5
vpxor xmm7, xmm8, xmm13
vpsrld xmm9, xmm7, 0x14
vpslld xmm7, xmm7, 0xc
vpor xmm9, xmm9, xmm7
vpshufd xmm7, xmm14, 0x4e
vpaddd xmm7, xmm7, xmm6
vpxor xmm10, xmm10, xmm7
vpsrld xmm13, xmm10, 0x14
vpslld xmm10, xmm10, 0xc
vpor xmm14, xmm10, xmm13
vpaddd xmm10, xmm15, xmm12
vmovdqa xmmword [rsp], xmm10
vpxor xmm11, xmm10, xmm11
vpshufb xmm13, xmm11, xmmword [0x14003d780]
vpaddd xmm1, xmm13, xmm1
vpxor xmm11, xmm15, xmm1
vpsrld xmm12, xmm11, 0x19
vpslld xmm11, xmm11, 7
vpor xmm15, xmm11, xmm12
vpaddd xmm10, xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x20], xmm10
vpxor xmm4, xmm10, xmm4
vmovdqa xmm10, xmmword [0x14003d780]
vpshufb xmm4, xmm4, xmm10
vpaddd xmm2, xmm2, xmm4
vpxor xmm0, xmm2, xmm0
vpsrld xmm11, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm11, xmm0
vpaddd xmm12, xmm9, xmmword [rsp + 0x10]
vpxor xmm5, xmm12, xmm5
vpshufb xmm5, xmm5, xmm10
vpaddd xmm8, xmm8, xmm5
vpxor xmm9, xmm8, xmm9
vpsrld xmm11, xmm9, 0x19
vpslld xmm9, xmm9, 7
vpor xmm9, xmm9, xmm11
vpaddd xmm11, xmm14, xmm3
vpxor xmm3, xmm11, xmm6
vpshufb xmm6, xmm3, xmm10
vpaddd xmm7, xmm7, xmm6
vpxor xmm3, xmm14, xmm7
vpsrld xmm14, xmm3, 0x19
vpslld xmm3, xmm3, 7
vpor xmm10, xmm14, xmm3
vpshufd xmm3, xmm15, 0x93
vpshufd xmm0, xmm0, 0x93
vpshufd xmm14, xmm9, 0x93
vpshufd xmm9, xmm10, 0x93
vmovdqa xmmword [rsp + 0x30], xmm9
vpshufd xmm1, xmm1, 0x4e
vpshufd xmm2, xmm2, 0x4e
vpshufd xmm8, xmm8, 0x4e
vmovdqa xmmword [rsp + 0x50], xmm8
vpshufd xmm7, xmm7, 0x4e
vmovdqa xmmword [rsp + 0x10], xmm7
vpshufd xmm15, xmm13, 0x39
vpshufd xmm8, xmm4, 0x39
vpshufd xmm10, xmm5, 0x39
vpshufd xmm4, xmm6, 0x39
vmovdqa xmmword [rsp + 0x40], xmm4
dec eax
jne 0x140020900
vmovdqa xmm4, xmmword [rcx + 0x20]
vmovq r9, xmm4
lea rax, [r9 + 1]
lea r8, [r9 + 2]
lea r10, [r9 + 3]
add r9, 4
mov r11, r9
shr r11, 0x20
vpinsrd xmm5, xmm4, r9d, 0
vpinsrd xmm5, xmm5, r11d, 1
vmovdqa xmm6, xmmword [str.expand_32_byte_k]
vpaddd xmm7, xmm11, xmm6
vpaddd xmm9, xmm12, xmm6
vmovdqa xmm11, xmm10
vpaddd xmm10, xmm6, xmmword [rsp + 0x20]
vpaddd xmm6, xmm6, xmmword [rsp]
vmovdqa xmmword [rcx + 0x20], xmm5
vmovdqu xmmword [rdx], xmm6
vmovdqa xmm5, xmmword [rsp + 0x70]
vpaddd xmm3, xmm3, xmm5
vmovdqu xmmword [rdx + 0x10], xmm3
vmovdqa xmm6, xmmword [rsp + 0x60]
vpaddd xmm1, xmm1, xmm6
vmovdqu xmmword [rdx + 0x20], xmm1
vpaddd xmm1, xmm15, xmm4
vmovdqu xmmword [rdx + 0x30], xmm1
vpinsrd xmm1, xmm4, eax, 0
shr rax, 0x20
vpinsrd xmm1, xmm1, eax, 1
vmovdqu xmmword [rdx + 0x40], xmm10
vpinsrd xmm3, xmm4, r8d, 0
shr r8, 0x20
vpinsrd xmm3, xmm3, r8d, 1
vpinsrd xmm4, xmm4, r10d, 0
shr r10, 0x20
vpinsrd xmm4, xmm4, r10d, 1
vpaddd xmm0, xmm0, xmm5
vmovdqu xmmword [rdx + 0x50], xmm0
vpaddd xmm0, xmm2, xmm6
vmovdqu xmmword [rdx + 0x60], xmm0
vpaddd xmm0, xmm8, xmm1
vmovdqu xmmword [rdx + 0x70], xmm0
vmovdqu xmmword [rdx + 0x80], xmm9
vpaddd xmm0, xmm14, xmm5
vmovdqu xmmword [rdx + 0x90], xmm0
vpaddd xmm0, xmm6, xmmword [rsp + 0x50]
vmovdqu xmmword [rdx + 0xa0], xmm0
vpaddd xmm0, xmm11, xmm3
vmovdqu xmmword [rdx + 0xb0], xmm0
vmovdqu xmmword [rdx + 0xc0], xmm7
vpaddd xmm0, xmm5, xmmword [rsp + 0x30]
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm6, xmmword [rsp + 0x10]
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm4, xmmword [rsp + 0x40]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0xa0]
vmovaps xmm7, xmmword [rsp + 0xb0]
vmovaps xmm8, xmmword [rsp + 0xc0]
vmovaps xmm9, xmmword [rsp + 0xd0]
vmovaps xmm10, xmmword [rsp + 0xe0]
vmovaps xmm11, xmmword [rsp + 0xf0]
vmovaps xmm12, xmmword [rsp + 0x100]
vmovaps xmm13, xmmword [rsp + 0x110]
vmovaps xmm14, xmmword [rsp + 0x120]
vmovaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
ret
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm15
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [rcx + 0x20]
movdqa xmm10, xmmword [rcx]
movdqa xmm9, xmmword [rcx + 0x20]
lea r8, [rax + 1]
movdqa xmm11, xmm9
pinsrd xmm11, r8d, 0
shr r8, 0x20
pinsrd xmm11, r8d, 1
lea r8, [rax + 2]
movdqa xmm13, xmm9
pinsrd xmm13, r8d, 0
shr r8, 0x20
pinsrd xmm13, r8d, 1
add rax, 3
movdqa xmm14, xmm9
pinsrd xmm14, eax, 0
shr rax, 0x20
pinsrd xmm14, eax, 1
movdqa xmm7, xmmword [rcx + 0x10]
movdqa xmm5, xmmword [str.expand_32_byte_k]
mov eax, 6
movdqa xmm4, xmm5
movdqa xmm3, xmm5
movdqa xmm2, xmm5
movdqa xmm8, xmm7
movdqa xmm12, xmm7
movdqa xmm1, xmm7
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmm6, xmm10
movdqa xmm0, xmm10
movdqa xmm15, xmm10
movdqa xmmword [rsp + 0x50], xmm10
nop word cs:[rax + rax]
paddd xmm5, xmm6
paddd xmm4, xmm0
paddd xmm3, xmm15
paddd xmm2, xmm10
pxor xmm9, xmm5
pxor xmm11, xmm4
pxor xmm13, xmm3
pxor xmm14, xmm2
pshuflw xmm9, xmm9, 0xb1
pshufhw xmm9, xmm9, 0xb1
movdqa xmmword [rsp + 0x10], xmm9
pshuflw xmm11, xmm11, 0xb1
pshufhw xmm11, xmm11, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
paddd xmm7, xmm9
paddd xmm1, xmm11
paddd xmm12, xmm13
movdqa xmmword [rsp + 0x20], xmm12
paddd xmm8, xmm14
movdqa xmmword [rsp], xmm8
pxor xmm6, xmm7
pxor xmm0, xmm1
pxor xmm15, xmm12
pxor xmm10, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x14
pslld xmm6, 0xc
por xmm6, xmm8
movdqa xmm8, xmm0
psrld xmm8, 0x14
pslld xmm0, 0xc
por xmm0, xmm8
movdqa xmm8, xmm15
psrld xmm8, 0x14
pslld xmm15, 0xc
por xmm15, xmm8
movdqa xmm8, xmm10
psrld xmm8, 0x14
pslld xmm10, 0xc
por xmm10, xmm8
paddd xmm5, xmm6
paddd xmm4, xmm0
paddd xmm3, xmm15
paddd xmm2, xmm10
movdqa xmm8, xmm5
movdqa xmm12, xmmword [0x14003d780]
pshufb xmm8, xmm12
movdqa xmm9, xmmword [rsp + 0x10]
pshufb xmm9, xmm12
pxor xmm9, xmm8
movdqa xmmword [rsp + 0x10], xmm9
movdqa xmm8, xmm4
pshufb xmm8, xmm12
pshufb xmm11, xmm12
pxor xmm11, xmm8
movdqa xmm8, xmm3
pshufb xmm8, xmm12
pshufb xmm13, xmm12
pxor xmm13, xmm8
movdqa xmm8, xmm2
pshufb xmm8, xmm12
pshufb xmm14, xmm12
pxor xmm14, xmm8
paddd xmm7, xmm9
paddd xmm1, xmm11
movdqa xmm9, xmmword [rsp + 0x20]
paddd xmm9, xmm13
movdqa xmm8, xmmword [rsp]
paddd xmm8, xmm14
pxor xmm6, xmm7
pxor xmm0, xmm1
pxor xmm15, xmm9
movdqa xmm12, xmm9
pxor xmm10, xmm8
movdqa xmm9, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x19
pslld xmm6, 7
por xmm6, xmm8
movdqa xmm8, xmm0
psrld xmm8, 0x19
pslld xmm0, 7
por xmm0, xmm8
movdqa xmm8, xmm15
psrld xmm8, 0x19
pslld xmm15, 7
por xmm15, xmm8
movdqa xmm8, xmm10
psrld xmm8, 0x19
pslld xmm10, 7
por xmm10, xmm8
pshufd xmm6, xmm6, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm10, xmm10, 0x39
pshufd xmm7, xmm7, 0x4e
movdqa xmmword [rsp + 0x30], xmm7
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp], xmm1
pshufd xmm12, xmm12, 0x4e
pshufd xmm1, xmm9, 0x4e
movdqa xmmword [rsp + 0x20], xmm1
paddd xmm5, xmm6
paddd xmm4, xmm0
paddd xmm3, xmm15
paddd xmm2, xmm10
pshuflw xmm1, xmm5, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmm8, xmmword [0x14003d790]
movdqa xmm9, xmmword [rsp + 0x10]
pshufb xmm9, xmm8
pxor xmm9, xmm1
pshuflw xmm1, xmm4, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm11, xmm8
pxor xmm11, xmm1
pshuflw xmm1, xmm3, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm13, xmm8
pxor xmm13, xmm1
pshuflw xmm1, xmm2, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshufb xmm14, xmm8
pxor xmm14, xmm1
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm9
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm11
movdqa xmmword [rsp], xmm1
paddd xmm12, xmm13
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm14
pxor xmm6, xmm7
pxor xmm0, xmm1
pxor xmm15, xmm12
pxor xmm10, xmm8
movdqa xmm1, xmm6
psrld xmm1, 0x14
pslld xmm6, 0xc
por xmm6, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
movdqa xmm1, xmm15
psrld xmm1, 0x14
pslld xmm15, 0xc
por xmm15, xmm1
movdqa xmm1, xmm10
psrld xmm1, 0x14
pslld xmm10, 0xc
por xmm10, xmm1
paddd xmm5, xmm6
paddd xmm4, xmm0
paddd xmm3, xmm15
paddd xmm2, xmm10
pxor xmm9, xmm5
pxor xmm11, xmm4
pxor xmm13, xmm3
pxor xmm14, xmm2
movdqa xmm1, xmmword [0x14003d780]
pshufb xmm9, xmm1
movdqa xmmword [rsp + 0x10], xmm9
pshufb xmm11, xmm1
pshufb xmm13, xmm1
pshufb xmm14, xmm1
paddd xmm7, xmm9
movdqa xmm9, xmmword [rsp]
paddd xmm9, xmm11
paddd xmm12, xmm13
paddd xmm8, xmm14
pxor xmm6, xmm7
pxor xmm0, xmm9
pxor xmm15, xmm12
pxor xmm10, xmm8
movdqa xmm1, xmm6
psrld xmm1, 0x19
pslld xmm6, 7
por xmm6, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
movdqa xmm1, xmm15
psrld xmm1, 0x19
pslld xmm15, 7
por xmm15, xmm1
movdqa xmm1, xmm10
psrld xmm1, 0x19
pslld xmm10, 7
por xmm10, xmm1
pshufd xmm6, xmm6, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm15, xmm15, 0x93
pshufd xmm10, xmm10, 0x93
pshufd xmm7, xmm7, 0x4e
pshufd xmm1, xmm9, 0x4e
pshufd xmm12, xmm12, 0x4e
pshufd xmm8, xmm8, 0x4e
pshufd xmm9, xmmword [rsp + 0x10], 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
dec eax
jne 0x140020f50
movdqa xmmword [rsp], xmm8
movdqa xmm8, xmmword [str.expand_32_byte_k]
paddd xmm2, xmm8
paddd xmm3, xmm8
paddd xmm4, xmm8
paddd xmm5, xmm8
movdqa xmm8, xmmword [rcx + 0x20]
movq r10, xmm8
lea r8, [r10 + 1]
lea r9, [r10 + 2]
lea rax, [r10 + 3]
add r10, 4
paddd xmm9, xmm8
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm8
pinsrd xmm8, r10d, 0
shr r10, 0x20
pinsrd xmm8, r10d, 1
movdqa xmmword [rcx + 0x20], xmm8
movdqu xmmword [rdx], xmm5
movdqa xmm5, xmmword [rsp + 0x50]
paddd xmm6, xmm5
movdqu xmmword [rdx + 0x10], xmm6
movdqa xmm6, xmmword [rsp + 0x40]
paddd xmm7, xmm6
movdqu xmmword [rdx + 0x20], xmm7
movdqu xmmword [rdx + 0x30], xmm9
movdqu xmmword [rdx + 0x40], xmm4
paddd xmm0, xmm5
movdqu xmmword [rdx + 0x50], xmm0
paddd xmm1, xmm6
movdqu xmmword [rdx + 0x60], xmm1
movdqa xmm0, xmmword [rsp + 0x30]
pinsrd xmm0, r8d, 0
shr r8, 0x20
pinsrd xmm0, r8d, 1
paddd xmm11, xmm0
movdqu xmmword [rdx + 0x70], xmm11
movdqu xmmword [rdx + 0x80], xmm3
paddd xmm15, xmm5
movdqu xmmword [rdx + 0x90], xmm15
movdqa xmm0, xmmword [rsp + 0x20]
pinsrd xmm0, r9d, 0
shr r9, 0x20
pinsrd xmm0, r9d, 1
paddd xmm12, xmm6
movdqu xmmword [rdx + 0xa0], xmm12
paddd xmm13, xmm0
movdqu xmmword [rdx + 0xb0], xmm13
movdqu xmmword [rdx + 0xc0], xmm2
paddd xmm10, xmm5
movdqu xmmword [rdx + 0xd0], xmm10
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm6
movdqu xmmword [rdx + 0xe0], xmm0
movdqa xmm0, xmmword [rsp + 0x10]
pinsrd xmm0, eax, 0
shr rax, 0x20
pinsrd xmm0, eax, 1
paddd xmm14, xmm0
movdqu xmmword [rdx + 0xf0], xmm14
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
ret
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm15
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm9
movdqa xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [rcx + 0x20]
movdqa xmm9, xmmword [rcx]
movdqa xmm7, xmmword [rcx + 0x10]
movdqa xmm12, xmmword [rcx + 0x20]
lea r8, [rax + 1]
movd xmm13, r8d
shr r8, 0x20
movdqa xmm0, xmm12
pslldq xmm0, 8
shufps xmm0, xmm12, 0xe8
movd xmm1, r8d
por xmm1, xmm0
movdqa xmm2, xmm1
pslldq xmm2, 8
shufps xmm2, xmm1, 0xe8
por xmm13, xmm2
lea r8, [rax + 2]
movd xmm14, r8d
shr r8, 0x20
movd xmm1, r8d
por xmm1, xmm0
movdqa xmm2, xmm1
pslldq xmm2, 8
shufps xmm2, xmm1, 0xe8
por xmm14, xmm2
add rax, 3
movd xmm15, eax
shr rax, 0x20
movd xmm1, eax
por xmm1, xmm0
movdqa xmm0, xmm1
pslldq xmm0, 8
shufps xmm0, xmm1, 0xe8
por xmm15, xmm0
movdqa xmm5, xmmword [str.expand_32_byte_k]
mov eax, 6
movdqa xmm4, xmm5
movdqa xmmword [rsp], xmm5
movdqa xmm3, xmm5
movdqa xmm10, xmm7
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmm0, xmm7
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmm6, xmm9
movdqa xmm1, xmm9
movdqa xmm11, xmm9
movdqa xmmword [rsp + 0x40], xmm9
nop dword [rax]
paddd xmm5, xmm6
paddd xmm4, xmm1
movdqa xmm2, xmmword [rsp]
paddd xmm2, xmm11
paddd xmm3, xmm9
pxor xmm12, xmm5
pxor xmm13, xmm4
pxor xmm14, xmm2
pxor xmm15, xmm3
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
paddd xmm7, xmm12
paddd xmm0, xmm13
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm8, xmmword [rsp + 0x10]
paddd xmm8, xmm14
movdqa xmmword [rsp + 0x10], xmm8
paddd xmm10, xmm15
movdqa xmmword [rsp + 0x20], xmm10
pxor xmm6, xmm7
pxor xmm1, xmm0
pxor xmm11, xmm8
pxor xmm9, xmm10
movdqa xmm8, xmm6
psrld xmm8, 0x14
pslld xmm6, 0xc
por xmm6, xmm8
movdqa xmm8, xmm1
psrld xmm8, 0x14
pslld xmm1, 0xc
por xmm1, xmm8
movdqa xmm8, xmm11
psrld xmm8, 0x14
pslld xmm11, 0xc
por xmm11, xmm8
movdqa xmm8, xmm9
psrld xmm8, 0x14
pslld xmm9, 0xc
por xmm9, xmm8
paddd xmm5, xmm6
paddd xmm4, xmm1
paddd xmm2, xmm11
movdqa xmm0, xmm2
movdqa xmmword [rsp], xmm2
paddd xmm3, xmm9
movdqa xmm8, xmm5
movdqa xmm2, xmmword [0x14003d780]
pshufb xmm8, xmm2
pshufb xmm12, xmm2
pxor xmm12, xmm8
movdqa xmm8, xmm4
pshufb xmm8, xmm2
pshufb xmm13, xmm2
pxor xmm13, xmm8
pshufb xmm0, xmm2
pshufb xmm14, xmm2
pxor xmm14, xmm0
movdqa xmm8, xmm3
pshufb xmm8, xmm2
pshufb xmm15, xmm2
pxor xmm15, xmm8
paddd xmm7, xmm12
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm13
movdqa xmm2, xmmword [rsp + 0x10]
paddd xmm2, xmm14
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm15
pxor xmm6, xmm7
pxor xmm1, xmm0
movdqa xmm10, xmm0
pxor xmm11, xmm2
pxor xmm9, xmm8
movdqa xmm0, xmm8
movdqa xmm8, xmm6
psrld xmm8, 0x19
pslld xmm6, 7
por xmm6, xmm8
movdqa xmm8, xmm1
psrld xmm8, 0x19
pslld xmm1, 7
por xmm1, xmm8
movdqa xmm8, xmm11
psrld xmm8, 0x19
pslld xmm11, 7
por xmm11, xmm8
movdqa xmm8, xmm9
psrld xmm8, 0x19
pslld xmm9, 7
por xmm9, xmm8
pshufd xmm6, xmm6, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm9, xmm9, 0x39
pshufd xmm7, xmm7, 0x4e
movdqa xmmword [rsp + 0x20], xmm7
pshufd xmm7, xmm10, 0x4e
movdqa xmmword [rsp + 0x10], xmm7
pshufd xmm10, xmm2, 0x4e
pshufd xmm8, xmm0, 0x4e
paddd xmm5, xmm6
paddd xmm4, xmm1
movdqa xmm2, xmmword [rsp]
paddd xmm2, xmm11
movdqa xmmword [rsp], xmm2
paddd xmm3, xmm9
pshuflw xmm0, xmm5, 0xb1
pshufhw xmm0, xmm0, 0xb1
movdqa xmm7, xmmword [0x14003d790]
pshufb xmm12, xmm7
pxor xmm12, xmm0
pshuflw xmm0, xmm4, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm13, xmm7
pxor xmm13, xmm0
pshuflw xmm0, xmm2, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm14, xmm7
pxor xmm14, xmm0
pshuflw xmm0, xmm3, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm15, xmm7
pxor xmm15, xmm0
movdqa xmm7, xmmword [rsp + 0x20]
paddd xmm7, xmm12
movdqa xmm2, xmmword [rsp + 0x10]
paddd xmm2, xmm13
paddd xmm10, xmm14
paddd xmm8, xmm15
pxor xmm6, xmm7
pxor xmm1, xmm2
pxor xmm11, xmm10
pxor xmm9, xmm8
movdqa xmm0, xmm6
psrld xmm0, 0x14
pslld xmm6, 0xc
por xmm6, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x14
pslld xmm1, 0xc
por xmm1, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x14
pslld xmm11, 0xc
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x14
pslld xmm9, 0xc
por xmm9, xmm0
paddd xmm5, xmm6
paddd xmm4, xmm1
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm11
paddd xmm3, xmm9
pxor xmm12, xmm5
pxor xmm13, xmm4
movdqa xmmword [rsp], xmm0
pxor xmm14, xmm0
pxor xmm15, xmm3
movdqa xmm0, xmmword [0x14003d780]
pshufb xmm12, xmm0
pshufb xmm13, xmm0
pshufb xmm14, xmm0
pshufb xmm15, xmm0
paddd xmm7, xmm12
paddd xmm2, xmm13
paddd xmm10, xmm14
paddd xmm8, xmm15
pxor xmm6, xmm7
pxor xmm1, xmm2
pxor xmm11, xmm10
pxor xmm9, xmm8
movdqa xmm0, xmm6
psrld xmm0, 0x19
pslld xmm6, 7
por xmm6, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
movdqa xmm0, xmm11
psrld xmm0, 0x19
pslld xmm11, 7
por xmm11, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x19
pslld xmm9, 7
por xmm9, xmm0
pshufd xmm6, xmm6, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm9, xmm9, 0x93
pshufd xmm7, xmm7, 0x4e
pshufd xmm0, xmm2, 0x4e
pshufd xmm10, xmm10, 0x4e
movdqa xmmword [rsp + 0x10], xmm10
pshufd xmm10, xmm8, 0x4e
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
dec eax
jne 0x1400216a0
movdqa xmm8, xmmword [str.expand_32_byte_k]
paddd xmm3, xmm8
movdqa xmm2, xmmword [rsp]
paddd xmm2, xmm8
movdqa xmmword [rsp], xmm2
paddd xmm4, xmm8
paddd xmm5, xmm8
movdqa xmm8, xmmword [rcx + 0x20]
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmm2, xmm8
pslldq xmm2, 8
shufps xmm2, xmm8, 0xe8
movaps xmmword [rsp + 0x30], xmm2
movq rax, xmm8
lea r8, [rax + 4]
mov r9, r8
shr r9, 0x20
movd xmm8, r9d
por xmm8, xmm2
movdqa xmm2, xmm8
pslldq xmm2, 8
shufps xmm2, xmm8, 0xe8
movd xmm8, r8d
por xmm8, xmm2
movdqa xmmword [rcx + 0x20], xmm8
movdqu xmmword [rdx], xmm5
movdqa xmm2, xmmword [rsp + 0x40]
paddd xmm6, xmm2
movdqu xmmword [rdx + 0x10], xmm6
movdqa xmm8, xmmword [rsp + 0x50]
paddd xmm7, xmm8
movdqu xmmword [rdx + 0x20], xmm7
paddd xmm12, xmmword [rsp + 0x20]
lea rcx, [rax + 1]
mov r8, rcx
shr r8, 0x20
movdqu xmmword [rdx + 0x30], xmm12
movd xmm5, r8d
movdqa xmm7, xmmword [rsp + 0x30]
por xmm5, xmm7
movdqa xmm6, xmm5
pslldq xmm6, 8
shufps xmm6, xmm5, 0xe8
movd xmm5, ecx
orps xmm6, xmm5
movdqu xmmword [rdx + 0x40], xmm4
paddd xmm1, xmm2
movdqu xmmword [rdx + 0x50], xmm1
paddd xmm0, xmm8
movdqu xmmword [rdx + 0x60], xmm0
lea rcx, [rax + 2]
mov r8, rcx
shr r8, 0x20
paddd xmm6, xmm13
movd xmm0, r8d
por xmm0, xmm7
movdqu xmmword [rdx + 0x70], xmm6
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
movd xmm0, ecx
orps xmm1, xmm0
movaps xmm0, xmmword [rsp]
movups xmmword [rdx + 0x80], xmm0
paddd xmm11, xmm2
movdqu xmmword [rdx + 0x90], xmm11
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm8
movdqu xmmword [rdx + 0xa0], xmm0
paddd xmm1, xmm14
movdqu xmmword [rdx + 0xb0], xmm1
add rax, 3
mov rcx, rax
shr rcx, 0x20
movd xmm0, ecx
por xmm0, xmm7
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
movd xmm0, eax
orps xmm1, xmm0
movdqu xmmword [rdx + 0xc0], xmm3
paddd xmm9, xmm2
movdqu xmmword [rdx + 0xd0], xmm9
paddd xmm10, xmm8
movdqu xmmword [rdx + 0xe0], xmm10
paddd xmm1, xmm15
movdqu xmmword [rdx + 0xf0], xmm1
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
ret