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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x1380]
mov eax, 0x1480
call fcn.1800e8f90
sub rsp, rax
movaps xmmword [rsp + 0x1470], xmm6
movaps xmmword [rsp + 0x1460], xmm7
movaps xmmword [rsp + 0x1450], xmm8
movaps xmmword [rsp + 0x1440], xmm9
movaps xmmword [rsp + 0x1430], xmm10
movaps xmmword [rsp + 0x1420], xmm11
movaps xmmword [rsp + 0x1410], xmm12
movaps xmmword [rsp + 0x1400], xmm13
movaps xmmword [rsp + 0x13f0], xmm14
mov rax, qword [0x1801253c0]
xor rax, rsp
mov qword [rbp + 0x12e0], rax
movq xmm9, rdx
movsd qword [rsp + 0x20], xmm9
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x18006f730
movss xmm11, dword [rsp + 0x24]
mov edi, 0x270
movss xmm12, dword [rsp + 0x20]
xor esi, esi
movss xmm8, dword [0x180108bb4]
xorps xmm10, xmm10
movss xmm6, dword [0x180108a20]
movss xmm7, dword [0x180108a4c]
movss xmm13, dword [0x180108afc]
movss xmm14, dword [0x18010889c]
mov dword [rsp + 0x50], edi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
divss xmm4, xmm8
addss xmm4, xmm6
cmp edi, 0x270
jne 0x18006f802
lea r8, [rsp + 0x58]
mov r9d, edi
nop dword [rax]
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 0x18006f7c0
mov edi, dword [rsp + 0x50]
jmp 0x18006f8dd
cmp edi, 0x4e0
jb 0x18006f8dd
xor r8d, r8d
mov eax, dword [rbp + r8*4 + 0x914]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x918]
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 + 0xf48]
xor ecx, edx
mov dword [rsp + r8*4 + 0x54], ecx
inc r8
cmp r8, 0xe3
jb 0x18006f811
mov r8d, 0xe3
nop word [rax + rax]
mov eax, dword [rbp + r8*4 + 0x914]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x918]
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 - 0x438]
xor ecx, edx
mov dword [rsp + r8*4 + 0x54], ecx
inc r8
cmp r8, 0x26f
jb 0x18006f860
mov edx, dword [rbp + 0x12d0]
mov eax, dword [rsp + 0x54]
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 + 0x584]
xor edi, edi
mov dword [rbp + 0x910], ecx
mov dword [rsp + 0x50], edi
mov eax, edi
lea rcx, [rsp + 0x50]
inc edi
mov ebx, dword [rsp + rax*4 + 0x54]
mov eax, ebx
shr eax, 0xb
and eax, dword [rbp + 0x12d4]
xor ebx, eax
mov dword [rsp + 0x50], edi
mov eax, ebx
and eax, 0xff3a58ad
shl eax, 7
xor ebx, eax
mov eax, ebx
and eax, 0xffffdf8c
shl eax, 0xf
xor ebx, eax
call fcn.18004caf0
movaps xmm2, xmm0
lea rcx, [rsp + 0x50]
mulss xmm2, xmm7
subss xmm2, xmm6
call fcn.18004caf0
mov rdx, qword [0x180146288]
movaps xmm3, xmm0
xorps xmm0, xmm0
mulss xmm3, xmm7
mov eax, ebx
mov dword [rsp + 0x40], esi
movss dword [rsp + 0x3c], xmm4
shr eax, 0x12
xor eax, ebx
movss dword [rsp + 0x38], xmm7
cmp rdx, qword [0x180146290]
subss xmm3, xmm6
movsd qword [rsp + 0x28], xmm9
cvtsi2ss xmm0, rax
mulss xmm3, xmm13
subss xmm0, xmm10
movaps xmm1, xmm3
mulss xmm1, xmm2
addss xmm0, xmm10
addss xmm1, xmm12
mulss xmm0, xmm14
movss dword [rsp + 0x30], xmm1
mulss xmm0, xmm7
subss xmm0, xmm6
mulss xmm0, xmm3
addss xmm0, xmm11
movss dword [rsp + 0x34], xmm0
je 0x18006f9cb
movups xmm0, xmmword [rsp + 0x28]
movaps xmm1, xmm7
movups xmmword [rdx], xmm0
unpcklps xmm1, xmm4
movsd qword [rdx + 0x10], xmm1
mov dword [rdx + 0x18], esi
add qword [0x180146288], 0x1c
jmp 0x18006f9d5
lea r8, [rsp + 0x28]
call fcn.18008ada0
inc esi
cmp esi, 5
jge 0x18006f9e5
mov edi, dword [rsp + 0x50]
jmp 0x18006f797
mov rcx, qword [rbp + 0x12e0]
xor rcx, rsp
call fcn.1800935b0
lea r11, [rsp + 0x1480]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop rbp
ret