Function at 0x1401a89d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov rax, qword [0x1405786c0]
xor rax, rsp
mov qword [rsp + 0x400], rax
xor r14d, r14d
lea r15, [rsp]
mov r10d, r14d
sub r15, rcx
mov r12, r8
mov r9, rcx
nop dword [rax + rax]
mov eax, r10d
lea r9, [r9 + 0x10]
shl eax, 4
inc r10d
movdqu xmm0, xmmword [rax + rdx]
xorps xmm0, xmmword [r9 - 0x10]
movdqu xmmword [r9 - 0x10], xmm0
movdqu xmmword [r9 + r15 - 0x10], xmm0
cmp r10d, 0x40
jb 0x1401a8a50
movdqa xmm13, xmmword [0x14020dc50]
mov r13d, r14d
movdqa xmm14, xmmword [0x14020dc40]
nop
lea eax, [r13*8]
lea ebp, [rax + 2]
mov r10d, eax
add r10, r10
lea esi, [rax + 3]
add rbp, rbp
lea r9d, [rax + 1]
add r9, r9
lea ebx, [rax + 6]
add rsi, rsi
lea r11d, [rax + 4]
add r11, r11
lea edi, [rax + 7]
movdqu xmm5, xmmword [rcx + rbp*8]
lea edx, [rax + 5]
movdqa xmm7, xmm5
movdqa xmm0, xmm5
paddq xmm0, xmmword [rcx + r10*8]
add rbx, rbx
pmuludq xmm7, xmmword [rcx + r10*8]
add rdi, rdi
movdqu xmm2, xmmword [rcx + rsi*8]
add rdx, rdx
movdqa xmm6, xmm2
pmuludq xmm6, xmmword [rcx + r9*8]
paddq xmm7, xmm7
paddq xmm7, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmmword [rcx + r9*8]
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm0, xmm7
xorps xmm0, xmmword [rcx + rbx*8]
pshufd xmm12, xmm0, 0xb1
movdqa xmm0, xmm6
xorps xmm0, xmmword [rcx + rdi*8]
movdqa xmm1, xmm12
pmuludq xmm1, xmmword [rcx + r11*8]
movdqa xmm4, xmm12
paddq xmm4, xmmword [rcx + r11*8]
pshufd xmm10, xmm0, 0xb1
movdqa xmm3, xmm10
paddq xmm3, xmmword [rcx + rdx*8]
paddq xmm1, xmm1
paddq xmm4, xmm1
movdqa xmm1, xmm10
pmuludq xmm1, xmmword [rcx + rdx*8]
movdqa xmm9, xmm4
paddq xmm1, xmm1
paddq xmm3, xmm1
movdqa xmm1, xmm4
xorps xmm1, xmm5
movdqa xmm5, xmm3
pshufb xmm1, xmm13
xorps xmm5, xmm2
pshufb xmm5, xmm13
movdqa xmm8, xmm1
movdqa xmm0, xmm1
paddq xmm0, xmm7
pmuludq xmm8, xmm7
movdqa xmm7, xmm5
pmuludq xmm7, xmm6
paddq xmm8, xmm8
paddq xmm8, xmm0
movdqa xmm0, xmm5
paddq xmm0, xmm6
paddq xmm7, xmm7
movdqa xmm6, xmm3
paddq xmm7, xmm0
xorps xmm10, xmm7
xorps xmm12, xmm8
pshufb xmm10, xmm14
pshufb xmm12, xmm14
pmuludq xmm6, xmm10
paddq xmm3, xmm10
pmuludq xmm9, xmm12
paddq xmm4, xmm12
paddq xmm6, xmm6
paddq xmm9, xmm9
paddq xmm6, xmm3
paddq xmm9, xmm4
xorps xmm5, xmm6
xorps xmm1, xmm9
movdqa xmm0, xmm1
movdqa xmm11, xmm5
paddq xmm0, xmm1
paddq xmm11, xmm5
psrlq xmm1, 0x3f
movdqa xmm3, xmm7
xorps xmm0, xmm1
psrlq xmm5, 0x3f
movdqa xmm2, xmm0
xorps xmm11, xmm5
palignr xmm2, xmm11, 8
movdqa xmm4, xmm8
palignr xmm11, xmm0, 8
paddq xmm7, xmm2
pmuludq xmm3, xmm2
paddq xmm8, xmm11
pmuludq xmm4, xmm11
movdqa xmm1, xmm10
palignr xmm1, xmm12, 8
palignr xmm12, xmm10, 8
paddq xmm3, xmm3
paddq xmm3, xmm7
paddq xmm4, xmm4
paddq xmm4, xmm8
movdqa xmm0, xmm3
xorps xmm0, xmm1
xorps xmm12, xmm4
pshufd xmm8, xmm0, 0xb1
pshufd xmm10, xmm12, 0xb1
movdqa xmm5, xmm10
movdqa xmm0, xmm10
paddq xmm0, xmm6
pmuludq xmm5, xmm6
movdqa xmm6, xmm8
pmuludq xmm6, xmm9
paddq xmm5, xmm5
paddq xmm5, xmm0
movdqa xmm0, xmm8
paddq xmm0, xmm9
xorps xmm11, xmm5
pshufb xmm11, xmm13
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm7, xmm6
xorps xmm7, xmm2
movdqa xmm2, xmm4
paddq xmm4, xmm11
pmuludq xmm2, xmm11
pshufb xmm7, xmm13
paddq xmm2, xmm2
movdqa xmm1, xmm7
paddq xmm2, xmm4
pmuludq xmm1, xmm3
xorps xmm10, xmm2
movdqu xmmword [rcx + r10*8], xmm2
movdqa xmm0, xmm7
paddq xmm0, xmm3
pshufb xmm10, xmm14
paddq xmm1, xmm1
paddq xmm1, xmm0
movdqa xmm4, xmm10
pmuludq xmm4, xmm5
xorps xmm8, xmm1
pshufb xmm8, xmm14
movdqa xmm0, xmm10
movdqu xmmword [rcx + r9*8], xmm1
paddq xmm0, xmm5
movdqa xmm3, xmm8
pmuludq xmm3, xmm6
paddq xmm4, xmm4
paddq xmm4, xmm0
movdqa xmm0, xmm8
xorps xmm11, xmm4
paddq xmm0, xmm6
movdqa xmm2, xmm11
paddq xmm2, xmm11
paddq xmm3, xmm3
paddq xmm3, xmm0
xorps xmm7, xmm3
movdqa xmm1, xmm7
psrlq xmm11, 0x3f
paddq xmm1, xmm7
movdqu xmmword [rcx + r11*8], xmm3
xorps xmm2, xmm11
psrlq xmm7, 0x3f
xorps xmm1, xmm7
movdqu xmmword [rcx + rdx*8], xmm4
movdqa xmm0, xmm2
inc r13d
palignr xmm0, xmm1, 8
movdqu xmmword [rcx + rbp*8], xmm0
movdqa xmm0, xmm8
palignr xmm0, xmm10, 8
palignr xmm10, xmm8, 8
palignr xmm1, xmm2, 8
movdqu xmmword [rcx + rdi*8], xmm10
movdqu xmmword [rcx + rsi*8], xmm1
movdqu xmmword [rcx + rbx*8], xmm0
cmp r13d, 8
jb 0x1401a8a90
mov rdx, rcx
lea rax, [rcx + 0x100]
mov r8d, 8
nop
movdqu xmm3, xmmword [rax]
movdqu xmm2, xmmword [rax + 0x80]
movdqa xmm9, xmm3
pmuludq xmm9, xmmword [rdx]
movdqa xmm0, xmm3
paddq xmm0, xmmword [rdx]
movdqa xmm8, xmm2
pmuludq xmm8, xmmword [rax - 0x80]
paddq xmm9, xmm9
paddq xmm9, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmmword [rax - 0x80]
paddq xmm8, xmm8
paddq xmm8, xmm0
movdqa xmm12, xmm9
movdqa xmm0, xmm9
movdqa xmm1, xmm8
xorps xmm0, xmmword [rax + 0x200]
xorps xmm1, xmmword [rax + 0x280]
pshufd xmm4, xmm0, 0xb1
movdqu xmm0, xmmword [rax + 0x100]
movdqa xmm7, xmm4
paddq xmm7, xmm0
pshufd xmm5, xmm1, 0xb1
movdqa xmm1, xmm4
movdqa xmm6, xmm5
pmuludq xmm1, xmm0
movdqu xmm0, xmmword [rax + 0x180]
paddq xmm6, xmm0
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmm5
pmuludq xmm1, xmm0
paddq xmm1, xmm1
paddq xmm6, xmm1
movdqa xmm1, xmm7
xorps xmm1, xmm3
movdqa xmm3, xmm6
xorps xmm3, xmm2
pshufb xmm1, xmm13
pshufb xmm3, xmm13
paddq xmm9, xmm1
pmuludq xmm12, xmm1
paddq xmm12, xmm12
paddq xmm12, xmm9
movdqa xmm9, xmm8
paddq xmm8, xmm3
pmuludq xmm9, xmm3
paddq xmm9, xmm9
paddq xmm9, xmm8
movdqa xmm8, xmm12
xorps xmm8, xmm4
movdqa xmm2, xmm9
pshufb xmm8, xmm14
xorps xmm2, xmm5
pshufb xmm2, xmm14
movdqa xmm0, xmm8
movdqa xmm10, xmm8
pmuludq xmm0, xmm7
paddq xmm10, xmm7
movdqa xmm7, xmm2
paddq xmm7, xmm6
paddq xmm0, xmm0
paddq xmm10, xmm0
movdqa xmm0, xmm2
pmuludq xmm0, xmm6
xorps xmm1, xmm10
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmm0, xmm1
xorps xmm3, xmm7
paddq xmm0, xmm1
movdqa xmm11, xmm3
psrlq xmm1, 0x3f
paddq xmm11, xmm3
xorps xmm0, xmm1
psrlq xmm3, 0x3f
movdqa xmm4, xmm0
xorps xmm11, xmm3
palignr xmm4, xmm11, 8
palignr xmm11, xmm0, 8
movdqa xmm3, xmm9
movdqa xmm1, xmm2
palignr xmm1, xmm8, 8
paddq xmm9, xmm4
pmuludq xmm3, xmm4
movdqa xmm0, xmm12
pmuludq xmm0, xmm11
paddq xmm12, xmm11
palignr xmm8, xmm2, 8
movdqa xmm6, xmm10
paddq xmm3, xmm3
paddq xmm0, xmm0
paddq xmm3, xmm9
paddq xmm12, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmm1
xorps xmm8, xmm12
pshufd xmm2, xmm0, 0xb1
pshufd xmm9, xmm8, 0xb1
paddq xmm10, xmm2
pmuludq xmm6, xmm2
movdqa xmm5, xmm9
pmuludq xmm5, xmm7
movdqa xmm0, xmm9
paddq xmm0, xmm7
paddq xmm6, xmm6
paddq xmm6, xmm10
paddq xmm5, xmm5
paddq xmm5, xmm0
movdqa xmm8, xmm6
xorps xmm8, xmm4
xorps xmm11, xmm5
pshufb xmm11, xmm13
pshufb xmm8, xmm13
movdqa xmm0, xmm11
movdqa xmm1, xmm11
pmuludq xmm0, xmm12
paddq xmm1, xmm12
movdqa xmm7, xmm8
paddq xmm7, xmm3
paddq xmm0, xmm0
paddq xmm1, xmm0
movdqa xmm0, xmm8
pmuludq xmm0, xmm3
xorps xmm9, xmm1
movdqu xmmword [rdx], xmm1
pshufb xmm9, xmm14
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmm4, xmm9
movdqu xmmword [rax - 0x80], xmm7
movdqa xmm0, xmm9
paddq xmm0, xmm5
pmuludq xmm4, xmm5
xorps xmm7, xmm2
pshufb xmm7, xmm14
paddq xmm4, xmm4
paddq xmm4, xmm0
movdqa xmm3, xmm7
xorps xmm11, xmm4
pmuludq xmm3, xmm6
movdqa xmm2, xmm11
movdqu xmmword [rax + 0x180], xmm4
paddq xmm2, xmm11
movdqa xmm0, xmm7
paddq xmm0, xmm6
psrlq xmm11, 0x3f
xorps xmm2, xmm11
paddq xmm3, xmm3
paddq xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm8, xmm3
movdqu xmmword [rax + 0x100], xmm3
movdqa xmm1, xmm8
paddq xmm1, xmm8
psrlq xmm8, 0x3f
xorps xmm1, xmm8
palignr xmm0, xmm1, 8
palignr xmm1, xmm2, 8
movdqu xmmword [rax + 0x80], xmm1
movdqu xmmword [rax], xmm0
lea rax, [rax + 0x10]
movdqa xmm0, xmm7
palignr xmm0, xmm9, 8
lea rdx, [rdx + 0x10]
palignr xmm9, xmm7, 8
movdqu xmmword [rax + 0x270], xmm9
movdqu xmmword [rax + 0x1f0], xmm0
sub r8, 1
jne 0x1401a8de0
nop word [rax + rax]
movdqu xmm0, xmmword [rcx + r15]
mov eax, r14d
xorps xmm0, xmmword [rcx]
inc r14d
shl eax, 4
movdqu xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
movdqu xmmword [rax + r12], xmm0
cmp r14d, 0x40
jb 0x1401a9120
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.1401cb6f0
lea r11, [rsp + 0x4a0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret