// Token: 0x06000043 RID: 67 RVA: 0x0000331C File Offset: 0x0000151C private object DecryptFF(string str) { int num; object obj2; int num4; object obj3; try { IL_01: ProjectData.ClearProjectError(); num = -2; IL_0A: int num2 = 2; StringBuilder stringBuilder = new StringBuilder(str); IL_15: num2 = 3; int value = this.NSSBase64_DecodeBuffer(IntPtr.Zero, IntPtr.Zero, stringBuilder, stringBuilder.Length); IL_32: num2 = 4; PREC.TSECItem tsecitem = default(PREC.TSECItem); IL_3D: num2 = 5; IntPtr intPtr = new IntPtr(value); object obj = Marshal.PtrToStructure(intPtr, typeof(PREC.TSECItem)); PREC.TSECItem tsecitem3; PREC.TSECItem tsecitem2 = (obj != null) ? ((PREC.TSECItem)obj) : tsecitem3; IL_6C: num2 = 6; if (this.PK11SDR_Decrypt(ref tsecitem2, ref tsecitem, 0) != 0) { goto IL_DF; } IL_7F: num2 = 7; if (tsecitem.SECItemLen == 0) { goto IL_DF; } IL_91: num2 = 8; byte[] array = new byte[checked (tsecitem.SECItemLen - 1 + 1)]; IL_A6: num2 = 9; intPtr = new IntPtr(tsecitem.SECItemData); Marshal.Copy(intPtr, array, 0, tsecitem.SECItemLen); IL_C9: num2 = 10; obj2 = Encoding.UTF8.GetString(array); goto IL_185; IL_DF: num2 = 13; obj2 = string.Empty; IL_EE: goto IL_185; IL_F3: int num3 = num4 + 1; num4 = 0; @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num3); IL_13B: goto IL_17A; IL_13D: num4 = num2; if (num <= -2) { goto IL_F3; } @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num); IL_156 :; } catch when(endfilter(obj3 is Exception & num != 0 & num4 == 0)) { Exception ex = (Exception)obj4; goto IL_13D; } IL_17A: throw ProjectData.CreateProjectError(-2146828237); IL_185: object result = obj2; if (num4 != 0) { ProjectData.ClearProjectError(); } return(result); }
// Token: 0x06000034 RID: 52 RVA: 0x00002EB8 File Offset: 0x000010B8 private int PK11SDR_Decrypt(ref PREC.TSECItem data, ref PREC.TSECItem result, int cx) { return(this.CreateAPI <PREC.DLLFunctionDelegate5>(this.NSS3, "PK11SDR_Decrypt")(ref data, ref result, cx)); }