Function at 0x140241a30
Capabilities:
Encode data using xor

Disassembly:
push r12
push r13
push r15
sub rsp, 0x160
mov rax, qword [0x1404a90f8]
xor rax, rsp
mov qword [rsp + 0x100], rax
movss xmm5, dword [rcx]
xor r10d, r10d
mov r13, r9
mov r15, r8
mov r12, rdx
mov r11, rcx
cvtps2pd xmm5, xmm5
cmp dword [rdx], r10d
jbe 0x140241e32
movsd xmm4, qword [0x140437d60]
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x158], rbp
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x148], rdi
mov qword [rsp + 0x140], r14
movaps xmmword [rsp + 0x130], xmm6
xorps xmm6, xmm6
movaps xmmword [rsp + 0x120], xmm7
movss xmm7, dword [0x140437d70]
movaps xmmword [rsp + 0x110], xmm8
movsd xmm8, qword [0x140437440]
nop dword [rax + rax]
lea ebp, [r10 + 1]
xor r8d, r8d
movss xmm0, dword [r11 + rbp*4]
xorps xmm3, xmm3
xorps xmm0, xmm7
cvtss2sd xmm3, xmm0
cmp r10d, 4
jb 0x140241b68
lea ebx, [r10 - 3]
lea r9, [rsp + 8]
nop word [rax + rax]
mov eax, r10d
sub eax, r8d
add r8d, 4
mov edx, eax
movss xmm0, dword [r11 + rax*4]
dec eax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r9 - 8]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 2]
mulsd xmm0, qword [r9]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 3]
mulsd xmm0, qword [r9 + 8]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r9 + 0x10]
add r9, 0x20
subsd xmm3, xmm0
cmp r8d, ebx
jb 0x140241b00
cmp r8d, r10d
jae 0x140241b98
lea rcx, [rsp]
lea rcx, [rcx + r8*8]
mov eax, r10d
sub eax, r8d
inc r8d
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rcx]
add rcx, 8
subsd xmm3, xmm0
cmp r8d, r10d
jb 0x140241b75
divsd xmm3, xmm5
mov ebx, r10d
mov r9d, r10d
shr r9d, 1
xor r8d, r8d
lea r14, [rbx*8]
movsd qword [rsp + r14], xmm3
cmp r9d, 4
jb 0x140241c82
lea esi, [r9 - 3]
lea rdi, [rsp + 8]
nop dword [rax]
movsd xmm1, qword [rdi - 8]
mov eax, r10d
sub eax, r8d
movaps xmm0, xmm3
mov edx, eax
add r8d, 4
dec eax
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [rdi - 8], xmm0
movaps xmm0, xmm3
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
lea eax, [rdx - 2]
mulsd xmm0, qword [rsp + rax*8]
movsd xmm1, qword [rdi]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [rdi], xmm0
movaps xmm0, xmm3
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
lea eax, [rdx - 3]
mulsd xmm0, qword [rsp + rax*8]
movsd xmm2, qword [rdi + 8]
addsd xmm0, xmm2
mulsd xmm2, xmm3
movsd qword [rdi + 8], xmm0
movaps xmm0, xmm3
addsd xmm2, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm2
lea eax, [rdx - 4]
movsd xmm1, qword [rdi + 0x10]
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [rdi + 0x10], xmm0
add rdi, 0x20
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
cmp r8d, esi
jb 0x140241bd0
cmp r8d, r9d
jae 0x140241cc5
lea rdx, [rsp]
lea rdx, [rdx + r8*8]
movsd xmm1, qword [rdx]
mov eax, r10d
sub eax, r8d
movaps xmm0, xmm3
dec eax
inc r8d
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [rdx], xmm0
add rdx, 8
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
cmp r8d, r9d
jb 0x140241c8f
test r10b, 1
je 0x140241ce2
movsd xmm0, qword [rsp + r8*8]
movaps xmm1, xmm0
mulsd xmm1, xmm3
addsd xmm1, xmm0
movsd qword [rsp + r8*8], xmm1
mulsd xmm3, xmm3
movaps xmm0, xmm8
xor r9d, r9d
subsd xmm0, xmm3
mulsd xmm5, xmm0
cmp ebp, 4
jb 0x140241d8f
mov rax, rbx
lea rdx, [r15 + 8]
shl rax, 7
lea r8d, [r10 + 1]
add rdx, rax
lea rcx, [rsp + 8]
shr r8, 2
lea r9d, [r8*4]
nop dword [rax]
nop word [rax + rax]
movsd xmm0, qword [rcx - 8]
lea rdx, [rdx + 0x10]
movsd xmm1, qword [rcx]
xorps xmm0, xmm4
movsd xmm2, qword [rcx + 8]
xorps xmm1, xmm4
lea rcx, [rcx + 0x20]
xorps xmm2, xmm4
cvtsd2ss xmm0, xmm0
movss dword [rdx - 0x18], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movsd xmm1, qword [rcx - 0x10]
movss dword [rdx - 0x14], xmm0
xorps xmm0, xmm0
xorps xmm1, xmm4
cvtsd2ss xmm0, xmm2
movss dword [rdx - 0x10], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rdx - 0xc], xmm0
sub r8, 1
jne 0x140241d30
cmp r9d, r10d
ja 0x140241dcc
shl rbx, 5
lea rcx, [rsp]
mov eax, r9d
lea rcx, [rcx + r9*8]
add rbx, rax
mov r8d, r10d
sub r8d, r9d
inc r8d
lea rdx, [r15 + rbx*4]
movsd xmm0, qword [rcx]
lea rdx, [rdx + 4]
lea rcx, [rcx + 8]
xorps xmm0, xmm4
cvtsd2ss xmm0, xmm0
movss dword [rdx - 4], xmm0
sub r8, 1
jne 0x140241dae
ucomisd xmm5, xmm6
movsd qword [r14 + r13], xmm5
jp 0x140241dda
je 0x140241de9
mov r10d, ebp
cmp ebp, dword [r12]
jb 0x140241ad0
jmp 0x140241df1
lea eax, [r10 + 1]
mov dword [r12], eax
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x130]
mov r14, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x110]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400bd5f0
add rsp, 0x160
pop r15
pop r13
pop r12
ret