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

Disassembly:
sub rsp, 0x228
movups xmmword [rsp + 0x180], xmm6
movups xmmword [rsp + 0x190], xmm7
movups xmmword [rsp + 0x1a0], xmm8
movups xmmword [rsp + 0x1b0], xmm9
movups xmmword [rsp + 0x1c0], xmm10
movups xmmword [rsp + 0x1d0], xmm11
movups xmmword [rsp + 0x1e0], xmm12
movups xmmword [rsp + 0x1f0], xmm13
movups xmmword [rsp + 0x200], xmm14
movups xmmword [rsp + 0x210], xmm15
movdqu xmm0, xmmword [0x0061d240]
movdqu xmm4, xmmword [rcx + 0x80]
pxor xmm0, xmmword [rcx + 0xc0]
mov r9d, edx
lea rdx, [rsp + 0x8f]
and rdx, 0xffffffffffffffe0
movups xmmword [rdx + 0x80], xmm4
movdqu xmm4, xmmword [rcx + 0x90]
movups xmmword [rdx + 0x90], xmm4
movdqu xmm4, xmmword [rcx + 0xa0]
movups xmmword [rdx + 0xa0], xmm4
movdqu xmm4, xmmword [0x0061d220]
movdqu xmm5, xmmword [rcx + 0xb0]
movups xmmword [rdx + 0xe0], xmm0
movups xmmword [rdx + 0xc0], xmm4
movdqu xmm4, xmmword [0x0061d250]
movups xmmword [rdx + 0xb0], xmm5
movdqu xmm5, xmmword [0x0061d230]
movups xmmword [rdx + 0xf0], xmm4
movups xmmword [rdx + 0xd0], xmm5
test r9d, r9d
je 0x43eaaa
not qword [rdx + 0xf0]
movdqu xmm1, xmmword [0x0061d260]
movdqu xmm0, xmmword [rcx]
lea rax, [0x0061d160]
movdqu xmm9, xmmword [rcx + 0x10]
movdqu xmm3, xmm1
movdqu xmm10, xmm1
movdqu xmm4, xmmword [rcx + 0x30]
pand xmm3, xmm0
psrlw xmm0, 8
lea r10, [rax + 0xc0]
movdqu xmm8, xmmword [rcx + 0x20]
pand xmm10, xmm9
psrlw xmm9, 8
packuswb xmm3, xmm10
packuswb xmm0, xmm9
movdqu xmm10, xmm1
movdqu xmm9, xmm1
movdqu xmm2, xmmword [rcx + 0x40]
movdqu xmm5, xmmword [rcx + 0x50]
pand xmm10, xmm4
pand xmm9, xmm8
psrlw xmm4, 8
psrlw xmm8, 8
packuswb xmm9, xmm10
movdqu xmm10, xmm1
movdqu xmm7, xmmword [rcx + 0x60]
packuswb xmm8, xmm4
movdqu xmm4, xmm1
movdqu xmm6, xmmword [rcx + 0x70]
pand xmm10, xmm5
pand xmm4, xmm2
psrlw xmm5, 8
packuswb xmm4, xmm10
movdqu xmm10, xmm1
psrlw xmm2, 8
pand xmm10, xmm6
packuswb xmm2, xmm5
movdqu xmm5, xmm1
psrlw xmm6, 8
pand xmm5, xmm7
psrlw xmm7, 8
packuswb xmm5, xmm10
movdqu xmm10, xmm1
packuswb xmm7, xmm6
movdqu xmm6, xmm1
pand xmm10, xmm9
psrlw xmm9, 8
pand xmm6, xmm3
psrlw xmm3, 8
packuswb xmm6, xmm10
movdqu xmm10, xmm1
packuswb xmm3, xmm9
movdqu xmm9, xmm1
pand xmm10, xmm4
psrlw xmm4, 8
pand xmm9, xmm5
psrlw xmm5, 8
packuswb xmm10, xmm9
movdqu xmm9, xmm1
packuswb xmm4, xmm5
movdqu xmm5, xmm1
pand xmm9, xmm8
psrlw xmm8, 8
pand xmm5, xmm0
psrlw xmm0, 8
packuswb xmm5, xmm9
movdqu xmm9, xmm1
packuswb xmm0, xmm8
movdqu xmm8, xmm1
pand xmm9, xmm7
psrlw xmm7, 8
pand xmm8, xmm2
psrlw xmm2, 8
packuswb xmm8, xmm9
movdqu xmm9, xmm1
packuswb xmm2, xmm7
movdqu xmm7, xmm1
pand xmm9, xmm6
psrlw xmm6, 8
pand xmm7, xmm10
psrlw xmm10, 8
packuswb xmm9, xmm7
movdqu xmm7, xmm1
packuswb xmm6, xmm10
movdqu xmm10, xmm1
pand xmm7, xmm5
psrlw xmm5, 8
pand xmm10, xmm8
psrlw xmm8, 8
packuswb xmm7, xmm10
movdqu xmm10, xmm1
packuswb xmm5, xmm8
movdqu xmm8, xmm1
pand xmm10, xmm4
psrlw xmm4, 8
pand xmm8, xmm3
psrlw xmm3, 8
packuswb xmm8, xmm10
pmovzxbw xmm10, xmm8
packuswb xmm3, xmm4
movdqu xmm4, xmm1
pand xmm1, xmm2
psrlw xmm2, 8
pand xmm4, xmm0
psrlw xmm0, 8
packuswb xmm4, xmm1
pmovzxbw xmm11, xmm9
packuswb xmm0, xmm2
psrldq xmm8, 8
pmovzxbw xmm2, xmm4
pmovzxbw xmm12, xmm7
pmovzxbw xmm1, xmm8
psrldq xmm4, 8
pmovzxwd xmm8, xmm2
psrldq xmm2, 8
pmovzxwd xmm13, xmm11
pmovzxbw xmm4, xmm4
pslld xmm8, 0x18
pmovzxwd xmm2, xmm2
psrldq xmm11, 8
pxor xmm13, xmm8
pmovzxwd xmm8, xmm10
psllw xmm12, 8
pmovzxwd xmm11, xmm11
pslld xmm2, 0x18
pmovzxwd xmm14, xmm12
psrldq xmm10, 8
pxor xmm11, xmm2
psrldq xmm12, 8
pmovzxwd xmm2, xmm10
pmovzxwd xmm12, xmm12
psrldq xmm9, 8
pslld xmm2, 0x10
pmovzxbw xmm9, xmm9
pxor xmm2, xmm12
psrldq xmm7, 8
pxor xmm2, xmm11
pmovzxwd xmm11, xmm4
pmovzxwd xmm10, xmm9
pslld xmm11, 0x18
pmovzxbw xmm7, xmm7
psllw xmm7, 8
pxor xmm11, xmm10
pmovzxwd xmm10, xmm1
psrldq xmm1, 8
pmovzxwd xmm12, xmm7
pmovzxwd xmm1, xmm1
psrldq xmm7, 8
pmovzxwd xmm7, xmm7
psrldq xmm4, 8
pslld xmm1, 0x10
pmovzxwd xmm4, xmm4
pxor xmm1, xmm7
pmovzxbw xmm7, xmm6
psrldq xmm9, 8
psrldq xmm6, 8
pmovzxwd xmm9, xmm9
pmovzxbw xmm6, xmm6
pslld xmm4, 0x18
pxor xmm4, xmm9
pxor xmm4, xmm1
pmovzxwd xmm1, xmm6
psrldq xmm6, 8
movups xmmword [rsp + 0x40], xmm1
pmovzxbw xmm1, xmm5
psrldq xmm5, 8
pmovzxwd xmm15, xmm6
pmovzxbw xmm5, xmm5
pmovzxbw xmm6, xmm3
movups xmmword [rsp + 0x50], xmm4
psrldq xmm3, 8
pmovzxwd xmm4, xmm5
movups xmmword [rsp + 0x30], xmm15
psrldq xmm5, 8
pmovzxbw xmm3, xmm3
pslld xmm8, 0x10
pmovzxwd xmm9, xmm3
pxor xmm8, xmm14
psrldq xmm3, 8
pxor xmm8, xmm13
pmovzxwd xmm14, xmm5
pmovzxwd xmm13, xmm1
pslld xmm10, 0x10
movups xmmword [rsp + 0x20], xmm14
pmovzxwd xmm3, xmm3
pmovzxdq xmm14, xmm13
pxor xmm10, xmm12
pxor xmm11, xmm10
pmovzxwd xmm10, xmm7
movups xmmword [rsp], xmm3
movdqu xmm15, xmm14
pmovzxbw xmm3, xmm0
pmovzxdq xmm14, xmm10
psrldq xmm13, 8
pmovzxwd xmm12, xmm6
pmovzxwd xmm5, xmm3
movups xmmword [rsp + 0x60], xmm11
psrldq xmm10, 8
pmovzxdq xmm13, xmm13
pmovzxdq xmm11, xmm5
movups xmmword [rsp + 0x10], xmm9
psllq xmm14, 0x20
pmovzxdq xmm10, xmm10
psllq xmm15, 0x28
psllq xmm10, 0x20
pxor xmm15, xmm14
movdqu xmm14, xmm15
pmovzxdq xmm15, xmm12
psllq xmm13, 0x28
psrldq xmm12, 8
pxor xmm13, xmm10
psrldq xmm5, 8
pmovzxdq xmm10, xmm12
psllq xmm15, 0x30
pmovzxdq xmm5, xmm5
psrldq xmm1, 8
psllq xmm11, 0x38
pmovzxwd xmm1, xmm1
pxor xmm11, xmm15
psllq xmm5, 0x38
pmovzxdq xmm15, xmm8
pxor xmm14, xmm11
psrldq xmm8, 8
pxor xmm14, xmm15
movups xmmword [rdx], xmm14
psrldq xmm7, 8
psllq xmm10, 0x30
pmovzxwd xmm7, xmm7
pxor xmm10, xmm5
pxor xmm10, xmm13
pmovzxdq xmm13, xmm8
pmovzxdq xmm8, xmm1
pxor xmm10, xmm13
psrldq xmm6, 8
movups xmmword [rdx + 0x10], xmm10
movdqu xmm10, xmm8
psrldq xmm3, 8
pmovzxdq xmm8, xmm7
pmovzxwd xmm6, xmm6
pmovzxwd xmm3, xmm3
psllq xmm8, 0x20
psllq xmm10, 0x28
pmovzxdq xmm5, xmm3
psrldq xmm1, 8
pxor xmm10, xmm8
movdqu xmm8, xmm10
pmovzxdq xmm10, xmm6
pmovzxdq xmm1, xmm1
psrldq xmm3, 8
psrldq xmm6, 8
pmovzxdq xmm3, xmm3
psllq xmm10, 0x30
pmovzxdq xmm6, xmm6
psllq xmm1, 0x28
psrldq xmm7, 8
psllq xmm5, 0x38
pxor xmm5, xmm10
psllq xmm6, 0x30
pxor xmm8, xmm5
movdqu xmm5, xmm1
psllq xmm3, 0x38
pmovzxdq xmm1, xmm7
pmovzxdq xmm10, xmm2
pxor xmm3, xmm6
psllq xmm1, 0x20
movdqu xmm6, xmmword [rsp + 0x40]
pxor xmm8, xmm10
psrldq xmm2, 8
movdqu xmm7, xmm1
movdqu xmm1, xmm5
movdqu xmm5, xmmword [rsp + 0x60]
psrldq xmm0, 8
pmovzxdq xmm2, xmm2
pxor xmm1, xmm7
movdqu xmm7, xmmword [rsp + 0x10]
pxor xmm1, xmm3
pmovzxbw xmm0, xmm0
pxor xmm2, xmm1
pmovzxdq xmm1, xmm4
movups xmmword [rdx + 0x30], xmm2
pmovzxdq xmm2, xmm6
pmovzxwd xmm9, xmm0
pmovzxdq xmm3, xmm7
psllq xmm2, 0x20
movups xmmword [rdx + 0x20], xmm8
psllq xmm1, 0x28
pxor xmm1, xmm2
pmovzxdq xmm2, xmm9
psllq xmm3, 0x30
psllq xmm2, 0x38
pxor xmm2, xmm3
pxor xmm1, xmm2
pmovzxdq xmm2, xmm5
psrldq xmm4, 8
pxor xmm1, xmm2
movdqu xmm2, xmm6
movups xmmword [rdx + 0x40], xmm1
pmovzxdq xmm1, xmm4
psrldq xmm2, 8
movdqu xmm6, xmmword [rsp + 0x20]
pmovzxdq xmm4, xmm2
psrldq xmm9, 8
movdqu xmm2, xmm7
movdqu xmm7, xmmword [rsp]
psrldq xmm2, 8
pmovzxdq xmm9, xmm9
pmovzxdq xmm2, xmm2
psllq xmm9, 0x38
pmovzxdq xmm3, xmm7
psllq xmm2, 0x30
pxor xmm9, xmm2
movdqu xmm2, xmm5
movdqu xmm5, xmmword [rsp + 0x30]
psllq xmm4, 0x20
psrldq xmm2, 8
pmovzxdq xmm2, xmm2
psllq xmm1, 0x28
pxor xmm1, xmm4
psrldq xmm0, 8
pxor xmm1, xmm9
pxor xmm1, xmm2
pmovzxdq xmm2, xmm5
movups xmmword [rdx + 0x50], xmm1
pmovzxdq xmm1, xmm6
pmovzxwd xmm0, xmm0
psllq xmm2, 0x20
movdqu xmm4, xmmword [rsp + 0x50]
psllq xmm1, 0x28
pxor xmm1, xmm2
pmovzxdq xmm2, xmm0
psllq xmm3, 0x30
psllq xmm2, 0x38
pxor xmm2, xmm3
pxor xmm1, xmm2
pmovzxdq xmm2, xmm4
psrldq xmm0, 8
pxor xmm1, xmm2
movdqu xmm2, xmm5
movups xmmword [rdx + 0x60], xmm1
movdqu xmm1, xmm6
psrldq xmm1, 8
pmovzxdq xmm0, xmm0
psrldq xmm2, 8
pmovzxdq xmm1, xmm1
pmovzxdq xmm2, xmm2
psllq xmm1, 0x28
psllq xmm2, 0x20
pxor xmm1, xmm2
movdqu xmm2, xmm7
psllq xmm0, 0x38
psrldq xmm2, 8
pmovzxdq xmm2, xmm2
psllq xmm2, 0x30
pxor xmm0, xmm2
pxor xmm0, xmm1
movdqu xmm1, xmm4
psrldq xmm1, 8
pmovzxdq xmm1, xmm1
pxor xmm0, xmm1
movdqu xmm1, xmmword [rdx + 0xa0]
movups xmmword [rdx + 0x70], xmm0
movdqu xmm8, xmmword [rdx + 0x80]
movdqu xmm3, xmmword [rdx + 0xf0]
movdqu xmm10, xmmword [rdx + 0xe0]
movdqu xmm2, xmmword [rdx + 0xc0]
movdqu xmm15, xmm3
movdqu xmm0, xmmword [rdx + 0xb0]
movdqu xmm7, xmm10
movdqu xmm11, xmmword [rdx + 0x90]
movdqu xmm3, xmm2
movdqu xmm6, xmmword [rdx + 0xd0]
movdqu xmm12, xmm0
movdqu xmm5, xmmword [0x0061d270]
movdqu xmm4, xmmword [0x0061d280]
nop word cs:[rax + rax]
movzx r9d, byte [rax]
paddq xmm8, xmm1
paddq xmm11, xmm12
add rax, 0x10
movzx r8d, byte [rax - 0xe]
movq xmm9, qword [rdx + r9*8]
movzx r9d, byte [rax - 0xf]
pinsrq xmm9, qword [rdx + r8*8], 1
paddq xmm8, xmm9
movzx r8d, byte [rax - 0xd]
pxor xmm7, xmm8
pshufd xmm7, xmm7, 0xb1
paddq xmm3, xmm7
pxor xmm1, xmm3
pshufb xmm1, xmm5
movdqu xmm2, xmm3
movq xmm9, qword [rdx + r9*8]
movzx r9d, byte [rax - 0xc]
pinsrq xmm9, qword [rdx + r8*8], 1
paddq xmm9, xmm1
movzx r8d, byte [rax - 0xa]
paddq xmm9, xmm8
pxor xmm7, xmm9
pshufb xmm7, xmm4
paddq xmm2, xmm7
movdqu xmm8, xmm7
pxor xmm1, xmm2
movdqu xmm3, xmm1
movdqu xmm0, xmm1
movq xmm10, qword [rdx + r9*8]
psllq xmm3, 1
pinsrq xmm10, qword [rdx + r8*8], 1
movzx r9d, byte [rax - 0xb]
paddq xmm11, xmm10
psrlq xmm0, 0x3f
movzx r8d, byte [rax - 9]
por xmm0, xmm3
pxor xmm15, xmm11
pshufd xmm3, xmm15, 0xb1
paddq xmm6, xmm3
pxor xmm12, xmm6
pshufb xmm12, xmm5
movq xmm10, qword [rdx + r9*8]
pinsrq xmm10, qword [rdx + r8*8], 1
paddq xmm10, xmm12
movzx r9d, byte [rax - 8]
paddq xmm10, xmm11
movzx r8d, byte [rax - 6]
pxor xmm3, xmm10
movdqu xmm1, xmm3
pshufb xmm1, xmm4
paddq xmm6, xmm1
movdqu xmm3, xmm1
pxor xmm12, xmm6
movdqu xmm1, xmm12
palignr xmm7, xmm3, 8
psllq xmm1, 1
palignr xmm3, xmm8, 8
movq xmm8, qword [rdx + r9*8]
pinsrq xmm8, qword [rdx + r8*8], 1
movzx r9d, byte [rax - 7]
psrlq xmm12, 0x3f
movzx r8d, byte [rax - 5]
por xmm12, xmm1
movdqu xmm1, xmm12
palignr xmm1, xmm0, 8
paddq xmm8, xmm1
palignr xmm0, xmm12, 8
paddq xmm9, xmm8
movq xmm8, qword [rdx + r9*8]
movzx r9d, byte [rax - 4]
pinsrq xmm8, qword [rdx + r8*8], 1
pxor xmm7, xmm9
pshufd xmm7, xmm7, 0xb1
movzx r8d, byte [rax - 2]
paddq xmm6, xmm7
pxor xmm1, xmm6
pshufb xmm1, xmm5
paddq xmm8, xmm1
paddq xmm8, xmm9
movq xmm11, qword [rdx + r9*8]
pxor xmm7, xmm8
pshufb xmm7, xmm4
paddq xmm6, xmm7
movzx r9d, byte [rax - 3]
pxor xmm1, xmm6
movdqu xmm12, xmm1
pinsrq xmm11, qword [rdx + r8*8], 1
movzx r8d, byte [rax - 1]
paddq xmm11, xmm0
psrlq xmm1, 0x3f
movdqu xmm9, xmm7
paddq xmm10, xmm11
psllq xmm12, 1
pxor xmm3, xmm10
pshufd xmm3, xmm3, 0xb1
paddq xmm2, xmm3
por xmm12, xmm1
movq xmm11, qword [rdx + r9*8]
pxor xmm0, xmm2
pshufb xmm0, xmm5
movdqu xmm13, xmm12
pinsrq xmm11, qword [rdx + r8*8], 1
paddq xmm11, xmm0
paddq xmm11, xmm10
pxor xmm3, xmm11
pshufb xmm3, xmm4
movdqu xmm10, xmm3
paddq xmm3, xmm2
pxor xmm0, xmm3
movdqu xmm1, xmm0
movdqu xmm14, xmm10
psllq xmm1, 1
psrlq xmm0, 0x3f
por xmm0, xmm1
palignr xmm14, xmm7, 8
palignr xmm13, xmm0, 8
movdqu xmm7, xmm14
palignr xmm0, xmm12, 8
movdqu xmm1, xmm13
palignr xmm9, xmm10, 8
movdqu xmm12, xmm0
movdqu xmm15, xmm9
cmp rax, r10
jne 0x43f240
movdqu xmm2, xmm3
movups xmmword [rdx + 0x90], xmm11
pxor xmm1, xmm14
pxor xmm11, xmm6
movups xmmword [rdx + 0xf0], xmm9
pxor xmm2, xmm8
pxor xmm11, xmmword [rcx + 0x90]
pxor xmm9, xmm0
movups xmmword [rdx + 0xa0], xmm13
pxor xmm2, xmmword [rcx + 0x80]
pxor xmm9, xmmword [rcx + 0xb0]
pxor xmm1, xmmword [rcx + 0xa0]
movups xmmword [rdx + 0x80], xmm8
movups xmmword [rdx + 0xe0], xmm14
movups xmmword [rdx + 0xc0], xmm3
movups xmmword [rdx + 0xb0], xmm0
movups xmmword [rdx + 0xd0], xmm6
movups xmm6, xmmword [rsp + 0x180]
movups xmmword [rcx + 0x90], xmm11
movups xmm7, xmmword [rsp + 0x190]
movups xmm8, xmmword [rsp + 0x1a0]
movups xmmword [rcx + 0x80], xmm2
movups xmm10, xmmword [rsp + 0x1c0]
movups xmmword [rcx + 0xa0], xmm1
movups xmmword [rcx + 0xb0], xmm9
movups xmm11, xmmword [rsp + 0x1d0]
movups xmm9, xmmword [rsp + 0x1b0]
movups xmm12, xmmword [rsp + 0x1e0]
movups xmm13, xmmword [rsp + 0x1f0]
movups xmm14, xmmword [rsp + 0x200]
movups xmm15, xmmword [rsp + 0x210]
add rsp, 0x228
ret