Function at 0x14007d8f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x20], xmm6
mov r14d, r9d
movaps xmm6, xmm2
mov rbx, rdx
mov rdi, rcx
lea r15d, [r14 + r14]
inc r15d
lea rax, [r15*4]
test r15d, r15d
mov rcx, 0xffffffffffffffff
cmovns rcx, rax
call fcn.14056080c
mov rsi, rax
movss xmm0, dword [0x140599c10]
ucomiss xmm0, xmm6
jae 0x14007d9d1
test r15d, r15d
jle 0x14007da36
movaps xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, xmm6
movss xmm6, dword [0x1406908dc]
movaps xmm7, xmm6
divss xmm7, xmm0
mov r12d, r14d
neg r12d
xorps xmm8, xmm8
xor r13d, r13d
movaps xmm9, xmmword [0x140599730]
nop dword [rax]
lea eax, [r12 + r13]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movaps xmm0, xmm1
xorps xmm0, xmm9
mulss xmm0, xmm1
mulss xmm0, xmm7
call fcn.140574c10
movss dword [rsi + r13*4], xmm0
addss xmm8, xmm0
inc r13
cmp r15, r13
jne 0x14007d990
divss xmm6, xmm8
cmp r15d, 7
ja 0x14007d9d9
xor eax, eax
jmp 0x14007da20
mov dword [rsi], 0x3f800000
jmp 0x14007da36
mov eax, r15d
and eax, 0xfffffff8
movaps xmm0, xmm6
shufps xmm0, xmm6, 0
xor ecx, ecx
nop dword [rax + rax]
movups xmm1, xmmword [rsi + rcx*4]
movups xmm2, xmmword [rsi + rcx*4 + 0x10]
mulps xmm1, xmm0
mulps xmm2, xmm0
movups xmmword [rsi + rcx*4], xmm1
movups xmmword [rsi + rcx*4 + 0x10], xmm2
add rcx, 8
cmp rax, rcx
jne 0x14007d9f0
nop word cs:[rax + rax]
movss xmm0, dword [rsi + rax*4]
mulss xmm0, xmm6
movss dword [rsi + rax*4], xmm0
inc rax
cmp r15, rax
jne 0x14007da20
lea edx, [r14 + 1]
mov eax, edx
shr eax, 0x1f
add eax, r14d
inc eax
sar eax, 1
lea ecx, [rax - 1]
movsxd r8, r14d
test r14b, 1
jne 0x14007da73
movss xmm0, dword [rsi + r8*4]
movsxd r8, eax
movss dword [rdi + r8*4], xmm0
mov dword [rbx + r8*4], 0
cmp eax, r14d
jl 0x14007dacc
jmp 0x14007db63
movss xmm0, dword [rsi + r8*4]
movsxd rdx, edx
mulss xmm0, dword [0x14059b040]
movss xmm1, dword [rsi + rdx*4]
movsxd rdx, eax
addss xmm0, xmm1
movss dword [rdi + rdx*4], xmm0
divss xmm1, xmm0
movss dword [rbx + rdx*4], xmm1
movss xmm0, dword [rdi + rdx*4]
movsxd rcx, ecx
movss dword [rdi + rcx*4], xmm0
movss xmm0, dword [rbx + rdx*4]
xorps xmm0, xmmword [0x140599730]
movss dword [rbx + rcx*4], xmm0
lea ecx, [rax - 2]
lea edx, [r14 + 2]
cmp eax, r14d
jge 0x14007db63
movsxd r11, eax
movsxd r8, edx
movsxd r15, r14d
movsxd rcx, ecx
lea rax, [rdi + rcx*4]
lea rcx, [rbx + rcx*4]
lea rdx, [rsi + r8*4]
add rdx, 4
sub r8d, r14d
lea r9, [rbx + r11*4]
add r9, 4
lea r10, [rdi + r11*4]
add r10, 4
sub r11, r15
xor edi, edi
movaps xmm0, xmmword [0x140599730]
xor ebx, ebx
nop dword [rax]
movss xmm1, dword [rdx + rdi*4]
movss xmm2, dword [rdx + rdi*4 - 4]
addss xmm2, xmm1
lea ebp, [r8 + rdi]
xorps xmm3, xmm3
cvtsi2ss xmm3, ebp
movss dword [r10 + rdi*2], xmm2
divss xmm1, xmm2
addss xmm3, xmm1
movss dword [r9 + rdi*2], xmm3
movss xmm1, dword [r10 + rdi*2]
movss dword [rax + rbx*4], xmm1
movss xmm1, dword [r9 + rdi*2]
xorps xmm1, xmm0
movss dword [rcx + rbx*4], xmm1
dec rbx
add rdi, 2
cmp r11, rbx
jne 0x14007db10
mov rcx, rsi
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140560310