Function at 0x18005dac0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1340]
mov eax, 0x1440
call fcn.1800ff9f0
sub rsp, rax
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp + 0x12d0], rax
mov rsi, qword [0x1803f72a0]
mov r14, rdx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12c4], 0xffffffff
mov r8d, 1
mov dword [rsp + 0x44], eax
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, r8d
mov dword [rsp + r8*4 + 0x44], eax
inc r8
cmp r8, 0x270
jb 0x18005db20
mov rax, qword [0x1803f72e8]
xor edi, edi
mov ebx, 0x270
mov dword [rsp + 0x40], ebx
cmp dword [rax + 0x40], edi
jle 0x18005de63
mov qword [rsp + 0x1460], r15
movaps xmmword [rsp + 0x1430], xmm6
movaps xmmword [rsp + 0x1420], xmm7
movaps xmmword [rsp + 0x1410], xmm8
movss xmm8, dword [0x18013bb8c]
movaps xmmword [rsp + 0x1400], xmm9
movss xmm9, dword [0x18013bcf4]
movaps xmmword [rsp + 0x13f0], xmm10
movss xmm10, dword [0x18013bd0c]
movaps xmmword [rsp + 0x13e0], xmm11
movss xmm11, dword [0x18013bc2c]
nop dword [rax]
movss xmm0, dword [r14]
movss xmm2, dword [rsi]
movss xmm1, dword [r14 + 4]
addss xmm2, xmm2
movss dword [rsp + 0x20], xmm0
movd xmm0, dword [rax + 0x40]
cvtdq2ps xmm0, xmm0
movd xmm7, edi
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x24], xmm1
divss xmm7, xmm0
mulss xmm7, xmm2
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
cmp ebx, 0x270
jne 0x18005dc53
lea r8, [rsp + 0x48]
mov r9d, 0x270
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x18005dc11
mov ebx, dword [rsp + 0x40]
jmp 0x18005dd2d
cmp ebx, 0x4e0
jb 0x18005dd2d
xor r8d, r8d
mov eax, dword [rbp + r8*4 + 0x904]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x908]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xf38]
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0xe3
jb 0x18005dc62
mov r8d, 0xe3
nop dword [rax + rax]
mov eax, dword [rbp + r8*4 + 0x904]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x908]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x448]
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0x26f
jb 0x18005dcb0
mov edx, dword [rbp + 0x12c0]
mov eax, dword [rsp + 0x44]
and edx, 0x80000000
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
xor ecx, dword [rbp + 0x574]
xor ebx, ebx
mov dword [rbp + 0x900], ecx
mov dword [rsp + 0x40], ebx
mov eax, ebx
xorps xmm1, xmm1
inc ebx
mov ecx, dword [rsp + rax*4 + 0x44]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12c4]
xor ecx, eax
mov dword [rsp + 0x40], ebx
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
lea rcx, [rsp + 0x40]
shr eax, 8
cvtsi2ss xmm1, rax
mulss xmm1, xmm8
mulss xmm1, xmm9
addss xmm1, xmm10
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
call fcn.180091cd0
xorps xmm6, xmm6
shr eax, 8
movaps xmm0, xmm7
cvtsi2ss xmm6, rax
mulss xmm6, xmm8
mulss xmm6, xmm9
addss xmm6, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm6, xmm0
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x2c], xmm6
call fcn.180091cd0
mov rdx, qword [rsi + 0x10]
xorps xmm1, xmm1
shr eax, 8
cvtsi2ss xmm1, rax
mulss xmm1, xmm8
addss xmm1, xmm11
movss dword [rsp + 0x30], xmm1
cmp rdx, qword [rsi + 0x18]
je 0x18005de02
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
movss dword [rdx + 0x10], xmm1
add qword [rsi + 0x10], 0x14
jmp 0x18005de10
lea r8, [rsp + 0x20]
lea rcx, [rsi + 8]
call fcn.180094570
mov rax, qword [0x1803f72e8]
inc edi
cmp edi, dword [rax + 0x40]
jge 0x18005de27
mov ebx, dword [rsp + 0x40]
jmp 0x18005dbc0
movaps xmm10, xmmword [rsp + 0x13f0]
movaps xmm9, xmmword [rsp + 0x1400]
movaps xmm8, xmmword [rsp + 0x1410]
movaps xmm7, xmmword [rsp + 0x1420]
movaps xmm6, xmmword [rsp + 0x1430]
mov r15, qword [rsp + 0x1460]
movaps xmm11, xmmword [rsp + 0x13e0]
mov rcx, qword [rbp + 0x12d0]
xor rcx, rsp
call fcn.1800fed70
lea r11, [rsp + 0x1440]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret