public static Xbox360DMI?DecodeXbox360(byte[] response) { bool isX360 = IsXbox360(response); if (!isX360) { return(null); } Xbox360DMI dmi = new Xbox360DMI { DataLength = (ushort)((response[0] << 8) + response[1]), Reserved1 = response[2], Reserved2 = response[3], Version = BitConverter.ToUInt32(response, 4), Timestamp = BitConverter.ToInt64(response, 20), MediaID = new byte[16] }; Array.Copy(response, 36, dmi.MediaID, 0, 16); byte[] tmp = new byte[16]; Array.Copy(response, 68, tmp, 0, 16); dmi.CatalogNumber = StringHandlers.CToString(tmp); return(dmi.CatalogNumber == null || dmi.CatalogNumber.Length < 13 ? (Xbox360DMI?)null : dmi); }