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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
mov eax, 0x13f0
call fcn.1400610d0
sub rsp, rax
movaps xmmword [rsp + 0x13e0], xmm6
mov rax, qword [0x1400e6580]
xor rax, rsp
mov qword [rsp + 0x13d0], rax
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov dword [rsp + 0x44], eax
mov edx, 1
mov dword [rsp + 0x13c4], 0xffffffff
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 + 0x44], eax
inc rdx
cmp rdx, 0x270
jb 0x140060280
mov esi, dword [0x1400e6920]
mov ebp, 0x1f4
mov r14d, dword [0x1400e6924]
btc esi, 0x1f
btc r14d, 0x1f
mov dword [rsp + 0x40], 0x270
mov dword [rsp + 0x20], 3
nop word [rax + rax]
lea rcx, [rsp + 0x40]
cmp esi, 0x7fffffff
jne 0x1400602e6
call fcn.140050f50
mov ecx, eax
jmp 0x140060328
lea ebx, [rsi - 0x7fffffff]
call fcn.140050f50
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140060324
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140060324
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140050f50
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140060310
shr rcx, 0x20
lea eax, [rcx - 0x80000000]
xor eax, 0x80000000
lea rcx, [rsp + 0x40]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp r14d, 0x7fffffff
jne 0x140060351
call fcn.140050f50
mov ecx, eax
jmp 0x140060398
lea ebx, [r14 - 0x7fffffff]
call fcn.140050f50
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x140060394
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140060394
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140050f50
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x140060380
shr rcx, 0x20
mov rdx, qword [0x1400e6930]
lea eax, [rcx - 0x80000000]
xor eax, 0x80000000
movss dword [rsp + 0x28], xmm6
cmp rdx, qword [0x1400e6938]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x24], xmm0
je 0x1400603dd
unpcklps xmm0, xmm6
movsd qword [rdx], xmm0
add qword [0x1400e6930], 8
movsd qword [rsp + 0x24], xmm0
jmp 0x1400603ee
lea r8, [rsp + 0x24]
lea rcx, [0x1400e6928]
call fcn.14004f550
lea rcx, [rsp + 0x40]
call fcn.140050f50
sar eax, 0x1f
lea rcx, [rsp + 0x40]
and eax, 2
dec eax
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.140050f50
mov rdx, qword [0x1400e6948]
sar eax, 0x1f
and eax, 2
dec eax
movss dword [rsp + 0x30], xmm6
cmp rdx, qword [0x1400e6950]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x2c], xmm0
je 0x140060453
unpcklps xmm0, xmm6
movsd qword [rdx], xmm0
add qword [0x1400e6948], 8
movsd qword [rsp + 0x2c], xmm0
jmp 0x140060464
lea r8, [rsp + 0x2c]
lea rcx, [0x1400e6940]
call fcn.14004f550
mov rdx, qword [0x1400e69c0]
cmp rdx, qword [0x1400e69c8]
je 0x140060484
mov dword [rdx], 3
add qword [0x1400e69c0], 4
jmp 0x140060495
lea r8, [rsp + 0x20]
lea rcx, [0x1400e69b8]
call fcn.14004f3a0
sub rbp, 1
jne 0x1400602d0
mov rcx, qword [rsp + 0x13d0]
xor rcx, rsp
call fcn.140060bb0
lea r11, [rsp + 0x13f0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
ret