Function at 0x140008290
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rsi, r8
mov rbp, rdx
mov r15, rcx
movsxd rdi, dword [rcx]
movsd xmm6, qword [rdx + 0x30]
unpcklpd xmm6, xmm6
lea eax, [rdi + rdi]
mov dword [rsp + 0x1d0], eax
movsxd rbx, eax
mov r12d, 8
mov eax, r12d
mul rbx
mov r13, 0xffffffffffffffff
cmovb rax, r13
mov rcx, rax
call fcn.14000c634
mov r14, rax
mov eax, r12d
mul rbx
cmovb rax, r13
mov rcx, rax
call fcn.14000c634
mov r13, rax
mov qword [rsp + 0x60], rax
mov rcx, rbx
call fcn.14000c634
mov qword [rsp + 0x68], rax
movaps xmm1, xmm6
mulsd xmm1, qword [rbp + 0x50]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mulsd xmm1, qword [0x14002e598]
mov rbx, rdi
lea rdi, [rdi*8]
movsd xmm7, qword [0x14002ebb0]
test rbx, rbx
jle 0x1400083da
mov r8, rax
lea rdx, [rdi + r13]
mov rbp, r14
sub rbp, r13
mov r9, r14
sub r9, rdi
sub r9, r13
mov r10, rbx
neg r10
add r13, rdi
neg r13
mov r11, rbx
movaps xmm0, xmm1
minsd xmm0, xmm6
movsd qword [rdx + rbp], xmm0
movsd qword [rdx + r9], xmm0
subsd xmm1, xmm0
lea rcx, [rdx + r13]
mov rax, qword [r15 + 8]
movsd xmm0, qword [rax + rcx]
xorps xmm0, xmm7
movsd qword [rdx + r10*8], xmm0
mov byte [r8], 1
mov rax, qword [r15 + 8]
mov rcx, qword [rcx + rax]
mov qword [rdx], rcx
mov byte [r8 + rbx], 0xff
inc r8
add rdx, r12
sub r11, 1
jne 0x140008381
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x1d8]
lea rax, vtable.Solver_NU.0
mov qword [rsp + 0x70], rax
mov r8, rbp
mov rdx, r15
lea rcx, [rsp + 0xf0]
call fcn.140002d60
nop
mov ecx, dword [rbp + 0x60]
movsd xmm0, qword [rbp + 0x28]
mov rbp, qword [rsp + 0x1e8]
mov qword [rsp + 0xe8], rbp
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x48], rbp
movsd qword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x30], xmm6
mov qword [rsp + 0x28], r14
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x20], r15
mov r9, r13
mov r8, rax
mov edx, dword [rsp + 0x1d0]
lea rcx, [rsp + 0x70]
call fcn.1400033b0
nop
lea rcx, [rsp + 0xf0]
call fcn.140003120
movsd xmm1, qword [rbp + 0x20]
xorps xmm1, xmm7
movq rdx, xmm1
lea rcx, str.epsilon___f_n
call fcn.140005880
xor ebp, ebp
cmp rbx, 4
jl 0x14000851c
lea rax, [rbx*8 + 0x10]
lea rcx, [rax + r14]
mov r10, 0xfffffffffffffff8
sub r10, rdi
mov rdx, rsi
sub rdx, rdi
sub rdx, r14
mov r8, rbx
neg r8
sub r12, rdi
mov r11, 0xfffffffffffffffe
sub r11, rbx
mov r9, rsi
sub r9, rax
sub r9, r14
lea rax, [rbx - 4]
shr rax, 2
inc rax
lea rbp, [rax*4]
nop dword [rax]
movsd xmm0, qword [rcx + r11*8]
subsd xmm0, qword [rcx - 0x10]
movsd qword [r9 + rcx], xmm0
movsd xmm0, qword [r10 + rcx]
subsd xmm0, qword [rcx - 8]
movsd qword [rdx + rcx - 8], xmm0
movsd xmm1, qword [rcx + r8*8]
subsd xmm1, qword [rcx]
movsd qword [rdx + rcx], xmm1
movsd xmm0, qword [r12 + rcx]
subsd xmm0, qword [rcx + 8]
movsd qword [rdx + rcx + 8], xmm0
add rcx, 0x20
sub rax, 1
jne 0x1400084d0
cmp rbp, rbx
jge 0x140008546
lea rax, [r14 + rbp*8]
sub rsi, r14
mov rcx, rbx
sub rcx, rbp
movsd xmm0, qword [rax]
subsd xmm0, qword [rax + rbx*8]
movsd qword [rsi + rax], xmm0
add rax, 8
sub rcx, 1
jne 0x14000852e
mov rcx, r14
call fcn.14000c62c
mov rcx, r13
call fcn.14000c62c
mov rcx, r15
call fcn.14000c62c
nop
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret