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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r14
push r15
mov eax, 0x14b0
call fcn.7ff7ec61ee90
sub rsp, rax
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov r14, rdx
mov rbx, rcx
xor esi, esi
mov dword [rbp + 8], esi
movabs rax, 0x662cc7c33cd7c176
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xadad1dbaac7821f1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x78d0affd0ecf4168
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xea67abfaef93cb5b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x6610d1f9d9dd889c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0xfb1fadc023136233
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x7a531274d33e883a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rcx, 0x10601de5234273e6
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x2e6b818678948337
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0xfde253f7e0336bb8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x2087f9a85a9c1339
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0x8c02cf998df29102
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs rax, 0x87dbd92b3b4e0fb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0x8d6ad9b35162125c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0x7a531274a947f04d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
vmovdqu ymm0, ymmword [rbp + 0x40]
vpxor ymm1, ymm0, ymmword [rbp + 0xa0]
vmovdqa ymmword [rbp + 0x40], ymm1
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0xc0]
vmovdqa ymmword [rbp + 0x60], ymm1
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], sil
lea rax, [rbp + 0x40]
mov r8, 0xffffffffffffffff
vzeroupper
nop
inc r8
cmp byte [rax + r8], sil
jne 0x7ff7ec565e90
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.7ff7ec5666c0
nop
call sub.msvcp140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov dword [rbp + 0x1464], 0xffffffff
mov dword [rbp + 0xe4], eax
mov ecx, 1
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
mov dword [rbp + rcx*4 + 0xe4], eax
inc rcx
cmp rcx, 0x270
jb 0x7ff7ec565ec1
mov dword [rbp + 0xe0], 0x270
mov edi, dword [rbp + 0x20]
dec edi
mov qword [rbx], rsi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov dword [rbp + 8], 1
mov r15, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x10]
test r14, r14
je 0x7ff7ec565fb6
nop dword [rax]
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], 0x20
mov dword [rbp + 0x90], 0xffffffff
lea rcx, [rbp + 0x80]
cmp edi, 0xffffffff
jne 0x7ff7ec565f56
call fcn.7ff7ec566270
jmp 0x7ff7ec565f5e
lea edx, [rdi + 1]
call fcn.7ff7ec564380
lea rcx, [rbp + 0x10]
cmp r15, 0x10
cmovae rcx, rsi
cdqe
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x7ff7ec565f9d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x7ff7ec565f92
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff7ec565fac
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.7ff7ec563390
sub r14, 1
jne 0x7ff7ec565f20
cmp r15, 0x10
jb 0x7ff7ec565ff0
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x7ff7ec565fe8
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff7ec565fe8
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.7ff7ec61e988
mov rax, rbx
lea r11, [rsp + 0x14b0]
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