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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x1308]
mov eax, 0x13f0
call fcn.1402148b0
sub rsp, rax
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rbp + 0x12e0], rax
and dword [rsp + 0x28], 0
mov r14, rcx
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x140067b81
imul rax, rax, 0x64
jmp 0x140067b9f
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
or r15d, 0xffffffff
mov dword [rsp + 0x54], eax
mov dword [rbp + 0x12d4], r15d
mov edx, 1
mov r8d, 0x270
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, r8
jb 0x140067bb9
mov rdi, qword [r14 + 0x10]
lea r9, [rsp + 0x28]
mov dword [rsp + 0x50], r8d
mov edx, 0x108
mov r8d, 4
movsxd rsi, dword [rdi + 0x3c]
add rsi, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x140067eda
lea rcx, [rsp + 0x50]
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x16], ax
call fcn.14002fcdc
mov r9d, r15d
mov word [rsi + 4], ax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x10], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
lea rcx, [rsp + 0x50]
mov dword [rsi + 0xc], eax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 6], ax
call fcn.14002fcdc
mov r9d, r15d
mov word [rsi + 0x14], ax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 8], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x28], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x2c], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
lea rcx, [rsp + 0x50]
mov dword [rsi + 0x58], eax
call fcn.14002fcdc
mov r9d, r15d
mov word [rsi + 0x5e], ax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
lea rcx, [rsp + 0x50]
mov dword [rsi + 0x3c], eax
call fcn.14002fcdc
mov ebx, eax
lea rcx, [rsp + 0x50]
shl rbx, 0x20
call fcn.14002fcdc
mov eax, eax
lea rcx, [rsp + 0x50]
or rbx, rax
mov qword [rsi + 0x30], rbx
call fcn.14002fcdc
mov ebx, eax
lea rcx, [rsp + 0x50]
shl rbx, 0x20
call fcn.14002fcdc
mov eax, eax
lea rcx, [rsp + 0x50]
or rbx, rax
mov qword [rsi + 0x78], rbx
call fcn.14002fcdc
mov ebx, eax
lea rcx, [rsp + 0x50]
shl rbx, 0x20
call fcn.14002fcdc
mov eax, eax
lea rdx, [rsp + 0x50]
or rbx, rax
lea rcx, [rsp + 0x20]
mov r9d, r15d
mov qword [rsi + 0x70], rbx
xor r8d, r8d
call fcn.14001e220
lea rcx, [rsp + 0x50]
mov dword [rsi + 0x80], eax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x44], ax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x46], ax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov byte [rsi + 0x1a], al
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov byte [rsi + 0x1b], al
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x40], ax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x42], ax
call fcn.14002fcdc
lea rcx, [rsp + 0x50]
mov word [rsi + 0x48], ax
call fcn.14002fcdc
mov r9d, r15d
mov word [rsi + 0x4a], ax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x84], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x38], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x1c], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x54], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x50], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov r9d, r15d
mov dword [rsi + 0x20], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14001e220
lea rcx, [rsp + 0x50]
mov dword [rsi + 0x24], eax
call fcn.14002fcdc
mov word [rsi + 0x5c], ax
lea rdx, [rsp + 0x50]
mov r9d, r15d
xor r8d, r8d
lea rcx, [rsp + 0x20]
call fcn.14001e220
mov dword [rsi + 0x4c], eax
lea r9, [rsp + 0x28]
movsxd rcx, dword [rdi + 0x3c]
mov edx, 0x108
add rcx, qword [r14 + 0x10]
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x140067f06
mov al, 1
mov rcx, qword [rbp + 0x12e0]
xor rcx, rsp
call fcn.1402145d0
lea r11, [rsp + 0x13f0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea rcx, [rsp + 0x30]
call fcn.14002cc20
lea rdx, [0x14047ee10]
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll__CxxThrowException
int3