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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
mov eax, 0x1460
call fcn.7ff6bcc4aad0
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
mov rax, qword [0x7ff6bccbe500]
xor rax, rsp
mov qword [rsp + 0x1430], rax
mov rdi, rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], 0
movups xmm0, xmmword [str.VZZZZVV..66::__::66]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x7ff6bcca3aa0]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x7ff6bcca3ab0]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x7ff6bcca3ac0]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x7ff6bcca3ad0]
movups xmmword [rsp + 0x80], xmm0
movzx eax, byte [0x7ff6bcca3ae0]
mov byte [rsp + 0x90], al
movsxd rdx, edx
mov r8b, 0x20
call fcn.7ff6bcbe5530
mov dword [rsp + 0x20], 1
call fcn.7ff6bcc29144
mov edx, eax
mov dword [rsp + 0x1424], 0xffffffff
mov dword [rsp + 0xa4], eax
mov ecx, 1
nop dword [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0xa4], edx
inc rcx
cmp rcx, 0x270
jb 0x7ff6bcbe17c0
mov dword [rsp + 0xa0], 0x270
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x7ff6bcbe17ff
mov rcx, qword [rdi]
mov rdx, rcx
jmp 0x7ff6bcbe1802
mov rdx, rdi
mov rbx, rcx
mov rsi, qword [rdi + 0x10]
add rsi, rdx
cmp rcx, rsi
je 0x7ff6bcbe19f9
mov r14d, 0x80000000
mov ebp, dword [0x7ff6bccbe558]
movdqa xmm5, xmmword [0x7ff6bcca3be0]
movdqa xmm4, xmmword [0x7ff6bcca3c30]
movdqa xmm6, xmmword [0x7ff6bcca3bd0]
movdqa xmm3, xmmword [0x7ff6bcca3c10]
movdqa xmm7, xmmword [0x7ff6bcca3b60]
nop dword [rax]
cmp byte [rsp + 0x90], 0
je 0x7ff6bcbe199d
xor ecx, ecx
cmp ebp, 2
jl 0x7ff6bcbe1964
movdqa xmmword [rsp + 0x30], xmm4
lea rdx, [rsp + 0x44]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x50
jl 0x7ff6bcbe1880
cmp ecx, 0x51
jge 0x7ff6bcbe199d
movsxd rax, ecx
lea r8, [rsp + 0x40]
add r8, rax
nop
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul edx, eax, 0x37
add dl, cl
xor byte [r8], dl
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x51
jl 0x7ff6bcbe1970
lea rcx, [rsp + 0xa0]
call fcn.7ff6bcbe7f40
mov ecx, eax
imul rcx, rcx, 0x51
cmp ecx, 0x30
ja 0x7ff6bcbe19d8
nop word [rax + rax]
lea rcx, [rsp + 0xa0]
call fcn.7ff6bcbe7f40
mov ecx, eax
imul rcx, rcx, 0x51
cmp ecx, 0x31
jb 0x7ff6bcbe19c0
shr rcx, 0x20
sub rcx, r14
xor rcx, 0xffffffff80000000
movzx ecx, byte [rsp + rcx + 0x40]
mov byte [rbx], cl
inc rbx
cmp rbx, rsi
jne 0x7ff6bcbe1850
mov rax, rdi
mov rcx, qword [rsp + 0x1430]
xor rcx, rsp
call fcn.7ff6bcc49ca0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret