// [TypeInfo RVA: 0x0]
public class GlobalIapByKurova : MonoBehaviour
{
	public System.Collections.Generic.List<GlobalIapByKurova.Item> items; // 0x20
	public bool blockIfNotOwned; // 0x28
	private System.String[] skus; // 0x30
	private System.Collections.Generic.HashSet<System.String> owned; // 0x38

	// RVA: 0x3204AE0 VA: 0x78188EFAE0
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   long lVar3;
	 *   void *pvVar4;
	 *   void *pvVar5;
	 *   long *plVar6;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   void *extraout_x1_01;
	 *   void *extraout_x1_02;
	 *   undefined8 uVar7;
	 *
	 *   puVar1 = typeinfo_ptr_Oculus_Platform_Core_6FC1348;
	 *   if ((bRam000000000754a7b4 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1350);
	 *     func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Core_6FC1348);
	 *     func_0x031fdc8c(PTR_DAT_070c1358);
	 *     func_0x031fdc8c(PTR_DAT_070c1360);
	 *     bRam000000000754a7b4 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *     methodInfo = extraout_x1_00;
	 *   }
	 *   if (cRam000000000754a7d1 == '\0') {
	 *     func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Core_6FC1348);
	 *     cRam000000000754a7d1 = '\x01';
	 *     methodInfo = extraout_x1_01;
	 *   }
	 *   lVar3 = *(long *)puVar1;
	 *   if (*(int *)(lVar3 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar3,methodInfo);
	 *     lVar3 = *(long *)puVar1;
	 *     methodInfo = extraout_x1_02;
	 *   }
	 *   puVar2 = PTR_DAT_070c1370;
	 *   puVar1 = PTR_DAT_070c1368;
	 *   if (**(char **)(lVar3 + 0xb8) != '\0') {
	 *     if ((bRam000000000754a7b5 & 1) == 0) {
	 *       func_0x031fdc8c(PTR_DAT_070c1368);
	 *       func_0x031fdc8c(PTR_DAT_070c1370);
	 *       bRam000000000754a7b5 = 1;
	 *     }
	 *     pvVar4 = Entitlements.IsUserEntitledToApplication();
	 *     pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *     Oculus.Platform.Message.Callback..ctor(pvVar5,this,*(void **)puVar2);
	 *     puVar1 = typeinfo_ptr_Oculus_Platform_Callback_6FC7178;
	 *     if (pvVar4 != null) {
	 *       if ((bRam0000000007553015 & 1) == 0) {
	 *         func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Callback_6FC7178,pvVar5,0);
	 *         bRam0000000007553015 = 1;
	 *       }
	 *       *(undefined8 *)((long)pvVar4 + 0x18) = pvVar5;
	 *       func_0x031fdc38((undefined8 *)((long)pvVar4 + 0x18),pvVar5);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       Oculus.Platform.Message.Callback.AddRequest(pvVar4);
	 *       return;
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   if (*(int *)(lVar3 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar3,methodInfo);
	 *   }
	 *   pvVar4 = Oculus.Platform.Core.AsyncInitialize(null,null);
	 *   lVar3 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c1350);
	 *   func_0x048d50bc(lVar3,this,*(undefined8 *)PTR_DAT_070c1358,0);
	 *   if (pvVar4 != null) {
	 *     uVar7 = *(undefined8 *)PTR_DAT_070c1360;
	 *     if ((bRam000000000754ca72 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Callback_6FC7178);
	 *       bRam000000000754ca72 = 1;
	 *     }
	 *     puVar1 = typeinfo_ptr_Oculus_Platform_Callback_6FC7178;
	 *     plVar6 = (long *)((long)pvVar4 + 0x30);
	 *     if ((*plVar6 == 0) && (*(long *)((long)pvVar4 + 0x38) == 0)) {
	 *       *plVar6 = lVar3;
	 *       func_0x031fdc38(plVar6,lVar3);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       Oculus.Platform.Message.Callback.AddRequest(pvVar4);
	 *       return;
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c56e0);
	 *     pvVar4 = (void *)func_0x031fdf24();
	 *     pvVar5 = (void *)func_0x031fdca0(PTR_DAT_070ca320);
	 *     UnityEngine.UnityException..ctor(pvVar4,pvVar5);
	 *     IL2CPP.ThrowManagedException();
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3204CAC VA: 0x78188EFCAC
	private void OnInit(Oculus.Platform.Message<Oculus.Platform.Models.PlatformInitialize> msg);
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   bool bVar3;
	 *   void *request;
	 *   void *this_00;
	 *
	 *   if (msg == null) {
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   bVar3 = Oculus.Platform.Message.get_IsError(msg);
	 *   puVar2 = PTR_DAT_070c1370;
	 *   puVar1 = PTR_DAT_070c1368;
	 *   if (bVar3) {
	 *     return;
	 *   }
	 *   if ((bRam000000000754a7b5 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1368);
	 *     func_0x031fdc8c(PTR_DAT_070c1370);
	 *     bRam000000000754a7b5 = 1;
	 *   }
	 *   request = Entitlements.IsUserEntitledToApplication();
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   Oculus.Platform.Message.Callback..ctor(this_00,this,*(void **)puVar2);
	 *   puVar1 = typeinfo_ptr_Oculus_Platform_Callback_6FC7178;
	 *   if (request != null) {
	 *     if ((bRam0000000007553015 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Callback_6FC7178,this_00,0);
	 *       bRam0000000007553015 = 1;
	 *     }
	 *     *(undefined8 *)((long)request + 0x18) = this_00;
	 *     func_0x031fdc38((undefined8 *)((long)request + 0x18),this_00);
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     Oculus.Platform.Message.Callback.AddRequest(request);
	 *     return;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3204C10 VA: 0x78188EFC10
	private void CheckEntitlement();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   void *request;
	 *   void *this_00;
	 *
	 *   puVar2 = PTR_DAT_070c1370;
	 *   puVar1 = PTR_DAT_070c1368;
	 *   if ((bRam000000000754a7b5 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1368);
	 *     func_0x031fdc8c(PTR_DAT_070c1370);
	 *     bRam000000000754a7b5 = 1;
	 *   }
	 *   request = Entitlements.IsUserEntitledToApplication();
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   Oculus.Platform.Message.Callback..ctor(this_00,this,*(void **)puVar2);
	 *   puVar1 = typeinfo_ptr_Oculus_Platform_Callback_6FC7178;
	 *   if (request != null) {
	 *     if ((bRam0000000007553015 & 1) == 0) {
	 *       func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Callback_6FC7178,this_00,0);
	 *       bRam0000000007553015 = 1;
	 *     }
	 *     *(undefined8 *)((long)request + 0x18) = this_00;
	 *     func_0x031fdc38((undefined8 *)((long)request + 0x18),this_00);
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     Oculus.Platform.Message.Callback.AddRequest(request);
	 *     return;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3204CE0 VA: 0x78188EFCE0
	private void OnEntitlement(Oculus.Platform.Message msg);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   long lVar4;
	 *   long *plVar5;
	 *   void *message;
	 *   undefined8 uVar6;
	 *
	 *   if ((bRam000000000754a7b6 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8);
	 *     func_0x031fdc8c(PTR_DAT_070c1378);
	 *     func_0x031fdc8c(PTR_DAT_070c1380);
	 *     func_0x031fdc8c(PTR_DAT_070c1388);
	 *     bRam000000000754a7b6 = 1;
	 *   }
	 *   if (msg != null) {
	 *     bVar2 = Oculus.Platform.Message.get_IsError(msg);
	 *     if (bVar2) {
	 *       if (this.blockIfNotOwned != false) {
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8 + 0xe4) == 0)
	 *         {
	 *           func_0x031fde08();
	 *         }
	 *         puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8;
	 *         if ((bRam000000000755dca8 & 1) == 0) {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Application_6FC0EA8);
	 *           bRam000000000755dca8 = 1;
	 *         }
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         if (pcRam000000000755dca0 == null) {
	 *           pcRam000000000755dca0 = (code *)func_0x031fdc50(&UNK_0138b136);
	 *         }
	 *         (*pcRam000000000755dca0)(0);
	 *         return;
	 *       }
	 *       return;
	 *     }
	 *     pvVar3 = IAP.GetViewerPurchases();
	 *     lVar4 = func_0x031fdf24(*(undefined8 *)PTR_DAT_070c1378);
	 *     func_0x048d50bc(lVar4,this,*(undefined8 *)PTR_DAT_070c1380,0);
	 *     if (pvVar3 != null) {
	 *       uVar6 = *(undefined8 *)PTR_DAT_070c1388;
	 *       if ((bRam000000000754ca72 & 1) == 0) {
	 *         func_0x031fdc8c(typeinfo_ptr_Oculus_Platform_Callback_6FC7178);
	 *         bRam000000000754ca72 = 1;
	 *       }
	 *       puVar1 = typeinfo_ptr_Oculus_Platform_Callback_6FC7178;
	 *       plVar5 = (long *)((long)pvVar3 + 0x30);
	 *       if ((*plVar5 == 0) && (*(long *)((long)pvVar3 + 0x38) == 0)) {
	 *         *plVar5 = lVar4;
	 *         func_0x031fdc38(plVar5,lVar4);
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         Oculus.Platform.Message.Callback.AddRequest(pvVar3);
	 *         return;
	 *       }
	 *       func_0x031fdca0(PTR_DAT_070c56e0);
	 *       pvVar3 = (void *)func_0x031fdf24();
	 *       message = (void *)func_0x031fdca0(PTR_DAT_070ca320);
	 *       UnityEngine.UnityException..ctor(pvVar3,message);
	 *       IL2CPP.ThrowManagedException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3204DE8 VA: 0x78188EFDE8
	private void OnPurchases(Oculus.Platform.Message<Oculus.Platform.Models.PurchaseList> msg);
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   long *plVar6;
	 *   undefined8 *puVar7;
	 *   void *extraout_x1;
	 *   void *extraout_x1_00;
	 *   long lVar8;
	 *   long **pplVar9;
	 *   long lVar10;
	 *   ulong uVar11;
	 *   ulong uVar12;
	 *   int *piVar13;
	 *   void *pvVar14;
	 *   int iVar15;
	 *   long lVar16;
	 *   undefined1 auVar17 [16];
	 *   undefined1 auVar18 [12];
	 *   undefined8 uStack_e8;
	 *   undefined8 *puStack_e0;
	 *   long lStack_d8;
	 *   undefined8 uStack_d0;
	 *   undefined8 uStack_c8;
	 *   long lStack_c0;
	 *   code *pcStack_b0;
	 *   long lStack_48;
	 *   long **pplStack_40;
	 *   long *plStack_38;
	 *
	 *   if ((bRam000000000754a7b7 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1390);
	 *     func_0x031fdc8c(PTR_DAT_070c1398);
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_IDisposable_6FC11D0);
	 *     func_0x031fdc8c(PTR_DAT_070c13a0);
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_IEnumerator_6FC0B40);
	 *     bRam000000000754a7b7 = 1;
	 *   }
	 *   plStack_38 = null;
	 *   if (msg != null) {
	 *     bVar5 = Oculus.Platform.Message.get_IsError(msg);
	 *     if (bVar5) {
	 *       return;
	 *     }
	 *     if (*(long *)((long)msg + 0x40) != 0) {
	 *       plVar6 = (long *)func_0x04c56924(*(long *)((long)msg + 0x40),*(undefined8 *)PTR_DAT_070c1390);
	 *       puVar3 = PTR_DAT_070c13a0;
	 *       puVar2 = PTR_DAT_070c1398;
	 *       puVar1 = typeinfo_ptr_mscorlib_IEnumerator_6FC0B40;
	 *       pplStack_40 = &plStack_38;
	 *       lStack_48 = 0;
	 *       do {
	 *         plStack_38 = plVar6;
	 *         if (plVar6 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         lVar8 = *plVar6;
	 *         uVar12 = (ulong)*(ushort *)(lVar8 + 0x12e);
	 *         if (uVar12 != 0) {
	 *           piVar13 = (int *)(*(long *)(lVar8 + 0xb0) + 8);
	 *           do {
	 *             if (*(long *)(piVar13 + -2) == *(long *)puVar1) {
	 *               puVar7 = (undefined8 *)(lVar8 + (long)*piVar13 * 0x10 + 0x138);
	 *               goto LAB_03304ef8;
	 *             }
	 *             uVar12 = uVar12 - 1;
	 *             piVar13 = piVar13 + 4;
	 *           } while (uVar12 != 0);
	 *         }
	 *         puVar7 = (undefined8 *)func_0x03237558(plVar6,*(long *)puVar1,0);
	 * LAB_03304ef8:
	 *         auVar17 = (*(code *)*puVar7)(plVar6,puVar7[1]);
	 *         plVar6 = plStack_38;
	 *         pvVar14 = auVar17._8_8_;
	 *         if ((auVar17._0_8_ & 1) == 0) {
	 *           lVar8 = 0;
	 *           iVar15 = 5;
	 *           pplVar9 = &plStack_38;
	 *           do {
	 *             plVar6 = *pplVar9;
	 *             if (plVar6 != null) {
	 *               lVar10 = *plVar6;
	 *               uVar12 = (ulong)*(ushort *)(lVar10 + 0x12e);
	 *               if (uVar12 != 0) {
	 *                 piVar13 = (int *)(*(long *)(lVar10 + 0xb0) + 8);
	 *                 do {
	 *                   if (*(long *)(piVar13 + -2) == *(long *)typeinfo_ptr_mscorlib_IDisposable_6FC11D0)
	 *                   {
	 *                     puVar7 = (undefined8 *)(lVar10 + (long)*piVar13 * 0x10 + 0x138);
	 *                     goto LAB_03305008;
	 *                   }
	 *                   uVar12 = uVar12 - 1;
	 *                   piVar13 = piVar13 + 4;
	 *                 } while (uVar12 != 0);
	 *               }
	 *               puVar7 = (undefined8 *)
	 *                        func_0x03237558(plVar6,*(long *)typeinfo_ptr_mscorlib_IDisposable_6FC11D0,0);
	 * LAB_03305008:
	 *               (*(code *)*puVar7)(plVar6,puVar7[1]);
	 *               pvVar14 = extraout_x1;
	 *             }
	 *             if (lVar8 == 0) {
	 *               if ((iVar15 != 5) && (iVar15 != 0)) {
	 *                 return;
	 *               }
	 *               GlobalIapByKurova.Restore(this);
	 *               return;
	 *             }
	 *             auVar18 = func_0x031fdf2c(lVar8);
	 *             if (auVar18._8_4_ != 1) {
	 *               func_0x02d70dc0(&lStack_48);
	 *               func_0x032ed34c(auVar18._0_8_);
	 *               lVar8 = func_0x02d70c70();
	 *               pcStack_b0 = m_Assembly_CSharp_GlobalIapByKurova_Restore_32050B8;
	 *               if ((bRam000000000754a7b8 & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_070c13a8);
	 *                 func_0x031fdc8c(PTR_DAT_070c13b0);
	 *                 func_0x031fdc8c(PTR_DAT_070c13b8);
	 *                 func_0x031fdc8c(PTR_DAT_070c13c0);
	 *                 func_0x031fdc8c(PTR_DAT_070c13c8);
	 *                 func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *                 bRam000000000754a7b8 = 1;
	 *               }
	 *               puVar4 = PTR_DAT_070c13c0;
	 *               puVar3 = PTR_DAT_070c13b0;
	 *               puVar2 = PTR_DAT_070c13a8;
	 *               puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *               uStack_d0 = 0;
	 *               uStack_c8 = 0;
	 *               lStack_c0 = 0;
	 *               if (*(long *)(lVar8 + 0x20) != 0) {
	 *                 func_0x03f2e1a8(&uStack_e8,*(long *)(lVar8 + 0x20),*(undefined8 *)PTR_DAT_070c13c8);
	 *                 lStack_c0 = lStack_d8;
	 *                 uStack_c8 = puStack_e0;
	 *                 uStack_d0 = uStack_e8;
	 *                 uStack_e8 = 0;
	 *                 puStack_e0 = &uStack_d0;
	 *                 while( true ) {
	 *                   do {
	 *                     uVar12 = func_0x05018cac(&uStack_d0,*(undefined8 *)puVar3);
	 *                     lVar10 = lStack_c0;
	 *                     if ((uVar12 & 1) == 0) {
	 *                       func_0x05018ca8(&uStack_d0,*(undefined8 *)puVar2);
	 *                       UnityEngine.PlayerPrefs.Save();
	 *                       return;
	 *                     }
	 *                   } while (lStack_c0 == 0);
	 *                   if (*(long *)(lVar8 + 0x38) == 0) break;
	 *                   uVar12 = func_0x03b8d0e8(*(long *)(lVar8 + 0x38),*(undefined8 *)(lStack_c0 + 0x10)
	 *                                            ,*(undefined8 *)puVar4);
	 *                   if ((uVar12 & 1) != 0) {
	 *                     lVar16 = *(long *)(lVar10 + 0x18);
	 *                     if ((lVar16 != 0) && (0 < (int)*(ulong *)(lVar16 + 0x18))) {
	 *                       uVar12 = 0;
	 *                       uVar11 = *(ulong *)(lVar16 + 0x18) & 0xffffffff;
	 *                       do {
	 *                         if (uVar11 <= uVar12) {
	 *                           IL2CPP.ThrowIndexOutOfRangeException();
	 *                         }
	 *                         pvVar14 = *(void **)(lVar16 + 0x20 + uVar12 * 8);
	 *                         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *                           func_0x031fde08();
	 *                         }
	 *                         uVar11 = UnityEngine.Object.op_Inequality(pvVar14,null);
	 *                         if ((uVar11 & 1) != 0) {
	 *                           if (pvVar14 == null) {
	 *                             IL2CPP.ThrowNullReferenceException();
	 *                           }
	 *                           UnityEngine.GameObject.SetActive(pvVar14,true);
	 *                         }
	 *                         uVar11 = (ulong)*(uint *)(lVar16 + 0x18);
	 *                         uVar12 = uVar12 + 1;
	 *                       } while ((long)uVar12 < (long)(int)*(uint *)(lVar16 + 0x18));
	 *                     }
	 *                     bVar5 = System.String.IsNullOrEmpty(*(void **)(lVar10 + 0x20));
	 *                     if (!bVar5) {
	 *                       UnityEngine.PlayerPrefs.SetInt(*(void **)(lVar10 + 0x20),1);
	 *                     }
	 *                   }
	 *                 }
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *             plVar6 = (long *)func_0x06cb38e0(auVar18._0_8_);
	 *             lVar8 = *plVar6;
	 *             lStack_48 = lVar8;
	 *             func_0x06cb38f0();
	 *             iVar15 = 0;
	 *             pvVar14 = extraout_x1_00;
	 *             pplVar9 = pplStack_40;
	 *           } while( true );
	 *         }
	 *         if (plStack_38 == null) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         lVar8 = *plStack_38;
	 *         uVar12 = (ulong)*(ushort *)(lVar8 + 0x12e);
	 *         if (uVar12 != 0) {
	 *           piVar13 = (int *)(*(long *)(lVar8 + 0xb0) + 8);
	 *           do {
	 *             if (*(long *)(piVar13 + -2) == *(long *)puVar3) {
	 *               puVar7 = (undefined8 *)(lVar8 + (long)*piVar13 * 0x10 + 0x138);
	 *               goto LAB_03304f5c;
	 *             }
	 *             uVar12 = uVar12 - 1;
	 *             piVar13 = piVar13 + 4;
	 *           } while (uVar12 != 0);
	 *         }
	 *         puVar7 = (undefined8 *)func_0x03237558(plStack_38,*(long *)puVar3,0);
	 * LAB_03304f5c:
	 *         lVar8 = (*(code *)*puVar7)(plVar6,puVar7[1]);
	 *         if (lVar8 == 0) {
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         bVar5 = System.String.IsNullOrEmpty(*(void **)(lVar8 + 0x38));
	 *         plVar6 = plStack_38;
	 *         if (!bVar5) {
	 *           if (this.owned == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           func_0x03b8dbd8(this.owned,*(undefined8 *)(lVar8 + 0x38),*(undefined8 *)puVar2);
	 *           plVar6 = plStack_38;
	 *         }
	 *       } while( true );
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x32050B8 VA: 0x78188F00B8
	private void Restore();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   long lVar5;
	 *   bool bVar6;
	 *   ulong uVar7;
	 *   void *extraout_x1;
	 *   ulong uVar8;
	 *   void *this_00;
	 *   long lVar9;
	 *   undefined8 uStack_98;
	 *   undefined8 *puStack_90;
	 *   long lStack_88;
	 *   undefined8 uStack_80;
	 *   undefined8 uStack_78;
	 *   long lStack_70;
	 *
	 *   if ((bRam000000000754a7b8 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c13a8);
	 *     func_0x031fdc8c(PTR_DAT_070c13b0);
	 *     func_0x031fdc8c(PTR_DAT_070c13b8);
	 *     func_0x031fdc8c(PTR_DAT_070c13c0);
	 *     func_0x031fdc8c(PTR_DAT_070c13c8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a7b8 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   puVar4 = PTR_DAT_070c13c0;
	 *   puVar3 = PTR_DAT_070c13b0;
	 *   puVar2 = PTR_DAT_070c13a8;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   uStack_80 = 0;
	 *   uStack_78 = 0;
	 *   lStack_70 = 0;
	 *   if (this.items != null) {
	 *     func_0x03f2e1a8(&uStack_98,this.items,*(undefined8 *)PTR_DAT_070c13c8);
	 *     lStack_70 = lStack_88;
	 *     uStack_78 = puStack_90;
	 *     uStack_80 = uStack_98;
	 *     uStack_98 = 0;
	 *     puStack_90 = &uStack_80;
	 *     while( true ) {
	 *       do {
	 *         uVar7 = func_0x05018cac(&uStack_80,*(undefined8 *)puVar3);
	 *         lVar5 = lStack_70;
	 *         if ((uVar7 & 1) == 0) {
	 *           func_0x05018ca8(&uStack_80,*(undefined8 *)puVar2);
	 *           UnityEngine.PlayerPrefs.Save();
	 *           return;
	 *         }
	 *       } while (lStack_70 == 0);
	 *       if (this.owned == null) break;
	 *       uVar7 = func_0x03b8d0e8(this.owned,*(undefined8 *)(lStack_70 + 0x10),*(undefined8 *)puVar4);
	 *       if ((uVar7 & 1) != 0) {
	 *         lVar9 = *(long *)(lVar5 + 0x18);
	 *         if ((lVar9 != 0) && (0 < (int)*(ulong *)(lVar9 + 0x18))) {
	 *           uVar7 = 0;
	 *           uVar8 = *(ulong *)(lVar9 + 0x18) & 0xffffffff;
	 *           do {
	 *             if (uVar8 <= uVar7) {
	 *               IL2CPP.ThrowIndexOutOfRangeException();
	 *             }
	 *             this_00 = *(void **)(lVar9 + 0x20 + uVar7 * 8);
	 *             if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar8 = UnityEngine.Object.op_Inequality(this_00,null);
	 *             if ((uVar8 & 1) != 0) {
	 *               if (this_00 == null) {
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *               UnityEngine.GameObject.SetActive(this_00,true);
	 *             }
	 *             uVar8 = (ulong)*(uint *)(lVar9 + 0x18);
	 *             uVar7 = uVar7 + 1;
	 *           } while ((long)uVar7 < (long)(int)*(uint *)(lVar9 + 0x18));
	 *         }
	 *         bVar6 = System.String.IsNullOrEmpty(*(void **)(lVar5 + 0x20));
	 *         if (!bVar6) {
	 *           UnityEngine.PlayerPrefs.SetInt(*(void **)(lVar5 + 0x20),1);
	 *         }
	 *       }
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3205310 VA: 0x78188F0310
	public bool Owns(string sku);
	/*
	 *   long lVar1;
	 *   uint uVar2;
	 *   uint uVar3;
	 *   int iVar4;
	 *   void *pvVar5;
	 *   undefined8 *puVar6;
	 *   void *message;
	 *   long lVar7;
	 *   long lVar8;
	 *   long lVar9;
	 *   undefined8 uVar10;
	 *   long lVar11;
	 *   ulong uVar12;
	 *   int *piVar13;
	 *   long *plVar14;
	 *   int iVar15;
	 *
	 *   if ((bRam000000000754a7b9 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c13c0);
	 *     bRam000000000754a7b9 = 1;
	 *   }
	 *   pvVar5 = this.owned;
	 *   if (pvVar5 == null) {
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   lVar8 = *(long *)PTR_DAT_070c13c0;
	 *   if (*(long *)((long)pvVar5 + 0x10) != 0) {
	 *     iVar4 = func_0x03b91bc8(pvVar5,sku,
	 *                             *(undefined8 *)(*(long *)(*(long *)(lVar8 + 0x20) + 0xc0) + 0xb0));
	 *     lVar9 = *(long *)((long)pvVar5 + 0x10);
	 *     if (lVar9 == 0) {
	 * LAB_03b8d2a0:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     uVar2 = *(uint *)(lVar9 + 0x18);
	 *     iVar15 = 0;
	 *     if (uVar2 != 0) {
	 *       iVar15 = iVar4 / (int)uVar2;
	 *     }
	 *     uVar3 = iVar4 - iVar15 * uVar2;
	 *     if (uVar2 <= uVar3) {
	 * LAB_03b8d260:
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     uVar2 = *(int *)(lVar9 + (ulong)uVar3 * 4 + 0x20) - 1;
	 *     if (-1 < (int)uVar2) {
	 *       lVar9 = *(long *)((long)pvVar5 + 0x18);
	 *       if (lVar9 == 0) goto LAB_03b8d2a0;
	 *       uVar10 = *(undefined8 *)(lVar9 + 0x18);
	 *       iVar15 = 0;
	 *       do {
	 *         if ((uint)uVar10 <= uVar2) goto LAB_03b8d260;
	 *         lVar1 = lVar9 + 0x20 + (ulong)uVar2 * 0x10;
	 *         if (*(int *)(lVar9 + 0x20 + (ulong)uVar2 * 0x10) == iVar4) {
	 *           plVar14 = *(long **)((long)pvVar5 + 0x30);
	 *           if (plVar14 == null) goto LAB_03b8d2a0;
	 *           uVar10 = *(undefined8 *)(lVar1 + 8);
	 *           lVar7 = *(long *)(*(long *)(*(long *)(lVar8 + 0x20) + 0xc0) + 0x20);
	 *           if ((*(ushort *)(lVar7 + 0x135) & 1) == 0) {
	 *             lVar7 = func_0x03237224(lVar7);
	 *           }
	 *           lVar11 = *plVar14;
	 *           uVar12 = (ulong)*(ushort *)(lVar11 + 0x12e);
	 *           if (uVar12 != 0) {
	 *             piVar13 = (int *)(*(long *)(lVar11 + 0xb0) + 8);
	 *             do {
	 *               if (*(long *)(piVar13 + -2) == lVar7) {
	 *                 puVar6 = (undefined8 *)(lVar11 + (long)*piVar13 * 0x10 + 0x138);
	 *                 goto LAB_03b8d200;
	 *               }
	 *               uVar12 = uVar12 - 1;
	 *               piVar13 = piVar13 + 4;
	 *             } while (uVar12 != 0);
	 *           }
	 *           puVar6 = (undefined8 *)func_0x03237558(plVar14,lVar7,0);
	 * LAB_03b8d200:
	 *           uVar12 = (*(code *)*puVar6)(plVar14,uVar10,sku,puVar6[1]);
	 *           if ((uVar12 & 1) != 0) {
	 *             return true;
	 *           }
	 *           uVar10 = *(undefined8 *)(lVar9 + 0x18);
	 *         }
	 *         if ((int)(uint)uVar10 <= iVar15) {
	 *           func_0x031fdca0(PTR_DAT_070c6c60);
	 *           pvVar5 = (void *)func_0x031fdf24();
	 *           message = (void *)func_0x031fdca0(PTR_DAT_070c90a0);
	 *           System.InvalidOperationException..ctor(pvVar5,message);
	 *           IL2CPP.ThrowManagedException();
	 *         }
	 *         if ((uint)uVar10 <= uVar2) goto LAB_03b8d260;
	 *         uVar2 = *(uint *)(lVar1 + 4);
	 *         iVar15 = iVar15 + 1;
	 *       } while (-1 < (int)uVar2);
	 *     }
	 *   }
	 *   return false;
	 */
	// RVA: 0x3205368 VA: 0x78188F0368
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   void *pvVar4;
	 *   void *extraout_x1;
	 *
	 *   puVar3 = PTR_DAT_070c13d8;
	 *   puVar2 = PTR_DAT_070c13d0;
	 *   puVar1 = PTR_DAT_070c0a80;
	 *   if ((bRam000000000754a7ba & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c13e0);
	 *     func_0x031fdc8c(PTR_DAT_070c13e8);
	 *     func_0x031fdc8c(PTR_DAT_070c13d8);
	 *     func_0x031fdc8c(PTR_DAT_070c13d0);
	 *     func_0x031fdc8c(PTR_DAT_070c0a80);
	 *     func_0x031fdc8c(PTR_DAT_070c13f0);
	 *     func_0x031fdc8c(PTR_DAT_070c13f8);
	 *     bRam000000000754a7ba = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar4 = (void *)func_0x031fdf24(*(undefined8 *)puVar2,methodInfo);
	 *   func_0x03f2ce9c(pvVar4,*(undefined8 *)puVar3);
	 *   this.items = pvVar4;
	 *   func_0x031fdc38(&this.items,pvVar4);
	 *   pvVar4 = (void *)func_0x031fdd78(*(undefined8 *)puVar1,2);
	 *   if (pvVar4 != null) {
	 *     if (*(int *)((long)pvVar4 + 0x18) != 0) {
	 *       *(undefined8 *)((long)pvVar4 + 0x20) = *(undefined8 *)PTR_DAT_070c13f8;
	 *       func_0x031fdc38((undefined8 *)((long)pvVar4 + 0x20));
	 *       puVar2 = PTR_DAT_070c13e8;
	 *       puVar1 = PTR_DAT_070c13e0;
	 *       if ((*(uint *)((long)pvVar4 + 0x18) & 0xfffffffe) != 0) {
	 *         *(undefined8 *)((long)pvVar4 + 0x28) = *(undefined8 *)PTR_DAT_070c13f0;
	 *         func_0x031fdc38();
	 *         this.skus = pvVar4;
	 *         func_0x031fdc38(&this.skus,pvVar4);
	 *         pvVar4 = (void *)func_0x031fdf24(*(undefined8 *)puVar2);
	 *         func_0x03b8c9e4(pvVar4,*(undefined8 *)puVar1);
	 *         this.owned = pvVar4;
	 *         func_0x031fdc38(&this.owned,pvVar4);
	 *         puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *         if ((bRam000000000755f76f & 1) == 0) {
	 *           func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *           bRam000000000755f76f = 1;
	 *         }
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         return;
	 *       }
	 *     }
	 *     IL2CPP.ThrowIndexOutOfRangeException();
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
}
