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

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov qword [r11 - 0x70], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov rax, qword [0x1402f2080]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12, rcx
mov qword [r11 - 0x68], rcx
mov ecx, 0x9c8
call fcn.1401467ec
mov rbx, rax
mov qword [rsp + 0x20], rax
mov dword [rax], 0x1571
mov qword [rax + 0x9c0], 1
nop dword [rax + rax]
mov rdx, qword [rbx + 0x9c0]
mov ecx, dword [rbx + rdx*4 - 4]
shr ecx, 0x1e
xor ecx, dword [rbx + rdx*4 - 4]
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbx + rdx*4], eax
inc qword [rbx + 0x9c0]
cmp qword [rbx + 0x9c0], 0x270
jb 0x1400b6870
mov eax, dword [rbx + 0x9bc]
xor eax, dword [rbx + 0x630]
jge 0x1400b68bb
xor eax, 0x1908b0df
add eax, eax
or eax, 1
jmp 0x1400b68bd
add eax, eax
and dword [rbx], 0x80000000
btr eax, 0x1f
or dword [rbx], eax
xor edi, edi
mov eax, edi
nop dword [rax]
cmp dword [rbx + rax*4], edi
jne 0x1400b68e6
inc rax
cmp rax, 0x270
jb 0x1400b68d0
mov dword [rbx], 0x80000000
mov qword [rsp + 0x38], r12
mov qword [r12], rbx
mov qword [r12 + 8], rdi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400d4930
mov rdx, rax
mov rcx, qword [r12 + 8]
mov rax, qword [rax]
mov qword [r12 + 8], rax
mov qword [rdx], rcx
mov rsi, qword [rsp + 0x20]
test rsi, rsi
je 0x1400b694c
mov ebp, 0xffffffff
mov eax, ebp
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400b694c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
lock xadd dword [rsi + 0xc], ebp
cmp ebp, 1
jne 0x1400b694c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
mov r8, rbx
mov rdx, rbx
mov rcx, r12
call fcn.140068a20
nop
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x24], 0xffffffff
mov rax, qword [r12]
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x20]
mov qword [r12 + 0x18], rax
mov r14, qword [r12]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x54], 5
lea rdx, [0x1402468e8]
lea rcx, str._dev_urandom
call fcn.14017297c
mov qword [rsp + 0x58], rax
mov edx, dword [rsp + 0x54]
cmp edx, 5
jl 0x1400b69cd
lea rcx, [rsp + 0x40]
call fcn.1400a61c0
mov edx, edi
mov dword [rsp + 0x54], edx
movsxd rax, edx
mov r8d, dword [rsp + rax*4 + 0x40]
inc edx
mov dword [rsp + 0x54], edx
mov r15, rdi
nop
mov ebp, edi
mov rsi, rdi
mov ebx, r8d
cmp edx, 5
jl 0x1400b69fd
lea rcx, [rsp + 0x40]
call fcn.1400a61c0
mov edx, edi
mov dword [rsp + 0x54], edx
movsxd rax, edx
mov r8d, dword [rsp + rax*4 + 0x40]
inc edx
mov dword [rsp + 0x54], edx
mov rcx, rsi
shl ebx, cl
add ebp, ebx
add rsi, 0x20
cmp rsi, 0x20
jb 0x1400b69e5
mov dword [r14 + r15*4], ebp
inc r15
cmp r15, 0x270
jb 0x1400b69e0
mov qword [r14 + 0x9c0], 0x270
mov eax, dword [r14 + 0x9bc]
xor eax, dword [r14 + 0x630]
jge 0x1400b6a53
xor eax, 0x1908b0df
add eax, eax
or eax, 1
jmp 0x1400b6a55
add eax, eax
and dword [r14], 0x80000000
btr eax, 0x1f
or dword [r14], eax
cmp dword [r14 + rdi*4], 0
jne 0x1400b6a7d
inc rdi
cmp rdi, 0x270
jb 0x1400b6a63
mov dword [r14], 0x80000000
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400b6a8d
call fcn.140172a0c
nop
mov rax, r12
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140146480
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret