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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rax, qword gs:[0x58]
mov rdi, rdx
mov r14d, 0x14
mov ebp, 0xa
mov r15d, 0x20
mov rsi, qword [rax]
mov eax, dword [r14 + rsi]
test al, 1
jne 0x140072539
or eax, 1
mov ebx, r15d
add rbx, rsi
mov dword [r14 + rsi], eax
call fcn.1400e083c
mov dword [rbx + 4], eax
lea r8, [rbx + 8]
mov edx, 1
mov dword [rbx + 0x1384], 0xffffffff
nop dword [rax + rax]
mov ecx, eax
lea r8, [r8 + 4]
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
inc rdx
mov dword [r8 - 4], eax
cmp rdx, 0x270
jb 0x140072510
mov dword [rbx], 0x270
mov eax, dword [r14 + rsi]
xor ecx, ecx
mov ebx, 0x13a8
test al, 2
jne 0x14007255c
or eax, 2
mov qword [rsi + rbx], rcx
mov dword [r14 + rsi], eax
mov qword [rsi + rbx + 8], 0x3d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rcx
mov rdx, rbp
mov qword [rdi + 0x18], 0xf
mov byte [rdi], cl
mov rcx, rdi
call fcn.140072730
lea rax, [rsi + rbx]
mov qword [rsp + 0x78], r13
mov ebx, r15d
movabs r15, 0x7fffffffffffffff
add rbx, rsi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov rdx, qword [rax + 8]
lea r14, str.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
dec rbp
mov qword [rsp + 0x60], rbp
mov rbp, qword [rax]
sub rdx, rbp
cmp rdx, 0xffffffffffffffff
jne 0x1400725dc
mov rcx, rbx
call fcn.1400729c0
mov esi, eax
mov rcx, rbx
shl rsi, 0x20
call fcn.1400729c0
mov eax, eax
or rsi, rax
jmp 0x1400725ec
inc rdx
lea rcx, [rsp + 0x70]
call fcn.140072840
mov rsi, rax
lea rax, [rsi + rbp]
mov rbp, qword [rdi + 0x18]
movzx r12d, byte [rax + r14]
mov r14, qword [rdi + 0x10]
cmp r14, rbp
jae 0x140072625
lea rax, [r14 + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rbp, 0xf
jbe 0x140072616
mov rax, qword [rdi]
mov byte [rax + r14], r12b
mov byte [rax + r14 + 1], 0
jmp 0x1400726ee
mov rax, r15
sub rax, r14
cmp rax, 1
jb 0x14007271f
lea r13, [r14 + 1]
mov rsi, r13
or rsi, 0xf
cmp rsi, r15
jbe 0x14007264a
mov rsi, r15
jmp 0x14007266b
mov rcx, rbp
mov rax, r15
shr rcx, 1
sub rax, rcx
cmp rbp, rax
jbe 0x140072660
mov rsi, r15
jmp 0x14007266b
lea rax, [rcx + rbp]
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
call fcn.140066350
mov qword [rdi + 0x10], r13
mov r15, rax
mov qword [rdi + 0x18], rsi
mov r8, r14
mov rcx, rax
cmp rbp, 0xf
jbe 0x1400726cf
mov rsi, qword [rdi]
mov rdx, rsi
call fcn.14010d690
lea rdx, [rbp + 1]
mov byte [r14 + r15], r12b
mov byte [r14 + r15 + 1], 0
cmp rdx, 0x1000
jb 0x1400726c5
mov rcx, qword [rsi - 8]
add rdx, 0x27
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
ja 0x140072719
mov rsi, rcx
mov rcx, rsi
call fcn.1400deee8
jmp 0x1400726e1
mov rdx, rdi
call fcn.14010d690
mov byte [r14 + r15], r12b
mov byte [r14 + r15 + 1], 0
mov qword [rdi], r15
movabs r15, 0x7fffffffffffffff
mov rbp, qword [rsp + 0x60]
test rbp, rbp
je 0x140072702
mov rax, qword [rsp + 0x68]
jmp 0x1400725a0
mov r13, qword [rsp + 0x78]
mov rax, rdi
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400f0938
int3
call fcn.140057bb0
int3