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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x12b0]
mov eax, 0x13b0
call fcn.1400c9790
sub rsp, rax
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12a4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x24], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x24], eax
inc rdx
cmp rdx, 0x270
jb 0x14005ff00
mov ecx, dword [0x1401ac840]
mov r12d, 0x80000000
cmp ecx, r12d
mov edx, 0x270
mov dword [rsp + 0x20], edx
mov r13d, 0xffffffff
lea eax, [rcx - 0x80000000]
lea r14d, [rcx + r12]
mov ecx, dword [0x1401ac87c]
cmovae r14d, eax
lea esi, [rdx - 0x7c]
cmp ecx, r12d
lea eax, [rcx - 0x80000000]
lea r15d, [rcx + r12]
cmovae r15d, eax
nop word [rax + rax]
cmp r14d, 0x7fffffff
jne 0x140060102
cmp edx, 0x270
jne 0x14005ffd2
lea r8, [rsp + 0x28]
mov r9d, edx
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 0x14005ff90
mov edx, dword [rsp + 0x20]
jmp 0x1400600c5
cmp edx, 0x4e0
jb 0x1400600c5
xor r8d, r8d
lea r9, [rbp + 0x8e4]
lea r10, [rbp + 0xf18]
lea r11, [rsp + 0x24]
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r9 + r8*4]
xor edx, dword [rbp + r8*4 + 0x8e8]
btr edx, 0x1f
xor edx, dword [r9 + r8*4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + r8*4]
xor ecx, edx
mov dword [r11 + r8*4], ecx
inc r8
cmp r8, 0xe3
jb 0x140060000
mov r8d, 0xe3
lea r9, [rbp + 0x8e8]
lea r10, [rsp + 0x24]
nop dword [rax]
mov eax, dword [rbp + r8*4 + 0x8e4]
mov edx, eax
xor edx, dword [r9 + r8*4]
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 - 0x468]
xor ecx, edx
mov dword [r10 + r8*4], ecx
inc r8
cmp r8, 0x26f
jb 0x140060050
mov edx, dword [rbp + 0x12a0]
mov eax, dword [rsp + 0x24]
and edx, r12d
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 + 0x554]
xor edx, edx
mov dword [rbp + 0x8e0], ecx
mov dword [rsp + 0x20], edx
mov eax, edx
inc edx
mov ecx, dword [rsp + rax*4 + 0x24]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12a4]
xor ecx, eax
mov dword [rsp + 0x20], edx
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 r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x14006014a
lea rcx, [rsp + 0x20]
lea ebx, [r14 - 0x7fffffff]
call fcn.1400662b0
mov r8d, eax
mov edi, ebx
imul r8, rdi
cmp r8d, ebx
jae 0x140060146
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x140060146
lea rcx, [rsp + 0x20]
call fcn.1400662b0
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x140060130
shr r8, 0x20
movd xmm1, r8d
lea rcx, [rsp + 0x20]
cvtdq2ps xmm1, xmm1
cmp r15d, 0x7fffffff
jne 0x140060169
call fcn.1400662b0
mov ecx, eax
jmp 0x1400601a8
lea ebx, [r15 - 0x7fffffff]
call fcn.1400662b0
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x1400601a4
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400601a4
nop
lea rcx, [rsp + 0x20]
call fcn.1400662b0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140060190
shr rcx, 0x20
mov rdx, qword [0x1401ac850]
cmp rdx, qword [0x1401ac858]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x12fc], xmm1
movss dword [rbp + 0x12f8], xmm0
je 0x1400601e8
unpcklps xmm0, xmm1
movsd qword [rdx], xmm0
add qword [0x1401ac850], 8
movsd qword [rbp + 0x12f8], xmm0
jmp 0x1400601fb
lea r8, [rbp + 0x12f8]
lea rcx, [0x1401ac848]
call fcn.140065ce0
lea rcx, [rsp + 0x20]
call fcn.1400662b0
mov eax, eax
lea rcx, [rsp + 0x20]
add rax, rax
shr rax, 0x20
lea eax, [rax*2 - 1]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1400662b0
mov rdx, qword [0x1401ac868]
mov ecx, eax
mov eax, 1
add rcx, rcx
movss dword [rbp + 0x1304], xmm1
shr rcx, 0x20
test ecx, ecx
cmove eax, r13d
cmp rdx, qword [0x1401ac870]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1300], xmm0
je 0x14006027a
unpcklps xmm0, xmm1
movsd qword [rdx], xmm0
add qword [0x1401ac868], 8
movsd qword [rbp + 0x1300], xmm0
jmp 0x14006028d
lea r8, [rbp + 0x1300]
lea rcx, [0x1401ac860]
call fcn.140065ce0
mov rdx, qword [0x1401acb30]
cmp rdx, qword [0x1401acb38]
mov dword [rbp + 0x12f0], 3
je 0x1400602b7
mov dword [rdx], 3
add qword [0x1401acb30], 4
jmp 0x1400602c3
lea r8, [rbp + 0x12f0]
call fcn.140065b30
sub rsi, 1
je 0x1400602d2
mov edx, dword [rsp + 0x20]
jmp 0x14005ff70
mov rbx, qword [rsp + 0x1408]
add rsp, 0x13b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret