Function at 0x1401a8f50
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
mov rax, rsp
sub rsp, 0xb8
movdqu xmm0, xmmword [rcx + 0x30]
mov r9, rdx
lea r8, [0x1404aaa90]
movdqu xmm4, xmmword [rcx + 0x50]
mov r10d, 0xc
movdqu xmm2, xmmword [0x1404aa690]
pxor xmm4, xmmword [0x1404aa6c0]
movaps xmmword [rax - 0x18], xmm6
movdqu xmm6, xmmword [0x1404aa6a0]
movaps xmmword [rax - 0x28], xmm7
movdqa xmm7, xmm0
movaps xmmword [rax - 0x38], xmm8
movdqa xmm8, xmmword [0x140504fa0]
movaps xmmword [rax - 0x48], xmm9
movdqu xmm9, xmmword [rcx + 0x40]
movaps xmmword [rax - 0x58], xmm10
pxor xmm9, xmmword [0x1404aa6b0]
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x30], xmm13
movdqu xmm13, xmmword [rcx]
movaps xmmword [rsp + 0x20], xmm14
movdqu xmm14, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x10], xmm15
movdqa xmm11, xmm13
movdqu xmm15, xmmword [rcx + 0x20]
movdqa xmm12, xmm14
movdqa xmmword [rsp], xmm0
movdqa xmm10, xmm15
movzx eax, byte [r8 + 1]
movzx edx, byte [r8]
movq xmm0, qword [r9 + rax*8]
movq xmm1, qword [r9 + rdx*8]
movzx eax, byte [r8 + 3]
movzx edx, byte [r8 + 2]
punpcklqdq xmm1, xmm0
paddq xmm1, xmm11
movq xmm0, qword [r9 + rax*8]
paddq xmm1, xmm10
movq xmm3, qword [r9 + rdx*8]
pxor xmm9, xmm1
movzx eax, byte [r8 + 5]
movzx edx, byte [r8 + 4]
punpcklqdq xmm3, xmm0
paddq xmm3, xmm12
pshufd xmm12, xmm9, 0xb1
movq xmm0, qword [r9 + rax*8]
paddq xmm3, xmm7
movzx eax, byte [r8 + 7]
pxor xmm4, xmm3
pshufd xmm11, xmm4, 0xb1
movdqa xmm4, xmm12
paddq xmm4, xmm2
movdqa xmm5, xmm11
paddq xmm5, xmm6
movdqa xmm6, xmm4
pxor xmm6, xmm10
movdqa xmm2, xmm5
pshufb xmm6, xmm8
pxor xmm2, xmm7
pshufb xmm2, xmm8
movq xmm8, qword [r9 + rdx*8]
movzx edx, byte [r8 + 6]
punpcklqdq xmm8, xmm0
movq xmm0, qword [r9 + rax*8]
paddq xmm8, xmm1
movzx eax, byte [r8 + 9]
paddq xmm8, xmm6
movq xmm9, qword [r9 + rdx*8]
pxor xmm12, xmm8
pshufb xmm12, xmmword [0x140504f90]
movzx edx, byte [r8 + 8]
punpcklqdq xmm9, xmm0
paddq xmm9, xmm3
movdqa xmm7, xmm12
paddq xmm9, xmm2
paddq xmm7, xmm4
movq xmm4, qword [r9 + rdx*8]
pxor xmm11, xmm9
pshufb xmm11, xmmword [0x140504f90]
movzx edx, byte [r8 + 0xa]
movdqa xmm0, xmm7
pxor xmm0, xmm6
movdqa xmm3, xmm11
paddq xmm3, xmm5
movq xmm5, qword [r9 + rdx*8]
movdqa xmm1, xmm3
pxor xmm1, xmm2
movdqa xmm2, xmm0
paddq xmm2, xmm0
movdqa xmm6, xmm1
paddq xmm6, xmm1
psrlq xmm0, 0x3f
pxor xmm2, xmm0
psrlq xmm1, 0x3f
movq xmm0, qword [r9 + rax*8]
pxor xmm6, xmm1
movzx eax, byte [r8 + 0xb]
movdqa xmm10, xmm2
punpcklqdq xmm4, xmm0
movdqa xmm1, xmm11
palignr xmm10, xmm6, 8
paddq xmm4, xmm8
palignr xmm6, xmm2, 8
movq xmm0, qword [r9 + rax*8]
paddq xmm4, xmm6
punpcklqdq xmm5, xmm0
paddq xmm5, xmm9
palignr xmm1, xmm12, 8
paddq xmm5, xmm10
movzx eax, byte [r8 + 0xd]
pxor xmm1, xmm5
movzx edx, byte [r8 + 0xc]
lea r8, [r8 + 0x10]
palignr xmm12, xmm11, 8
pshufd xmm9, xmm1, 0xb1
pxor xmm12, xmm4
movq xmm0, qword [r9 + rax*8]
movdqa xmm1, xmm9
movq xmm11, qword [r9 + rdx*8]
paddq xmm1, xmm7
movzx eax, byte [r8 - 1]
pxor xmm10, xmm1
movzx edx, byte [r8 - 2]
punpcklqdq xmm11, xmm0
pshufd xmm8, xmm12, 0xb1
paddq xmm11, xmm4
movq xmm0, qword [r9 + rax*8]
movdqa xmm2, xmm8
movq xmm12, qword [r9 + rdx*8]
paddq xmm2, xmm3
punpcklqdq xmm12, xmm0
movdqa xmm3, xmm2
pxor xmm3, xmm6
paddq xmm12, xmm5
pshufb xmm10, xmmword [0x140504fa0]
pshufb xmm3, xmmword [0x140504fa0]
paddq xmm12, xmm10
pxor xmm9, xmm12
paddq xmm11, xmm3
pxor xmm8, xmm11
pshufb xmm8, xmmword [0x140504f90]
pshufb xmm9, xmmword [0x140504f90]
movdqa xmm6, xmm8
movdqa xmm4, xmm8
palignr xmm4, xmm9, 8
paddq xmm6, xmm2
movdqa xmm2, xmm9
movdqa xmm0, xmm6
palignr xmm9, xmm8, 8
pxor xmm0, xmm3
movdqa xmm8, xmmword [0x140504fa0]
paddq xmm2, xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm10
movdqa xmm10, xmm0
paddq xmm10, xmm0
psrlq xmm0, 0x3f
pxor xmm10, xmm0
movdqa xmm0, xmm1
paddq xmm0, xmm1
psrlq xmm1, 0x3f
pxor xmm0, xmm1
movdqa xmm7, xmm0
palignr xmm7, xmm10, 8
palignr xmm10, xmm0, 8
sub r10, 1
jne 0x1401a9000
lea r11, [rsp + 0xb8]
pxor xmm6, xmm12
movaps xmm8, xmmword [r11 - 0x38]
pxor xmm9, xmm10
movaps xmm10, xmmword [r11 - 0x58]
pxor xmm6, xmm14
movaps xmm12, xmmword [r11 - 0x78]
pxor xmm9, xmm15
movaps xmm14, xmmword [rsp + 0x20]
pxor xmm2, xmm11
movaps xmm11, xmmword [r11 - 0x68]
pxor xmm2, xmm13
movaps xmm13, xmmword [rsp + 0x30]
pxor xmm7, xmm4
pxor xmm7, xmmword [rsp]
movaps xmm15, xmmword [rsp + 0x10]
movdqu xmmword [rcx], xmm2
movdqu xmmword [rcx + 0x10], xmm6
movaps xmm6, xmmword [r11 - 0x18]
movdqu xmmword [rcx + 0x20], xmm9
movaps xmm9, xmmword [r11 - 0x48]
movdqu xmmword [rcx + 0x30], xmm7
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
ret