Function at 0x14004f374
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
movaps xmmword [rax - 0x58], xmm6
mov rdi, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movsxd rbx, edx
mov eax, ebx
movaps xmmword [rsp + 0x40], xmm9
cdq
movaps xmmword [rsp + 0x30], xmm10
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
shl rcx, 2
mov r12d, eax
call fcn.1400d65e0
lea r8d, [r12 + rbx]
mov qword [rsp + 0xe8], rax
movsxd rcx, r8d
mov rsi, rax
shl rcx, 2
call fcn.1400d65e0
movd xmm8, ebx
mov r14, rax
cvtdq2ps xmm8, xmm8
mov qword [rsp + 0x20], rax
cvtps2pd xmm0, xmm8
call fcn.1400fa050
movaps xmm6, xmm0
movsd xmm0, qword [0x1401357f8]
call fcn.1400fa050
divsd xmm6, xmm0
addsd xmm6, qword [0x1401354b0]
movaps xmm0, xmm6
call fcn.1400f845c
movss xmm7, dword [0x1401359f4]
mov r15d, 2
mov dword [rdi], ebx
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], rsi
cvttsd2si r13d, xmm0
mov dword [rdi + 4], r13d
mov rdi, rbx
mov dword [rsp + 0xd8], r13d
test r12d, r12d
jle 0x14004f52e
lea eax, [rbx + rbx]
xor esi, esi
movd xmm0, eax
lea r13d, [r15 - 1]
mov rax, rbx
movaps xmm9, xmm7
sar rax, 1
movaps xmm10, xmm7
cvtdq2ps xmm0, xmm0
mov rbp, r14
lea rcx, [r14 + rax*4]
mov r14d, r12d
mov r12, rcx
divss xmm9, xmm8
divss xmm10, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
mulss xmm0, xmm9
cvtps2pd xmm6, xmm0
movaps xmm0, xmm6
call fcn.1400f72b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbp], xmm1
call fcn.1400f7830
xorps xmm0, xmmword [0x140135870]
xorps xmm1, xmm1
cvtsi2ss xmm1, r13d
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm10
movss dword [rbp + 4], xmm0
cvtps2pd xmm6, xmm1
movaps xmm0, xmm6
call fcn.1400f72b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [r12], xmm1
call fcn.1400f7830
xorps xmm1, xmm1
lea r12, [r12 + 8]
cvtsd2ss xmm1, xmm0
add esi, 4
lea rbp, [rbp + 8]
add r13d, r15d
movss dword [r12 - 4], xmm1
sub r14, 1
jne 0x14004f48a
mov rsi, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x20]
mov r13d, dword [rsp + 0xd8]
mov eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ebx, eax
test eax, eax
jle 0x14004f5a2
divss xmm7, xmm8
lea rdi, [r14 + rdi*4]
mov ebp, ebx
xorps xmm0, xmm0
cvtsi2ss xmm0, r15d
mulss xmm0, xmm7
cvtps2pd xmm6, xmm0
movaps xmm0, xmm6
call fcn.1400f72b0
mulsd xmm0, qword [0x1401354b0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rdi], xmm1
call fcn.1400f7830
xorps xmm0, xmmword [0x140135870]
lea rdi, [rdi + 8]
mulsd xmm0, qword [0x1401354b0]
add r15d, 4
cvtsd2ss xmm0, xmm0
movss dword [rdi - 4], xmm0
sub rbp, 1
jne 0x14004f54a
lea ecx, [r13 - 1]
mov r9d, 1
shl r9d, cl
mov r8d, 1
lea ecx, [r13 - 2]
dec r9d
shl r8d, cl
xor r10d, r10d
test ebx, ebx
jle 0x14004f5ff
xor edx, edx
xor ecx, ecx
test r8d, r8d
je 0x14004f5e5
mov eax, r8d
test r10d, eax
je 0x14004f5da
bts edx, ecx
inc ecx
mov eax, r8d
sar eax, cl
test eax, eax
jne 0x14004f5d2
mov eax, edx
mov dword [rsi + 4], edx
not eax
inc r10d
and eax, r9d
dec eax
mov dword [rsi], eax
add rsi, 8
cmp r10d, ebx
jl 0x14004f5c6
movss xmm0, dword [0x1401359f8]
mov rax, qword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x30]
divss xmm0, xmm8
movaps xmm8, xmmword [rsp + 0x50]
movss dword [rax + 0x18], xmm0
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret