Function at 0x180006f90
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
movdqa 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 [0x18003bbd8]
test rax, rax
je 0x180006d9f
test ax, ax
js 0x180006dad
mov rax, qword [0x18003bbd8]
test rax, rax
je 0x180006e19
test eax, 0x4000
jne 0x180006e29
mov rax, qword [0x18003bbd8]
test rax, rax
je 0x180006e95
test eax, 0x400
jne 0x180006ea5
mov rax, qword [0x18003bbd8]
test rax, rax
je 0x180006f11
test eax, 0x200
jne 0x180006f21
movdqa xmm1, xmmword [rdi]
movdqa xmm8, xmmword [rdi + 0x10]
movdqa xmm7, xmmword [rdi + 0x20]
movq rax, xmm7
lea rcx, [rax + 1]
movd xmm4, 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 xmm4, xmm0
lea rcx, [rax + 2]
movd xmm11, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm7, 0xe8
por xmm11, xmm0
lea rcx, [rax + 3]
movd xmm2, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm7, 0xe8
por xmm2, xmm0
movdqa xmm9, xmmword [str.expand_32_byte_k]
mov ecx, 6
movdqa xmm15, xmm9
movdqa xmmword [rsp + 0x20], xmm9
movdqa xmmword [rsp + 0x40], xmm9
movdqa xmmword [rsp + 0x60], xmm2
movdqa xmm5, xmm2
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x80], xmm4
movdqa xmm14, xmm1
movdqa xmm6, xmm1
movdqa xmm2, xmm1
movdqa xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm7
movdqa xmm0, xmm7
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmm10, xmm8
movdqa xmm13, xmm8
movdqa xmmword [rsp + 0xb0], xmm8
nop word [rax + rax]
paddd xmm9, xmm14
paddd xmm15, xmm6
movdqa xmm3, xmmword [rsp + 0x20]
paddd xmm3, xmm2
movdqa xmmword [rsp + 0x20], xmm3
movdqa xmm7, xmmword [rsp + 0x40]
paddd xmm7, xmm1
movdqa xmmword [rsp + 0x40], xmm7
pxor xmm0, xmm9
pxor xmm4, xmm15
pxor xmm11, xmm3
pxor xmm5, xmm7
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm12, xmm0, 0xb1
pshuflw xmm0, xmm4, 0xb1
pshufhw xmm7, xmm0, 0xb1
pshuflw xmm0, xmm11, 0xb1
pshufhw xmm4, xmm0, 0xb1
pshuflw xmm0, xmm5, 0xb1
pshufhw xmm3, xmm0, 0xb1
paddd xmm8, xmm12
paddd xmm13, xmm7
paddd xmm10, xmm4
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x30], xmm0
pxor xmm1, xmm0
pxor xmm14, xmm8
movdqa xmm0, xmm14
psrld xmm0, 0x14
pslld xmm14, 0xc
por xmm14, xmm0
pxor xmm6, xmm13
movdqa xmm0, xmm6
psrld xmm0, 0x14
pslld xmm6, 0xc
por xmm6, xmm0
pxor xmm2, xmm10
movdqa xmm0, xmm2
psrld xmm0, 0x14
pslld xmm2, 0xc
por xmm2, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x14
pslld xmm1, 0xc
por xmm1, xmm0
paddd xmm9, xmm14
paddd xmm15, xmm6
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm2
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm11, xmmword [rsp + 0x40]
paddd xmm11, xmm1
movdqa xmmword [rsp + 0x40], xmm11
pxor xmm12, xmm9
movdqa xmm0, xmm12
psrld xmm0, 0x18
pslld xmm12, 8
por xmm12, xmm0
pxor xmm7, xmm15
movdqa xmm0, xmm7
psrld xmm0, 0x18
pslld xmm7, 8
por xmm7, xmm0
pxor xmm4, xmmword [rsp + 0x20]
movdqa xmm0, xmm4
psrld xmm0, 0x18
pslld xmm4, 8
por xmm4, xmm0
pxor xmm3, xmm11
movdqa xmm0, xmm3
psrld xmm0, 0x18
pslld xmm3, 8
por xmm3, xmm0
paddd xmm8, xmm12
paddd xmm13, xmm7
paddd xmm10, xmm4
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm3
pxor xmm14, xmm8
pxor xmm6, xmm13
pxor xmm2, xmm10
pxor xmm1, xmm0
movdqa xmm11, xmm0
movdqa xmm0, xmm14
psrld xmm0, 0x19
pslld xmm14, 7
por xmm14, xmm0
movdqa xmm0, xmm6
psrld xmm0, 0x19
pslld xmm6, 7
por xmm6, xmm0
movdqa xmm0, xmm2
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
pshufd xmm0, xmm14, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm8, xmm8, 0x4e
pshufd xmm13, xmm13, 0x4e
pshufd xmm5, xmm10, 0x4e
movdqa xmmword [rsp + 0xc0], xmm5
pshufd xmm5, xmm11, 0x4e
movdqa xmmword [rsp + 0x30], xmm5
pshufd xmm12, xmm12, 0x93
pshufd xmm7, xmm7, 0x93
pshufd xmm14, xmm4, 0x93
pshufd xmm11, xmm3, 0x93
paddd xmm9, xmm0
paddd xmm15, xmm6
movdqa xmm10, xmmword [rsp + 0x20]
paddd xmm10, xmm2
movdqa xmm5, xmmword [rsp + 0x40]
paddd xmm5, xmm1
pxor xmm12, xmm9
pxor xmm7, xmm15
pxor xmm14, xmm10
pxor xmm11, xmm5
pshuflw xmm3, xmm12, 0xb1
pshufhw xmm12, xmm3, 0xb1
pshuflw xmm3, xmm7, 0xb1
pshufhw xmm4, xmm3, 0xb1
pshuflw xmm3, xmm14, 0xb1
pshufhw xmm3, xmm3, 0xb1
pshuflw xmm7, xmm11, 0xb1
pshufhw xmm7, xmm7, 0xb1
paddd xmm8, xmm12
paddd xmm13, xmm4
movdqa xmm14, xmmword [rsp + 0xc0]
paddd xmm14, xmm3
movdqa xmm11, xmmword [rsp + 0x30]
paddd xmm11, xmm7
movdqa xmmword [rsp + 0x30], xmm11
pxor xmm1, xmm11
pxor xmm0, xmm8
movdqa xmm11, xmm0
psrld xmm11, 0x14
pslld xmm0, 0xc
por xmm0, xmm11
pxor xmm6, xmm13
movdqa xmm11, xmm6
psrld xmm11, 0x14
pslld xmm6, 0xc
por xmm6, xmm11
pxor xmm2, xmm14
movdqa xmm11, xmm2
psrld xmm11, 0x14
pslld xmm2, 0xc
por xmm2, xmm11
movdqa xmm11, xmm1
psrld xmm11, 0x14
pslld xmm1, 0xc
por xmm1, xmm11
paddd xmm9, xmm0
paddd xmm15, xmm6
paddd xmm10, xmm2
paddd xmm5, xmm1
pxor xmm12, xmm9
movdqa xmm11, xmm12
psrld xmm11, 0x18
pslld xmm12, 8
por xmm12, xmm11
pxor xmm4, xmm15
movdqa xmm11, xmm4
psrld xmm11, 0x18
pslld xmm4, 8
por xmm4, xmm11
movdqa xmmword [rsp + 0x20], xmm10
pxor xmm3, xmm10
movdqa xmm11, xmm3
psrld xmm11, 0x18
pslld xmm3, 8
por xmm3, xmm11
movdqa xmmword [rsp + 0x40], xmm5
pxor xmm7, xmm5
movdqa xmm11, xmm7
psrld xmm11, 0x18
pslld xmm7, 8
por xmm7, xmm11
paddd xmm8, xmm12
paddd xmm13, xmm4
movdqa xmm5, xmm14
paddd xmm5, xmm3
movdqa xmm14, xmmword [rsp + 0x30]
paddd xmm14, xmm7
pxor xmm0, xmm8
pxor xmm6, xmm13
pxor xmm2, xmm5
movdqa xmm10, xmm5
pxor xmm1, xmm14
movdqa xmm5, xmm14
movdqa xmm11, xmm0
psrld xmm11, 0x19
pslld xmm0, 7
por xmm0, xmm11
movdqa xmm11, xmm6
psrld xmm11, 0x19
pslld xmm6, 7
por xmm6, xmm11
movdqa xmm11, xmm2
psrld xmm11, 0x19
pslld xmm2, 7
por xmm2, xmm11
movdqa xmm11, xmm1
psrld xmm11, 0x19
pslld xmm1, 7
por xmm1, xmm11
pshufd xmm14, xmm0, 0x93
pshufd xmm6, xmm6, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm8, xmm8, 0x4e
pshufd xmm13, xmm13, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm0, xmm5, 0x4e
movdqa xmmword [rsp + 0x30], xmm0
pshufd xmm0, xmm12, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm11, xmm3, 0x39
pshufd xmm5, xmm7, 0x39
add ecx, 0xffffffff
jne 0x180006770
movdqa xmm7, xmmword [str.expand_32_byte_k]
movdqa xmm3, xmmword [rsp + 0x20]
paddd xmm3, xmm7
movdqa xmmword [rsp + 0x20], xmm3
paddd xmm15, xmm7
paddd xmm9, xmm7
movdqa xmm3, xmmword [rsp + 0x40]
paddd xmm3, xmm7
add rax, 4
mov rcx, rax
shr rcx, 0x20
movd xmm7, ecx
por xmm7, xmmword [rsp + 0x50]
movdqa xmm12, xmm7
pslldq xmm12, 8
shufps xmm12, xmm7, 0xe8
movd xmm7, eax
por xmm7, xmm12
movdqa xmmword [rdi + 0x20], xmm7
movdqu xmmword [rsi], xmm9
movdqa xmm9, xmmword [rsp + 0xa0]
paddd xmm14, xmm9
movdqu xmmword [rsi + 0x10], xmm14
movdqa xmm7, xmmword [rsp + 0xb0]
paddd xmm8, xmm7
movdqu xmmword [rsi + 0x20], xmm8
paddd xmm0, xmmword [rsp + 0x90]
movdqu xmmword [rsi + 0x30], xmm0
movdqu xmmword [rsi + 0x40], xmm15
paddd xmm6, xmm9
movdqu xmmword [rsi + 0x50], xmm6
paddd xmm13, xmm7
movdqu xmmword [rsi + 0x60], xmm13
paddd xmm4, xmmword [rsp + 0x80]
movdqu xmmword [rsi + 0x70], xmm4
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi + 0x80], xmm0
paddd xmm2, xmm9
movdqu xmmword [rsi + 0x90], xmm2
paddd xmm10, xmm7
movdqu xmmword [rsi + 0xa0], xmm10
paddd xmm11, xmmword [rsp + 0x70]
movdqu xmmword [rsi + 0xb0], xmm11
movdqu xmmword [rsi + 0xc0], xmm3
paddd xmm1, xmm9
movdqu xmmword [rsi + 0xd0], xmm1
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm7
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.180026bb0
test ax, ax
jns 0x180006621
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 0x180006f90
call fcn.180026bb0
test eax, 0x4000
je 0x18000663c
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 0x1800073b0
call fcn.180026bb0
test eax, 0x400
je 0x180006657
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 0x180007a10
call fcn.180026bb0
test eax, 0x200
je 0x180006672
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 0x180008170
sub rsp, 0xe8
vmovdqa xmmword [rsp + 0xd0], xmm15
vmovaps xmmword [rsp + 0xc0], xmm14
vmovaps xmmword [rsp + 0xb0], xmm13
vmovaps xmmword [rsp + 0xa0], xmm12
vmovaps xmmword [rsp + 0x90], xmm11
vmovaps xmmword [rsp + 0x80], xmm10
vmovaps xmmword [rsp + 0x70], xmm9
vmovaps xmmword [rsp + 0x60], xmm8
vmovaps xmmword [rsp + 0x50], xmm7
vmovaps xmmword [rsp + 0x40], xmm6
vmovdqa xmm3, xmmword [rcx + 0x20]
vmovq r8, xmm3
lea rax, [r8 + 1]
vpinsrd xmm0, xmm3, eax, 0
shr rax, 0x20
vpinsrd xmm2, xmm0, eax, 1
lea rax, [r8 + 2]
vpinsrd xmm0, xmm3, eax, 0
shr rax, 0x20
vpinsrd xmm1, xmm0, eax, 1
lea rax, [r8 + 3]
vpinsrd xmm0, xmm3, eax, 0
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
vbroadcasti128 ymm4, xmmword [rcx]
vbroadcasti128 ymm5, xmmword [rcx + 0x10]
vmovdqa xmmword [rsp], xmm2
vinserti128 ymm11, ymm3, xmm2, 1
vmovdqa xmmword [rsp + 0x10], xmm0
vmovdqu ymmword [rsp + 0x20], ymm1
vinserti128 ymm10, ymm1, xmm0, 1
vmovdqa ymm7, ymmword [str.expand_32_byte_kexpand_32_byte_k]
mov eax, 6
vmovdqa ymm6, ymmword [0x180028480]
vmovdqa ymm9, ymm5
vmovdqa ymm12, ymm5
vmovdqa ymm8, ymm4
vmovdqa ymm14, ymm4
vmovdqa ymm13, ymm7
nop dword [rax]
vpaddd ymm13, ymm13, ymm14
vpaddd ymm7, ymm8, ymm7
vpxor ymm11, ymm11, ymm13
vpxor ymm10, ymm10, ymm7
vpshuflw ymm11, ymm11, 0xb1
vpshufhw ymm11, ymm11, 0xb1
vpshuflw ymm10, ymm10, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpaddd ymm12, ymm11, ymm12
vpaddd ymm9, ymm10, ymm9
vpxor ymm14, ymm12, ymm14
vpsrld ymm15, ymm14, 0x14
vpslld ymm14, ymm14, 0xc
vpor ymm14, ymm14, ymm15
vpxor ymm8, ymm9, ymm8
vpsrld ymm15, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm15
vpaddd ymm13, ymm14, ymm13
vpaddd ymm7, ymm8, ymm7
vpshufb ymm15, ymm13, ymm6
vpshufb ymm11, ymm11, ymm6
vpxor ymm11, ymm11, ymm15
vpshufb ymm15, ymm7, ymm6
vpshufb ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymm15
vpaddd ymm12, ymm12, ymm11
vpaddd ymm9, ymm9, ymm10
vpxor ymm14, ymm12, ymm14
vpxor ymm8, ymm9, ymm8
vpsrld ymm15, ymm14, 0x19
vpslld ymm14, ymm14, 7
vpor ymm14, ymm14, ymm15
vpsrld ymm15, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm15
vpshufd ymm14, ymm14, 0x39
vpshufd ymm8, ymm8, 0x39
vpshufd ymm12, ymm12, 0x4e
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm11, ymm11, 0x93
vpshufd ymm10, ymm10, 0x93
vpaddd ymm13, ymm14, ymm13
vpaddd ymm7, ymm8, ymm7
vpxor ymm11, ymm13, ymm11
vpxor ymm10, ymm10, ymm7
vpshuflw ymm11, ymm11, 0xb1
vpshufhw ymm11, ymm11, 0xb1
vpshuflw ymm10, ymm10, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpaddd ymm12, ymm12, ymm11
vpaddd ymm9, ymm9, ymm10
vpxor ymm14, ymm12, ymm14
vpxor ymm8, ymm9, ymm8
vpsrld ymm15, ymm14, 0x14
vpslld ymm14, ymm14, 0xc
vpor ymm14, ymm14, ymm15
vpsrld ymm15, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm15
vpaddd ymm13, ymm14, ymm13
vpaddd ymm7, ymm8, ymm7
vpshufb ymm15, ymm13, ymm6
vpshufb ymm11, ymm11, ymm6
vpxor ymm11, ymm11, ymm15
vpshufb ymm15, ymm7, ymm6
vpshufb ymm10, ymm10, ymm6
vpxor ymm10, ymm10, ymm15
vpaddd ymm12, ymm12, ymm11
vpaddd ymm9, ymm9, ymm10
vpxor ymm14, ymm12, ymm14
vpxor ymm8, ymm9, ymm8
vpsrld ymm15, ymm14, 0x19
vpslld ymm14, ymm14, 7
vpor ymm14, ymm14, ymm15
vpsrld ymm15, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm15
vpshufd ymm14, ymm14, 0x93
vpshufd ymm8, ymm8, 0x93
vpshufd ymm12, ymm12, 0x4e
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm11, ymm11, 0x39
vpshufd ymm10, ymm10, 0x39
add eax, 0xffffffff
jne 0x180007080
add r8, 4
mov rax, r8
shr rax, 0x20
vpinsrd xmm6, xmm3, r8d, 0
vpinsrd xmm6, xmm6, eax, 1
vextracti128 xmm0, ymm13, 1
vmovdqa xmmword [rcx + 0x20], xmm6
vmovdqa xmm6, xmmword [str.expand_32_byte_k]
vpaddd xmm1, xmm13, xmm6
vmovdqu xmmword [rdx], xmm1
vpaddd xmm1, xmm14, xmm4
vmovdqu xmmword [rdx + 0x10], xmm1
vpaddd xmm1, xmm12, xmm5
vmovdqu xmmword [rdx + 0x20], xmm1
vextracti128 xmm1, ymm7, 1
vextracti128 xmm2, ymm14, 1
vpaddd xmm3, xmm11, xmm3
vmovdqu xmmword [rdx + 0x30], xmm3
vextracti128 xmm3, ymm8, 1
vmovdqa ymm13, ymm4
vextracti128 xmm4, ymm12, 1
vpaddd xmm0, xmm0, xmm6
vmovdqu xmmword [rdx + 0x40], xmm0
vextracti128 xmm0, ymm9, 1
vmovdqa ymm12, ymm5
vextracti128 xmm5, ymm11, 1
vpaddd xmm2, xmm13, xmm2
vmovdqu xmmword [rdx + 0x50], xmm2
vextracti128 xmm2, ymm10, 1
vpaddd xmm4, xmm12, xmm4
vmovdqu xmmword [rdx + 0x60], xmm4
vpaddd xmm4, xmm5, xmmword [rsp]
vmovdqu xmmword [rdx + 0x70], xmm4
vpaddd xmm4, xmm7, xmm6
vmovdqu xmmword [rdx + 0x80], xmm4
vpaddd xmm4, xmm13, xmm8
vmovdqu xmmword [rdx + 0x90], xmm4
vpaddd xmm4, xmm12, xmm9
vmovdqu xmmword [rdx + 0xa0], xmm4
vpaddd xmm4, xmm10, xmmword [rsp + 0x20]
vmovdqu xmmword [rdx + 0xb0], xmm4
vpaddd xmm1, xmm1, xmm6
vmovdqu xmmword [rdx + 0xc0], xmm1
vpaddd xmm1, xmm13, xmm3
vmovdqu xmmword [rdx + 0xd0], xmm1
vpaddd xmm0, xmm12, xmm0
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm2, xmmword [rsp + 0x10]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x40]
vmovaps xmm7, xmmword [rsp + 0x50]
vmovaps xmm8, xmmword [rsp + 0x60]
vmovaps xmm9, xmmword [rsp + 0x70]
vmovaps xmm10, xmmword [rsp + 0x80]
vmovaps xmm11, xmmword [rsp + 0x90]
vmovaps xmm12, xmmword [rsp + 0xa0]
vmovaps xmm13, xmmword [rsp + 0xb0]
vmovaps xmm14, xmmword [rsp + 0xc0]
vmovaps xmm15, xmmword [rsp + 0xd0]
add rsp, 0xe8
ret
sub rsp, 0x178
vmovdqa xmmword [rsp + 0x160], xmm15
vmovaps xmmword [rsp + 0x150], xmm14
vmovdqa xmmword [rsp + 0x140], xmm13
vmovaps xmmword [rsp + 0x130], xmm12
vmovaps xmmword [rsp + 0x120], xmm11
vmovaps xmmword [rsp + 0x110], xmm10
vmovdqa xmmword [rsp + 0x100], xmm9
vmovaps xmmword [rsp + 0xf0], xmm8
vmovaps xmmword [rsp + 0xe0], xmm7
vmovdqa xmmword [rsp + 0xd0], xmm6
vmovdqa xmm11, xmmword [rcx + 0x20]
vmovq r8, xmm11
lea rax, [r8 + 1]
vpinsrd xmm0, xmm11, eax, 0
shr rax, 0x20
vpinsrd xmm7, xmm0, eax, 1
lea rax, [r8 + 2]
vpinsrd xmm0, xmm11, eax, 0
shr rax, 0x20
vpinsrd xmm2, xmm0, eax, 1
lea rax, [r8 + 3]
vpinsrd xmm0, xmm11, eax, 0
vmovdqa xmm1, xmmword [rcx]
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
vmovdqa xmm10, xmmword [rcx + 0x10]
vmovdqa xmm4, xmmword [str.expand_32_byte_k]
mov eax, 6
vmovdqa xmm5, xmm4
vmovdqa xmmword [rsp + 0x50], xmm4
vmovdqa xmmword [rsp + 0x40], xmm4
vmovdqa xmmword [rsp + 0x90], xmm0
vmovdqa xmm12, xmm0
vmovdqa xmmword [rsp + 0xa0], xmm2
vmovdqa xmmword [rsp], xmm2
vmovdqa xmmword [rsp + 0xb0], xmm7
vmovdqa xmm8, xmm1
vmovdqa xmm14, xmm1
vmovdqa xmmword [rsp + 0x60], xmm1
vmovdqa xmmword [rsp + 0xc0], xmm11
vmovdqa xmmword [rsp + 0x20], xmm10
vmovdqa xmm3, xmm10
vmovdqa xmmword [rsp + 0x30], xmm10
nop dword [rax + rax]
vpaddd xmm0, xmm4, xmm1
vmovdqa xmmword [rsp + 0x80], xmm0
vpxor xmm2, xmm11, xmm0
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm4, xmm2, 0xb1
vpaddd xmm0, xmm10, xmm4
vmovdqa xmmword [rsp + 0x70], xmm0
vpxor xmm0, xmm0, xmm1
vpsrld xmm2, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm13, xmm0, xmm2
vpaddd xmm11, xmm8, xmm5
vpxor xmm0, xmm11, xmm7
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm6, xmm0, 0xb1
vpaddd xmm0, xmm6, xmm3
vmovdqa xmmword [rsp + 0x10], xmm0
vpxor xmm2, xmm8, xmm0
vpsrld xmm3, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm9, xmm2, xmm3
vpaddd xmm5, xmm14, xmmword [rsp + 0x50]
vpxor xmm2, xmm5, xmmword [rsp]
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm8, xmm2, 0xb1
vpaddd xmm15, xmm8, xmmword [rsp + 0x20]
vpxor xmm2, xmm15, xmm14
vpsrld xmm7, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm7, xmm2, xmm7
vmovdqa xmm0, xmmword [rsp + 0x60]
vpaddd xmm3, xmm0, xmmword [rsp + 0x40]
vpxor xmm2, xmm12, xmm3
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm1, xmm2, 0xb1
vpaddd xmm14, xmm1, xmmword [rsp + 0x30]
vpxor xmm2, xmm14, xmm0
vpsrld xmm0, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm12, xmm2, xmm0
vpaddd xmm0, xmm13, xmmword [rsp + 0x80]
vmovdqa xmmword [rsp], xmm0
vmovdqa xmm10, xmmword [0x1800284a0]
vpshufb xmm4, xmm4, xmm10
vpshufb xmm2, xmm0, xmm10
vpxor xmm4, xmm2, xmm4
vpaddd xmm11, xmm9, xmm11
vpshufb xmm2, xmm6, xmm10
vpshufb xmm6, xmm11, xmm10
vpxor xmm6, xmm6, xmm2
vpaddd xmm0, xmm7, xmm5
vmovdqa xmmword [rsp + 0x50], xmm0
vpshufb xmm2, xmm8, xmm10
vpshufb xmm5, xmm0, xmm10
vpxor xmm8, xmm5, xmm2
vpaddd xmm2, xmm12, xmm3
vmovdqa xmmword [rsp + 0x60], xmm2
vpshufb xmm1, xmm1, xmm10
vpshufb xmm2, xmm2, xmm10
vpxor xmm0, xmm2, xmm1
vpaddd xmm2, xmm4, xmmword [rsp + 0x70]
vpxor xmm1, xmm13, xmm2
vpsrld xmm3, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm3, xmm1, xmm3
vpaddd xmm13, xmm6, xmmword [rsp + 0x10]
vpxor xmm1, xmm13, xmm9
vpsrld xmm9, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm9, xmm9, xmm1
vpaddd xmm5, xmm15, xmm8
vpxor xmm1, xmm5, xmm7
vpsrld xmm7, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm1, xmm1, xmm7
vmovdqa xmmword [rsp + 0x30], xmm1
vpaddd xmm7, xmm14, xmm0
vmovdqa xmm15, xmm0
vpxor xmm0, xmm12, xmm7
vpsrld xmm1, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + 0x40], xmm0
vpshufd xmm0, xmm3, 0x39
vpshufd xmm1, xmm2, 0x4e
vpshufd xmm3, xmm4, 0x93
vpaddd xmm2, xmm0, xmmword [rsp]
vmovdqa xmmword [rsp], xmm2
vpxor xmm3, xmm2, xmm3
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm2, xmm3, 0xb1
vmovdqa xmmword [rsp + 0x10], xmm2
vpaddd xmm1, xmm1, xmm2
vmovdqa xmmword [rsp + 0x20], xmm1
vpxor xmm0, xmm1, xmm0
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm3, xmm0, xmm1
vmovdqa xmmword [rsp + 0x70], xmm3
vpshufd xmm0, xmm9, 0x39
vpshufd xmm1, xmm13, 0x4e
vpshufd xmm6, xmm6, 0x93
vpaddd xmm11, xmm11, xmm0
vpxor xmm6, xmm11, xmm6
vpshuflw xmm6, xmm6, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpaddd xmm4, xmm1, xmm6
vpxor xmm0, xmm4, xmm0
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm9, xmm0, xmm1
vpshufd xmm1, xmmword [rsp + 0x30], 0x39
vpshufd xmm0, xmm5, 0x4e
vpshufd xmm5, xmm8, 0x93
vpaddd xmm12, xmm1, xmmword [rsp + 0x50]
vpxor xmm5, xmm12, xmm5
vpshuflw xmm5, xmm5, 0xb1
vpshufhw xmm5, xmm5, 0xb1
vpaddd xmm14, xmm0, xmm5
vpxor xmm1, xmm14, xmm1
vpsrld xmm0, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm13, xmm1, xmm0
vpshufd xmm1, xmmword [rsp + 0x40], 0x39
vpshufd xmm2, xmm7, 0x4e
vpshufd xmm7, xmm15, 0x93
vpaddd xmm8, xmm1, xmmword [rsp + 0x60]
vpxor xmm7, xmm8, xmm7
vpshuflw xmm7, xmm7, 0xb1
vpshufhw xmm0, xmm7, 0xb1
vpaddd xmm15, xmm2, xmm0
vpxor xmm1, xmm15, xmm1
vpsrld xmm7, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm1, xmm1, xmm7
vpaddd xmm2, xmm3, xmmword [rsp]
vmovdqa xmmword [rsp + 0x80], xmm2
vmovdqa xmm3, xmmword [rsp + 0x10]
vpshufb xmm3, xmm3, xmm10
vpshufb xmm7, xmm2, xmm10
vpxor xmm7, xmm7, xmm3
vpaddd xmm2, xmm9, xmm11
vmovdqa xmmword [rsp + 0x10], xmm2
vpshufb xmm6, xmm6, xmm10
vpshufb xmm3, xmm2, xmm10
vpxor xmm6, xmm3, xmm6
vpaddd xmm2, xmm13, xmm12
vpshufb xmm3, xmm5, xmm10
vmovdqa xmmword [rsp + 0x50], xmm2
vpshufb xmm5, xmm2, xmm10
vpxor xmm12, xmm5, xmm3
vpaddd xmm2, xmm8, xmm1
vpshufb xmm0, xmm0, xmm10
vmovdqa xmmword [rsp + 0x40], xmm2
vpshufb xmm5, xmm2, xmm10
vpxor xmm5, xmm5, xmm0
vpaddd xmm11, xmm7, xmmword [rsp + 0x20]
vpxor xmm0, xmm11, xmmword [rsp + 0x70]
vpsrld xmm3, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm8, xmm0, xmm3
vpaddd xmm3, xmm4, xmm6
vpxor xmm0, xmm9, xmm3
vpsrld xmm4, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm9, xmm0, xmm4
vpaddd xmm0, xmm14, xmm12
vpxor xmm2, xmm13, xmm0
vpsrld xmm4, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm13, xmm2, xmm4
vpaddd xmm4, xmm15, xmm5
vpxor xmm1, xmm4, xmm1
vpsrld xmm2, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm2, xmm1, xmm2
vpshufd xmm1, xmm8, 0x93
vpshufd xmm8, xmm9, 0x93
vpshufd xmm14, xmm13, 0x93
vpshufd xmm2, xmm2, 0x93
vmovdqa xmmword [rsp + 0x60], xmm2
vpshufd xmm10, xmm11, 0x4e
vpshufd xmm3, xmm3, 0x4e
vpshufd xmm0, xmm0, 0x4e
vmovdqa xmmword [rsp + 0x20], xmm0
vpshufd xmm0, xmm4, 0x4e
vmovdqa xmm4, xmmword [rsp + 0x80]
vmovdqa xmmword [rsp + 0x30], xmm0
vpshufd xmm11, xmm7, 0x39
vpshufd xmm7, xmm6, 0x39
vpshufd xmm0, xmm12, 0x39
vmovdqa xmmword [rsp], xmm0
vpshufd xmm12, xmm5, 0x39
vmovdqa xmm5, xmmword [rsp + 0x10]
add eax, 0xffffffff
jne 0x1800074d0
vmovdqa xmm0, xmmword [str.expand_32_byte_k]
vpaddd xmm9, xmm0, xmmword [rsp + 0x40]
vmovdqa xmm15, xmm12
vpaddd xmm12, xmm0, xmmword [rsp + 0x50]
vpaddd xmm13, xmm5, xmm0
add r8, 4
mov rax, r8
shr rax, 0x20
vmovdqa xmm5, xmmword [rsp + 0xc0]
vpinsrd xmm6, xmm5, r8d, 0
vpinsrd xmm6, xmm6, eax, 1
vpaddd xmm0, xmm4, xmm0
vmovdqa xmm2, xmmword [rcx]
vmovdqa xmm4, xmmword [rcx + 0x10]
vmovdqa xmmword [rcx + 0x20], xmm6
vmovdqu xmmword [rdx], xmm0
vpaddd xmm0, xmm2, xmm1
vmovdqu xmmword [rdx + 0x10], xmm0
vpaddd xmm0, xmm10, xmm4
vmovdqu xmmword [rdx + 0x20], xmm0
vpaddd xmm0, xmm11, xmm5
vmovdqu xmmword [rdx + 0x30], xmm0
vmovdqu xmmword [rdx + 0x40], xmm13
vpaddd xmm0, xmm8, xmm2
vmovdqu xmmword [rdx + 0x50], xmm0
vpaddd xmm0, xmm4, xmm3
vmovdqu xmmword [rdx + 0x60], xmm0
vpaddd xmm0, xmm7, xmmword [rsp + 0xb0]
vmovdqu xmmword [rdx + 0x70], xmm0
vmovdqu xmmword [rdx + 0x80], xmm12
vpaddd xmm0, xmm14, xmm2
vmovdqu xmmword [rdx + 0x90], xmm0
vpaddd xmm0, xmm4, xmmword [rsp + 0x20]
vmovdqu xmmword [rdx + 0xa0], xmm0
vmovdqa xmm0, xmmword [rsp]
vpaddd xmm0, xmm0, xmmword [rsp + 0xa0]
vmovdqu xmmword [rdx + 0xb0], xmm0
vmovdqu xmmword [rdx + 0xc0], xmm9
vpaddd xmm0, xmm2, xmmword [rsp + 0x60]
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm4, xmmword [rsp + 0x30]
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm15, xmmword [rsp + 0x90]
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, 0x168
movaps xmmword [rsp + 0x150], xmm15
movaps xmmword [rsp + 0x140], xmm14
movaps xmmword [rsp + 0x130], xmm13
movaps xmmword [rsp + 0x120], xmm12
movaps xmmword [rsp + 0x110], xmm11
movaps xmmword [rsp + 0x100], xmm10
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm8
movdqa xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xc0], xmm6
movdqa xmm12, xmmword [rcx + 0x20]
movq r8, xmm12
lea rax, [r8 + 1]
movdqa xmm11, xmm12
pinsrd xmm11, eax, 0
shr rax, 0x20
pinsrd xmm11, eax, 1
lea rax, [r8 + 2]
movdqa xmm10, xmm12
pinsrd xmm10, eax, 0
shr rax, 0x20
pinsrd xmm10, eax, 1
lea rax, [r8 + 3]
movdqa xmm6, xmm12
pinsrd xmm6, eax, 0
movdqa xmm0, xmmword [rcx]
shr rax, 0x20
pinsrd xmm6, eax, 1
movdqa xmm13, xmmword [rcx + 0x10]
movdqa xmm9, xmmword [str.expand_32_byte_k]
mov eax, 6
movdqa xmm14, xmm9
movdqa xmmword [rsp + 0x20], xmm9
movdqa xmmword [rsp + 0x10], xmm9
movdqa xmmword [rsp + 0x80], xmm6
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm11
movdqa xmm3, xmm0
movdqa xmm4, xmm0
movdqa xmm2, xmm0
movdqa xmmword [rsp + 0x50], xmm12
movdqa xmm8, xmm13
movdqa xmm15, xmm13
movdqa xmmword [rsp + 0x30], xmm13
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
paddd xmm14, xmm3
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm1
paddd xmm9, xmm2
pxor xmm12, xmm7
pxor xmm11, xmm14
pxor xmm10, xmm1
pxor xmm6, xmm9
pshuflw xmm1, xmm12, 0xb1
pshufhw xmm12, xmm1, 0xb1
pshuflw xmm1, xmm11, 0xb1
pshufhw xmm5, xmm1, 0xb1
movdqa xmmword [rsp], xmm5
pshuflw xmm1, xmm10, 0xb1
movdqa xmm10, xmm6
pshufhw xmm6, xmm1, 0xb1
movdqa xmmword [rsp + 0x40], xmm6
pshuflw xmm1, xmm10, 0xb1
pshufhw xmm11, xmm1, 0xb1
paddd xmm13, xmm12
paddd xmm15, xmm5
paddd xmm8, xmm6
movdqa xmm10, xmmword [rsp + 0x30]
paddd xmm10, xmm11
pxor xmm0, xmm13
movdqa xmm1, xmm0
psrld xmm1, 0x14
pslld xmm0, 0xc
por xmm0, xmm1
pxor xmm3, xmm15
movdqa xmm1, xmm3
psrld xmm1, 0x14
pslld xmm3, 0xc
por xmm3, xmm1
pxor xmm4, xmm8
movdqa xmm1, xmm4
psrld xmm1, 0x14
pslld xmm4, 0xc
por xmm4, xmm1
pxor xmm2, xmm10
movdqa xmm1, xmm2
psrld xmm1, 0x14
pslld xmm2, 0xc
por xmm2, xmm1
movdqa xmm1, xmm7
paddd xmm1, xmm0
movdqa xmmword [rsp + 0x10], xmm1
paddd xmm14, xmm3
movdqa xmm5, xmmword [rsp + 0x20]
paddd xmm5, xmm4
movdqa xmmword [rsp + 0x20], xmm5
paddd xmm9, xmm2
movdqa xmm6, xmmword [0x1800284a0]
pshufb xmm1, xmm6
pshufb xmm12, xmm6
pxor xmm12, xmm1
movdqa xmmword [rsp + 0x90], xmm12
movdqa xmm1, xmm14
pshufb xmm1, xmm6
movdqa xmm7, xmmword [rsp]
pshufb xmm7, xmm6
pxor xmm7, xmm1
movdqa xmmword [rsp], xmm7
movdqa xmm1, xmm5
pshufb xmm1, xmm6
movdqa xmm12, xmmword [rsp + 0x40]
pshufb xmm12, xmm6
pxor xmm12, xmm1
movdqa xmm1, xmm9
pshufb xmm1, xmm6
pshufb xmm11, xmm6
pxor xmm11, xmm1
movdqa xmm6, xmmword [rsp + 0x90]
paddd xmm13, xmm6
movdqa xmm5, xmmword [rsp]
paddd xmm15, xmm5
paddd xmm8, xmm12
paddd xmm10, xmm11
pxor xmm0, xmm13
movdqa xmm1, xmm0
psrld xmm1, 0x19
pslld xmm0, 7
por xmm0, xmm1
pxor xmm3, xmm15
movdqa xmm1, xmm3
psrld xmm1, 0x19
pslld xmm3, 7
por xmm3, xmm1
pxor xmm4, xmm8
movdqa xmm1, xmm4
psrld xmm1, 0x19
pslld xmm4, 7
por xmm4, xmm1
pxor xmm2, xmm10
movdqa xmm1, xmm2
psrld xmm1, 0x19
pslld xmm2, 7
por xmm2, xmm1
pshufd xmm0, xmm0, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm13, xmm13, 0x4e
pshufd xmm1, xmm15, 0x4e
movdqa xmmword [rsp + 0xa0], xmm1
pshufd xmm1, xmm8, 0x4e
movdqa xmmword [rsp + 0x30], xmm1
pshufd xmm1, xmm10, 0x4e
movdqa xmmword [rsp + 0xb0], xmm1
pshufd xmm1, xmm6, 0x93
pshufd xmm6, xmm5, 0x93
pshufd xmm5, xmm12, 0x93
pshufd xmm11, xmm11, 0x93
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
movdqa xmmword [rsp + 0x10], xmm7
paddd xmm14, xmm3
movdqa xmm15, xmmword [rsp + 0x20]
paddd xmm15, xmm4
paddd xmm9, xmm2
pxor xmm1, xmm7
pxor xmm6, xmm14
pxor xmm5, xmm15
pxor xmm11, xmm9
pshuflw xmm1, xmm1, 0xb1
pshufhw xmm12, xmm1, 0xb1
pshuflw xmm1, xmm6, 0xb1
movdqa xmm8, xmm14
pshufhw xmm7, xmm1, 0xb1
movdqa xmmword [rsp], xmm7
pshuflw xmm1, xmm5, 0xb1
pshufhw xmm10, xmm1, 0xb1
pshuflw xmm1, xmm11, 0xb1
pshufhw xmm1, xmm1, 0xb1
movdqa xmmword [rsp + 0x40], xmm1
paddd xmm13, xmm12
movdqa xmm6, xmmword [rsp + 0xa0]
paddd xmm6, xmm7
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm10
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmm11, xmmword [rsp + 0xb0]
paddd xmm11, xmm1
pxor xmm0, xmm13
movdqa xmm5, xmm0
psrld xmm5, 0x14
pslld xmm0, 0xc
por xmm0, xmm5
pxor xmm3, xmm6
movdqa xmm5, xmm3
psrld xmm5, 0x14
pslld xmm3, 0xc
por xmm3, xmm5
pxor xmm4, xmm7
movdqa xmm5, xmm4
psrld xmm5, 0x14
pslld xmm4, 0xc
por xmm4, xmm5
pxor xmm2, xmm11
movdqa xmm5, xmm2
psrld xmm5, 0x14
pslld xmm2, 0xc
por xmm2, xmm5
movdqa xmm5, xmmword [rsp + 0x10]
paddd xmm5, xmm0
paddd xmm14, xmm3
paddd xmm15, xmm4
paddd xmm9, xmm2
movdqa xmmword [rsp + 0x10], xmm5
movdqa xmm1, xmmword [0x1800284a0]
pshufb xmm5, xmm1
pshufb xmm12, xmm1
pxor xmm12, xmm5
movdqa xmm5, xmm14
pshufb xmm5, xmm1
movdqa xmm8, xmmword [rsp]
pshufb xmm8, xmm1
pxor xmm8, xmm5
movdqa xmmword [rsp], xmm8
movdqa xmmword [rsp + 0x20], xmm15
movdqa xmm5, xmm15
pshufb xmm5, xmm1
pshufb xmm10, xmm1
pxor xmm10, xmm5
movdqa xmm5, xmm9
pshufb xmm5, xmm1
movdqa xmm7, xmmword [rsp + 0x40]
pshufb xmm7, xmm1
pxor xmm7, xmm5
paddd xmm13, xmm12
paddd xmm6, xmm8
movdqa xmm1, xmmword [rsp + 0x30]
paddd xmm1, xmm10
paddd xmm11, xmm7
pxor xmm0, xmm13
movdqa xmm5, xmm0
psrld xmm5, 0x19
pslld xmm0, 7
por xmm0, xmm5
pxor xmm3, xmm6
movdqa xmm5, xmm3
psrld xmm5, 0x19
pslld xmm3, 7
por xmm3, xmm5
pxor xmm4, xmm1
movdqa xmm5, xmm4
psrld xmm5, 0x19
pslld xmm4, 7
por xmm4, xmm5
pxor xmm2, xmm11
movdqa xmm5, xmm2
psrld xmm5, 0x19
pslld xmm2, 7
por xmm2, xmm5
pshufd xmm0, xmm0, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm13, xmm13, 0x4e
pshufd xmm15, xmm6, 0x4e
pshufd xmm8, xmm1, 0x4e
pshufd xmm6, xmm11, 0x4e
movdqa xmmword [rsp + 0x30], xmm6
pshufd xmm12, xmm12, 0x39
pshufd xmm11, xmmword [rsp], 0x39
pshufd xmm10, xmm10, 0x39
pshufd xmm6, xmm7, 0x39
add eax, 0xffffffff
jne 0x180007b30
movdqa xmm1, xmmword [str.expand_32_byte_k]
paddd xmm9, xmm1
movdqa xmm5, xmmword [rsp + 0x20]
paddd xmm5, xmm1
movdqa xmmword [rsp + 0x20], xmm5
paddd xmm14, xmm1
movdqa xmm5, xmmword [rsp + 0x10]
paddd xmm5, xmm1
add r8, 4
mov rax, r8
shr rax, 0x20
movdqa xmm1, xmmword [rsp + 0x50]
paddd xmm12, xmm1
pinsrd xmm1, r8d, 0
pinsrd xmm1, eax, 1
movaps xmm7, xmmword [rcx]
movaps xmmword [rsp], xmm7
movaps xmm7, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x10], xmm7
movdqa xmmword [rcx + 0x20], xmm1
movdqu xmmword [rdx], xmm5
movdqa xmm5, xmmword [rsp]
paddd xmm0, xmm5
movdqu xmmword [rdx + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm13, xmm0
movdqu xmmword [rdx + 0x20], xmm13
movdqu xmmword [rdx + 0x30], xmm12
movdqu xmmword [rdx + 0x40], xmm14
paddd xmm3, xmm5
movdqu xmmword [rdx + 0x50], xmm3
paddd xmm15, xmm0
movdqa xmm1, xmm0
movdqu xmmword [rdx + 0x60], xmm15
movdqa xmm0, xmmword [rsp + 0x60]
paddd xmm0, xmm11
movdqu xmmword [rdx + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx + 0x80], xmm0
paddd xmm4, xmm5
movdqu xmmword [rdx + 0x90], xmm4
paddd xmm8, xmm1
movdqu xmmword [rdx + 0xa0], xmm8
movdqa xmm0, xmmword [rsp + 0x70]
paddd xmm0, xmm10
movdqu xmmword [rdx + 0xb0], xmm0
movdqu xmmword [rdx + 0xc0], xmm9
paddd xmm2, xmm5
movdqu xmmword [rdx + 0xd0], xmm2
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm1
movdqu xmmword [rdx + 0xe0], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
paddd xmm0, xmm6
movdqu xmmword [rdx + 0xf0], xmm0
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
ret
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
movdqa xmmword [rsp + 0xd0], xmm6
movdqa xmm10, xmmword [rcx]
movdqa xmm11, xmmword [rcx + 0x10]
movdqa xmm1, xmmword [rcx + 0x20]
movq r8, xmm1
lea rax, [r8 + 1]
movd xmm2, eax
shr rax, 0x20
movdqa xmm3, xmm1
pslldq xmm3, 8
shufps xmm3, xmm1, 0xe8
movd xmm0, eax
por xmm0, xmm3
movdqa xmm5, xmm0
pslldq xmm5, 8
shufps xmm5, xmm0, 0xe8
movaps xmmword [rsp + 0xa0], xmm5
movdqa xmmword [rsp + 0x60], xmm2
orps xmm5, xmm2
lea rax, [r8 + 2]
movd xmm2, eax
shr rax, 0x20
movd xmm0, eax
por xmm0, xmm3
movdqa xmm4, xmm0
pslldq xmm4, 8
shufps xmm4, xmm0, 0xe8
movaps xmmword [rsp + 0x90], xmm4
movdqa xmmword [rsp + 0x50], xmm2
orps xmm4, xmm2
lea rax, [r8 + 3]
movd xmm2, eax
shr rax, 0x20
movd xmm0, eax
movaps xmmword [rsp + 0x40], xmm3
por xmm0, xmm3
movdqa xmm7, xmm0
pslldq xmm7, 8
shufps xmm7, xmm0, 0xe8
movaps xmmword [rsp + 0x80], xmm7
movdqa xmmword [rsp + 0x70], xmm2
orps xmm7, xmm2
movdqa xmm14, xmmword [str.expand_32_byte_k]
mov eax, 6
movdqa xmm15, xmm14
movdqa xmm13, xmm14
movdqa xmm12, xmm14
movdqa xmm8, xmm10
movdqa xmm3, xmm10
movdqa xmm2, xmm10
movaps xmmword [rsp + 0xb0], xmm1
movdqa xmm0, xmm1
movdqa xmm1, xmm11
movdqa xmm9, xmm11
movdqa xmmword [rsp + 0x10], xmm11
nop word cs:[rax + rax]
paddd xmm14, xmm10
paddd xmm15, xmm8
paddd xmm13, xmm3
paddd xmm12, xmm2
pxor xmm0, xmm14
xorps xmm5, xmm15
xorps xmm4, xmm13
xorps xmm7, xmm12
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm6, xmm0, 0xb1
pshuflw xmm0, xmm5, 0xb1
pshufhw xmm5, xmm0, 0xb1
movdqa xmmword [rsp + 0xc0], xmm5
pshuflw xmm0, xmm4, 0xb1
pshufhw xmm4, xmm0, 0xb1
movdqa xmmword [rsp + 0x30], xmm4
pshuflw xmm0, xmm7, 0xb1
pshufhw xmm0, xmm0, 0xb1
movdqa xmmword [rsp], xmm0
paddd xmm11, xmm6
paddd xmm9, xmm5
paddd xmm1, xmm4
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm0
movdqa xmmword [rsp + 0x10], xmm7
pxor xmm10, xmm11
movdqa xmm0, xmm10
psrld xmm0, 0x14
pslld xmm10, 0xc
por xmm10, xmm0
pxor xmm8, xmm9
movdqa xmm0, xmm8
psrld xmm0, 0x14
pslld xmm8, 0xc
por xmm8, xmm0
pxor xmm3, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x14
pslld xmm3, 0xc
por xmm3, xmm0
pxor xmm2, xmm7
movdqa xmm0, xmm2
psrld xmm0, 0x14
pslld xmm2, 0xc
por xmm2, xmm0
paddd xmm14, xmm10
paddd xmm15, xmm8
paddd xmm13, xmm3
movdqa xmmword [rsp + 0x20], xmm13
paddd xmm12, xmm2
movdqa xmm0, xmm14
movdqa xmm4, xmmword [0x1800284a0]
pshufb xmm0, xmm4
pshufb xmm6, xmm4
pxor xmm6, xmm0
movdqa xmm5, xmm6
movdqa xmm0, xmm15
pshufb xmm0, xmm4
movdqa xmm13, xmmword [rsp + 0xc0]
pshufb xmm13, xmm4
pxor xmm13, xmm0
movdqa xmm0, xmmword [rsp + 0x20]
pshufb xmm0, xmm4
movdqa xmm6, xmmword [rsp + 0x30]
pshufb xmm6, xmm4
pxor xmm6, xmm0
movdqa xmm0, xmm12
pshufb xmm0, xmm4
movdqa xmm7, xmm12
movdqa xmm12, xmmword [rsp]
pshufb xmm12, xmm4
pxor xmm12, xmm0
movdqa xmm0, xmm12
movdqa xmmword [rsp], xmm12
movdqa xmm12, xmm7
paddd xmm11, xmm5
paddd xmm9, xmm13
paddd xmm1, xmm6
movdqa xmm4, xmmword [rsp + 0x10]
paddd xmm4, xmm0
pxor xmm10, xmm11
movdqa xmm0, xmm10
psrld xmm0, 0x19
pslld xmm10, 7
por xmm10, xmm0
pxor xmm8, xmm9
movdqa xmm0, xmm8
psrld xmm0, 0x19
pslld xmm8, 7
por xmm8, xmm0
pxor xmm3, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x19
pslld xmm3, 7
por xmm3, xmm0
pxor xmm2, xmm4
movdqa xmm0, xmm2
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
pshufd xmm10, xmm10, 0x39
movdqa xmm0, xmm4
pshufd xmm7, xmm8, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm11, xmm11, 0x4e
pshufd xmm9, xmm9, 0x4e
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmm4, 0x4e
movdqa xmmword [rsp + 0x10], xmm0
pshufd xmm5, xmm5, 0x93
pshufd xmm4, xmm13, 0x93
movdqa xmm13, xmmword [rsp + 0x20]
pshufd xmm6, xmm6, 0x93
pshufd xmm8, xmmword [rsp], 0x93
paddd xmm14, xmm10
paddd xmm15, xmm7
paddd xmm13, xmm3
paddd xmm12, xmm2
pxor xmm5, xmm14
pxor xmm4, xmm15
pxor xmm6, xmm13
pxor xmm8, xmm12
pshuflw xmm5, xmm5, 0xb1
pshufhw xmm0, xmm5, 0xb1
movdqa xmmword [rsp], xmm0
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm5, xmm4, 0xb1
pshuflw xmm4, xmm6, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshuflw xmm6, xmm8, 0xb1
pshufhw xmm6, xmm6, 0xb1
paddd xmm11, xmm0
paddd xmm9, xmm5
paddd xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm1
movdqa xmm8, xmmword [rsp + 0x10]
paddd xmm8, xmm6
movdqa xmmword [rsp + 0x10], xmm8
pxor xmm10, xmm11
movdqa xmm0, xmm10
psrld xmm0, 0x14
pslld xmm10, 0xc
por xmm10, xmm0
pxor xmm7, xmm9
movdqa xmm0, xmm7
psrld xmm0, 0x14
pslld xmm7, 0xc
por xmm7, xmm0
pxor xmm3, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x14
pslld xmm3, 0xc
por xmm3, xmm0
pxor xmm2, xmm8
movdqa xmm0, xmm2
psrld xmm0, 0x14
pslld xmm2, 0xc
por xmm2, xmm0
paddd xmm14, xmm10
paddd xmm15, xmm7
paddd xmm13, xmm3
paddd xmm12, xmm2
movdqa xmm0, xmm14
movdqa xmm8, xmmword [0x1800284a0]
pshufb xmm0, xmm8
movdqa xmm1, xmmword [rsp]
pshufb xmm1, xmm8
pxor xmm1, xmm0
movdqa xmmword [rsp], xmm1
movdqa xmm0, xmm15
pshufb xmm0, xmm8
pshufb xmm5, xmm8
pxor xmm5, xmm0
movdqa xmm0, xmm13
pshufb xmm0, xmm8
pshufb xmm4, xmm8
pxor xmm4, xmm0
movdqa xmm0, xmm12
pshufb xmm0, xmm8
pshufb xmm6, xmm8
pxor xmm6, xmm0
paddd xmm11, xmm1
paddd xmm9, xmm5
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm4
movdqa xmm8, xmmword [rsp + 0x10]
paddd xmm8, xmm6
movdqa xmmword [rsp + 0x10], xmm8
pxor xmm10, xmm11
movdqa xmm0, xmm10
psrld xmm0, 0x19
pslld xmm10, 7
por xmm10, xmm0
pxor xmm7, xmm9
movdqa xmm0, xmm7
psrld xmm0, 0x19
pslld xmm7, 7
por xmm7, xmm0
pxor xmm3, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x19
pslld xmm3, 7
por xmm3, xmm0
pxor xmm2, xmm8
movdqa xmm0, xmm2
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
pshufd xmm10, xmm10, 0x93
pshufd xmm8, xmm7, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm11, xmm11, 0x4e
pshufd xmm9, xmm9, 0x4e
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmmword [rsp + 0x10], 0x4e
movdqa xmmword [rsp + 0x10], xmm0
pshufd xmm0, xmmword [rsp], 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm7, xmm6, 0x39
add eax, 0xffffffff
jne 0x1800082e0
movdqa xmm6, xmmword [str.expand_32_byte_k]
paddd xmm13, xmm6
paddd xmm15, xmm6
paddd xmm14, xmm6
paddd xmm12, xmm6
add r8, 4
mov rax, r8
shr rax, 0x20
movd xmm6, eax
por xmm6, xmmword [rsp + 0x40]
movdqa xmmword [rsp], xmm6
movdqa xmm6, xmmword [rsp]
pslldq xmm6, 8
shufps xmm6, xmmword [rsp], 0xe8
movaps xmmword [rsp + 0x20], xmm6
movd xmm6, r8d
movdqa xmmword [rsp], xmm6
movaps xmm6, xmmword [rsp]
orps xmm6, xmmword [rsp + 0x20]
movaps xmmword [rsp], xmm6
movaps xmm6, xmmword [rcx]
movaps xmmword [rsp + 0x30], xmm6
movaps xmm6, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x20], xmm6
movaps xmm6, xmmword [rsp]
movaps xmmword [rcx + 0x20], xmm6
movdqu xmmword [rdx], xmm14
movdqa xmm6, xmmword [rsp + 0x30]
paddd xmm10, xmm6
movdqu xmmword [rdx + 0x10], xmm10
movdqa xmm10, xmmword [rsp + 0x20]
paddd xmm11, xmm10
movdqu xmmword [rdx + 0x20], xmm11
paddd xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [rdx + 0x30], xmm0
movdqa xmm0, xmmword [rsp + 0xa0]
por xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rdx + 0x40], xmm15
paddd xmm8, xmm6
movdqu xmmword [rdx + 0x50], xmm8
paddd xmm9, xmm10
movdqu xmmword [rdx + 0x60], xmm9
paddd xmm0, xmm5
movdqu xmmword [rdx + 0x70], xmm0
movdqa xmm0, xmmword [rsp + 0x90]
por xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rdx + 0x80], xmm13
paddd xmm3, xmm6
movdqu xmmword [rdx + 0x90], xmm3
paddd xmm1, xmm10
movdqu xmmword [rdx + 0xa0], xmm1
paddd xmm0, xmm4
movdqu xmmword [rdx + 0xb0], xmm0
movdqu xmmword [rdx + 0xc0], xmm12
paddd xmm2, xmm6
movdqu xmmword [rdx + 0xd0], xmm2
movdqa xmm0, xmmword [rsp + 0x10]
paddd xmm0, xmm10
movdqu xmmword [rdx + 0xe0], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
por xmm0, xmmword [rsp + 0x70]
paddd xmm0, xmm7
movdqu xmmword [rdx + 0xf0], xmm0
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
ret