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

Disassembly:
mov eax, 0x1478
call fcn.1800b3ba0
sub rsp, rax
mov rax, qword [0x18012c038]
xor rax, rsp
mov qword [rsp + 0x1400], rax
cmp byte [0x18012d3f9], 0
je 0x1800498d1
cmp byte [0x18012d3fa], 0
je 0x180049497
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x1801348e0]
cmp rax, 0x9c4
jbe 0x180049497
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_plugins::spot_minimap_void_::_10::_lambda_1___void___.0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
call fcn.1800a4700
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1801348e0], rax
movabs rax, 0x142670d80
mov rax, qword [rax]
test rax, rax
je 0x1800498d1
mov qword [rsp + 0x1488], rbp
mov rbp, qword [rax + 0x60]
test rbp, rbp
je 0x1800498c9
mov qword [rsp + 0x1490], rsi
mov rsi, qword [rbp + 0x540]
mov qword [rsp + 0x1468], r14
movabs r14, 0xefffffffeffff
lea rax, [rsi - 0x10000]
cmp rax, r14
ja 0x1800498b9
mov rcx, qword [rsi]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x1800498b9
mov qword [rsp + 0x1470], r12
movabs r12, 0xfffffffebfffffff
lea rax, [rcx + r12]
cmp rax, 0xffffffd
ja 0x1800498b1
mov qword [rsp + 0x1480], rbx
mov qword [rsp + 0x1498], rdi
mov qword [rsp + 0x1460], r15
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
movaps xmmword [rsp + 0x1410], xmm10
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13f4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x74], eax
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 + 0x74], eax
inc rdx
cmp rdx, 0x270
jb 0x180049590
movsd xmm8, qword [0x180116768]
xor edi, edi
movsd xmm7, qword [0x180116848]
mov r15d, 0x17a
movsd xmm10, qword [0x180116760]
xorps xmm6, xmm6
mov dword [rsp + 0x70], 0x270
xorps xmm9, xmm9
cmp byte [0x18012d488], 0
je 0x180049632
movaps xmm1, xmm6
movaps xmm2, xmm8
mov ebx, 2
lea rcx, [rsp + 0x70]
call fcn.1800499c0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm6
mulsd xmm0, xmm2
mulsd xmm2, xmm7
addsd xmm1, xmm0
sub rbx, 1
jne 0x1800495f5
divsd xmm1, xmm2
addsd xmm1, xmm6
comisd xmm10, xmm1
ja 0x180049861
mov rax, qword [rbp + 0x548]
mov rbx, qword [rax + rdi*8]
lea rax, [rbx - 0x10000]
cmp rax, r14
ja 0x180049861
test rbx, rbx
je 0x180049861
mov rdx, qword [rbx]
lea rax, [rdx - 0x10000]
cmp rax, r14
ja 0x180049861
test rdx, rdx
je 0x180049861
lea rax, [rdx + r12]
cmp rax, 0xffffffd
ja 0x180049861
cmp rbx, rsi
je 0x180049861
mov eax, dword [rsi + 0x13cc]
cmp dword [rbx + 0x13cc], eax
je 0x180049861
mov rcx, rbx
call qword [rdx + 0x20]
test al, al
je 0x180049753
mov rdx, qword [rbx + 0x14c0]
lea rax, [rdx - 0x10000]
cmp rax, r14
ja 0x180049753
test rdx, rdx
je 0x180049753
mov rcx, qword [rdx]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x180049753
test rcx, rcx
je 0x180049753
lea rax, [rcx + r12]
cmp rax, 0xffffffd
ja 0x180049753
mov rdx, qword [rdx + 0x38]
lea rax, [rdx - 0x10000]
cmp rax, r14
ja 0x180049861
test rdx, rdx
je 0x180049861
movzx r8d, byte [rdx + 9]
lea rcx, [rdx + 0x10]
shl r8, 5
add r8, 0x30
add r8, rdx
cmp qword [rdx + 0x20], 0
je 0x180049861
nop word [rax + rax]
cmp word [rcx], r15w
je 0x18004981e
add rcx, 0x20
cmp rcx, r8
je 0x180049861
cmp qword [rcx + 0x10], 0
jne 0x180049730
jmp 0x180049861
mov rcx, rbx
call fcn.1800413e0
mov rdx, rax
lea rcx, [rax - 0x10000]
cmp rcx, r14
ja 0x180049861
test rax, rax
je 0x180049861
mov rax, qword [rax]
lea rcx, [rax - 0x10000]
cmp rcx, r14
ja 0x180049861
test rax, rax
je 0x180049861
add rax, r12
cmp rax, 0xffffffd
ja 0x180049861
mov rcx, qword [rdx + 0x140]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x180049861
test rcx, rcx
je 0x180049861
movss xmm0, dword [rcx + 0x20]
comiss xmm0, xmm9
seta al
test al, al
je 0x180049861
mov rdx, qword [rdx + 0x38]
lea rax, [rdx - 0x10000]
cmp rax, r14
ja 0x180049861
test rdx, rdx
je 0x180049861
movzx r8d, byte [rdx + 9]
lea rcx, [rdx + 0x10]
shl r8, 5
add r8, 0x30
add r8, rdx
cmp qword [rdx + 0x20], 0
je 0x180049861
cmp word [rcx], r15w
je 0x18004981e
add rcx, 0x20
cmp rcx, r8
je 0x180049861
cmp qword [rcx + 0x10], 0
jne 0x180049806
jmp 0x180049861
mov rdx, qword [rcx + 0x10]
lea rax, [rdx - 0x10000]
cmp rax, r14
ja 0x180049861
test rdx, rdx
je 0x180049861
mov rcx, qword [rdx]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x180049861
test rcx, rcx
je 0x180049861
lea rax, [rcx + r12]
cmp rax, 0xffffffd
ja 0x180049861
xor eax, eax
cmp byte [0x18012d47c], al
setne al
mov dword [rdx + 0x50], eax
inc rdi
cmp rdi, 0x46
jl 0x1800495e0
movaps xmm10, xmmword [rsp + 0x1410]
movaps xmm9, xmmword [rsp + 0x1420]
movaps xmm8, xmmword [rsp + 0x1430]
movaps xmm7, xmmword [rsp + 0x1440]
movaps xmm6, xmmword [rsp + 0x1450]
mov r15, qword [rsp + 0x1460]
mov rdi, qword [rsp + 0x1498]
mov rbx, qword [rsp + 0x1480]
mov r12, qword [rsp + 0x1470]
mov rsi, qword [rsp + 0x1490]
mov r14, qword [rsp + 0x1468]
mov rbp, qword [rsp + 0x1488]
mov rcx, qword [rsp + 0x1400]
xor rcx, rsp
call fcn.1800b2700
add rsp, 0x1478
ret