Function at 0x4fc050
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
sub rsp, 0x78
movups xmmword [rsp], xmm6
movups xmmword [rsp + 0x10], xmm7
movups xmmword [rsp + 0x20], xmm8
movups xmmword [rsp + 0x30], xmm9
movups xmmword [rsp + 0x40], xmm10
movups xmmword [rsp + 0x50], xmm11
movups xmmword [rsp + 0x60], xmm12
movdqu xmm9, xmmword [rcx]
movdqu xmm6, xmmword [rcx + 0x10]
movdqu xmm1, xmmword [rcx + 0x20]
movdqu xmm12, xmmword [rcx + 0x30]
lea r10, [r9 + r9*2]
movdqu xmm2, xmmword [rcx + 0x40]
shl r10, 5
movdqu xmm10, xmmword [rcx + 0x50]
movdqu xmm5, xmmword [rcx + 0x60]
lea rax, [r10 + r8 - 0x60]
movdqu xmm7, xmmword [rcx + 0x70]
test r9, r9
je 0x4fc2ff
movdqu xmm4, xmmword [0x0062c660]
lea r8, [rdx + r10]
nop word [rax + rax]
movdqu xmm3, xmmword [rdx]
pxor xmm1, xmmword [rdx + 0x20]
pxor xmm2, xmmword [rdx + 0x40]
pxor xmm6, xmmword [rdx + 0x10]
movdqu xmm0, xmmword [rdx + 0x30]
pxor xmm10, xmmword [rdx + 0x50]
add rdx, 0x60
sub rax, 0x60
pxor xmm9, xmm3
paddq xmm9, xmm1
pxor xmm5, xmm9
pshufd xmm8, xmm5, 0xb1
paddq xmm2, xmm8
pxor xmm0, xmm12
pxor xmm1, xmm2
paddq xmm6, xmm0
pshufb xmm1, xmm4
paddq xmm9, xmm1
pxor xmm8, xmm9
pxor xmm7, xmm6
pshuflw xmm8, xmm8, 0x39
pshufd xmm7, xmm7, 0xb1
pshufhw xmm8, xmm8, 0x39
paddq xmm10, xmm7
paddq xmm2, xmm8
movdqu xmm5, xmm8
pxor xmm1, xmm2
pxor xmm0, xmm10
movdqu xmm8, xmm1
pshufb xmm0, xmm4
paddq xmm6, xmm0
psllq xmm8, 1
pxor xmm7, xmm6
psrlq xmm1, 0x3f
pshuflw xmm7, xmm7, 0x39
pshufhw xmm7, xmm7, 0x39
paddq xmm10, xmm7
por xmm1, xmm8
movdqu xmm8, xmm7
pxor xmm0, xmm10
movdqu xmm7, xmm0
psrlq xmm0, 0x3f
psllq xmm7, 1
por xmm0, xmm7
movdqu xmm7, xmm8
palignr xmm7, xmm5, 8
palignr xmm5, xmm8, 8
movdqu xmm8, xmm1
palignr xmm8, xmm0, 8
palignr xmm0, xmm1, 8
paddq xmm6, xmm8
paddq xmm9, xmm0
pxor xmm7, xmm6
pshufd xmm7, xmm7, 0xb1
paddq xmm2, xmm7
pxor xmm5, xmm9
pshufd xmm5, xmm5, 0xb1
paddq xmm10, xmm5
pxor xmm8, xmm2
pxor xmm0, xmm10
pshufb xmm0, xmm4
paddq xmm9, xmm0
pshufb xmm8, xmm4
pxor xmm5, xmm9
pshuflw xmm5, xmm5, 0x39
pshufhw xmm1, xmm5, 0x39
paddq xmm10, xmm1
movdqu xmm5, xmm1
pxor xmm0, xmm10
movdqu xmm1, xmm0
paddq xmm6, xmm8
psllq xmm1, 1
pxor xmm7, xmm6
pshuflw xmm7, xmm7, 0x39
pxor xmm3, xmm9
psrlq xmm0, 0x3f
movups xmmword [rax + 0x60], xmm3
movdqu xmm3, xmmword [rdx - 0x50]
por xmm0, xmm1
pshufhw xmm1, xmm7, 0x39
paddq xmm2, xmm1
movdqu xmm11, xmm1
pxor xmm8, xmm2
movdqu xmm1, xmm8
movdqu xmm7, xmm5
pxor xmm3, xmm6
psllq xmm1, 1
movups xmmword [rax + 0x70], xmm3
psrlq xmm8, 0x3f
por xmm8, xmm1
palignr xmm7, xmm11, 8
movdqu xmm1, xmm11
movdqu xmm11, xmm8
palignr xmm11, xmm0, 8
palignr xmm1, xmm5, 8
movdqu xmm12, xmm11
palignr xmm0, xmm8, 8
movdqu xmm5, xmm1
movdqu xmm1, xmm0
pxor xmm0, xmmword [rdx - 0x40]
movups xmmword [rax + 0x80], xmm0
pxor xmm11, xmmword [rdx - 0x30]
movups xmmword [rax + 0x90], xmm11
movdqu xmm0, xmmword [rdx - 0x20]
pxor xmm0, xmm2
movups xmmword [rax + 0xa0], xmm0
movdqu xmm0, xmmword [rdx - 0x10]
pxor xmm0, xmm10
movups xmmword [rax + 0xb0], xmm0
cmp rdx, r8
jne 0x4fc0d0
movups xmmword [rcx], xmm9
movups xmm8, xmmword [rsp + 0x20]
movups xmmword [rcx + 0x10], xmm6
movups xmm9, xmmword [rsp + 0x30]
movups xmmword [rcx + 0x30], xmm12
movups xmm6, xmmword [rsp]
movups xmmword [rcx + 0x50], xmm10
movups xmm11, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x70], xmm7
movups xmm10, xmmword [rsp + 0x40]
movups xmm7, xmmword [rsp + 0x10]
movups xmmword [rcx + 0x20], xmm1
movups xmm12, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x40], xmm2
movups xmmword [rcx + 0x60], xmm5
add rsp, 0x78
ret