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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r13, rdx
mov rdi, rcx
xor ebp, ebp
mov dword [rax - 0x78], ebp
mov qword [rax - 0x58], rbp
mov qword [rax - 0x48], rbp
mov qword [rax - 0x40], 7
mov word [rax - 0x58], bp
lea r8d, [rbp + 0x3e]
lea rdx, [0x1400aaa90]
lea rcx, [rax - 0x58]
call fcn.14000ad50
nop
mov ecx, dword [0x1400d02a8]
mov rax, qword gs:[0x58]
mov rsi, qword [rax + rcx*8]
mov ebx, 0x1398
mov eax, dword [rbx + rsi]
mov r14d, 0x10
mov r15d, 0xffffffff
test al, 1
jne 0x1400076cc
or eax, 1
mov dword [rbx + rsi], eax
call fcn.14007b764
mov r9d, r14d
add r9, rsi
mov dword [r9 + 0x1384], r15d
mov dword [r9 + 4], eax
lea edx, [rbp + 1]
lea r8, [r9 + 8]
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [r8], eax
inc rdx
lea r8, [r8 + 4]
cmp rdx, 0x270
jb 0x1400076a0
mov dword [r9], 0x270
mov eax, dword [rbx + rsi]
test al, 2
jne 0x1400076f0
or eax, 2
mov dword [rbx + rsi], eax
mov rax, qword [rsp + 0x50]
dec rax
mov ecx, 0x13a0
mov ebx, ecx
mov qword [rcx + rsi], rbp
mov qword [rcx + rsi + 8], rax
jmp 0x1400076f5
mov ebx, 0x13a0
mov qword [rdi], rbp
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], 7
mov word [rdi], bp
mov dword [rsp + 0x20], 1
mov rdx, r13
mov rcx, rdi
call fcn.1400625e0
mov rbp, qword [rsp + 0x40]
test r13, r13
je 0x1400078ed
mov ecx, r14d
add rcx, rsi
mov qword [rsp + 0xb0], rcx
lea rax, [rsi + rbx]
mov qword [rsp + 0xa8], rax
movabs r14, 0x7ffffffffffffffe
nop dword [rax]
dec r13
mov rdx, qword [rax + 8]
mov rbx, qword [rax]
mov qword [rsp + 0x28], rcx
mov ecx, 0x40
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
dec rcx
shr rax, 1
cmp rax, r15
ja 0x140007770
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
sub rdx, rbx
lea rcx, [rsp + 0x28]
cmp rdx, 0xffffffffffffffff
jne 0x14000779a
call fcn.140062150
jmp 0x1400077a2
inc rdx
call fcn.140061cf0
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, rbp
add rax, rbx
movzx r12d, word [rcx + rax*2]
mov rsi, qword [rdi + 0x10]
mov rbp, qword [rdi + 0x18]
cmp rsi, rbp
jae 0x1400077eb
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rbp, 8
jb 0x1400077da
mov rax, qword [rdi]
mov word [rax + rsi*2], r12w
xor ecx, ecx
mov word [rax + rsi*2 + 2], cx
jmp 0x1400078ce
mov rax, r14
sub rax, rsi
cmp rax, 1
jb 0x140007950
lea r15, [rsi + 1]
mov rbx, r15
or rbx, 7
cmp rbx, r14
jbe 0x140007810
mov rbx, r14
jmp 0x140007831
mov rcx, rbp
shr rcx, 1
mov rax, r14
sub rax, rcx
cmp rbp, rax
jbe 0x140007826
mov rbx, r14
jmp 0x140007831
lea rax, [rcx + rbp]
cmp rbx, rax
cmovb rbx, rax
lea rdx, [rbx + 1]
mov rcx, rdi
call fcn.14000ace0
mov r14, rax
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp rbp, 8
jb 0x1400078a6
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.14007dab0
mov word [r14 + rsi], r12w
xor eax, eax
mov word [r14 + rsi + 2], ax
lea rdx, [rbp*2 + 2]
cmp rdx, 0x1000
jb 0x14000789c
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x14000794a
mov rbx, rcx
mov rcx, rbx
call fcn.14007bbb4
jmp 0x1400078bb
mov rdx, rdi
call fcn.14007dab0
mov word [r14 + rsi], r12w
xor eax, eax
mov word [r14 + rsi + 2], ax
mov qword [rdi], r14
mov r15d, 0xffffffff
movabs r14, 0x7ffffffffffffffe
mov rbp, qword [rsp + 0x40]
test r13, r13
je 0x1400078ed
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
jmp 0x140007750
mov rax, qword [rsp + 0x58]
cmp rax, 8
jb 0x140007929
lea rdx, [rax*2 + 2]
mov rax, rbp
cmp rdx, 0x1000
jb 0x140007921
add rdx, 0x27
mov rbp, qword [rbp - 8]
sub rax, rbp
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007944
mov rcx, rbp
call fcn.14007bbb4
mov rax, rdi
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140082148
nop
call fcn.140082148
int3
call fcn.14000acc0
int3