Function at 0x140028fc0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rsi
push r13
push r14
sub rsp, 0xd8
mov qword [rax + 0x10], rbp
mov r14, rcx
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov ebx, r9d
mov dword [rsp + 0x20], 0x5f
call fcn.140029460
movsxd r15, dword [r14 + 0x24]
lea rax, vtable.awShapedNoiseMDQuantizer.0
movss xmm0, dword [0x14013148c]
mov qword [r14], rax
lea r12d, [r15 + 1]
call fcn.140029a40
movss xmm1, dword [0x14012c408]
mov rcx, rax
mov rsi, rax
call fcn.140029e40
xorps xmm7, xmm7
mov ecx, 0x2000
cvtss2sd xmm7, xmm0
call fcn.1400b609c
xor edi, edi
mov rbp, rax
mov qword [rsp + 0x30], rax
movsd xmm8, qword [0x14012f2b8]
xorps xmm6, xmm6
movsd xmm9, qword [0x14012f310]
cvtsi2sd xmm6, rbx
xor ebx, ebx
mulsd xmm6, qword [0x140131468]
nop word [rax + rax]
movd xmm0, edi
mov rcx, rsi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
call fcn.140029e40
xorps xmm2, xmm2
movaps xmm1, xmm7
cvtss2sd xmm2, xmm0
movaps xmm0, xmm9
subsd xmm1, xmm2
mulsd xmm1, xmm8
call fcn.1400f6df0
movsd qword [rbp + rbx*8], xmm0
inc edi
inc rbx
cmp rbx, 0x3ff
jle 0x140029080
mov rcx, rsi
call fcn.1400b60a4
mov rcx, 0xffffffffffffffff
movsxd r13, r12d
mov eax, 8
mul r13
cmovo rax, rcx
mov rcx, rax
call fcn.1400b609c
mov rdi, rax
xor eax, eax
mov dword [rsp + 0x118], eax
lea ebx, [rax + 1]
test r12d, r12d
jle 0x14002921a
movdqa xmm9, xmmword [0x14012c420]
lea r14, [rbp + 8]
movaps xmmword [rsp + 0x70], xmm10
xor r12d, r12d
movsd xmm10, qword [0x140131470]
movaps xmmword [rsp + 0x60], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0x50], xmm12
movsd xmm12, qword [0x140131478]
movaps xmmword [rsp + 0x40], xmm13
movsd xmm13, qword [0x14012c8e0]
nop dword [rax]
movsd xmm7, qword [rbp]
mov esi, ebx
movd xmm0, eax
movaps xmm6, xmm11
cvtdq2pd xmm8, xmm0
mov rbp, r14
mulsd xmm7, xmm13
mulsd xmm8, xmm12
unpcklpd xmm8, xmm8
nop word [rax + rax]
movd xmm1, esi
movq xmm0, xmm9
pshufd xmm1, xmm1, 0
paddd xmm1, xmm0
cvtdq2pd xmm0, xmm1
mulpd xmm0, xmm8
call fcn.1400b66e0
movups xmm1, xmmword [rbp]
add esi, 2
add rbp, 0x10
mulpd xmm0, xmm1
addpd xmm6, xmm0
cmp esi, 0x3ff
jl 0x140029180
mov eax, dword [rsp + 0x118]
movaps xmm0, xmm6
mov rbp, qword [rsp + 0x30]
inc eax
unpckhpd xmm0, xmm6
addsd xmm6, xmm0
mov dword [rsp + 0x118], eax
addsd xmm7, xmm6
mulsd xmm7, xmm10
movsd qword [rdi + r12*8], xmm7
inc r12
cmp r12, r13
jl 0x140029150
mov r14, qword [rsp + 0x100]
lea r12d, [r15 + 1]
movaps xmm13, xmmword [rsp + 0x40]
movaps xmm12, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
mov rcx, rbp
call fcn.1400b60a4
mov ecx, r15d
mov eax, 8
imul ecx, r12d
movsxd rdx, ecx
mov rcx, 0xffffffffffffffff
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.1400b609c
movaps xmm9, xmmword [rsp + 0x80]
xor r11d, r11d
movaps xmm8, xmmword [rsp + 0x90]
mov rsi, rax
movaps xmm7, xmmword [rsp + 0xa0]
mov r9, rax
movaps xmm6, xmmword [rsp + 0xb0]
mov qword [rsp + 0x100], rax
test r15d, r15d
jle 0x14002935f
lea rbp, [rdi + 8]
mov r12, r15
nop word [rax + rax]
xor r10d, r10d
cmp r15d, 4
jl 0x140029307
lea eax, [r15 - 4]
shr eax, 2
lea r8d, [r11 - 2]
inc eax
mov esi, eax
lea r10d, [rax*4]
lea eax, [r8 + 2]
cdq
xor eax, edx
sub eax, edx
cdqe
mov rcx, qword [rdi + rax*8]
lea eax, [r8 + 1]
cdq
mov qword [r9], rcx
xor eax, edx
sub eax, edx
cdqe
mov rcx, qword [rdi + rax*8]
mov eax, r8d
cdq
mov qword [r9 + 8], rcx
xor eax, edx
sub eax, edx
cdqe
mov rcx, qword [rdi + rax*8]
lea eax, [r8 - 1]
cdq
mov qword [r9 + 0x10], rcx
xor eax, edx
sub r8d, 4
sub eax, edx
cdqe
mov rcx, qword [rdi + rax*8]
mov qword [r9 + 0x18], rcx
add r9, 0x20
sub rsi, rbx
jne 0x1400292b0
cmp r10d, r15d
jge 0x140029338
mov r8d, r11d
mov eax, r15d
sub r8d, r10d
sub eax, r10d
mov r10d, eax
mov eax, r8d
dec r8d
cdq
xor eax, edx
sub eax, edx
cdqe
mov rcx, qword [rdi + rax*8]
mov qword [r9], rcx
add r9, 8
sub r10, rbx
jne 0x14002931b
mov rax, qword [rbp]
inc r11d
mov qword [r9], rax
add rbp, 8
add r9, 8
sub r12, rbx
jne 0x140029290
mov rsi, qword [rsp + 0x100]
lea r12d, [r15 + 1]
mov rcx, rdi
call fcn.1400b60a4
mov r8d, r12d
mov edx, r15d
mov rcx, rsi
call fcn.140029fa0
mov r12, qword [rsp + 0xc8]
lea rcx, [rsi + r15*8]
mov r15, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0x108]
cmp r13, rbx
jle 0x140029446
cmp r13, 5
jl 0x140029421
lea rdx, [r13*8]
lea r8, [r13 - 3]
nop dword [rax]
nop dword [rax + rax]
movsd xmm0, qword [rcx]
add rcx, rdx
mov rax, qword [r14 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rax + rbx*4 - 4], xmm0
movsd xmm1, qword [rcx]
add rcx, rdx
mov rax, qword [r14 + 0x30]
cvtpd2ps xmm1, xmm1
movss dword [rax + rbx*4], xmm1
movsd xmm0, qword [rcx]
add rcx, rdx
mov rax, qword [r14 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rax + rbx*4 + 4], xmm0
movsd xmm1, qword [rcx]
add rcx, rdx
mov rax, qword [r14 + 0x30]
cvtpd2ps xmm1, xmm1
movss dword [rax + rbx*4 + 8], xmm1
add rbx, 4
cmp rbx, r8
jl 0x1400293c0
cmp rbx, r13
jge 0x140029446
lea rdx, [r13*8]
movsd xmm0, qword [rcx]
add rcx, rdx
mov rax, qword [r14 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rax + rbx*4 - 4], xmm0
inc rbx
cmp rbx, r13
jl 0x140029429
mov rcx, rsi
call fcn.1400b60a4
mov rax, r14
add rsp, 0xd8
pop r14
pop r13
pop rsi
pop rbx
ret