Function at 0x1400fd460
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push r14
push r15
sub rsp, 0xd0
movaps xmmword [rsp + 0x30], xmm12
mov rbx, rcx
mov qword [rax - 0x20], rbp
mov qword [rax - 0x28], rsi
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r12
mov qword [rax - 0x40], r13
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movsxd rdi, edx
mov eax, edi
movaps xmmword [rsp + 0x60], xmm9
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rsi, eax
mov rcx, rsi
mov dword [rsp + 0xf8], esi
shl rcx, 2
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
lea r8d, [rsi + rdi]
mov qword [rsp + 0x20], rax
movsxd rcx, r8d
mov r14, rax
shl rcx, 2
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
movd xmm12, edi
mov r13, rax
cvtdq2ps xmm12, xmm12
mov qword [rsp + 0x108], rax
cvtps2pd xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movaps xmm6, xmm0
movsd xmm0, qword [0x140283150]
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movsd xmm9, qword [0x1402cdf98]
divsd xmm6, xmm0
addsd xmm6, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm7, dword [0x1402cdfb8]
mov dword [rbx], edi
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r14
cvttsd2si r12d, xmm0
mov dword [rbx + 4], r12d
mov ebx, 1
mov dword [rsp + 0x100], r12d
test esi, esi
jle 0x1400fd657
mov r14d, dword [rsp + 0xf8]
lea eax, [rdi + rdi]
movaps xmmword [rsp + 0x50], xmm10
mov rbp, rdi
movd xmm0, eax
movaps xmm8, xmm7
cvtdq2ps xmm0, xmm0
sar rbp, 1
xor r15d, r15d
mov rsi, r13
mov r12d, ebx
add rsi, 4
movaps xmm10, xmm7
movaps xmmword [rsp + 0x40], xmm11
movsd xmm11, qword [0x140202ca0]
divss xmm10, xmm0
divss xmm8, xmm12
nop dword [rax]
nop word [rax + rax]
movd xmm6, r15d
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm8
cvtps2pd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cvtps2pd xmm0, xmm6
movss dword [r13], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm0, xmm11
movd xmm6, r12d
cvtsd2ss xmm0, xmm0
cvtdq2ps xmm6, xmm6
movss dword [rsi], xmm0
mulss xmm6, xmm10
cvtps2pd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cvtps2pd xmm0, xmm6
movss dword [rsi + rbp*4 - 4], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
lea rsi, [rsi + 8]
cvtsd2ss xmm1, xmm0
add r15d, 4
lea r13, [r13 + 8]
add r12d, 2
movss dword [rsi + rbp*4 - 8], xmm1
sub r14, rbx
jne 0x1400fd5b0
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x108]
mov r12d, dword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov r15d, eax
test eax, eax
jle 0x1400fd6d3
movsd xmm8, qword [0x1402ce110]
lea rdi, [rdi*4]
add rdi, r13
mov esi, 2
divss xmm7, xmm12
mov ebp, r15d
nop word [rax + rax]
movd xmm6, esi
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm7
cvtps2pd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulsd xmm0, xmm9
cvtsd2ss xmm0, xmm0
movss dword [rdi], xmm0
cvtps2pd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, xmm8
lea rdi, [rdi + 8]
add esi, 4
cvtsd2ss xmm0, xmm0
movss dword [rdi - 4], xmm0
sub rbp, 1
jne 0x1400fd690
movaps xmm9, xmmword [rsp + 0x60]
lea ecx, [r12 - 1]
movaps xmm8, xmmword [rsp + 0x70]
mov r10d, ebx
movaps xmm7, xmmword [rsp + 0x80]
xor r8d, r8d
movaps xmm6, xmmword [rsp + 0x90]
mov r13, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
shl r10d, cl
lea ecx, [r12 - 2]
mov r12, qword [rsp + 0xb0]
dec r10d
shl ebx, cl
test r15d, r15d
jle 0x1400fd773
lea r9, [r14 + 4]
xor edx, edx
xor ecx, ecx
test ebx, ebx
je 0x1400fd754
mov eax, ebx
test r8d, eax
je 0x1400fd74a
bts edx, ecx
inc ecx
mov eax, ebx
sar eax, cl
test eax, eax
jne 0x1400fd742
mov eax, edx
mov dword [r9], edx
not eax
inc r8d
and eax, r10d
add r9, 8
dec eax
mov dword [r14], eax
add r14, 8
cmp r8d, r15d
jl 0x1400fd738
movss xmm0, dword [0x1402cdfcc]
mov rax, qword [rsp + 0xf0]
divss xmm0, xmm12
movaps xmm12, xmmword [rsp + 0x30]
movss dword [rax + 0x18], xmm0
add rsp, 0xd0
pop r15
pop r14
pop rbx
ret