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

Disassembly:
sub rsp, 0x68
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
movdqu xmm9, xmmword [rcx]
movdqu xmm5, xmmword [rcx + 0x10]
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmm8, xmmword [rcx + 0x30]
movdqu xmm4, xmmword [rcx + 0x40]
movdqu xmm3, xmmword [rcx + 0x50]
movdqu xmm7, xmmword [rcx + 0x60]
movdqu xmm6, xmmword [rcx + 0x70]
lea r10, [r9 + r9*2]
prefetcht0 byte [rdx]
prefetcht0 byte [rdx + 0x20]
prefetcht0 byte [rdx + 0x30]
shl r10, 5
prefetcht0 byte [rdx + 0x50]
sub r10, 0x60
add r8, r10
prefetcht0 byte [r8]
prefetcht0 byte [r8 - 0x20]
prefetcht0 byte [r8 - 0x30]
prefetcht0 byte [r8 - 0x50]
test r9, r9
je 0x4c3bc7
lea rax, [rdx - 0x60]
add rdx, r10
nop
pxor xmm0, xmmword [rax + 0x80]
pxor xmm5, xmmword [rax + 0x70]
prefetcht0 byte [rax]
sub r8, 0x60
pxor xmm9, xmmword [rax + 0x60]
prefetcht0 byte [rax - 0x10]
add rax, 0x60
pxor xmm4, xmmword [rax + 0x40]
movdqu xmm1, xmmword [rax + 0x30]
pxor xmm3, xmmword [rax + 0x50]
prefetcht0 byte [r8]
prefetcht0 byte [r8 - 0x10]
paddq xmm9, xmm0
pxor xmm7, xmm9
pxor xmm1, xmm8
pshufd xmm7, xmm7, 0xb1
paddq xmm5, xmm1
paddq xmm4, xmm7
pxor xmm6, xmm5
pxor xmm0, xmm4
movdqu xmm2, xmm0
psrlq xmm0, 0x18
psllq xmm2, 0x28
por xmm0, xmm2
paddq xmm9, xmm0
pxor xmm7, xmm9
movdqu xmm2, xmm7
psrlq xmm7, 0x10
psllq xmm2, 0x30
por xmm7, xmm2
paddq xmm4, xmm7
movdqu xmm10, xmm7
pxor xmm0, xmm4
pslldq xmm10, 8
movdqu xmm2, xmm0
psrlq xmm0, 0x3f
psllq xmm2, 1
por xmm0, xmm2
pshufd xmm2, xmm6, 0xb1
paddq xmm3, xmm2
pxor xmm1, xmm3
movdqu xmm6, xmm1
psrlq xmm1, 0x18
psllq xmm6, 0x28
por xmm1, xmm6
paddq xmm5, xmm1
pxor xmm2, xmm5
movdqu xmm6, xmm2
psrlq xmm2, 0x10
psllq xmm6, 0x30
por xmm2, xmm6
paddq xmm3, xmm2
movdqu xmm8, xmm2
psrldq xmm2, 8
pslldq xmm8, 8
pxor xmm1, xmm3
movdqu xmm6, xmm1
psrlq xmm1, 0x3f
por xmm2, xmm10
psllq xmm6, 1
por xmm1, xmm6
movdqu xmm6, xmm7
movdqu xmm7, xmm0
psrldq xmm0, 8
pslldq xmm7, 8
movdqu xmm11, xmm1
pslldq xmm1, 8
psrldq xmm11, 8
por xmm1, xmm0
psrldq xmm6, 8
por xmm7, xmm11
paddq xmm9, xmm1
paddq xmm5, xmm7
por xmm6, xmm8
pxor xmm2, xmm9
pxor xmm6, xmm5
pshufd xmm2, xmm2, 0xb1
pshufd xmm6, xmm6, 0xb1
paddq xmm3, xmm2
paddq xmm4, xmm6
pxor xmm1, xmm3
pxor xmm7, xmm4
movdqu xmm0, xmm1
psrlq xmm1, 0x18
psllq xmm0, 0x28
por xmm1, xmm0
paddq xmm9, xmm1
pxor xmm2, xmm9
movdqu xmm0, xmm2
psrlq xmm2, 0x10
psllq xmm0, 0x30
por xmm2, xmm0
paddq xmm3, xmm2
pxor xmm1, xmm3
movdqu xmm0, xmm1
psrlq xmm1, 0x3f
psllq xmm0, 1
por xmm1, xmm0
movdqu xmm0, xmm7
psllq xmm0, 0x28
psrlq xmm7, 0x18
por xmm7, xmm0
paddq xmm5, xmm7
pxor xmm6, xmm5
movdqu xmm8, xmm6
psrlq xmm6, 0x10
psllq xmm8, 0x30
por xmm8, xmm6
paddq xmm4, xmm8
movdqu xmm6, xmm8
pxor xmm7, xmm4
psrldq xmm6, 8
movdqu xmm0, xmm7
psrlq xmm7, 0x3f
psllq xmm0, 1
por xmm0, xmm7
movdqu xmm7, xmm2
pslldq xmm7, 8
psrldq xmm2, 8
por xmm6, xmm7
movdqu xmm7, xmm8
movdqu xmm8, xmm0
pslldq xmm7, 8
pslldq xmm8, 8
por xmm7, xmm2
psrldq xmm0, 8
movdqu xmm2, xmm1
psrldq xmm2, 8
pslldq xmm1, 8
por xmm8, xmm2
movdqu xmm2, xmmword [rax]
por xmm0, xmm1
pxor xmm2, xmm9
movups xmmword [r8 + 0x60], xmm2
movdqu xmm1, xmmword [rax + 0x10]
pxor xmm1, xmm5
movups xmmword [r8 + 0x70], xmm1
movdqu xmm1, xmmword [rax + 0x20]
pxor xmm1, xmm0
movups xmmword [r8 + 0x80], xmm1
movdqu xmm1, xmmword [rax + 0x30]
pxor xmm1, xmm8
movups xmmword [r8 + 0x90], xmm1
movdqu xmm1, xmmword [rax + 0x40]
pxor xmm1, xmm4
movups xmmword [r8 + 0xa0], xmm1
movdqu xmm1, xmmword [rax + 0x50]
pxor xmm1, xmm3
movups xmmword [r8 + 0xb0], xmm1
cmp rax, rdx
jne 0x4c3900
movups xmmword [rcx], xmm9
movups xmm10, xmmword [rsp + 0x40]
movups xmm9, xmmword [rsp + 0x30]
movups xmmword [rcx + 0x30], xmm8
movups xmm11, xmmword [rsp + 0x50]
movups xmm8, xmmword [rsp + 0x20]
movups xmmword [rcx + 0x60], xmm7
movups xmm7, xmmword [rsp + 0x10]
movups xmmword [rcx + 0x70], xmm6
movups xmm6, xmmword [rsp]
movups xmmword [rcx + 0x10], xmm5
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x40], xmm4
movups xmmword [rcx + 0x50], xmm3
add rsp, 0x68
ret