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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rsp - 0x1420]
mov eax, 0x1520
call fcn.140027b30
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
movaps xmmword [rsp + 0x1510], xmm6
movaps xmmword [rsp + 0x1500], xmm7
movaps xmmword [rsp + 0x14f0], xmm8
movaps xmmword [rsp + 0x14e0], xmm9
mov rsi, rcx
xor r12d, r12d
mov dword [rbp + 0x1458], r12d
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x20], r12b
xor r8d, r8d
lea rdx, [0x14004d521]
lea rcx, [rsp + 0x20]
call fcn.1400109f0
nop
call fcn.14003e0fc
nop
cmp qword [rsp + 0x38], 0x10
jb 0x14000ba98
mov rcx, qword [rsp + 0x20]
call fcn.140023d50
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x20], 0
call fcn.14003e0fc
mov dword [rbp + 0x13d4], 0xffffffff
mov dword [rbp + 0x54], eax
mov edx, 1
mov r8d, edx
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor eax, ecx
imul eax, eax, 0x6c078965
add eax, r8d
mov dword [rbp + rdx*4 + 0x54], eax
inc r8d
inc rdx
cmp rdx, 0x270
jl 0x14000bad0
mov edi, 0x270
mov dword [rbp + 0x50], edi
lea rcx, [rsp + 0x50]
call fcn.14000e1d0
nop
mov ebx, r12d
movsd xmm6, qword [0x14004ea48]
xorpd xmm8, xmm8
subsd xmm6, xmm8
addsd xmm6, qword [0x14004ea50]
movsd xmm9, qword [0x14004f5a8]
movapd xmm7, xmm9
subsd xmm7, xmm8
addsd xmm7, qword [0x14004ea50]
nop
cmp edi, 0x270
jne 0x14000bb53
lea rcx, [rbp + 0x50]
call fcn.1400129d0
jmp 0x14000bb64
cmp edi, 0x4e0
jb 0x14000bb67
lea rcx, [rbp + 0x50]
call fcn.1400128f0
mov edi, dword [rbp + 0x50]
mov eax, edi
mov ecx, dword [rbp + rax*4 + 0x54]
inc edi
mov dword [rbp + 0x50], edi
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x13d4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
mulsd xmm0, xmm7
addsd xmm0, xmm8
comisd xmm0, xmm9
jb 0x14000bbc2
mov eax, reloc.WS2_32.dll_ntohs
jmp 0x14000bbcf
cvttsd2si eax, xmm0
cmp eax, 0xa
jge 0x14000bbcf
add al, 0x30
jmp 0x14000bbd1
add al, 0x57
movzx edx, al
lea rcx, [rsp + 0x60]
call fcn.140011dc0
cmp ebx, 7
je 0x14000bbf2
cmp ebx, 0xb
je 0x14000bbf2
cmp ebx, 0xf
je 0x14000bbf2
cmp ebx, 0x13
jne 0x14000bbfe
mov dl, 0x2d
lea rcx, [rsp + 0x60]
call fcn.140011dc0
inc ebx
cmp ebx, 0x20
jl 0x14000bb40
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.14000e320
mov dword [rbp + 0x1458], 1
lea rax, [rbp - 0x18]
mov qword [rbp + 0x1460], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x50], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x1468], rax
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x68], rax
test byte [rbp - 0x20], 1
je 0x14000bc6a
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
call fcn.140023d50
mov rax, qword [rbp - 0x78]
mov qword [rax], r12
mov rax, qword [rbp - 0x58]
mov qword [rax], r12
mov rax, qword [rbp - 0x40]
mov dword [rax], r12d
mov rax, qword [rbp - 0x70]
mov qword [rax], r12
mov rax, qword [rbp - 0x50]
mov qword [rax], r12
mov rax, qword [rbp - 0x38]
mov dword [rax], r12d
mov qword [rbp - 0x28], r12
and dword [rbp - 0x20], 0xfffffffe
lea rcx, [rsp + 0x68]
call fcn.14000cf60
nop
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x18]
call fcn.14003e0b0
mov rax, rsi
lea r11, [rsp + 0x1520]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret