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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1400
call fcn.14010d900
sub rsp, rax
movaps xmmword [rsp + 0x13f0], xmm6
movaps xmmword [rsp + 0x13e0], xmm7
mov rax, qword [0x14024a650]
xor rax, rsp
mov qword [rsp + 0x13d0], rax
movaps xmm6, xmm2
movaps xmm7, xmm1
mov rbp, rcx
call fcn.14010bb08
mov dword [rsp + 0x44], eax
mov edx, 1
mov dword [rsp + 0x13c4], 0xffffffff
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x44], eax
inc rdx
cmp rdx, 0x270
jb 0x14007bac0
mov r8d, 0x80000000
mov dword [rsp + 0x40], 0x270
cvttss2si ecx, xmm6
xor r14d, r14d
cvttss2si edx, xmm7
cmp ecx, r8d
lea eax, [rcx - 0x80000000]
lea r13d, [rcx + r8]
cmovae r13d, eax
cmp edx, r8d
lea edi, [r13 - 0x80000000]
lea eax, [rdx - 0x80000000]
lea ebx, [rdx + r8]
cmovae ebx, eax
mov dword [rsp + 0x20], ebx
lea esi, [rbx - 0x80000000]
nop word [rax + rax]
cmp r13d, 0x7fffffff
jne 0x14007bb47
lea rcx, [rsp + 0x40]
call fcn.140021780
mov edx, eax
jmp 0x14007bb8f
lea ebx, [r13 - 0x7fffffff]
nop
xor r8d, r8d
xor eax, eax
test edi, edi
je 0x14007bb6b
lea rcx, [rsp + 0x40]
call fcn.140021780
mov r8d, eax
mov eax, 0xffffffff
xor edx, edx
div ebx
mov ecx, eax
mov r9d, edx
xor edx, edx
mov eax, r8d
div ebx
cmp eax, ecx
jb 0x14007bb84
cmp r9d, edi
jne 0x14007bb50
xor edx, edx
mov eax, r8d
div ebx
mov ebx, dword [rsp + 0x20]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
cmp ebx, 0x7fffffff
jne 0x14007bbac
lea rcx, [rsp + 0x40]
call fcn.140021780
mov edx, eax
jmp 0x14007bbf1
add ebx, 0x80000001
xor r8d, r8d
xor eax, eax
test esi, esi
je 0x14007bbcd
lea rcx, [rsp + 0x40]
call fcn.140021780
mov r8d, eax
mov eax, 0xffffffff
xor edx, edx
div ebx
mov ecx, eax
mov r9d, edx
xor edx, edx
mov eax, r8d
div ebx
cmp eax, ecx
jb 0x14007bbe6
cmp r9d, esi
jne 0x14007bbb2
xor edx, edx
mov eax, r8d
div ebx
mov ebx, dword [rsp + 0x20]
movd xmm0, edx
mov rdx, qword [rbp + 8]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x2c], xmm1
movss dword [rsp + 0x28], xmm0
cmp rdx, qword [rbp + 0x10]
je 0x14007bc1f
movsd xmm0, qword [rsp + 0x28]
movsd qword [rdx], xmm0
add qword [rbp + 8], 8
jmp 0x14007bc30
lea r8, [rsp + 0x28]
mov rcx, rbp
call fcn.14007bee0
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.140021780
and eax, 1
lea rcx, [rsp + 0x40]
lea eax, [rax*2 - 1]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.140021780
mov rdx, qword [rbp + 0x20]
test al, 1
mov eax, 1
mov ecx, 0xffffffff
cmove eax, ecx
movss dword [rsp + 0x34], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
cmp rdx, qword [rbp + 0x28]
je 0x14007bc92
movsd xmm0, qword [rsp + 0x30]
movsd qword [rdx], xmm0
add qword [rbp + 0x20], 8
jmp 0x14007bca0
lea r8, [rsp + 0x30]
lea rcx, [rbp + 0x18]
call fcn.14007bee0
lea rcx, [rsp + 0x40]
call fcn.140021780
and eax, 1
mov r8d, 0x80000000
lea ecx, [rax - 0x7ffffffd]
cmp ecx, r8d
lea eax, [rcx - 0x80000000]
lea edx, [rcx + r8]
cmovae edx, eax
mov rax, qword [rbp + 0x38]
mov dword [rsp + 0x24], edx
cmp rax, qword [rbp + 0x40]
je 0x14007bce0
mov dword [rax], edx
add qword [rbp + 0x38], 4
jmp 0x14007bcf1
lea r8, [rsp + 0x24]
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14007bd40
inc r14d
cmp r14d, 0xa
jl 0x14007bb30
mov rcx, qword [rsp + 0x13d0]
xor rcx, rsp
call fcn.14010cca0
lea r11, [rsp + 0x1400]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret