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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x14c0
call fcn.1400dab00
sub rsp, rax
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x140282300]
xor rax, rsp
mov qword [rbp + 0x1460], rax
xor r13d, r13d
movabs rax, 0xe733f4fcfa5d0def
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x8de92f561c869400
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xc5123c81304e616e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xb177448cb6641b9d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x127e6b7ce6a0d744
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rcx, 0x4658e029b5f7529c
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xd005c1c8c96f3cdf
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1420], rax
movabs rax, 0xcbac6b155ec7ad38
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1428], rax
movabs rax, 0x8b5f70ca7a072929
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1430], rax
movabs rax, 0xe72210dfe4354bd2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1438], rax
movabs rax, 0x127e6b7cbcf98f13
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1440], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x1448], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x1420]
vmovdqa ymmword [rbp + 0x20], ymm1
vmovdqa xmm0, xmmword [rbp + 0x1440]
vxorps xmm0, xmm0, xmmword [rbp + 0x40]
vmovdqa xmmword [rbp + 0x40], xmm0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x1420], xmm0
mov qword [rbp + 0x1430], r13
mov qword [rbp + 0x1438], r13
lea rax, [rbp + 0x20]
mov r8, 0xffffffffffffffff
vzeroupper
nop
inc r8
cmp byte [rax + r8], r13b
jne 0x1400161c0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1420]
call fcn.140002740
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
movzx ebx, byte [rbp + 8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [rbp + 0x1404], 0xffffffff
mov dword [rbp + 0x84], eax
mov ecx, 1
nop dword [rax]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul edx, edx, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x84], edx
mov eax, edx
inc rcx
cmp rcx, 0x270
jb 0x140016230
mov dword [rbp + 0x80], 0x270
lea rcx, [rbp + 0x80]
call fcn.14000f9d0
mov ecx, eax
imul rax, rcx, 0x41
cmp eax, 0x3c
ja 0x140016297
nop word [rax + rax]
lea rcx, [rbp + 0x80]
call fcn.14000f9d0
mov ecx, eax
imul rax, rcx, 0x41
cmp eax, 0x3d
jb 0x140016280
shr rax, 0x20
sub rax, 0x7fffffdd
xor rax, 0xffffffff80000000
mov r8, qword [rbp + 0x70]
cmp r8, rax
je 0x1400163d1
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
mov rcx, qword [rbp + 0x1430]
div rcx
movsxd r9, edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], r13
cmp rcx, r9
jb 0x1400164ae
sub rcx, r9
mov r8d, 1
cmp rcx, r8
cmovb r8, rcx
lea rdx, [rbp + 0x1420]
cmp qword [rbp + 0x1438], 0xf
cmova rdx, qword [rbp + 0x1420]
add rdx, r9
lea rcx, [rbp + 0x20]
call fcn.140002740
nop
lea r9, [rbp + 0x20]
mov rsi, qword [rbp + 0x20]
mov r15, qword [rbp + 0x38]
cmp r15, 0xf
cmova r9, rsi
mov r12, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
sub rax, r12
mov r14, qword [rbp + 0x30]
cmp r14, rax
ja 0x140016371
lea rax, [r12 + r14]
mov qword [rbp + 0x70], rax
lea rdi, [rbp + 0x60]
cmp rcx, 0xf
cmova rdi, qword [rbp + 0x60]
lea rcx, [rdi + r12]
mov r8, r14
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
lea rax, [r14 + rdi]
mov byte [rax + r12], 0
jmp 0x14001638e
mov qword [rsp + 0x20], r14
movzx r8d, bl
mov rdx, r14
lea rcx, [rbp + 0x60]
call fcn.1400078e0
mov r15, qword [rbp + 0x38]
mov rsi, qword [rbp + 0x20]
cmp r15, 0xf
jbe 0x140016205
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400163bd
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400163ca
mov rcx, rsi
call fcn.1400da79c
jmp 0x140016205
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0xf
cmova rdx, qword [rbp + 0x60]
lea rcx, [section..data]
call fcn.140015650
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x14001642a
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016425
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016425
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400da79c
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
mov rdx, qword [rbp + 0x1438]
cmp rdx, 0xf
jbe 0x14001647e
inc rdx
mov rcx, qword [rbp + 0x1420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016479
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016479
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400da79c
mov rcx, qword [rbp + 0x1460]
xor rcx, rsp
call fcn.1400dab60
lea r11, [rsp + 0x14c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140013f30
nop
int3