using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using AGUI.StackedUI; using CodeStage.AntiCheat.ObscuredTypes; using Cpp2IlInjected; using RecNet; using RecRoom.Async; using RecRoom.Core; using UnityEngine; namespace RecRoom.Sharing { // Token: 0x02002066 RID: 8294 [Token(Token = "0x2002066")] [StructLayout(3)] public class ClubCode : ActionCode { // Token: 0x0600E562 RID: 58722 RVA: 0x00366A18 File Offset: 0x00364C18 [Token(Token = "0x600E562")] [Address(RVA = "0x13D4B70", Offset = "0x13D3570", VA = "0x1813D4B70", Slot = "4")] public override IPromise Create(object IIFJDCEPNMJ) { /* An exception occurred when decompiling this method (0600E562) ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Async.IPromise`1 RecRoom.Sharing.ClubCode::Create(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_2: brtrue(IL_00, ceq:bool(ldloc:IPromise(var_8_4F), ldc.i4:int32[exp:IPromise](0))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600E563 RID: 58723 RVA: 0x00366A80 File Offset: 0x00364C80 [Token(Token = "0x600E563")] [Address(RVA = "0x13D49C0", Offset = "0x13D33C0", VA = "0x1813D49C0", Slot = "5")] public override IPromise CreateAndShare(object IIFJDCEPNMJ) { string text = this.ToString(); Action action = new Action(this.OELBJNHJEGL); throw new NullReferenceException(); } // Token: 0x0600E564 RID: 58724 RVA: 0x00366AA8 File Offset: 0x00364CA8 [Token(Token = "0x600E564")] [Address(RVA = "0x13D4A60", Offset = "0x13D3460", VA = "0x1813D4A60", Slot = "6")] public override void CreateButtonPressed() { WatchUI local = WatchUI.BFPPPLIJIGC; RRUIRootScreen flowByType = local.GetFlowByType(); CIIBGMBOFEI ciibgmbofei = Matchmaking.BBJAEJHMAPB; if (ciibgmbofei != 0 && ciibgmbofei.k__BackingField == KCNDCDBBLFH.Clubhouse) { long k__BackingField = Matchmaking.BBJAEJHMAPB.k__BackingField; flowByType.ShowScreenAndGoToClubDetails(k__BackingField); return; } int num = 0; local.PushFlow(flowByType, num); } // Token: 0x0600E565 RID: 58725 RVA: 0x00366B08 File Offset: 0x00364D08 [Token(Token = "0x600E565")] [Address(RVA = "0x13D4DB0", Offset = "0x13D37B0", VA = "0x1813D4DB0", Slot = "7")] public override IPromise Handle(LinkManager.ELGKGFGCNJL JBLKFFDDMJH) { ClubCode.ADIIABBAMNN adiiabbamnn = new ClubCode.ADIIABBAMNN(); adiiabbamnn.pendingLink = JBLKFFDDMJH; adiiabbamnn.<>4__this = this; if (adiiabbamnn.data > (ulong)0L) { int num = 0; adiiabbamnn.club = num; adiiabbamnn.joined = num != 0; ClubCode.ClubData data = adiiabbamnn.data; Func func = delegate(PLILLKHMNDA c) { LinkManager.ELGKGFGCNJL pendingLink = adiiabbamnn.pendingLink; adiiabbamnn.club = c; COFHGNFJMOG.OLOEFOJHNGF liokhlnndfl = pendingLink.LIOKHLNNDFL; ClubCode <>4__this = adiiabbamnn.<>4__this; string k__BackingField = liokhlnndfl.k__BackingField; ActionCode.Configuration config = <>4__this.Config; int num3 = 0; if ((config.autoRenew ? 1 : 0) != num3) { } return ActionCode.ConsumeActionLinkIfValid(k__BackingField, num3); }; if (num < adiiabbamnn) { num += num; if (num == adiiabbamnn) { goto IL_7F; } num++; } if (ClubCode.<>c.<>9__8_1 == 0) { ClubCode.<>c.<>9__8_1 = delegate { Scheduler instance = SingletonMonoBehaviour.Instance; int num4; LinkManager.PMJDMKJCHFG pmjdmkjchfg = new LinkManager.PMJDMKJCHFG(num4); num4 = 0; pmjdmkjchfg.waitForWatchClosed = false; pmjdmkjchfg.launchTarget = (ulong)0L; ISchedulerPromise schedulerPromise = instance.Run(pmjdmkjchfg); throw new NullReferenceException(); }; } Func func2 = delegate { LinkManager.ELGKGFGCNJL pendingLink2 = adiiabbamnn.pendingLink; ClubCode.ClubData data2 = adiiabbamnn.data; PJCALHOPMKJ joinability = adiiabbamnn.data.Joinability; COFHGNFJMOG.OLOEFOJHNGF liokhlnndfl2 = pendingLink2.LIOKHLNNDFL; if (adiiabbamnn.<>9__3 == 0) { Action action = delegate { adiiabbamnn.joined = true; NotificationManager instance2 = SingletonMonoBehaviour.Instance; if (instance2 != 0) { ClubCode <>4__this2 = adiiabbamnn.<>4__this; PLILLKHMNDA club = adiiabbamnn.club; if (club == 0 || club.k__BackingField == 0) { } string text = string.Format(<>4__this2.clubJoined, "this club"); int num5 = 0; int num6 = 0; instance2.PlayWatchNotification(num6 != 0, (NotificationManager.HLJEOKDOLPF)(-1), text, num5); } }; adiiabbamnn.<>9__3 = action; } if (adiiabbamnn.<>9__4 == 0) { Action action2 = delegate { while (!adiiabbamnn.joined) { ClubCode.ClubData data3 = adiiabbamnn.data; int num7 = ObscuredInt.FAJDMKOEFLH(PEGGCEDHBOF.DOOHKCANFLO.k__BackingField); PPGPAHNMGEC? ppgpahnmgec; if (ppgpahnmgec != 0 && ppgpahnmgec.value.ALEILMLLKCF()) { break; } bool fakeValue = PEGGCEDHBOF.DOOHKCANFLO.k__BackingField.fakeValue; bool flag; if (!flag) { if (adiiabbamnn.club.k__BackingField != DIGMAIMMHAP.Public) { if (WatchUI.BFPPPLIJIGC != 0) { ClubCode <>4__this3 = adiiabbamnn.<>4__this; } return; } break; } else if (WatchUI.BFPPPLIJIGC != 0) { ClubCode <>4__this4 = adiiabbamnn.<>4__this; break; } } RRUIRootScreen flowByType = WatchUI.BFPPPLIJIGC.GetFlowByType(); int num8 = 0; bool flag2 = WatchUI.OpenWatchFlow(flowByType, true, num8); throw new NullReferenceException(); }; adiiabbamnn.<>9__4 = action2; } throw new NullReferenceException(); }; IL_7F: uint num2; num2 += num2; } IPromise promise = Promise.FromError("Invalid Club Id"); throw new NullReferenceException(); } // Token: 0x0600E566 RID: 58726 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600E566")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "8")] public override void ModifyPreAuthLaunchTarget(BootSequence.IIACGMGMLOB HHBNIDNOLDI, LinkManager.ELGKGFGCNJL JBLKFFDDMJH) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600E567 RID: 58727 RVA: 0x00366BAC File Offset: 0x00364DAC [Token(Token = "0x600E567")] [Address(RVA = "0x13D5100", Offset = "0x13D3B00", VA = "0x1813D5100")] public ClubCode() { } // Token: 0x0600E568 RID: 58728 RVA: 0x00366BF8 File Offset: 0x00364DF8 [Token(Token = "0x600E568")] [Address(RVA = "0x13D5070", Offset = "0x13D3A70", VA = "0x1813D5070")] [CompilerGenerated] private void OELBJNHJEGL(ActionCode.HKFNFGGEPMP GIAOBLMEMMI) { IAFKHONIKPI type = this.Config.type; } // Token: 0x040095C5 RID: 38341 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40095C5")] [SerializeField] [Tooltip("Error dialog Body for when we can't even show the club UI due to permissions or club settings")] [Header("UI Strings:")] private string cantShowClubBody = "This club is private and the sender doesn't have permissions to invite you."; // Token: 0x040095C6 RID: 38342 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40095C6")] [SerializeField] [Tooltip("Error dialog Title for when we can't even show the club UI due to permissions or club settings")] private string cantShowClubTitle = "Club Code Failed"; // Token: 0x040095C7 RID: 38343 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40095C7")] [SerializeField] [Tooltip("Message when someone joins a club. Use {0} to insert the club's name.")] private string clubJoined = "You are now a member of {0}!"; // Token: 0x040095C8 RID: 38344 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40095C8")] [SerializeField] [Tooltip("Error dialog Body for when we can't even show the club UI because the player is a Junior")] private string juniorCantJoinBody = "This club does not allow Junior accounts to join."; // Token: 0x040095C9 RID: 38345 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40095C9")] [SerializeField] [Tooltip("Error dialog Title for when we can't even show the club UI because the player is a Junior")] private string juniorCantJoinTitle = "Club Code Failed"; // Token: 0x02002067 RID: 8295 [Token(Token = "0x2002067")] [Serializable] private struct ClubData { // Token: 0x040095CA RID: 38346 [global::Cpp2IlInjected.FieldOffset(Offset = "0x0")] [Token(Token = "0x40095CA")] public long ClubId; // Token: 0x040095CB RID: 38347 [global::Cpp2IlInjected.FieldOffset(Offset = "0x8")] [Token(Token = "0x40095CB")] public PJCALHOPMKJ Joinability; // Token: 0x040095CC RID: 38348 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC")] [Token(Token = "0x40095CC")] public DIGMAIMMHAP Visibility; } // Token: 0x02002068 RID: 8296 [Token(Token = "0x2002068")] [CompilerGenerated] private sealed class ADIIABBAMNN { // Token: 0x0600E569 RID: 58729 RVA: 0x00366C1C File Offset: 0x00364E1C [Token(Token = "0x600E569")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public ADIIABBAMNN() { } // Token: 0x0600E56A RID: 58730 RVA: 0x00366C30 File Offset: 0x00364E30 [Token(Token = "0x600E56A")] [Address(RVA = "0x13D18D0", Offset = "0x13D02D0", VA = "0x1813D18D0")] internal IPromise b__0(PLILLKHMNDA c) { LinkManager.ELGKGFGCNJL elgkgfgcnjl = this.pendingLink; this.club = c; COFHGNFJMOG.OLOEFOJHNGF liokhlnndfl = elgkgfgcnjl.LIOKHLNNDFL; ClubCode clubCode = this.<>4__this; string k__BackingField = liokhlnndfl.k__BackingField; ActionCode.Configuration config = clubCode.Config; int num = 0; if ((config.autoRenew ? 1 : 0) != num) { } return ActionCode.ConsumeActionLinkIfValid(k__BackingField, num); } // Token: 0x0600E56B RID: 58731 RVA: 0x00366C84 File Offset: 0x00364E84 [Token(Token = "0x600E56B")] [Address(RVA = "0x13D19C0", Offset = "0x13D03C0", VA = "0x1813D19C0")] internal IPromise b__2() { LinkManager.ELGKGFGCNJL elgkgfgcnjl = this.pendingLink; ClubCode.ClubData clubData = this.data; PJCALHOPMKJ joinability = this.data.Joinability; COFHGNFJMOG.OLOEFOJHNGF liokhlnndfl = elgkgfgcnjl.LIOKHLNNDFL; if (this.<>9__3 == 0) { Action action = delegate { this.joined = true; NotificationManager instance = SingletonMonoBehaviour.Instance; if (instance != 0) { ClubCode clubCode = this.<>4__this; PLILLKHMNDA plillkhmnda = this.club; if (plillkhmnda == 0 || plillkhmnda.k__BackingField == 0) { } string text = string.Format(clubCode.clubJoined, "this club"); int num = 0; int num2 = 0; instance.PlayWatchNotification(num2 != 0, (NotificationManager.HLJEOKDOLPF)(-1), text, num); } }; this.<>9__3 = action; } if (this.<>9__4 == 0) { Action action2 = delegate { while (!this.joined) { ClubCode.ClubData clubData2 = this.data; int num3 = ObscuredInt.FAJDMKOEFLH(PEGGCEDHBOF.DOOHKCANFLO.k__BackingField); PPGPAHNMGEC? ppgpahnmgec; if (ppgpahnmgec != 0 && ppgpahnmgec.value.ALEILMLLKCF()) { break; } bool fakeValue = PEGGCEDHBOF.DOOHKCANFLO.k__BackingField.fakeValue; bool flag; if (!flag) { if (this.club.k__BackingField != DIGMAIMMHAP.Public) { if (WatchUI.BFPPPLIJIGC != 0) { ClubCode clubCode2 = this.<>4__this; } return; } break; } else if (WatchUI.BFPPPLIJIGC != 0) { ClubCode clubCode3 = this.<>4__this; break; } } RRUIRootScreen flowByType = WatchUI.BFPPPLIJIGC.GetFlowByType(); int num4 = 0; bool flag2 = WatchUI.OpenWatchFlow(flowByType, true, num4); throw new NullReferenceException(); }; this.<>9__4 = action2; } throw new NullReferenceException(); } // Token: 0x0600E56C RID: 58732 RVA: 0x00366CF8 File Offset: 0x00364EF8 [Token(Token = "0x600E56C")] [Address(RVA = "0x13D1B00", Offset = "0x13D0500", VA = "0x1813D1B00")] internal void b__3() { this.joined = true; NotificationManager instance = SingletonMonoBehaviour.Instance; if (instance != 0) { ClubCode clubCode = this.<>4__this; PLILLKHMNDA plillkhmnda = this.club; if (plillkhmnda == 0 || plillkhmnda.k__BackingField == 0) { } string text = string.Format(clubCode.clubJoined, "this club"); int num = 0; int num2 = 0; instance.PlayWatchNotification(num2 != 0, (NotificationManager.HLJEOKDOLPF)(-1), text, num); } } // Token: 0x0600E56D RID: 58733 RVA: 0x00366D5C File Offset: 0x00364F5C [Token(Token = "0x600E56D")] [Address(RVA = "0x13D1BC0", Offset = "0x13D05C0", VA = "0x1813D1BC0")] internal void b__4() { while (!this.joined) { ClubCode.ClubData clubData = this.data; int num = ObscuredInt.FAJDMKOEFLH(PEGGCEDHBOF.DOOHKCANFLO.k__BackingField); PPGPAHNMGEC? ppgpahnmgec; if (ppgpahnmgec != 0 && ppgpahnmgec.value.ALEILMLLKCF()) { break; } bool fakeValue = PEGGCEDHBOF.DOOHKCANFLO.k__BackingField.fakeValue; bool flag; if (!flag) { if (this.club.k__BackingField != DIGMAIMMHAP.Public) { if (WatchUI.BFPPPLIJIGC != 0) { ClubCode clubCode = this.<>4__this; } return; } break; } else if (WatchUI.BFPPPLIJIGC != 0) { ClubCode clubCode2 = this.<>4__this; break; } } RRUIRootScreen flowByType = WatchUI.BFPPPLIJIGC.GetFlowByType(); int num2 = 0; bool flag2 = WatchUI.OpenWatchFlow(flowByType, true, num2); throw new NullReferenceException(); } // Token: 0x040095CD RID: 38349 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40095CD")] public PLILLKHMNDA club; // Token: 0x040095CE RID: 38350 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40095CE")] public LinkManager.ELGKGFGCNJL pendingLink; // Token: 0x040095CF RID: 38351 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40095CF")] public ClubCode <>4__this; // Token: 0x040095D0 RID: 38352 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40095D0")] public ClubCode.ClubData data; // Token: 0x040095D1 RID: 38353 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40095D1")] public bool joined; // Token: 0x040095D2 RID: 38354 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40095D2")] public Action <>9__3; // Token: 0x040095D3 RID: 38355 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40095D3")] public Action <>9__4; } } }