Function at 0x7ff75f83af20
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
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x1490
call fcn.7ff75f8a71f0
sub rsp, rax
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x7ff75f965010]
xor rax, rsp
mov qword [rbp + 0x1440], rax
mov ebx, edx
mov rdi, rcx
mov qword [rbp + 0x60], rcx
xor esi, esi
mov dword [rbp + 0xc], esi
movabs rcx, 0xc7968388729feafd
movabs rdx, 0xc29ad5bdaab7c10e
test r8b, r8b
je 0x7ff75f83b039
movabs rax, 0xd2a8c6835252f392
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0xe1010fe57bf9625e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xe39880c61611b1d3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1420], rax
movabs rax, 0xd83938d34ecd516c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1428], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x1430], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x1438], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x1420]
vmovdqa ymmword [rbp + 0x20], ymm1
lea rdx, [rbp + 0x20]
jmp 0x7ff75f83b0e3
movabs rax, 0xd2a8e6a37272d3b2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xe1010fe57bf9625e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0xe39880c61611b1d3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1420], rax
movabs rax, 0xd83938d34ecd516c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1428], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x1430], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x1438], rax
vmovdqu ymm0, ymmword [rbp + 0x40]
vpxor ymm1, ymm0, ymmword [rbp + 0x1420]
vmovdqa ymmword [rbp + 0x40], ymm1
lea rdx, [rbp + 0x40]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x80], rsi
mov r8, 0xffffffffffffffff
vzeroupper
inc r8
cmp byte [rdx + r8], sil
jne 0x7ff75f83b101
lea rcx, [rbp + 0x68]
call fcn.7ff75f7e9710
nop
call qword [0x7ff75f9114c8]
mov edx, eax
mov dword [rbp + 0x1414], 0xffffffff
mov dword [rbp + 0x94], eax
mov ecx, 1
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x94], edx
inc rcx
cmp rcx, 0x270
jb 0x7ff75f83b131
mov dword [rbp + 0x90], 0x270
mov r15d, dword [rbp + 0x78]
dec r15d
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov dword [rbp + 0xc], 1
mov r13, qword [rbp + 0x68]
test ebx, ebx
jle 0x7ff75f83b249
mov r12, rbx
movzx ebx, byte [rbp + 8]
lea rcx, [rbp + 0x90]
cmp r15d, 0xffffffff
jne 0x7ff75f83b1a9
call fcn.7ff75f83bb40
mov ecx, eax
jmp 0x7ff75f83b1ea
lea esi, [r15 + 1]
call fcn.7ff75f83bb40
mov r14d, esi
mov ecx, eax
imul rcx, r14
cmp ecx, esi
jae 0x7ff75f83b1e6
mov eax, esi
neg eax
xor edx, edx
div esi
mov esi, edx
cmp ecx, edx
jae 0x7ff75f83b1e6
nop dword [rax]
lea rcx, [rbp + 0x90]
call fcn.7ff75f83bb40
mov ecx, eax
imul rcx, r14
cmp ecx, esi
jb 0x7ff75f83b1d0
shr rcx, 0x20
lea rdx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0x10
cmovae rdx, r13
movsxd rax, ecx
movzx r9d, byte [rax + rdx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x7ff75f83b22e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x7ff75f83b223
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff75f83b23f
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.7ff75f7e9810
sub r12, 1
jne 0x7ff75f83b193
mov rax, qword [rbp + 0x80]
cmp rax, 0x10
jb 0x7ff75f83b28a
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x7ff75f83b282
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff75f83b282
call qword [0x7ff75f911ad8]
int3
mov rcx, r13
call fcn.7ff75f8a69e8
mov rax, rdi
mov rcx, qword [rbp + 0x1440]
xor rcx, rsp
call fcn.7ff75f8a6770
lea r11, [rsp + 0x1490]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret