Function at 0x1800599e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xa8], rbx
mov rsi, rcx
movaps xmmword [rbp + 0x40], xmm6
mov r12d, r8d
movsxd r14, r9d
mov rbx, rdx
movaps xmmword [rbp + 0x30], xmm7
mov rdx, r14
movaps xmmword [rbp + 0x20], xmm8
movabs r8, 0xffffffffffffff0
movaps xmmword [rbp + 0x10], xmm9
lea rcx, [r14*4]
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180059a3f
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.1800b2b80
sub rsp, rax
lea rax, [rcx + 0xf]
lea r15, [rsp + 0x20]
mov qword [rbp], r15
cmp rax, rcx
ja 0x180059a60
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.1800b2b80
movdqa xmm2, xmmword [0x1800d1da0]
sub rsp, rax
xor edi, edi
mov r10, rbx
sub r10, rsi
mov r11, r15
xorps xmm1, xmm1
mov r8d, edi
lea r13, [rsp + 0x20]
mov rcx, rsi
mov r9, r13
mov qword [rbp + 8], r13
sub r9, rsi
sub r11, rsi
nop word [rax + rax]
comiss xmm1, dword [rcx]
mov eax, edi
lea rcx, [rcx + 4]
seta al
inc r8
mov dword [r9 + rcx - 4], eax
movss xmm0, dword [rcx - 4]
andps xmm0, xmm2
movss dword [rcx - 4], xmm0
mov dword [rcx + r10 - 4], edi
mov dword [r11 + rcx - 4], edi
cmp r8, rdx
jl 0x180059aa0
movss xmm9, dword [0x1800d1520]
mov eax, r14d
sar eax, 1
movaps xmm8, xmm1
movaps xmm6, xmm1
cmp r12d, eax
jle 0x180059be2
mov rax, rdi
addss xmm1, dword [rsi + rax*4]
inc rax
cmp rax, rdx
jl 0x180059af1
comiss xmm1, dword [0x1800d13b0]
jbe 0x180059b14
movss xmm0, dword [0x1800d1634]
comiss xmm0, xmm1
ja 0x180059b2f
mov dword [rsi], 0x3f800000
mov eax, 1
nop
mov dword [rsi + rax*4], edi
inc rax
cmp rax, rdx
jl 0x180059b20
movaps xmm1, xmm9
mov dword [rbp + 0xa0], edi
movaps xmm0, xmm9
divss xmm0, xmm1
mov rdi, rsi
mov r13, r15
sub rdi, r15
sub rbx, r15
mov r15d, dword [rbp + 0xa0]
movd xmm7, r12d
cvtdq2ps xmm7, xmm7
addss xmm7, dword [0x1800d14fc]
mulss xmm7, xmm0
nop dword [rax]
nop dword [rax + rax]
movaps xmm0, xmm7
mulss xmm0, dword [rdi + r13]
cvtss2sd xmm0, xmm0
call sub.ucrtbase.dll_floor
cvttsd2si eax, xmm0
inc r15d
mov dword [rbx + r13], eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [r13], xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm2
mulss xmm1, dword [rdi + r13]
addss xmm2, xmm2
addss xmm0, xmm8
addss xmm1, xmm6
movss dword [r13], xmm2
sub r12d, dword [rbx + r13]
add r13, 4
movaps xmm8, xmm0
movaps xmm6, xmm1
cmp r15d, r14d
jl 0x180059b70
mov rbx, qword [rbp + 0x98]
xor edi, edi
mov r15, qword [rbp]
mov r13, qword [rbp + 8]
lea eax, [r14 + 3]
cmp r12d, eax
jle 0x180059c10
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
mulss xmm1, xmm0
mulss xmm0, dword [r15]
add dword [rbx], r12d
addss xmm1, xmm8
addss xmm1, xmm0
jmp 0x180059ccd
movaps xmm1, xmm8
test r12d, r12d
jle 0x180059ccd
movss xmm8, dword [0x1800d15a8]
mov r9d, r12d
nop dword [rax]
addss xmm1, xmm9
movaps xmm2, xmm6
addss xmm2, dword [rsi]
mov ecx, 1
mov rdx, rdi
mov r8d, ecx
movaps xmm5, xmm1
movaps xmm7, xmm1
addss xmm5, dword [r15]
mulss xmm2, xmm2
nop word [rax + rax]
movaps xmm0, xmm6
movaps xmm1, xmm7
addss xmm0, dword [rsi + rcx*4]
addss xmm1, dword [r15 + rcx*4]
movaps xmm3, xmm5
movaps xmm4, xmm2
mulss xmm0, xmm0
mulss xmm4, xmm1
mulss xmm3, xmm0
comiss xmm3, xmm4
jbe 0x180059c8e
movaps xmm5, xmm1
movaps xmm2, xmm0
mov rax, rcx
cmovbe rax, rdx
inc r8d
inc rcx
mov rdx, rax
cmp r8d, r14d
jl 0x180059c60
movss xmm0, dword [r15 + rax*4]
addss xmm6, dword [rsi + rax*4]
movaps xmm1, xmm0
addss xmm0, xmm8
addss xmm1, xmm7
movss dword [r15 + rax*4], xmm0
inc dword [rbx + rax*4]
sub r9, 1
jne 0x180059c30
sub r13, rbx
mov ecx, dword [rbx + r13]
lea rbx, [rbx + 4]
neg ecx
inc edi
xor ecx, dword [rbx - 4]
add ecx, dword [rbx + r13 - 4]
mov dword [rbx - 4], ecx
cmp edi, r14d
jl 0x180059cd0
mov rbx, qword [rbp + 0xa8]
movaps xmm0, xmm1
movaps xmm6, xmmword [rbp + 0x40]
movaps xmm7, xmmword [rbp + 0x30]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm9, xmmword [rbp + 0x10]
lea rsp, [rbp + 0x50]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret