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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140022040]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rsp + 0x30], xmm0
xor r12d, r12d
mov qword [r11 - 0x48], r12
mov ebp, 0xf
mov qword [r11 - 0x40], rbp
mov byte [r11 - 0x58], r12b
mov rax, qword gs:[0x58]
mov r14d, 0x10
mov edx, 0x1398
add rdx, qword [rax]
mov qword [rsp + 0x28], rdx
add r14, qword [rax]
mov r13, r14
xor esi, esi
mov r15, qword [r11 - 0x58]
nop word [rax + rax]
mov rbx, qword [0x1400227a8]
sub rbx, qword [0x1400227a0]
sar rbx, 5
mov eax, dword [rdx]
test al, 1
jne 0x14000b52d
or eax, 1
mov dword [rdx], eax
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [r13 + 0x1384], 0xffffffff
mov dword [r13 + 4], eax
mov ecx, 1
lea r8, [r13 + 8]
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [r8], edx
inc rcx
lea r8, [r8 + 4]
cmp rcx, 0x270
jb 0x14000b500
mov dword [r13], 0x270
mov r14, r13
dec ebx
cmp ebx, 0x80000000
jb 0x14000b548
cmp ebx, 0xffffffff
jne 0x14000b548
mov rcx, r14
call fcn.14000d6f0
mov ecx, eax
jmp 0x14000b586
inc ebx
mov rcx, r14
call fcn.14000d6f0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x14000b582
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x14000b582
nop dword [rax]
mov rcx, r14
call fcn.14000d6f0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x14000b570
shr rcx, 0x20
movsxd rax, ecx
shl rax, 5
add rax, qword [0x1400227a0]
lea rcx, [rsp + 0x30]
cmp rcx, rax
je 0x14000b5f6
mov r9, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14000b5ab
mov r9, qword [rax]
mov rdi, qword [rax + 0x10]
cmp rdi, rbp
ja 0x14000b5da
lea rbx, [rsp + 0x30]
cmp rbp, 0xf
cmova rbx, r15
mov qword [rsp + 0x40], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x14000b5e7
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14000cbc0
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rdi, qword [0x1400227a8]
mov rbx, qword [0x1400227a0]
cmp rbx, rdi
je 0x14000b645
nop dword [rax]
lea rdx, [rsp + 0x30]
cmp rbp, 0xf
cmova rdx, r15
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14000b62a
mov rcx, qword [rbx]
mov r8, qword [rbx + 0x10]
cmp r8, r12
jne 0x14000b63c
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000b645
add rbx, 0x20
cmp rbx, rdi
jne 0x14000b610
cmp rbx, qword [0x1400227a8]
je 0x14000b6a6
sub rbx, qword [0x1400227a0]
sar rbx, 5
xor r9d, r9d
mov r8d, 0xa
bt ebx, r8d
jae 0x14000b69a
lea eax, [rsi + r9]
movsxd rcx, eax
cmp rcx, 0x80
jae 0x14000b722
mov rax, rcx
shr rax, 6
mov rdx, qword [rsp + 0x20]
lea rdx, [rdx + rax*8]
and cl, 0x3f
mov eax, 1
shl rax, cl
or qword [rdx], rax
inc r9d
dec r8d
cmp r8d, 0xffffffff
jg 0x14000b662
add esi, 0xb
cmp esi, 0x63
jge 0x14000b6b8
mov rdx, qword [rsp + 0x28]
jmp 0x14000b4c0
cmp rbp, 0xf
jbe 0x14000b6f2
lea rdx, [rbp + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x14000b6ea
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000b6ea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.14000ddec
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14000da80
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14000ca00
nop
int3