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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rsi, rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x20], 0
mov r12d, 5
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r14d, 0x28
mov eax, dword [r14 + rdi]
mov ebp, 0x30
mov r15d, 0xffffffff
test al, 1
jne 0x14000b25c
or eax, 1
mov dword [r14 + rdi], eax
mov ebx, ebp
add rbx, rdi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov dword [rbx + 0x1384], r15d
mov dword [rbx + 4], eax
lea edx, [r12 - 4]
lea r8, [rbx + 8]
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [r8], ecx
inc rdx
lea r8, [r8 + 4]
cmp rdx, 0x270
jb 0x14000b230
mov dword [rbx], 0x270
mov eax, dword [r14 + rdi]
mov ebx, 0x18
test al, 2
jne 0x14000b27d
or eax, 2
mov dword [r14 + rdi], eax
mov qword [rdi + rbx], 0
mov qword [rdi + rbx + 8], 0x3d
mov qword [rsi], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], send
mov byte [rsi], 0
mov dword [rsp + 0x20], 1
mov rdx, r12
mov rcx, rsi
call fcn.14001d810
lea rax, [rdi + rbx]
mov qword [rsp + 0x40], rax
add rbp, rdi
nop word [rax + rax]
dec r12
mov qword [rsp + 0x28], r12
mov r15, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rbx, 0xffffffffffffffff
mov ecx, 0xffffffff
mov r13d, 0x40
nop word [rax + rax]
dec r13
shr rbx, 1
cmp rbx, rcx
ja 0x14000b2f0
sub r15, rax
cmp r15, 0xffffffffffffffff
jne 0x14000b33d
xor edi, edi
xor esi, esi
nop dword [rax + rax]
lea rcx, [r13 - 1]
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
mov rcx, rbp
call fcn.14002c540
mov eax, eax
cmp rax, rbx
ja 0x14000b320
or rdi, rax
add rsi, r13
cmp rsi, 0x40
jb 0x14000b310
jmp 0x14000b3b4
lea r12, [r15 + 1]
xor edi, edi
xor esi, esi
test r15, r15
je 0x14000b384
nop word [rax + rax]
lea rcx, [r13 - 1]
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
mov rcx, rbp
call fcn.14002c540
mov eax, eax
cmp rax, rbx
ja 0x14000b360
or rdi, rax
lea rcx, [r13 - 1]
shl rsi, cl
add rsi, rsi
or rsi, rbx
cmp rsi, r15
jb 0x14000b350
xor edx, edx
mov rax, rsi
div r12
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rdi
div r12
cmp rax, rcx
jb 0x14000b3a4
cmp r8, r15
jne 0x14000b341
xor edx, edx
mov rax, rdi
div r12
mov rdi, rdx
mov r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
add rax, rdi
lea rcx, str.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
movzx r9d, byte [rax + rcx]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14000b3f9
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x14000b3ee
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14000b408
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
call fcn.140022530
test r12, r12
mov rax, qword [rsp + 0x40]
jne 0x14000b2c0
mov rax, rsi
lea r11, [rsp + 0x50]
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