Function at 0x180096460
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rdi
push r12
push r13
push r15
sub rsp, 0x80
mov rdi, qword [rdx]
xor r13d, r13d
mov r15d, dword [rdx + 8]
mov rbx, rcx
mov r12, qword [rcx + 0x10]
mov qword [rsp + 0xb0], rdi
test r15d, r15d
je 0x1800967a8
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r14
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movss xmm7, dword [0x1800f1a04]
movaps xmmword [rax - 0x58], xmm8
movss xmm8, dword [0x1800f1b70]
movaps xmmword [rax - 0x68], xmm9
movaps xmm9, xmmword [0x1800f1be0]
movaps xmmword [rax - 0x78], xmm10
movaps xmm10, xmmword [0x1800f1d00]
movaps xmmword [rsp + 0x20], xmm11
movss xmm11, dword [0x1800f1cf0]
nop word [rax + rax]
cmp dword [rbx + 8], r15d
mov esi, r15d
mov rcx, qword [rbx + 0x20]
cmovl esi, dword [rbx + 8]
xor r8d, r8d
mov edx, esi
call sym.FactoryServer_SignalProcessing.dll_public:_float_const____ptr64___cdecl_Audio::FAlignedBlockBuffer::InspectSamples_int__int____ptr64
movsxd rcx, r13d
mov r14, rax
lea rdi, [rdi + rcx*4]
mov ecx, esi
and ecx, 0x80000003
jge 0x180096524
dec ecx
or ecx, 0xfffffffc
inc ecx
movss xmm0, dword [rbx]
mov r9d, esi
movaps xmm5, xmm0
movsxd r10, esi
xorps xmm0, xmm11
shufps xmm5, xmm5, 0
sub r9d, ecx
movaps xmm6, xmm0
shufps xmm6, xmm6, 0
test esi, esi
jle 0x1800965a9
mov rdx, r14
lea rax, [r10 - 1]
mov r8, r12
shr rax, 2
sub rdx, rdi
sub r8, rdi
inc rax
mov rcx, rdi
movups xmm4, xmmword [rdx + rcx]
movaps xmm3, xmm10
movaps xmm2, xmm4
mulps xmm2, xmm5
addps xmm2, xmmword [rcx]
cmpltps xmm3, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
xorps xmm1, xmmword [0x1800ec490]
cmpltps xmm0, xmm9
andps xmm3, xmm0
andps xmm3, xmm1
xorps xmm3, xmm2
movups xmmword [rcx + r8], xmm3
mulps xmm3, xmm6
addps xmm3, xmm4
movups xmmword [rcx], xmm3
add rcx, 0x10
sub rax, 1
jne 0x180096561
movsxd r11, r9d
cmp r11, r10
jge 0x180096740
mov rax, r10
sub rax, r11
cmp rax, 4
jl 0x1800966ec
lea rax, [r11 + 1]
mov r8, r10
sub r8, r11
lea rax, [r14 + rax*4]
sub r8, 4
mov rbp, rdi
mov rcx, rdi
shr r8, 2
mov r9, r12
sub rbp, r12
sub rcx, r14
sub r9, r14
inc r8
lea r11, [r11 + r8*4]
nop dword [rax]
nop dword [rax + rax]
movss xmm1, dword [rax - 4]
mulss xmm1, dword [rbx]
addss xmm1, dword [rcx + rax - 4]
comiss xmm1, xmm8
jbe 0x18009661d
comiss xmm1, xmm7
jae 0x18009661d
xorps xmm1, xmm1
movss dword [r9 + rax - 4], xmm1
lea rdx, [r9 + rax]
mulss xmm1, dword [rbx]
movss xmm0, dword [rax - 4]
subss xmm0, xmm1
movss dword [rcx + rax - 4], xmm0
movss xmm2, dword [rbx]
mulss xmm2, dword [rax]
addss xmm2, dword [rdx + rbp]
comiss xmm2, xmm8
jbe 0x180096656
comiss xmm2, xmm7
jae 0x180096656
xorps xmm2, xmm2
movss dword [rdx], xmm2
mulss xmm2, dword [rbx]
movss xmm0, dword [rax]
subss xmm0, xmm2
movss dword [rcx + rax], xmm0
movss xmm1, dword [rax + 4]
mulss xmm1, dword [rbx]
addss xmm1, dword [rcx + rax + 4]
comiss xmm1, xmm8
jbe 0x180096688
comiss xmm1, xmm7
jae 0x180096688
xorps xmm1, xmm1
movss dword [r9 + rax + 4], xmm1
mulss xmm1, dword [rbx]
movss xmm0, dword [rax + 4]
subss xmm0, xmm1
movss dword [rcx + rax + 4], xmm0
movss xmm1, dword [rax + 8]
mulss xmm1, dword [rbx]
addss xmm1, dword [rcx + rax + 8]
comiss xmm1, xmm8
jbe 0x1800966bf
comiss xmm1, xmm7
jae 0x1800966bf
xorps xmm1, xmm1
movss dword [r9 + rax + 8], xmm1
movss xmm0, dword [rax + 8]
mulss xmm1, dword [rbx]
subss xmm0, xmm1
movss dword [rcx + rax + 8], xmm0
add rax, 0x10
sub r8, 1
jne 0x180096600
cmp r11, r10
jge 0x180096740
mov rdx, rdi
lea rax, [r14 + r11*4]
mov r8, r12
sub rdx, r12
sub r8, r14
sub rdi, r14
sub r10, r11
movss xmm1, dword [rax]
lea rcx, [rax + r8]
mulss xmm1, dword [rbx]
addss xmm1, dword [rdx + rcx]
comiss xmm1, xmm8
jbe 0x180096721
comiss xmm1, xmm7
jae 0x180096721
xorps xmm1, xmm1
movss dword [rcx], xmm1
movss xmm0, dword [rax]
mulss xmm1, dword [rbx]
subss xmm0, xmm1
movss dword [rdi + rax], xmm0
add rax, 4
sub r10, 1
jne 0x180096702
mov rcx, qword [rbx + 0x20]
mov edx, esi
call sym.FactoryServer_SignalProcessing.dll_public:_void___cdecl_Audio::FAlignedBlockBuffer::RemoveSamples_int____ptr64
mov rcx, qword [rbx + 0x20]
mov r8d, esi
mov rdx, r12
call sym.FactoryServer_SignalProcessing.dll_public:_void___cdecl_Audio::FAlignedBlockBuffer::AddSamples_float_const____ptr64__int____ptr64
mov rdi, qword [rsp + 0xb0]
add r13d, esi
sub r15d, esi
jne 0x1800964f0
movaps xmm11, xmmword [rsp + 0x20]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret