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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x14d0]
mov eax, 0x15d0
call fcn.14002e3e0
sub rsp, rax
mov rax, qword [0x140038010]
xor rax, rsp
mov qword [rbp + 0x14c0], rax
mov rsi, rdx
mov rdi, qword [0x140b7e4c0]
mov r14, qword [rdi + 0x28]
mov rbx, qword [rdi]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1484], 0xffffffff
mov dword [rbp + 0x104], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x104], eax
inc rdx
cmp rdx, 0x270
jb 0x14000feb0
mov dword [rbp + 0x100], 0x270
lea rcx, [rbp + 0x100]
call fcn.140012990
mov ecx, eax
imul r8, rcx, 0xb
cmp r8d, 0xb
jae 0x14000ff18
cmp r8d, 4
jae 0x14000ff18
nop word [rax + rax]
lea rcx, [rbp + 0x100]
call fcn.140012990
mov ecx, eax
imul r8, rcx, 0xb
cmp r8d, 4
jb 0x14000ff00
shr r8, 0x20
inc r8d
mov dword [rbx], r8d
mov eax, 0xdc79d97f
movd xmm1, eax
mov eax, 0x9875197f
movd xmm0, eax
xorps xmm0, xmm1
cvttss2si r15d, xmm0
mov eax, 0x9c79d97f
movd xmm0, eax
xorps xmm0, xmm1
cvttss2si edx, xmm0
mov r9d, r15d
call fcn.140011db0
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140007ef0
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x28]
call fcn.1400120d0
mov rbx, rax
movabs rax, 0x1edfe2225f25eefa
mov qword [rsp + 0x20], rax
movabs r12, 0x20743417b397e39c
mov qword [rsp + 0x28], r12
movabs r13, 0x1edfe22216709ac3
mov qword [rbp + 0x1490], r13
mov qword [rbp + 0x1498], r12
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x1490]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.1400065d0
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.140006510
nop
movabs rax, 0x1edfe2225245a9a8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r12
mov qword [rbp + 0x1490], r13
mov qword [rbp + 0x1498], r12
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp + 0x1490]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x68]
call fcn.1400065d0
mov r8, rax
lea rdx, [rbp - 0x48]
call fcn.1400120d0
mov rbx, rax
movabs rax, 0x1edfe2224422d6bb
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r12
mov qword [rbp + 0x1490], r13
mov qword [rbp + 0x1498], r12
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x1490]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.1400065d0
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140006510
nop
movabs rax, 0x1edfe2227300ada8
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r12
mov qword [rbp + 0x1490], r13
mov qword [rbp + 0x1498], r12
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x1490]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa0]
call fcn.1400065d0
nop
lea rdx, [rdi + 8]
lea rcx, [rbp + 0xc0]
call fcn.140011340
nop
lea rax, [rbp + 0x20]
mov qword [rbp + 0x1490], rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x1498], rax
lea rdx, [rbp + 0x1490]
lea rcx, [rbp - 0x80]
call fcn.140010f80
mov r8, rax
lea rdx, [rbp + 0xe0]
mov rcx, r14
call fcn.140012ed0
nop
lea r9, [0x14000fc00]
mov edx, 0x40
lea r8d, [rdx - 0x3d]
lea rcx, [rbp + 0x20]
call fcn.14002d798
nop
lea rcx, [rbp - 0x48]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x28]
call fcn.1400064f0
movabs rax, 0x1edfe2227f04dc8d
mov qword [rbp + 0x1490], rax
mov qword [rbp + 0x1498], r12
mov qword [rbp + 0x14a0], r13
mov qword [rbp + 0x14a8], r12
movdqa xmm0, xmmword [rbp + 0x1490]
xorps xmm0, xmmword [rbp + 0x14a0]
movdqa xmmword [rbp + 0x1490], xmm0
lea rcx, [rbp + 0x1490]
call fcn.140007700
mov rbx, rax
mov r14, qword [rbp + 0xf0]
lea rcx, [rbp + 0xe0]
call fcn.1400060e0
cmp r14, rbx
jne 0x1400101bc
mov r8, r14
lea rdx, [rbp + 0x1490]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400101bc
mov al, 1
jmp 0x140010286
movabs rax, 0x1edfe2225b35d4a0
mov qword [rbp + 0x1490], rax
mov qword [rbp + 0x1498], r12
mov qword [rbp + 0x14a0], r13
mov qword [rbp + 0x14a8], r12
movdqa xmm0, xmmword [rbp + 0x1490]
xorps xmm0, xmmword [rbp + 0x14a0]
movdqa xmmword [rbp + 0x1490], xmm0
lea rcx, [rbp + 0x1490]
call fcn.140007700
mov rbx, rax
mov r14, qword [rbp + 0xf0]
lea rcx, [rbp + 0xe0]
call fcn.1400060e0
cmp r14, rbx
jne 0x14001023a
mov r8, r14
lea rdx, [rbp + 0x1490]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14001023a
mov al, 2
jmp 0x140010286
mov rbx, qword [rdi]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x14a0]
call fcn.140011340
mov r8, rax
lea rdx, [rbp - 8]
call fcn.1400124e0
nop
xor edx, edx
lea r8d, [rdx + 0xa]
mov rcx, rax
call fcn.1400014c0
mov r9d, r15d
mov r8d, dword [rbx]
mov edx, eax
call fcn.140011db0
mov dword [rbx + 4], eax
lea rcx, [rbp - 8]
call fcn.1400064f0
xor al, al
mov byte [rsi], al
lea rcx, [rbp + 0xe0]
call fcn.1400064f0
mov rcx, qword [rbp + 0x14c0]
xor rcx, rsp
call fcn.14002d4b0
lea r11, [rsp + 0x15d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret