Function at 0x1401028b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
movsxd r11, ecx
xor ebp, ebp
mov r15d, r11d
mov r13d, edx
imul r15d, edx
mov rbx, r9
mov r9, r8
mov r10d, ebp
lea ecx, [r11 + r11]
mov esi, ebp
mov r14, r11
mov dword [rsp + 0x50], r15d
mov r12d, r15d
cmp edx, 4
jl 0x140102a17
movsxd rax, r15d
lea r9, [rbx - 4]
movsxd rcx, ecx
lea rdi, [r11*4]
lea rsi, [r11*8]
lea rdx, [r8 + rax*4]
lea eax, [r13 - 4]
shr eax, 2
lea r9, [r9 + rcx*4]
inc eax
mov r12d, eax
imul eax, r11d
lea r15d, [r15 + rax*4]
lea eax, [r12*4]
mov dword [rsp], eax
movss xmm0, dword [r8]
lea eax, [r10 + r10]
addss xmm0, dword [rdx]
movsxd rcx, eax
add r10d, r11d
movss dword [rbx + rcx*4], xmm0
lea eax, [r10 + r10]
movss xmm0, dword [r8]
add r10d, r11d
subss xmm0, dword [rdx]
add r8, rdi
movsxd rcx, eax
add rdx, rdi
lea eax, [r10 + r10]
add r10d, r11d
movss dword [r9], xmm0
add r9, rsi
movss xmm0, dword [r8]
addss xmm0, dword [rdx]
movss dword [rbx + rcx*4], xmm0
movss xmm0, dword [r8]
add r8, rdi
subss xmm0, dword [rdx]
add rdx, rdi
movsxd rcx, eax
lea eax, [r10 + r10]
add r10d, r11d
movss dword [r9], xmm0
add r9, rsi
movss xmm0, dword [r8]
addss xmm0, dword [rdx]
movss dword [rbx + rcx*4], xmm0
movss xmm0, dword [r8]
add r8, rdi
subss xmm0, dword [rdx]
add rdx, rdi
movsxd rcx, eax
movss dword [r9], xmm0
add r9, rsi
movss xmm0, dword [r8]
addss xmm0, dword [rdx]
movss dword [rbx + rcx*4], xmm0
movss xmm0, dword [r8]
add r8, rdi
subss xmm0, dword [rdx]
add rdx, rdi
movss dword [r9], xmm0
add r9, rsi
sub r12, 1
jne 0x140102940
mov esi, dword [rsp]
lea ecx, [r11 + r11]
mov r9, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x50]
cmp esi, r13d
jge 0x140102a89
movsxd rax, r15d
lea rdi, [r11*4]
movsxd rdx, r10d
lea r15, [r11*8]
movsxd rcx, ecx
lea r8, [r9 + rax*4]
mov eax, r13d
lea r9, [r9 + rdx*4]
lea rdx, [rdx*2 - 1]
add rdx, rcx
sub eax, esi
mov esi, eax
lea rdx, [rbx + rdx*4]
movss xmm0, dword [r8]
lea eax, [r10 + r10]
addss xmm0, dword [r9]
movsxd rcx, eax
add r10d, r11d
movss dword [rbx + rcx*4], xmm0
movss xmm0, dword [r9]
add r9, rdi
subss xmm0, dword [r8]
add r8, rdi
movss dword [rdx], xmm0
add rdx, r15
sub rsi, 1
jne 0x140102a53
cmp r11d, 2
jl 0x140102c2e
je 0x140102bc8
test r13d, r13d
jle 0x140102bb2
mov r15, qword [rsp + 0x60]
lea rdi, [rbx - 4]
mov rax, r11
movsxd r10, r12d
neg rax
lea r12, [r11*8]
shl rax, 2
lea rsi, [r12 + rbx]
mov rdx, r15
mov qword [rsp], rax
sub rdx, rbx
lea rcx, [r11 + r11]
cmp r11d, 2
jle 0x140102b94
mov r9, qword [rsp + 0x70]
mov rax, r10
sub rax, rbp
add r9, 4
shl rax, 2
mov r8, rsi
sub rax, rbx
mov rcx, rdi
add r15, rax
lea eax, [r11 - 3]
shr eax, 1
inc eax
nop dword [rax]
nop word [rax + rax]
movss xmm4, dword [r15 + rcx + 0xc]
add rcx, 8
movaps xmm0, xmm4
sub r8, 8
mulss xmm0, dword [r9]
mulss xmm4, dword [r9 - 4]
movss xmm3, dword [r15 + rcx]
movaps xmm5, xmm3
mulss xmm3, dword [r9]
mulss xmm5, dword [r9 - 4]
add r9, 8
subss xmm4, xmm3
addss xmm5, xmm0
movaps xmm0, xmm4
addss xmm0, dword [rdx + rcx + 4]
movss dword [rcx + 4], xmm0
movaps xmm0, xmm5
subss xmm4, dword [rdx + rcx + 4]
movss dword [r8], xmm4
addss xmm0, dword [rdx + rcx]
movss dword [rcx], xmm0
movss xmm1, dword [rdx + rcx]
subss xmm1, xmm5
movss dword [r8 - 4], xmm1
sub rax, 1
jne 0x140102b10
mov rax, qword [rsp]
lea rcx, [r11 + r11]
mov r15, qword [rsp + 0x60]
add rdi, r12
add rbp, rcx
add rsi, r12
add rdx, rax
add r10, r11
sub r13, 1
jne 0x140102ad2
mov r13d, dword [rsp + 0x58]
mov eax, r11d
and eax, 0x80000001
jge 0x140102bc3
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x140102c2e
mov eax, dword [rsp + 0x50]
dec r11d
add eax, r11d
test r13d, r13d
jle 0x140102c2e
mov rdx, qword [rsp + 0x60]
lea r10, [r14*4]
movss xmm1, dword [0x1402ce8a0]
lea rcx, [r10 + rbx]
movsxd r9, eax
movsxd rax, r11d
lea r11, [r14*8]
sub r9, rax
mov r8d, r13d
lea rdx, [rdx + rax*4]
nop dword [rax + rax]
movss xmm0, dword [rdx + r9*4]
xorps xmm0, xmm1
movss dword [rcx], xmm0
mov eax, dword [rdx]
add rdx, r10
mov dword [rcx - 4], eax
add rcx, r11
sub r8, 1
jne 0x140102c10
mov rbx, qword [rsp + 0x68]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret