Function at 0x512e90
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x498
movaps xmmword [rsp + 0x400], xmm6
movaps xmmword [rsp + 0x410], xmm7
movaps xmmword [rsp + 0x420], xmm8
movaps xmmword [rsp + 0x430], xmm9
movaps xmmword [rsp + 0x440], xmm10
movaps xmmword [rsp + 0x450], xmm11
movaps xmmword [rsp + 0x460], xmm12
movaps xmmword [rsp + 0x470], xmm13
movaps xmmword [rsp + 0x480], xmm14
xor eax, eax
test r9d, r9d
mov r9, rsp
je 0x513660
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax]
pxor xmm0, xmmword [rcx + rax]
movaps xmmword [rcx + rax], xmm0
movdqu xmm7, xmmword [r8 + rax]
pxor xmm0, xmm7
movaps xmmword [r9 + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x512ef8
mov rax, rcx
lea r10, [rcx + 0x400]
mov rdx, rcx
nop
movdqa xmm6, xmmword [rdx + 0x20]
movdqa xmm0, xmmword [rdx]
sub rdx, 0xffffffffffffff80
movdqa xmm3, xmmword [rdx - 0x50]
movdqa xmm1, xmmword [rdx - 0x20]
paddq xmm0, xmm6
movdqa xmm7, xmm6
pmuludq xmm7, xmmword [rdx - 0x80]
paddq xmm7, xmm7
paddq xmm7, xmm0
movdqa xmm0, xmmword [rdx - 0x70]
movdqa xmm5, xmm3
pmuludq xmm5, xmmword [rdx - 0x70]
paddq xmm5, xmm5
pxor xmm1, xmm7
movdqa xmm14, xmmword [rdx - 0x10]
movdqa xmm12, xmm7
paddq xmm0, xmm3
pshufd xmm1, xmm1, 0xb1
paddq xmm5, xmm0
movdqa xmm0, xmmword [rdx - 0x40]
movdqa xmm13, xmm1
pmuludq xmm13, xmmword [rdx - 0x40]
paddq xmm13, xmm13
pxor xmm14, xmm5
movdqa xmm11, xmm5
paddq xmm0, xmm1
pshufd xmm14, xmm14, 0xb1
paddq xmm13, xmm0
movdqa xmm0, xmmword [rdx - 0x30]
movdqa xmm8, xmm14
pmuludq xmm8, xmmword [rdx - 0x30]
paddq xmm8, xmm8
pxor xmm6, xmm13
movdqa xmm10, xmm13
paddq xmm0, xmm14
movdqa xmm2, xmm6
psllq xmm2, 0x28
psrlq xmm6, 0x18
paddq xmm8, xmm0
pxor xmm3, xmm8
pxor xmm2, xmm6
movdqa xmm6, xmm14
movdqa xmm0, xmm3
psrlq xmm3, 0x18
paddq xmm7, xmm2
psllq xmm0, 0x28
pmuludq xmm12, xmm2
movdqa xmm4, xmm8
pxor xmm3, xmm0
pmuludq xmm11, xmm3
paddq xmm5, xmm3
paddq xmm12, xmm12
paddq xmm12, xmm7
paddq xmm11, xmm11
pxor xmm1, xmm12
movdqa xmm9, xmm12
paddq xmm11, xmm5
pshuflw xmm1, xmm1, 0x39
pxor xmm6, xmm11
pshufhw xmm1, xmm1, 0x39
movdqa xmm7, xmm11
pshuflw xmm6, xmm6, 0x39
pmuludq xmm10, xmm1
paddq xmm13, xmm1
pshufhw xmm6, xmm6, 0x39
pmuludq xmm4, xmm6
paddq xmm8, xmm6
paddq xmm10, xmm10
paddq xmm10, xmm13
paddq xmm4, xmm4
pxor xmm2, xmm10
paddq xmm4, xmm8
movdqa xmm8, xmm6
punpcklqdq xmm6, xmm6
pxor xmm3, xmm4
movdqa xmm5, xmm4
movdqa xmm0, xmm3
movdqa xmm3, xmm2
paddq xmm2, xmm2
psrlq xmm3, 0x3f
pxor xmm2, xmm3
movdqa xmm3, xmm0
paddq xmm0, xmm0
psrlq xmm3, 0x3f
movdqa xmm13, xmm2
punpcklqdq xmm2, xmm2
pxor xmm0, xmm3
movdqa xmm3, xmm1
punpcklqdq xmm3, xmm1
punpckhqdq xmm1, xmm6
punpckhqdq xmm8, xmm3
movdqa xmm3, xmm0
punpcklqdq xmm3, xmm0
punpckhqdq xmm0, xmm2
punpckhqdq xmm13, xmm3
pmuludq xmm7, xmm0
paddq xmm11, xmm0
pmuludq xmm9, xmm13
paddq xmm12, xmm13
movdqa xmm2, xmm13
paddq xmm7, xmm7
paddq xmm9, xmm9
paddq xmm7, xmm11
paddq xmm9, xmm12
pxor xmm1, xmm7
pxor xmm8, xmm9
pshufd xmm6, xmm1, 0xb1
movdqa xmm3, xmm9
pshufd xmm8, xmm8, 0xb1
pmuludq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm5, xmm5
paddq xmm5, xmm4
movdqa xmm4, xmm10
paddq xmm10, xmm6
pmuludq xmm4, xmm6
pxor xmm2, xmm5
movdqa xmm1, xmm2
psrlq xmm2, 0x18
psllq xmm1, 0x28
pxor xmm1, xmm2
pmuludq xmm3, xmm1
paddq xmm9, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm10
pxor xmm0, xmm4
movdqa xmm2, xmm0
psrlq xmm0, 0x18
psllq xmm2, 0x28
paddq xmm3, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm7
paddq xmm3, xmm9
pmuludq xmm2, xmm0
paddq xmm7, xmm0
movaps xmmword [rdx - 0x80], xmm3
pxor xmm3, xmm8
pshuflw xmm3, xmm3, 0x39
pshufhw xmm3, xmm3, 0x39
paddq xmm2, xmm2
paddq xmm2, xmm7
movaps xmmword [rdx - 0x70], xmm2
pxor xmm2, xmm6
movdqa xmm6, xmm5
paddq xmm5, xmm3
pmuludq xmm6, xmm3
pshuflw xmm2, xmm2, 0x39
pshufhw xmm2, xmm2, 0x39
paddq xmm6, xmm6
paddq xmm5, xmm6
movdqa xmm6, xmm4
paddq xmm4, xmm2
pmuludq xmm6, xmm2
pxor xmm1, xmm5
movaps xmmword [rdx - 0x30], xmm5
paddq xmm6, xmm6
paddq xmm4, xmm6
pxor xmm0, xmm4
movaps xmmword [rdx - 0x40], xmm4
movdqa xmm4, xmm1
paddq xmm1, xmm1
psrlq xmm4, 0x3f
pxor xmm1, xmm4
movdqa xmm4, xmm0
paddq xmm0, xmm0
psrlq xmm4, 0x3f
pxor xmm0, xmm4
movdqa xmm4, xmm1
punpcklqdq xmm4, xmm1
movdqa xmm7, xmm0
punpcklqdq xmm0, xmm0
punpckhqdq xmm7, xmm4
punpckhqdq xmm1, xmm0
movdqa xmm0, xmm2
punpcklqdq xmm0, xmm2
movaps xmmword [rdx - 0x60], xmm7
movdqa xmm7, xmm3
punpcklqdq xmm3, xmm3
punpckhqdq xmm7, xmm0
punpckhqdq xmm2, xmm3
movaps xmmword [rdx - 0x50], xmm1
movaps xmmword [rdx - 0x20], xmm7
movaps xmmword [rdx - 0x10], xmm2
cmp rdx, r10
jne 0x512f30
lea rdx, [rcx + 0x80]
nop dword [rax]
movdqa xmm2, xmmword [rax + 0x100]
movdqa xmm0, xmmword [rax]
add rax, 0x10
movdqa xmm1, xmmword [rax + 0x170]
movdqa xmm3, xmmword [rax + 0x2f0]
paddq xmm0, xmm2
movdqa xmm6, xmm2
pmuludq xmm6, xmmword [rax - 0x10]
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm0, xmmword [rax + 0x70]
movdqa xmm7, xmmword [rax + 0x1f0]
movdqa xmm4, xmm1
pxor xmm3, xmm6
pmuludq xmm4, xmmword [rax + 0x70]
paddq xmm4, xmm4
movdqa xmm12, xmm6
paddq xmm0, xmm1
pshufd xmm3, xmm3, 0xb1
paddq xmm4, xmm0
movdqa xmm0, xmmword [rax + 0x370]
paddq xmm7, xmm3
movdqa xmm5, xmm3
pmuludq xmm5, xmmword [rax + 0x1f0]
paddq xmm5, xmm5
movdqa xmm11, xmm4
paddq xmm5, xmm7
pxor xmm0, xmm4
movdqa xmm7, xmmword [rax + 0x270]
pshufd xmm0, xmm0, 0xb1
pxor xmm2, xmm5
movdqa xmm10, xmm5
paddq xmm7, xmm0
movdqa xmm8, xmm0
pmuludq xmm8, xmmword [rax + 0x270]
paddq xmm8, xmm8
paddq xmm8, xmm7
movdqa xmm7, xmm2
psllq xmm7, 0x28
psrlq xmm2, 0x18
pxor xmm1, xmm8
pxor xmm2, xmm7
movdqa xmm7, xmm1
psllq xmm7, 0x28
psrlq xmm1, 0x18
paddq xmm6, xmm2
pxor xmm1, xmm7
pmuludq xmm12, xmm2
pmuludq xmm11, xmm1
paddq xmm4, xmm1
paddq xmm12, xmm12
paddq xmm11, xmm11
paddq xmm12, xmm6
paddq xmm11, xmm4
pxor xmm3, xmm12
movdqa xmm4, xmm8
pxor xmm0, xmm11
pshuflw xmm3, xmm3, 0x39
movdqa xmm9, xmm12
pshuflw xmm0, xmm0, 0x39
pshufhw xmm6, xmm3, 0x39
movdqa xmm7, xmm11
pshufhw xmm3, xmm0, 0x39
pmuludq xmm10, xmm6
paddq xmm5, xmm6
pmuludq xmm4, xmm3
paddq xmm8, xmm3
paddq xmm10, xmm10
paddq xmm4, xmm4
paddq xmm10, xmm5
paddq xmm4, xmm8
pxor xmm2, xmm10
movdqa xmm8, xmm3
pxor xmm1, xmm4
movdqa xmm0, xmm1
movdqa xmm1, xmm2
paddq xmm2, xmm2
psrlq xmm1, 0x3f
pxor xmm2, xmm1
movdqa xmm1, xmm0
paddq xmm0, xmm0
psrlq xmm1, 0x3f
movdqa xmm5, xmm2
punpcklqdq xmm2, xmm2
pxor xmm0, xmm1
movdqa xmm1, xmm6
punpcklqdq xmm1, xmm6
punpckhqdq xmm8, xmm1
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm3
punpckhqdq xmm6, xmm1
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm0
punpckhqdq xmm0, xmm2
punpckhqdq xmm5, xmm1
pmuludq xmm7, xmm0
paddq xmm11, xmm0
pmuludq xmm9, xmm5
paddq xmm12, xmm5
movdqa xmm1, xmm5
movdqa xmm5, xmm4
paddq xmm7, xmm7
paddq xmm9, xmm9
paddq xmm7, xmm11
paddq xmm9, xmm12
pxor xmm6, xmm7
pxor xmm8, xmm9
pshufd xmm6, xmm6, 0xb1
movdqa xmm3, xmm9
pshufd xmm8, xmm8, 0xb1
pmuludq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm5, xmm5
paddq xmm5, xmm4
movdqa xmm4, xmm10
paddq xmm10, xmm6
pmuludq xmm4, xmm6
pxor xmm1, xmm5
movdqa xmm2, xmm1
psrlq xmm1, 0x18
psllq xmm2, 0x28
pxor xmm1, xmm2
pmuludq xmm3, xmm1
paddq xmm9, xmm1
paddq xmm4, xmm4
paddq xmm4, xmm10
pxor xmm0, xmm4
movdqa xmm2, xmm0
psrlq xmm0, 0x18
psllq xmm2, 0x28
paddq xmm3, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm7
paddq xmm3, xmm9
pmuludq xmm2, xmm0
paddq xmm7, xmm0
movaps xmmword [rax - 0x10], xmm3
pxor xmm3, xmm8
pshuflw xmm3, xmm3, 0x39
pshufhw xmm3, xmm3, 0x39
paddq xmm2, xmm2
paddq xmm2, xmm7
movaps xmmword [rax + 0x70], xmm2
pxor xmm2, xmm6
movdqa xmm6, xmm5
paddq xmm5, xmm3
pmuludq xmm6, xmm3
pshuflw xmm2, xmm2, 0x39
pshufhw xmm2, xmm2, 0x39
paddq xmm6, xmm6
paddq xmm5, xmm6
movdqa xmm6, xmm4
paddq xmm4, xmm2
pmuludq xmm6, xmm2
pxor xmm1, xmm5
movaps xmmword [rax + 0x270], xmm5
paddq xmm6, xmm6
paddq xmm4, xmm6
pxor xmm0, xmm4
movaps xmmword [rax + 0x1f0], xmm4
movdqa xmm4, xmm1
paddq xmm1, xmm1
psrlq xmm4, 0x3f
pxor xmm1, xmm4
movdqa xmm4, xmm0
paddq xmm0, xmm0
psrlq xmm4, 0x3f
pxor xmm0, xmm4
movdqa xmm4, xmm1
punpcklqdq xmm4, xmm1
movdqa xmm5, xmm0
punpcklqdq xmm0, xmm0
punpckhqdq xmm5, xmm4
punpckhqdq xmm1, xmm0
movdqa xmm0, xmm2
punpcklqdq xmm0, xmm2
movaps xmmword [rax + 0xf0], xmm5
movdqa xmm5, xmm3
punpcklqdq xmm3, xmm3
punpckhqdq xmm5, xmm0
punpckhqdq xmm2, xmm3
movaps xmmword [rax + 0x170], xmm1
movaps xmmword [rax + 0x2f0], xmm5
movaps xmmword [rax + 0x370], xmm2
cmp rdx, rax
jne 0x513280
xor eax, eax
nop dword [rax]
movdqa xmm0, xmmword [rcx + rax]
pxor xmm0, xmmword [r9 + rax]
movaps xmmword [rcx + rax], xmm0
movups xmmword [r8 + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x5135e8
movaps xmm6, xmmword [rsp + 0x400]
movaps xmm7, xmmword [rsp + 0x410]
movaps xmm8, xmmword [rsp + 0x420]
movaps xmm9, xmmword [rsp + 0x430]
movaps xmm10, xmmword [rsp + 0x440]
movaps xmm11, xmmword [rsp + 0x450]
movaps xmm12, xmmword [rsp + 0x460]
movaps xmm13, xmmword [rsp + 0x470]
movaps xmm14, xmmword [rsp + 0x480]
add rsp, 0x498
ret
movdqu xmm0, xmmword [rdx + rax]
pxor xmm0, xmmword [rcx + rax]
movaps xmmword [rcx + rax], xmm0
movaps xmmword [r9 + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x513660
jmp 0x512f21