public byte[] ReadMemoryBytes(IntPtr processHandle, long address, int bytesToRead)
        {
            var buffer = new byte[bytesToRead];

            ProcessFunctions.ReadProcessMemory(processHandle, new IntPtr(address), buffer, bytesToRead, out _);
            return(buffer);
        }
        public float ReadMemoryFloat(IntPtr processHandle, long address)
        {
            var buffer = new byte[sizeof(float)];

            ProcessFunctions.ReadProcessMemory(processHandle, new IntPtr(address), buffer, buffer.Length, out _);
            return(BitConverter.ToSingle(buffer, 0));
        }
        public byte ReadMemoryByte(IntPtr processHandle, long address)
        {
            var buffer = new byte[sizeof(byte)];

            ProcessFunctions.ReadProcessMemory(processHandle, new IntPtr(address), buffer, buffer.Length, out _);

            return(buffer[0]);
        }
        public long ReadMemoryLong(IntPtr processHandle, long address)
        {
            var buffer = new byte[sizeof(int)];

            ProcessFunctions.ReadProcessMemory(processHandle, new IntPtr(address), buffer, buffer.Length, out _);

            return(BitConverter.ToInt32(buffer, 0));
        }