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

Disassembly:
push rbp
push rsi
push r14
push r15
lea rbp, [rsp - 0x1338]
mov eax, 0x1438
call fcn.140114370
sub rsp, rax
movaps xmmword [rsp + 0x1400], xmm8
mov rax, qword [0x140287748]
xor rax, rsp
mov qword [rbp + 0x12f0], rax
movaps xmm8, xmm1
mov r14, rcx
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov dword [rsp + 0x64], eax
mov edx, 1
mov dword [rbp + 0x12e4], 0xffffffff
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x1400b48c0
mov rax, qword [r14]
mov dword [rsp + 0x60], 0x270
cmp rax, qword [r14 + 8]
je 0x1400b48f4
mov qword [r14 + 8], rax
mov rax, qword [r14 + 0x18]
cmp rax, qword [r14 + 0x20]
je 0x1400b4902
mov qword [r14 + 0x20], rax
mov rax, qword [r14 + 0x30]
cmp rax, qword [r14 + 0x38]
je 0x1400b4910
mov qword [r14 + 0x38], rax
xorps xmm0, xmm0
comiss xmm8, xmm0
jbe 0x1400b4b2c
mov qword [rsp + 0x1468], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x1470], rdi
xor edi, edi
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x1430], r12
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
lea r12d, [rdi - 1]
lea rax, [rsp + 0x60]
movaps xmmword [rsp + 0x1420], xmm6
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x1410], xmm7
mov dword [rsp + 0x20], 3
nop dword [rax + rax]
lea rcx, [rsp + 0x38]
call fcn.1400b4e60
mov eax, eax
imul rcx, rax, 0x439
cmp ecx, 0x319
ja 0x1400b49bb
nop dword [rax + rax]
lea rcx, [rsp + 0x38]
call fcn.1400b4e60
mov eax, eax
imul rcx, rax, 0x439
cmp ecx, 0x31a
jb 0x1400b49a0
shr rcx, 0x20
movd xmm7, ecx
lea rcx, [rsp + 0x40]
cvtdq2ps xmm7, xmm7
call fcn.1400b4e60
mov eax, eax
mov ebx, edi
movaps xmm6, xmm7
imul rcx, rax, 0x7bd
cmp ecx, 0x7bd
jae 0x1400b4a0b
cmp ecx, 0x330
jae 0x1400b4a0b
nop
lea rcx, [rsp + 0x40]
call fcn.1400b4e60
mov eax, eax
imul rcx, rax, 0x7bd
cmp ecx, 0x330
jb 0x1400b49f0
mov rdx, qword [r14 + 8]
shr rcx, 0x20
movss dword [rsp + 0x28], xmm6
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x24], xmm0
cmp rdx, qword [r14 + 0x10]
je 0x1400b4a40
unpcklps xmm0, xmm6
movsd qword [rdx], xmm0
add qword [r14 + 8], 8
movsd qword [rsp + 0x24], xmm0
jmp 0x1400b4a4d
lea r8, [rsp + 0x24]
mov rcx, r14
call fcn.1400b3d70
lea rcx, [rsp + 0x48]
call fcn.1400b4e60
mov eax, eax
lea rcx, [rsp + 0x50]
add rax, rax
shr rax, 0x20
lea eax, [rax*2 - 1]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1400b4e60
mov rdx, qword [r14 + 0x20]
mov ecx, eax
mov eax, 1
add rcx, rcx
movss dword [rsp + 0x30], xmm6
shr rcx, 0x20
test ecx, ecx
cmove eax, r12d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x2c], xmm0
cmp rdx, qword [r14 + 0x28]
je 0x1400b4abd
unpcklps xmm0, xmm6
movsd qword [rdx], xmm0
add qword [r14 + 0x20], 8
movsd qword [rsp + 0x2c], xmm0
jmp 0x1400b4acb
lea r8, [rsp + 0x2c]
lea rcx, [r14 + 0x18]
call fcn.1400b3d70
mov rdx, qword [r14 + 0x38]
cmp rdx, qword [r14 + 0x40]
je 0x1400b4ae2
mov dword [rdx], 3
add qword [r14 + 0x38], 4
jmp 0x1400b4af0
lea r8, [rsp + 0x20]
lea rcx, [r14 + 0x30]
call fcn.1400b3bc0
lea edi, [rbx + 1]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm8, xmm0
ja 0x1400b4980
movaps xmm7, xmmword [rsp + 0x1410]
movaps xmm6, xmmword [rsp + 0x1420]
mov r12, qword [rsp + 0x1430]
mov rdi, qword [rsp + 0x1470]
mov rbx, qword [rsp + 0x1468]
mov rcx, qword [rbp + 0x12f0]
xor rcx, rsp
call fcn.1401140d0
movaps xmm8, xmmword [rsp + 0x1400]
add rsp, 0x1438
pop r15
pop r14
pop rsi
pop rbp
ret