Function at 0x4fc800
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
movups xmmword [rsp], xmm6
movups xmmword [rsp + 0x10], xmm7
movups xmmword [rsp + 0x20], xmm8
movups xmmword [rsp + 0x30], xmm9
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x4fcb52
lea rax, [rax + rax*2]
movdqu xmm2, xmmword [0x0062d660]
shl rax, 5
add rax, rdx
nop word [rax + rax]
movdqu xmm6, xmmword [rdx]
add rdx, 0x60
add r9, 0x60
add r8, 0x60
movdqu xmm4, xmmword [rcx + 0x60]
paddq xmm6, xmmword [r8 - 0x60]
pxor xmm6, xmmword [rcx]
movups xmmword [rcx], xmm6
movdqu xmm5, xmmword [rdx - 0x50]
paddq xmm5, xmmword [r8 - 0x50]
pxor xmm5, xmmword [rcx + 0x10]
movups xmmword [rcx + 0x10], xmm5
movdqu xmm1, xmmword [rdx - 0x40]
paddq xmm1, xmmword [r8 - 0x40]
pxor xmm1, xmmword [rcx + 0x20]
paddq xmm6, xmm1
movups xmmword [rcx + 0x20], xmm1
pxor xmm4, xmm6
movdqu xmm0, xmmword [rdx - 0x30]
pshufd xmm4, xmm4, 0xb1
movdqu xmm8, xmmword [rcx + 0x70]
paddq xmm0, xmmword [r8 - 0x30]
pxor xmm0, xmmword [rcx + 0x30]
movups xmmword [rcx + 0x30], xmm0
movdqu xmm3, xmmword [rdx - 0x20]
paddq xmm3, xmmword [r8 - 0x20]
pxor xmm3, xmmword [rcx + 0x40]
movups xmmword [rcx + 0x40], xmm3
paddq xmm3, xmm4
paddq xmm5, xmm0
pxor xmm1, xmm3
pshufb xmm1, xmm2
paddq xmm6, xmm1
pxor xmm8, xmm5
pxor xmm4, xmm6
pshuflw xmm4, xmm4, 0x39
pshufhw xmm4, xmm4, 0x39
paddq xmm3, xmm4
movdqu xmm7, xmm4
pxor xmm1, xmm3
movdqu xmm4, xmm1
pshufd xmm8, xmm8, 0xb1
psllq xmm4, 1
psrlq xmm1, 0x3f
por xmm1, xmm4
movdqu xmm4, xmmword [rdx - 0x10]
paddq xmm4, xmmword [r8 - 0x10]
pxor xmm4, xmmword [rcx + 0x50]
paddq xmm4, xmm8
pxor xmm0, xmm4
pshufb xmm0, xmm2
paddq xmm5, xmm0
pxor xmm8, xmm5
pshuflw xmm8, xmm8, 0x39
pshufhw xmm8, xmm8, 0x39
paddq xmm4, xmm8
movdqu xmm9, xmm8
pxor xmm0, xmm4
movdqu xmm8, xmm0
psllq xmm8, 1
psrlq xmm0, 0x3f
por xmm0, xmm8
movdqu xmm8, xmm9
palignr xmm8, xmm7, 8
palignr xmm7, xmm9, 8
movdqu xmm9, xmm1
palignr xmm9, xmm0, 8
palignr xmm0, xmm1, 8
paddq xmm5, xmm9
paddq xmm6, xmm0
pxor xmm8, xmm5
pxor xmm7, xmm6
pshufd xmm7, xmm7, 0xb1
paddq xmm4, xmm7
pxor xmm0, xmm4
pshufb xmm0, xmm2
paddq xmm6, xmm0
pxor xmm7, xmm6
pshuflw xmm7, xmm7, 0x39
pshufhw xmm1, xmm7, 0x39
movdqu xmm7, xmm1
paddq xmm1, xmm4
movups xmmword [rcx], xmm6
movups xmmword [rcx + 0x50], xmm1
pxor xmm0, xmm1
movdqu xmm1, xmm0
psrlq xmm0, 0x3f
psllq xmm1, 1
por xmm0, xmm1
pshufd xmm1, xmm8, 0xb1
paddq xmm3, xmm1
pxor xmm9, xmm3
pshufb xmm9, xmm2
paddq xmm5, xmm9
movups xmmword [rcx + 0x10], xmm5
pxor xmm5, xmm1
pshuflw xmm5, xmm5, 0x39
pshufhw xmm1, xmm5, 0x39
movdqu xmm4, xmm1
paddq xmm1, xmm3
movups xmmword [rcx + 0x40], xmm1
pxor xmm1, xmm9
movdqu xmm3, xmm1
psrlq xmm1, 0x3f
psllq xmm3, 1
por xmm1, xmm3
movdqu xmm3, xmm7
palignr xmm3, xmm4, 8
movups xmmword [rcx + 0x70], xmm3
movdqu xmm3, xmm1
palignr xmm4, xmm7, 8
palignr xmm3, xmm0, 8
movups xmmword [rcx + 0x60], xmm4
palignr xmm0, xmm1, 8
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm3
movdqu xmm0, xmmword [r9 - 0x50]
pxor xmm6, xmmword [r9 - 0x60]
movups xmmword [r9 - 0x60], xmm6
pxor xmm0, xmmword [rcx + 0x10]
movups xmmword [r9 - 0x50], xmm0
movdqu xmm0, xmmword [r9 - 0x40]
pxor xmm0, xmmword [rcx + 0x20]
movups xmmword [r9 - 0x40], xmm0
movdqu xmm0, xmmword [r9 - 0x30]
pxor xmm0, xmmword [rcx + 0x30]
movups xmmword [r9 - 0x30], xmm0
movdqu xmm0, xmmword [r9 - 0x20]
pxor xmm0, xmmword [rcx + 0x40]
movups xmmword [r9 - 0x20], xmm0
movdqu xmm0, xmmword [r9 - 0x10]
pxor xmm0, xmmword [rcx + 0x50]
movups xmmword [r9 - 0x10], xmm0
movdqu xmm0, xmmword [rcx]
palignr xmm0, xmmword [rcx + 0x50], 8
pxor xmm0, xmmword [r8 - 0x60]
movups xmmword [r8 - 0x60], xmm0
movdqu xmm0, xmmword [rcx + 0x10]
palignr xmm0, xmmword [rcx], 8
pxor xmm0, xmmword [r8 - 0x50]
movups xmmword [r8 - 0x50], xmm0
movdqu xmm0, xmmword [rcx + 0x20]
palignr xmm0, xmmword [rcx + 0x10], 8
pxor xmm0, xmmword [r8 - 0x40]
movups xmmword [r8 - 0x40], xmm0
movdqu xmm0, xmmword [rcx + 0x30]
palignr xmm0, xmmword [rcx + 0x20], 8
pxor xmm0, xmmword [r8 - 0x30]
movups xmmword [r8 - 0x30], xmm0
movdqu xmm0, xmmword [rcx + 0x40]
palignr xmm0, xmmword [rcx + 0x30], 8
pxor xmm0, xmmword [r8 - 0x20]
movups xmmword [r8 - 0x20], xmm0
movdqu xmm0, xmmword [rcx + 0x50]
palignr xmm0, xmmword [rcx + 0x40], 8
pxor xmm0, xmmword [r8 - 0x10]
movups xmmword [r8 - 0x10], xmm0
cmp rdx, rax
jne 0x4fc840
movups xmm6, xmmword [rsp]
movups xmm7, xmmword [rsp + 0x10]
movups xmm8, xmmword [rsp + 0x20]
movups xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
ret