Function at 0x14006f8f0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using djb2

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1350]
mov eax, 0x1450
call fcn.140073630
sub rsp, rax
mov rax, qword [0x14009b040]
xor rax, rsp
mov qword [rbp + 0x1340], rax
mov rsi, rdx
mov qword [rsp + 0x70], rdx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], 7
mov word [rdx], r12w
mov r15d, 1
mov dword [rsp + 0x20], r15d
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x68]
call fcn.14006f030
nop
nop dword [rax]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x1334], 0xffffffff
mov dword [rbp - 0x4c], eax
mov ecx, 1
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0x4c], edx
inc rcx
cmp rcx, 0x270
jb 0x14006f990
mov dword [rbp - 0x50], 0x270
mov rbx, qword [rbp - 0x60]
mov r14, qword [rbp - 0x68]
sub rbx, r14
sar rbx, 5
lea rcx, [rbp - 0x50]
call fcn.140071850
test ebx, ebx
jne 0x14006f9d6
mov ecx, eax
jmp 0x14006fa07
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x14006fa03
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x14006fa03
lea rcx, [rbp - 0x50]
call fcn.140071850
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x14006f9f0
shr rcx, 0x20
mov r9d, ecx
shl r9, 5
add r9, r14
cmp rsi, r9
je 0x14006fa5e
mov rdx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 7
jbe 0x14006fa24
mov r9, qword [r9]
mov rax, qword [rsi + 0x18]
cmp rdx, rax
ja 0x14006fa56
mov rdi, rsi
cmp rax, 7
jbe 0x14006fa39
mov rdi, qword [rsi]
mov qword [rsi + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi], r12w
jmp 0x14006fa5e
mov rcx, rsi
call fcn.140070ce0
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x14006fa6b
mov rdx, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x78]
call fcn.140071010
or r15d, 6
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 7
cmova rcx, qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.14006dd00
cmp rax, rdi
je 0x14006fafb
nop word [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14006facf
cmp cx, 0x2f
jne 0x14006fad8
add rax, 2
cmp rax, rdi
jne 0x14006fac0
cmp rax, rdi
je 0x14006fafb
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14006fafb
cmp cx, 0x2f
je 0x14006fafb
mov rbx, rdx
cmp rax, rdx
jne 0x14006fae0
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140071010
or r15d, 0x38
mov dword [rsp + 0x20], r15d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.140070400
or r15d, 0x40
mov dword [rsp + 0x20], r15d
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 7
cmova rdx, qword [rsp + 0x28]
mov ecx, 0x1505
mov rax, qword [rsp + 0x38]
lea r8, [rdx + rax*2]
cmp rdx, r8
je 0x14006fb83
nop dword [rax + rax]
imul rcx, rcx, 0x21
movzx eax, word [rdx]
add rcx, rax
add rdx, 2
cmp rdx, r8
jne 0x14006fb70
call fcn.1400719e0
mov rbx, rax
mov rdx, qword [rsp + 0x40]
cmp rdx, 7
jbe 0x14006fbcd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fbc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006fc68
call fcn.1400728d4
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], r12w
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14006fc20
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fc1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006fc6f
call fcn.1400728d4
nop
test rbx, rbx
je 0x14006fc7d
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x14006fc63
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fc5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006fc76
call fcn.1400728d4
nop
jmp 0x14006f970
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x14006fcc2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fcbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006fcbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400728d4
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14006fd10
mov rdx, qword [rbp - 0x60]
call fcn.140071140
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x68]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fd0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006fd0b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400728d4
mov rax, rsi
mov rcx, qword [rbp + 0x1340]
xor rcx, rsp
call fcn.140072440
lea r11, [rsp + 0x1450]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret