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

Disassembly:
push rbx
mov eax, 0x13c0
call fcn.140016040
sub rsp, rax
mov rax, qword [0x14001e040]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
mov rbx, rdx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14001eab0], eax
jle 0x1400021c1
lea rcx, [0x14001eab0]
call fcn.140015198
cmp dword [0x14001eab0], 0xffffffff
jne 0x1400021c1
xor eax, eax
mov qword [0x14001eaa1], rax
mov dword [0x14001eaa9], eax
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rsp + 0x13a4], 0xffffffff
mov dword [rsp + 0x24], eax
mov ecx, 1
mov r9d, 0x270
nop
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x24], edx
inc rcx
cmp rcx, r9
jb 0x140001fa0
mov dword [rsp + 0x20], r9d
lea rax, [rsp + 0x28]
nop word [rax + rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
btr r8d, 0x1f
xor r8d, dword [rax - 4]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
and edx, 0x9908b0df
xor edx, dword [rax + 0x630]
shr r8d, 1
xor edx, r8d
mov dword [rax + 0x9bc], edx
lea rax, [rax + 4]
sub r9, 1
jne 0x140001fd0
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + rax*4 + 0x24]
mov eax, edx
shr eax, 0xb
and eax, dword [rsp + 0x13a4]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
lea eax, [rcx - 0x80000000]
mov edx, 0x80000000
lea r8d, [rcx + rdx]
cmp ecx, edx
cmovae r8d, eax
mov dword [0x14001ea9c], 5
movzx ecx, byte [0x14001eaa0]
test cl, cl
jne 0x140002075
add r8d, 5
mov cl, 1
test cl, cl
je 0x14000207b
sub r8d, 5
xor cl, cl
movzx eax, r8b
xor al, 0x73
mov byte [0x14001eaa1], al
test cl, cl
jne 0x14000208f
add r8d, 5
add r8d, 0xfffffffb
lea ecx, [r8 + 1]
mov eax, 1
cdq
idiv ecx
add dl, r8b
xor dl, 0x70
mov byte [0x14001eaa2], dl
lea ecx, [r8 + 1]
mov eax, 2
cdq
idiv ecx
add dl, r8b
xor dl, 0x6f
mov byte [0x14001eaa3], dl
lea ecx, [r8 + 1]
mov eax, 3
cdq
idiv ecx
add dl, r8b
xor dl, 0x6f
mov byte [0x14001eaa4], dl
lea ecx, [r8 + 1]
mov eax, 4
cdq
idiv ecx
add dl, r8b
xor dl, 0x66
mov byte [0x14001eaa5], dl
lea ecx, [r8 + 1]
mov eax, 5
cdq
idiv ecx
add dl, r8b
xor dl, 0x65
mov byte [0x14001eaa6], dl
lea ecx, [r8 + 1]
mov eax, 6
cdq
idiv ecx
add dl, r8b
xor dl, 0x72
mov byte [0x14001eaa7], dl
lea ecx, [r8 + 1]
mov eax, 7
cdq
idiv ecx
add dl, r8b
xor dl, 0x2e
mov byte [0x14001eaa8], dl
lea ecx, [r8 + 1]
mov eax, 8
cdq
idiv ecx
add dl, r8b
xor dl, 0x6d
mov byte [0x14001eaa9], dl
lea ecx, [r8 + 1]
mov eax, 9
cdq
idiv ecx
add dl, r8b
xor dl, 0x6f
mov byte [0x14001eaaa], dl
mov r9d, r8d
lea ecx, [r8 + 1]
mov eax, 0xa
cdq
idiv ecx
add dl, r8b
xor dl, 0x6d
mov byte [0x14001eaab], dl
lea r10d, [r9 + 5]
mov byte [0x14001eaa0], 0
lea r8d, [r10 - 4]
mov eax, 0xb
cdq
idiv r8d
add dl, r9b
mov byte [0x14001eaac], dl
mov dword [0x14001ea98], r10d
mov byte [0x14001eaa0], 1
lea rcx, [0x14001eab0]
call fcn.14001512c
movups xmm0, xmmword [0x14001ea98]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14001eaa8]
movsd qword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.1400150d0
add rsp, 0x13c0
pop rbx
ret