Function at 0x1402b6520
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x1a0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
mov rax, qword [0x140779878]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov r10, rdx
mov rbx, rcx
test r8, r8
jne 0x1402b6933
mov eax, 0xc2b2ae3d
lea r9, [rdx - 1]
mov qword [rsp + 0x20], rax
lea rdx, [0x14071ff20]
movabs rax, 0xc2b2ae3d27d4eb4f
shr r9, 0xa
mov qword [rsp + 0x30], rax
movabs rax, 0x165667b19e3779f9
mov qword [rsp + 0x38], rax
movabs rax, 0x85ebca77c2b2ae63
movdqa xmm6, xmmword [rsp + 0x30]
movabs rdi, 0x9e3779b185ebca87
mov qword [rsp + 0x40], rax
mov eax, 0x85ebca77
mov qword [rsp + 0x48], rax
movabs rax, 0x27d4eb2f165667c5
movdqa xmm5, xmmword [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov eax, 0x9e3779b1
mov qword [rsp + 0x58], rax
movdqa xmm4, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], rdi
movdqa xmm7, xmmword [rsp + 0x20]
test r9, r9
je 0x1402b679a
movdqa xmm3, xmmword [0x140720000]
lea rax, [rcx + 0x10]
movdqa xmm8, xmmword [0x14071ffb0]
mov r11, r9
movdqa xmm9, xmmword [0x14071ffa0]
movdqa xmm10, xmmword [0x14071ff90]
movdqa xmm11, xmmword [0x14071ff80]
nop dword [rax + rax]
mov rcx, rdx
mov r8d, 0x10
nop dword [rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm7, xmm0
movdqu xmm0, xmmword [rax]
pmuludq xmm1, xmm2
movdqu xmm2, xmmword [rcx - 0x18]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
paddq xmm7, xmm1
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 8]
pshufd xmm1, xmm2, 0x31
pmuludq xmm1, xmm2
paddq xmm6, xmm1
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmm2, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm5, xmm0
movdqu xmm0, xmmword [rax + 0x20]
add rax, 0x40
pmuludq xmm1, xmm2
movdqu xmm2, xmmword [rcx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
paddq xmm5, xmm1
pshufd xmm1, xmm2, 0x31
pmuludq xmm1, xmm2
paddq xmm4, xmm0
paddq xmm4, xmm1
sub r8, 1
jne 0x1402b6650
movdqa xmm0, xmm7
psrlq xmm0, 0x2f
xorps xmm0, xmm7
xorps xmm0, xmm11
pshufd xmm7, xmm0, 0x31
pmuludq xmm0, xmm3
pmuludq xmm7, xmm3
psllq xmm7, 0x20
paddq xmm7, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x2f
xorps xmm0, xmm6
xorps xmm0, xmm10
pshufd xmm6, xmm0, 0x31
pmuludq xmm0, xmm3
pmuludq xmm6, xmm3
psllq xmm6, 0x20
paddq xmm6, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x2f
xorps xmm0, xmm5
xorps xmm0, xmm9
pshufd xmm5, xmm0, 0x31
pmuludq xmm0, xmm3
pmuludq xmm5, xmm3
psllq xmm5, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x2f
xorps xmm0, xmm4
xorps xmm0, xmm8
pshufd xmm4, xmm0, 0x31
pmuludq xmm4, xmm3
pmuludq xmm0, xmm3
psllq xmm4, 0x20
paddq xmm4, xmm0
sub r11, 1
jne 0x1402b6640
shl r9, 0xa
mov rax, r10
sub rax, r9
dec rax
shr rax, 6
test rax, rax
je 0x1402b6869
lea rcx, [rbx + 0x10]
add rcx, r9
nop dword [rax + rax]
prefetcht0 byte [rcx + 0x170]
movdqu xmm0, xmmword [rcx - 0x10]
lea rcx, [rcx + 0x40]
movdqu xmm2, xmmword [rdx - 0x20]
lea rdx, [rdx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm7, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm2, xmmword [rdx - 0x18]
paddq xmm7, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm6, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rdx - 8]
paddq xmm6, xmm1
movdqu xmm1, xmmword [rcx - 0x30]
movdqa xmm2, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm5, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm2, xmmword [rdx + 8]
paddq xmm5, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm4, xmm0
pmuludq xmm1, xmm2
paddq xmm4, xmm1
sub rax, 1
jne 0x1402b67c0
movdqu xmm1, xmmword [r10 + rbx - 0x40]
lea rdx, [0x14071ff0b]
movdqu xmm0, xmmword [0x14071ff79]
movdqa xmm2, xmm1
pshufd xmm3, xmm1, 0x4e
movdqu xmm1, xmmword [r10 + rbx - 0x30]
xorps xmm2, xmm0
paddq xmm3, xmm7
pshufd xmm0, xmm2, 0x31
pmuludq xmm0, xmm2
movdqa xmm2, xmm1
paddq xmm3, xmm0
movdqu xmm0, xmmword [0x14071ff89]
movdqa xmmword [rsp + 0x20], xmm3
xorps xmm2, xmm0
pshufd xmm3, xmm1, 0x4e
movdqu xmm1, xmmword [r10 + rbx - 0x20]
paddq xmm3, xmm6
pshufd xmm0, xmm2, 0x31
pmuludq xmm0, xmm2
movdqa xmm2, xmm1
paddq xmm3, xmm0
movdqu xmm0, xmmword [0x14071ff99]
movdqa xmmword [rsp + 0x30], xmm3
xorps xmm2, xmm0
pshufd xmm3, xmm1, 0x4e
movdqu xmm1, xmmword [r10 + rbx - 0x10]
pshufd xmm0, xmm2, 0x31
paddq xmm3, xmm5
pmuludq xmm0, xmm2
movdqa xmm2, xmm1
paddq xmm3, xmm0
movdqu xmm0, xmmword [0x14071ffa9]
movdqa xmmword [rsp + 0x40], xmm3
xorps xmm2, xmm0
pshufd xmm3, xmm1, 0x4e
pshufd xmm0, xmm2, 0x31
paddq xmm3, xmm4
pmuludq xmm0, xmm2
jmp 0x1402b6e24
movdqa xmm1, xmmword [0x14071ff10]
mov rax, r8
movdqa xmm9, xmmword [0x14071ff80]
neg rax
movdqa xmm10, xmmword [0x14071ff90]
movq xmm2, r8
movdqa xmm11, xmmword [0x14071ffa0]
lea r8, [rdx - 1]
movaps xmmword [rsp + 0x130], xmm12
movabs rdi, 0x9e3779b185ebca87
movdqa xmm12, xmmword [0x14071ffb0]
movq xmm0, rax
punpcklqdq xmm2, xmm0
mov eax, 0xc2b2ae3d
movdqa xmm0, xmmword [0x14071ff00]
paddq xmm1, xmm2
mov qword [rsp + 0x20], rax
paddq xmm0, xmm2
movdqa xmmword [rsp + 0x60], xmm0
movabs rax, 0xc2b2ae3d27d4eb4f
movdqa xmm0, xmmword [0x14071ff20]
paddq xmm9, xmm2
mov qword [rsp + 0x30], rax
paddq xmm0, xmm2
movdqa xmmword [rsp + 0x70], xmm1
movabs rax, 0x165667b19e3779f9
movdqa xmm1, xmmword [0x14071ff30]
paddq xmm10, xmm2
mov qword [rsp + 0x38], rax
paddq xmm1, xmm2
movdqa xmm6, xmmword [rsp + 0x30]
movabs rax, 0x85ebca77c2b2ae63
movdqa xmmword [rsp + 0x80], xmm0
paddq xmm11, xmm2
movdqa xmm0, xmmword [0x14071ff40]
paddq xmm12, xmm2
mov qword [rsp + 0x40], rax
paddq xmm0, xmm2
movdqa xmmword [rsp + 0x90], xmm1
mov eax, 0x85ebca77
movdqa xmm1, xmmword [0x14071ff50]
mov qword [rsp + 0x48], rax
paddq xmm1, xmm2
movdqa xmm5, xmmword [rsp + 0x40]
movabs rax, 0x27d4eb2f165667c5
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [0x14071ff60]
movdqa xmmword [rsp + 0xb0], xmm1
paddq xmm0, xmm2
movdqa xmm1, xmmword [0x14071ff70]
mov qword [rsp + 0x50], rax
paddq xmm1, xmm2
mov eax, 0x9e3779b1
shr r8, 0xa
mov qword [rsp + 0x58], rax
movdqa xmm4, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], rdi
movdqa xmm7, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm10
movdqa xmmword [rsp + 0x100], xmm11
movdqa xmmword [rsp + 0x110], xmm12
test r8, r8
je 0x1402b6c72
movdqa xmm8, xmmword [0x140720000]
lea rax, [rcx + 0x10]
mov r9, r8
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rsp + 0x80]
mov edx, 0x10
nop dword [rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
movdqu xmm3, xmmword [rax + 0x10]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [rax]
paddq xmm0, xmm7
movdqa xmm7, xmm1
paddq xmm7, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqa xmm6, xmm1
movdqa xmm1, xmm3
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm1, xmm0
pshufd xmm0, xmm3, 0x4e
paddq xmm0, xmm5
pshufd xmm2, xmm1, 0x31
pmuludq xmm2, xmm1
movdqa xmm5, xmm2
movdqu xmm2, xmmword [rax + 0x20]
add rax, 0x40
paddq xmm5, xmm0
movdqu xmm0, xmmword [rcx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm4
movdqa xmm4, xmm1
paddq xmm4, xmm0
sub rdx, 1
jne 0x1402b6b10
movdqa xmm0, xmm7
psrlq xmm0, 0x2f
xorps xmm0, xmm7
xorps xmm0, xmm9
pshufd xmm7, xmm0, 0x31
pmuludq xmm0, xmm8
pmuludq xmm7, xmm8
psllq xmm7, 0x20
paddq xmm7, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x2f
xorps xmm0, xmm6
xorps xmm0, xmm10
pshufd xmm6, xmm0, 0x31
pmuludq xmm0, xmm8
pmuludq xmm6, xmm8
psllq xmm6, 0x20
paddq xmm6, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x2f
xorps xmm0, xmm5
xorps xmm0, xmm11
pshufd xmm5, xmm0, 0x31
pmuludq xmm0, xmm8
pmuludq xmm5, xmm8
psllq xmm5, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x2f
xorps xmm0, xmm4
xorps xmm0, xmm12
pshufd xmm4, xmm0, 0x31
pmuludq xmm4, xmm8
pmuludq xmm0, xmm8
psllq xmm4, 0x20
paddq xmm4, xmm0
sub r9, 1
jne 0x1402b6b00
movaps xmm12, xmmword [rsp + 0x130]
mov rax, r10
shl r8, 0xa
sub rax, r8
dec rax
shr rax, 6
test rax, rax
je 0x1402b6d5d
lea rcx, [rbx + 0x10]
add rcx, r8
lea rdx, [rsp + 0x80]
prefetcht0 byte [rcx + 0x170]
movdqu xmm2, xmmword [rcx - 0x10]
movdqu xmm0, xmmword [rdx - 0x20]
lea rdx, [rdx + 8]
movdqu xmm3, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x40]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
movdqu xmm2, xmmword [rcx - 0x40]
movdqa xmm7, xmm1
paddq xmm7, xmm0
movdqu xmm0, xmmword [rdx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqa xmm6, xmm1
movdqa xmm1, xmm3
paddq xmm6, xmm0
movdqu xmm0, xmmword [rdx - 8]
xorps xmm1, xmm0
pshufd xmm0, xmm3, 0x4e
pshufd xmm2, xmm1, 0x31
paddq xmm0, xmm5
pmuludq xmm2, xmm1
movdqa xmm5, xmm2
paddq xmm5, xmm0
movdqu xmm2, xmmword [rcx - 0x20]
movdqu xmm0, xmmword [rdx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm4
movdqa xmm4, xmm1
paddq xmm4, xmm0
sub rax, 1
jne 0x1402b6ca4
movdqu xmm2, xmmword [r10 + rbx - 0x40]
lea rdx, [rsp + 0x6b]
movdqu xmm0, xmmword [rsp + 0xd9]
movdqa xmm1, xmm2
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [r10 + rbx - 0x30]
paddq xmm0, xmm7
pshufd xmm3, xmm1, 0x31
pmuludq xmm3, xmm1
movdqa xmm1, xmm2
paddq xmm3, xmm0
movdqu xmm0, xmmword [rsp + 0xe9]
movdqa xmmword [rsp + 0x20], xmm3
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [r10 + rbx - 0x20]
paddq xmm0, xmm6
pshufd xmm3, xmm1, 0x31
pmuludq xmm3, xmm1
movdqa xmm1, xmm2
paddq xmm3, xmm0
movdqu xmm0, xmmword [rsp + 0xf9]
movdqa xmmword [rsp + 0x30], xmm3
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [r10 + rbx - 0x10]
paddq xmm0, xmm5
pshufd xmm3, xmm1, 0x31
pmuludq xmm3, xmm1
movdqa xmm1, xmm2
paddq xmm3, xmm0
movdqu xmm0, xmmword [rsp + 0x109]
movdqa xmmword [rsp + 0x40], xmm3
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
pshufd xmm3, xmm1, 0x31
paddq xmm0, xmm4
pmuludq xmm3, xmm1
imul r10, rdi
paddq xmm3, xmm0
movdqa xmmword [rsp + 0x50], xmm3
lea rcx, [rsp + 0x20]
mov r8, r10
call fcn.1402b9640
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14000baf0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x10]
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]
mov rsp, r11
pop rdi
ret