2021-11-11 11:18:46 -06:00
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Runtime.CompilerServices;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using _003CCppImplementationDetails_003E;
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.Zune.Service
|
|
|
|
|
{
|
|
|
|
|
public class VideoOfferCollection : OfferCollection, IDisposable
|
|
|
|
|
{
|
|
|
|
|
private IList m_items;
|
|
|
|
|
|
|
|
|
|
private unsafe IVideoCollection* m_pCollection;
|
|
|
|
|
|
|
|
|
|
public IList Items => m_items;
|
|
|
|
|
|
|
|
|
|
internal unsafe VideoOfferCollection()
|
|
|
|
|
: this()
|
|
|
|
|
{
|
|
|
|
|
//IL_0015: Expected I, but got I8
|
|
|
|
|
m_items = null;
|
|
|
|
|
m_pCollection = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void _007EVideoOfferCollection()
|
|
|
|
|
{
|
|
|
|
|
_0021VideoOfferCollection();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private unsafe void _0021VideoOfferCollection()
|
|
|
|
|
{
|
|
|
|
|
//IL_0017: Expected I, but got I8
|
|
|
|
|
//IL_0020: Expected I, but got I8
|
|
|
|
|
IVideoCollection* pCollection = m_pCollection;
|
|
|
|
|
if (pCollection != null)
|
|
|
|
|
{
|
|
|
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)pCollection + 16)))((nint)pCollection);
|
|
|
|
|
m_pCollection = null;
|
|
|
|
|
}
|
|
|
|
|
m_items = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal unsafe int Init(IVideoCollection* pCollection)
|
|
|
|
|
{
|
|
|
|
|
//IL_0010: Expected I, but got I8
|
|
|
|
|
//IL_0057: Expected I, but got I8
|
|
|
|
|
//IL_0057: Expected I, but got I8
|
|
|
|
|
//IL_008f: Expected I, but got I8
|
|
|
|
|
//IL_009c: Expected I, but got I8
|
|
|
|
|
//IL_00a9: Expected I, but got I8
|
|
|
|
|
//IL_00b6: Expected I, but got I8
|
|
|
|
|
//IL_00c6: Expected I, but got I8
|
|
|
|
|
//IL_00d3: Expected I, but got I8
|
|
|
|
|
//IL_00f5: Expected I, but got I8
|
|
|
|
|
//IL_00f5: Expected I, but got I8
|
|
|
|
|
//IL_011a: Expected I, but got I8
|
|
|
|
|
//IL_02e5: Expected I, but got I8
|
|
|
|
|
//IL_02e5: Expected I, but got I8
|
|
|
|
|
//IL_02f6: Expected I, but got I8
|
|
|
|
|
//IL_0347: Expected I, but got I8
|
|
|
|
|
//IL_0347: Expected I, but got I8
|
|
|
|
|
//IL_0378: Expected I, but got I8
|
|
|
|
|
//IL_0378: Expected I, but got I8
|
|
|
|
|
//IL_03f3: Expected I, but got I8
|
|
|
|
|
//IL_03f3: Expected I, but got I8
|
|
|
|
|
//IL_046b: Expected I, but got I8
|
|
|
|
|
//IL_046b: Expected I, but got I8
|
|
|
|
|
//IL_0485: Incompatible stack types: Ref vs I
|
|
|
|
|
//IL_050e: Expected I, but got I8
|
|
|
|
|
//IL_050e: Expected I, but got I8
|
|
|
|
|
//IL_0547: Expected I, but got I8
|
|
|
|
|
//IL_0547: Expected I, but got I8
|
|
|
|
|
//IL_0595: Expected I, but got I8
|
|
|
|
|
//IL_0595: Expected I, but got I8
|
|
|
|
|
//IL_062a: Expected I, but got I8
|
|
|
|
|
//IL_0679: Expected I, but got I8
|
|
|
|
|
int num = 0;
|
|
|
|
|
int num2 = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, int>)(*(ulong*)(*(long*)pCollection + 24)))((nint)pCollection);
|
|
|
|
|
IList list = new ArrayList(num2);
|
|
|
|
|
int num3 = 0;
|
|
|
|
|
if (0 < num2)
|
|
|
|
|
{
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
int num4 = 0;
|
|
|
|
|
int num5 = 0;
|
|
|
|
|
int num6 = 0;
|
|
|
|
|
int num7 = 0;
|
|
|
|
|
VideoMetadata videoMetadata;
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.VideoMetadata_002E_007Bctor_007D(&videoMetadata);
|
2021-11-11 11:18:46 -06:00
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (num >= 0)
|
|
|
|
|
{
|
|
|
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, int, VideoMetadata*, IContextData**, int>)(*(ulong*)(*(long*)pCollection + 32)))((nint)pCollection, num3, &videoMetadata, null);
|
|
|
|
|
if (num >= 0)
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
Guid id = Module.GUIDToGuid(Unsafe.As<VideoMetadata, _GUID>(ref Unsafe.AddByteOffset(ref videoMetadata, 8)));
|
|
|
|
|
Guid albumId = Module.GUIDToGuid(Unsafe.As<VideoMetadata, _GUID>(ref Unsafe.AddByteOffset(ref videoMetadata, 80)));
|
|
|
|
|
string title = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 32)));
|
|
|
|
|
string seriesTitle = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 120)));
|
|
|
|
|
string artist = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 48)));
|
|
|
|
|
string genre = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 96)));
|
|
|
|
|
string previewImageUrl = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 160)));
|
|
|
|
|
string productionCompany = new string((char*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 112)));
|
|
|
|
|
long num8 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
bool flag = ((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 144)))((nint)num8) != 0) ? true : false);
|
2021-11-11 11:18:46 -06:00
|
|
|
int releaseYear = 0;
|
2021-11-18 12:01:22 -06:00
|
|
|
if (Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 144)) != 0L)
|
2021-11-11 11:18:46 -06:00
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
releaseYear = Module._wtoi((ushort*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 144)));
|
2021-11-11 11:18:46 -06:00
|
|
|
}
|
|
|
|
|
_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040 _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040;
|
|
|
|
|
*(int*)(&_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040) = 3;
|
2021-11-18 12:01:22 -06:00
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 4)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 8)) = 4;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 12)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 16)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 20)) = 4;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 24)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 28)) = 4;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 32)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 36)) = 7;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 40)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 44)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 48)) = 7;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 52)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 56)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 60)) = 8;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 64)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 68)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 72)) = 8;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 76)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 80)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 84)) = 9;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 88)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 92)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 96)) = 9;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 100)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 104)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 108)) = 12;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 112)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 116)) = 4;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 120)) = 12;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 124)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 128)) = 4;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 132)) = 13;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 136)) = 2;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 140)) = -1;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 144)) = 13;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 148)) = 3;
|
|
|
|
|
Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, int>(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 152)) = -1;
|
2021-11-11 11:18:46 -06:00
|
|
|
int num9 = 0;
|
|
|
|
|
VideoOfferParams* ptr = (VideoOfferParams*)(&_0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040);
|
2021-11-18 12:01:22 -06:00
|
|
|
long num10 = (nint)Unsafe.AsPointer(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 4));
|
|
|
|
|
long num11 = (nint)Unsafe.AsPointer(ref Unsafe.AddByteOffset(ref _0024ArrayType_0024_0024_0024BY0N_0040UVideoOfferParams_0040Service_0040Zune_0040Microsoft_0040_0040, 8));
|
2021-11-11 11:18:46 -06:00
|
|
|
while (num6 == 0)
|
|
|
|
|
{
|
|
|
|
|
int num12 = *(int*)ptr;
|
|
|
|
|
if ((num12 != 8 && num12 != 13) || *(int*)num10 != 3 || *(int*)num11 != -1 || num7 == 0)
|
|
|
|
|
{
|
|
|
|
|
if (num12 == 3)
|
|
|
|
|
{
|
|
|
|
|
if (*(int*)num10 == 4 && *(int*)num11 == -1 && num4 != 0)
|
|
|
|
|
{
|
|
|
|
|
goto IL_0610;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (num12 != 12)
|
|
|
|
|
{
|
|
|
|
|
goto IL_02a8;
|
|
|
|
|
}
|
|
|
|
|
if (*(int*)num10 != 3 || *(int*)num11 != 4 || num5 == 0)
|
|
|
|
|
{
|
|
|
|
|
goto IL_02a8;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
goto IL_0610;
|
|
|
|
|
IL_042f:
|
|
|
|
|
bool flag2;
|
|
|
|
|
bool flag3;
|
|
|
|
|
bool flag4;
|
|
|
|
|
int num14;
|
|
|
|
|
bool flag6;
|
|
|
|
|
ushort* ptr2;
|
|
|
|
|
CComPtrNtv_003CIPriceInfo_003E cComPtrNtv_003CIPriceInfo_003E;
|
|
|
|
|
bool flag7;
|
|
|
|
|
bool isRental;
|
|
|
|
|
bool isMusicVideo;
|
|
|
|
|
bool flag8;
|
|
|
|
|
bool flag9;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (!flag2 && !flag3)
|
|
|
|
|
{
|
|
|
|
|
EMediaRights eMediaRights = (flag4 ? ((EMediaRights)13) : ((EMediaRights)12));
|
2021-11-18 12:01:22 -06:00
|
|
|
long num13 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
bool flag5 = ((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, int, int, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 168)))((nint)num13, eMediaRights, (EMediaFormat)num14, 1, 1) != 0) ? true : false);
|
2021-11-11 11:18:46 -06:00
|
|
|
flag6 = flag5;
|
|
|
|
|
}
|
2021-11-18 12:01:22 -06:00
|
|
|
string expirationDate = new string((char*)Unsafe.AsPointer(ref (long)(nint)ptr2 != 0 ? ref *(_0024ArrayType_0024_0024_0024BY00_0024_0024CBG*)ptr2 : ref Module._003F_003F_C_0040_11LOCGONAA_0040_003F_0024AA_003F_0024AA_0040));
|
|
|
|
|
VideoOffer value = new VideoOffer(id, title, seriesTitle, Unsafe.As<VideoMetadata, int>(ref Unsafe.AddByteOffset(ref videoMetadata, 128)), Unsafe.As<VideoMetadata, int>(ref Unsafe.AddByteOffset(ref videoMetadata, 132)), artist, albumId, genre, releaseYear, previewImageUrl, productionCompany, new PriceInfo(Module.CComPtrNtv_003CIPriceInfo_003E_002E_002EPEAUIPriceInfo_0040_0040(&cComPtrNtv_003CIPriceInfo_003E)), flag7, isRental, flag4, isMusicVideo, flag3, flag6, flag, expirationDate);
|
2021-11-11 11:18:46 -06:00
|
|
|
list.Add(value);
|
|
|
|
|
num4 = 1;
|
|
|
|
|
if (!flag8 || !flag9 || !flag6)
|
|
|
|
|
{
|
|
|
|
|
goto IL_051c;
|
|
|
|
|
}
|
2021-11-18 12:01:22 -06:00
|
|
|
long num15 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
if (((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, EMediaFormat, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 64)))((nint)num15, (EMediaRights)num12, (EMediaFormat)3, (EMediaFormat)4) == 0)
|
2021-11-11 11:18:46 -06:00
|
|
|
{
|
|
|
|
|
goto IL_051c;
|
|
|
|
|
}
|
|
|
|
|
num6 = (flag ? 1 : 0);
|
|
|
|
|
num5 = 1;
|
|
|
|
|
goto end_IL_0430;
|
|
|
|
|
IL_051c:
|
|
|
|
|
if (flag7 && flag4 && flag6)
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
long num16 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
num7 = ((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 72)))((nint)num16, (EMediaRights)num12, (EMediaFormat)2) != 0) ? 1 : num7);
|
2021-11-11 11:18:46 -06:00
|
|
|
}
|
|
|
|
|
if (num5 == 0 && flag7 && flag9 && flag6)
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
long num17 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
if (((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, EMediaFormat, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 64)))((nint)num17, (EMediaRights)num12, (EMediaFormat)2, (EMediaFormat)3) != 0)
|
2021-11-11 11:18:46 -06:00
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
VideoOffer value2 = new VideoOffer(id, title, seriesTitle, Unsafe.As<VideoMetadata, int>(ref Unsafe.AddByteOffset(ref videoMetadata, 128)), Unsafe.As<VideoMetadata, int>(ref Unsafe.AddByteOffset(ref videoMetadata, 132)), artist, albumId, genre, releaseYear, previewImageUrl, productionCompany, PriceInfo.FreeWithPoints(), isHD: false, isRental: false, isStream: false, isMusicVideo: false, flag3, previouslyPurchased: true, flag, expirationDate);
|
2021-11-11 11:18:46 -06:00
|
|
|
list.Add(value2);
|
|
|
|
|
num5 = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
end_IL_0430:;
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
//try-fault
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIPriceInfo_003E*, void>)(&Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
throw;
|
|
|
|
|
}
|
|
|
|
|
goto IL_05f1;
|
|
|
|
|
IL_0423:
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bdtor_007D(&cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
goto IL_0610;
|
|
|
|
|
IL_0610:
|
|
|
|
|
num9++;
|
|
|
|
|
num11 += 12;
|
|
|
|
|
num10 += 12;
|
|
|
|
|
ptr = (VideoOfferParams*)((ulong)(nint)ptr + 12uL);
|
|
|
|
|
if ((uint)num9 >= 13u)
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
IL_02a8:
|
|
|
|
|
num14 = *(int*)num10;
|
|
|
|
|
flag7 = num14 == 2;
|
|
|
|
|
flag8 = num14 == 3;
|
|
|
|
|
ESeasonPurchaseFlags eSeasonPurchaseFlags = ((!flag7) ? ((ESeasonPurchaseFlags)1) : ((ESeasonPurchaseFlags)2));
|
2021-11-18 12:01:22 -06:00
|
|
|
long num18 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
flag3 = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ESeasonPurchaseFlags, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 224)))((nint)num18, eSeasonPurchaseFlags) == 1;
|
|
|
|
|
Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bctor_007D(&cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
ptr2 = null;
|
2021-11-18 12:01:22 -06:00
|
|
|
_GUID gUID_NULL = Module.GUID_NULL;
|
|
|
|
|
_GUID gUID_NULL2 = Module.GUID_NULL;
|
|
|
|
|
_GUID gUID_NULL3 = Module.GUID_NULL;
|
2021-11-11 11:18:46 -06:00
|
|
|
int num19 = *(int*)num11;
|
|
|
|
|
int num21;
|
|
|
|
|
if (num19 != -1)
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
long num20 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
IPriceInfo** intPtr = Module.CComPtrNtv_003CIPriceInfo_003E_002E_0026(&cComPtrNtv_003CIPriceInfo_003E);
|
|
|
|
|
num21 = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, EMediaFormat, _GUID*, _GUID*, _GUID*, IPriceInfo**, ushort**, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 128)))((nint)num20, (EMediaRights)num12, (EMediaFormat)num14, (EMediaFormat)num19, &gUID_NULL2, &gUID_NULL3, &gUID_NULL, intPtr, &ptr2);
|
2021-11-11 11:18:46 -06:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
long num22 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
IPriceInfo** intPtr2 = Module.CComPtrNtv_003CIPriceInfo_003E_002E_0026(&cComPtrNtv_003CIPriceInfo_003E);
|
|
|
|
|
num21 = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, _GUID*, _GUID*, IPriceInfo**, ushort**, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 136)))((nint)num22, (EMediaRights)num12, (EMediaFormat)num14, &gUID_NULL2, &gUID_NULL, intPtr2, &ptr2);
|
2021-11-11 11:18:46 -06:00
|
|
|
}
|
|
|
|
|
if (num21 >= 0)
|
|
|
|
|
{
|
|
|
|
|
flag9 = ((num12 == 3 || num12 == 12) ? true : false);
|
|
|
|
|
isRental = ((num12 == 7 || num12 == 9) ? true : false);
|
|
|
|
|
flag4 = ((num12 == 8 || num12 == 13 || num12 == 9) ? true : false);
|
|
|
|
|
int num23 = ((num12 == 12 || num12 == 13) ? 1 : 0);
|
|
|
|
|
bool flag10 = (byte)num23 != 0;
|
2021-11-18 12:01:22 -06:00
|
|
|
long num24 = Unsafe.As<VideoMetadata, long>(ref Unsafe.AddByteOffset(ref videoMetadata, 192));
|
|
|
|
|
flag2 = ((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EMediaRights, EMediaFormat, int, int, int>)(*(ulong*)(*(long*)Unsafe.As<VideoMetadata, ulong>(ref Unsafe.AddByteOffset(ref videoMetadata, 192)) + 168)))((nint)num24, (EMediaRights)num12, (EMediaFormat)num14, 1, 1) != 0) ? true : false);
|
2021-11-11 11:18:46 -06:00
|
|
|
flag6 = flag2;
|
2021-11-18 12:01:22 -06:00
|
|
|
isMusicVideo = Unsafe.As<VideoMetadata, int>(ref Unsafe.AddByteOffset(ref videoMetadata, 24)) == 0;
|
2021-11-11 11:18:46 -06:00
|
|
|
if (flag3 == flag10)
|
|
|
|
|
{
|
|
|
|
|
goto IL_042f;
|
|
|
|
|
}
|
|
|
|
|
goto IL_0423;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
//try-fault
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIPriceInfo_003E*, void>)(&Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
throw;
|
|
|
|
|
}
|
|
|
|
|
goto IL_05f1;
|
|
|
|
|
IL_05f1:
|
|
|
|
|
try
|
|
|
|
|
{
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.SysFreeString(ptr2);
|
2021-11-11 11:18:46 -06:00
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
//try-fault
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIPriceInfo_003E*, void>)(&Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
throw;
|
|
|
|
|
}
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.CComPtrNtv_003CIPriceInfo_003E_002E_007Bdtor_007D(&cComPtrNtv_003CIPriceInfo_003E);
|
2021-11-11 11:18:46 -06:00
|
|
|
goto IL_0610;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
//try-fault
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<VideoMetadata*, void>)(&Module.VideoMetadata_002E_007Bdtor_007D), &videoMetadata);
|
2021-11-11 11:18:46 -06:00
|
|
|
throw;
|
|
|
|
|
}
|
2021-11-18 12:01:22 -06:00
|
|
|
Module.VideoMetadata_002E_007Bdtor_007D(&videoMetadata);
|
2021-11-11 11:18:46 -06:00
|
|
|
num3++;
|
|
|
|
|
}
|
|
|
|
|
while (num3 < num2);
|
|
|
|
|
if (num < 0)
|
|
|
|
|
{
|
|
|
|
|
goto IL_067a;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
m_items = list;
|
|
|
|
|
m_pCollection = pCollection;
|
|
|
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)pCollection + 8)))((nint)pCollection);
|
|
|
|
|
goto IL_067a;
|
|
|
|
|
IL_067a:
|
|
|
|
|
return num;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal unsafe IVideoCollection* GetCollection()
|
|
|
|
|
{
|
|
|
|
|
//IL_0016: Expected I, but got I8
|
|
|
|
|
IVideoCollection* pCollection = m_pCollection;
|
|
|
|
|
if (pCollection != null)
|
|
|
|
|
{
|
|
|
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)pCollection + 8)))((nint)pCollection);
|
|
|
|
|
}
|
|
|
|
|
return m_pCollection;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool P_0)
|
|
|
|
|
{
|
|
|
|
|
if (P_0)
|
|
|
|
|
{
|
|
|
|
|
_0021VideoOfferCollection();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
_0021VideoOfferCollection();
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
base.Finalize();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public sealed override void Dispose()
|
|
|
|
|
{
|
|
|
|
|
Dispose(true);
|
|
|
|
|
GC.SuppressFinalize(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
~VideoOfferCollection()
|
|
|
|
|
{
|
|
|
|
|
Dispose(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|