#include "il2cpp-config.h"

#ifndef _MSC_VER
# include <alloca.h>
#else
# include <malloc.h>
#endif

#include <cstring>
#include <string.h>
#include <stdio.h>
#include <cmath>
#include <limits>
#include <assert.h>

// System.String
struct String_t;
// Mono.Math.BigInteger
struct BigInteger_t3334373499;
// System.Byte[]
struct ByteU5BU5D_t4260760469;
// System.Security.Cryptography.RandomNumberGenerator
struct RandomNumberGenerator_t1757673517;
// System.Object
struct Il2CppObject;
// Mono.Math.BigInteger[]
struct BigIntegerU5BU5D_t1634278496;
// System.UInt32[]
struct UInt32U5BU5D_t3230734560;
// Mono.Math.BigInteger/ModulusRing
struct ModulusRing_t3697743090;
// Mono.Math.Prime.Generator.PrimeGeneratorBase
struct PrimeGeneratorBase_t1565729054;
// Mono.Math.Prime.PrimalityTest
struct PrimalityTest_t2979531602;
// Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase
struct SequentialSearchPrimeGeneratorBase_t3892164357;
// System.IAsyncResult
struct IAsyncResult_t2754620036;
// System.AsyncCallback
struct AsyncCallback_t1369114871;
// Mono.Security.ASN1
struct ASN1_t3752917378;
// Mono.Security.Cryptography.ARC4Managed
struct ARC4Managed_t1354014707;
// System.Security.Cryptography.ICryptoTransform
struct ICryptoTransform_t153068654;
// Mono.Security.Cryptography.HMAC
struct HMAC_t2066897019;
// Mono.Security.Cryptography.MD2
struct MD2_t227518833;
// Mono.Security.Cryptography.MD2Managed
struct MD2Managed_t915988216;
// Mono.Security.Cryptography.MD4
struct MD4_t227518835;
// Mono.Security.Cryptography.MD4Managed
struct MD4Managed_t106641590;
// Mono.Security.Cryptography.MD5SHA1
struct MD5SHA1_t3104883481;
// System.Security.Cryptography.RSA
struct RSA_t2466814310;
// System.Security.Cryptography.HashAlgorithm
struct HashAlgorithm_t532578791;
// Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo
struct EncryptedPrivateKeyInfo_t300608462;
// Mono.Security.Cryptography.PKCS8/PrivateKeyInfo
struct PrivateKeyInfo_t3021279628;
// System.Security.Cryptography.DSA
struct DSA_t2466800856;
// Mono.Security.Cryptography.RC4
struct RC4_t227523609;
// Mono.Security.Cryptography.RSAManaged
struct RSAManaged_t3258726068;
// Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler
struct KeyGeneratedEventHandler_t2889700850;
// System.EventArgs
struct EventArgs_t2540831021;
// Mono.Security.PKCS7/ContentInfo
struct ContentInfo_t3081670594;
// Mono.Security.PKCS7/EncryptedData
struct EncryptedData_t2709367817;
// Mono.Security.Protocol.Tls.Alert
struct Alert_t2013630382;
// Mono.Security.Protocol.Tls.CertificateSelectionCallback
struct CertificateSelectionCallback_t604475832;
// System.Security.Cryptography.X509Certificates.X509Certificate
struct X509Certificate_t3076817455;
// System.Security.Cryptography.X509Certificates.X509CertificateCollection
struct X509CertificateCollection_t3220522733;
// Mono.Security.Protocol.Tls.CertificateValidationCallback
struct CertificateValidationCallback_t3090555431;
// System.Int32[]
struct Int32U5BU5D_t3230847821;
// Mono.Security.Protocol.Tls.CertificateValidationCallback2
struct CertificateValidationCallback2_t3353735195;
// Mono.Security.Protocol.Tls.ValidationResult
struct ValidationResult_t925859732;
// Mono.Security.X509.X509CertificateCollection
struct X509CertificateCollection_t4135795358;
// Mono.Security.Protocol.Tls.CipherSuite
struct CipherSuite_t580420223;
// System.Security.Cryptography.KeyedHashAlgorithm
struct KeyedHashAlgorithm_t1039941647;
// Mono.Security.Protocol.Tls.Context
struct Context_t658806145;
// Mono.Security.Protocol.Tls.CipherSuiteCollection
struct CipherSuiteCollection_t2487974013;
// System.Collections.IEnumerator
struct IEnumerator_t3464575207;
// System.Array
struct Il2CppArray;
// Mono.Security.Protocol.Tls.TlsCipherSuite
struct TlsCipherSuite_t3923560144;
// Mono.Security.Protocol.Tls.SslCipherSuite
struct SslCipherSuite_t1471718687;
// Mono.Security.Protocol.Tls.ClientContext
struct ClientContext_t3745725366;
// Mono.Security.Protocol.Tls.SslClientStream
struct SslClientStream_t2101301545;
// Mono.Security.Protocol.Tls.ClientRecordProtocol
struct ClientRecordProtocol_t3260910930;
// System.IO.Stream
struct Stream_t1561764144;
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage
struct HandshakeMessage_t2623608376;
// Mono.Security.Protocol.Tls.TlsStream
struct TlsStream_t89550253;
// Mono.Security.Protocol.Tls.ClientSessionInfo
struct ClientSessionInfo_t1380030187;
// Mono.Security.Protocol.Tls.TlsServerSettings
struct TlsServerSettings_t3702625715;
// Mono.Security.Protocol.Tls.TlsClientSettings
struct TlsClientSettings_t3675869755;
// Mono.Security.Protocol.Tls.RecordProtocol
struct RecordProtocol_t1331996967;
// Mono.Security.Protocol.Tls.SecurityParameters
struct SecurityParameters_t2935569768;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate
struct TlsClientCertificate_t617688751;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify
struct TlsClientCertificateVerify_t4004312584;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished
struct TlsClientFinished_t3760597130;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello
struct TlsClientHello_t2038752746;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange
struct TlsClientKeyExchange_t3687755450;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate
struct TlsServerCertificate_t3135543351;
// Mono.Security.X509.X509Certificate
struct X509Certificate_t1623369440;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest
struct TlsServerCertificateRequest_t3188160136;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished
struct TlsServerFinished_t3787353090;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello
struct TlsServerHello_t1453856114;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone
struct TlsServerHelloDone_t2604642324;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange
struct TlsServerKeyExchange_t1910642754;
// Mono.Security.Protocol.Tls.HttpsClientStream
struct HttpsClientStream_t25214728;
// System.Net.HttpWebRequest
struct HttpWebRequest_t3949036893;
// System.Security.Cryptography.AsymmetricAlgorithm
struct AsymmetricAlgorithm_t1241690687;
// Mono.Security.Protocol.Tls.PrivateKeySelectionCallback
struct PrivateKeySelectionCallback_t3559239239;
// Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult
struct ReceiveRecordAsyncResult_t4254633253;
// System.Exception
struct Exception_t3991598821;
// System.Threading.WaitHandle
struct WaitHandle_t1661568373;
// Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult
struct SendRecordAsyncResult_t3836770528;
// Mono.Security.Protocol.Tls.RSASslSignatureDeformatter
struct RSASslSignatureDeformatter_t654537083;
// Mono.Security.Protocol.Tls.RSASslSignatureFormatter
struct RSASslSignatureFormatter_t1731244892;
// Mono.Security.Protocol.Tls.SslHandshakeHash
struct SslHandshakeHash_t3344762007;
// Mono.Security.Protocol.Tls.SslStreamBase
struct SslStreamBase_t657895919;
// Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult
struct InternalAsyncResult_t2363113060;
// Mono.Security.Protocol.Tls.TlsException
struct TlsException_t1031360050;
// System.Runtime.Serialization.SerializationInfo
struct SerializationInfo_t2185721892;
// Mono.Security.Protocol.Tls.Handshake.ClientCertificateType[]
struct ClientCertificateTypeU5BU5D_t2297606589;
// System.String[]
struct StringU5BU5D_t4054002952;
// Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension
struct AuthorityKeyIdentifierExtension_t253620168;
// Mono.Security.X509.X509Extension
struct X509Extension_t4211806920;
// Mono.Security.X509.Extensions.BasicConstraintsExtension
struct BasicConstraintsExtension_t2578001957;

#include "class-internals.h"
#include "codegen/il2cpp-codegen.h"
#include "mscorlib_System_Array1146569071.h"
#include "Mono_Security_U3CModuleU3E86524790.h"
#include "Mono_Security_U3CModuleU3E86524790MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E3053238933.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E3053238933MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220348.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220348MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220352.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220352MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220377.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220377MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1676616792.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1676616792MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2435538904.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2435538904MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220410.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220410MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3988332409.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3988332409MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220447.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220447MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220505.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3379220505MethodDeclarations.h"
#include "Mono_Security_Locale2281372282.h"
#include "Mono_Security_Locale2281372282MethodDeclarations.h"
#include "mscorlib_System_String7231557.h"
#include "Mono_Security_Mono_Math_BigInteger3334373498.h"
#include "Mono_Security_Mono_Math_BigInteger3334373498MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_Sign162809939.h"
#include "mscorlib_System_Void2863195528.h"
#include "mscorlib_System_UInt3224667981.h"
#include "mscorlib_System_Object4170816371MethodDeclarations.h"
#include "mscorlib_ArrayTypes.h"
#include "mscorlib_System_Array1146569071MethodDeclarations.h"
#include "mscorlib_System_Object4170816371.h"
#include "mscorlib_System_Byte2862609660.h"
#include "mscorlib_System_Int321153838500.h"
#include "mscorlib_System_Runtime_CompilerServices_RuntimeHe1593496111MethodDeclarations.h"
#include "mscorlib_System_RuntimeFieldHandle2347752062.h"
#include "mscorlib_System_Security_Cryptography_RandomNumber1757673517.h"
#include "mscorlib_System_Security_Cryptography_RandomNumber1757673517MethodDeclarations.h"
#include "mscorlib_System_Buffer3816066164MethodDeclarations.h"
#include "mscorlib_System_Boolean476798718.h"
#include "mscorlib_System_IndexOutOfRangeException3456360697MethodDeclarations.h"
#include "mscorlib_System_IndexOutOfRangeException3456360697.h"
#include "mscorlib_System_String7231557MethodDeclarations.h"
#include "mscorlib_System_ArgumentException928607144MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_Kernel1609132371MethodDeclarations.h"
#include "mscorlib_System_ArgumentException928607144.h"
#include "mscorlib_System_Char2862622538.h"
#include "Mono_Security_Mono_Math_BigInteger_ModulusRing3697743089MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_ModulusRing3697743089.h"
#include "Mono_Security_Mono_Math_Prime_Generator_Sequential3892164356MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_Generator_Sequential3892164356.h"
#include "mscorlib_System_ArgumentOutOfRangeException3816648464MethodDeclarations.h"
#include "mscorlib_System_ArgumentOutOfRangeException3816648464.h"
#include "mscorlib_System_ArithmeticException1168437275MethodDeclarations.h"
#include "mscorlib_System_Exception3991598821MethodDeclarations.h"
#include "mscorlib_System_ArithmeticException1168437275.h"
#include "mscorlib_System_Exception3991598821.h"
#include "Mono.Security_ArrayTypes.h"
#include "Mono_Security_Mono_Math_BigInteger_Kernel1609132371.h"
#include "mscorlib_System_UInt6424668076.h"
#include "Mono_Security_Mono_Math_BigInteger_Sign162809939MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_ConfidenceFactor3802548591.h"
#include "Mono_Security_Mono_Math_Prime_ConfidenceFactor3802548591MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_Generator_PrimeGener1565729053.h"
#include "Mono_Security_Mono_Math_Prime_Generator_PrimeGener1565729053MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTest2979531601.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTest2979531601MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTests194676186.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTests194676186MethodDeclarations.h"
#include "mscorlib_System_IntPtr4010401971.h"
#include "mscorlib_System_AsyncCallback1369114871.h"
#include "Mono_Security_Mono_Security_ASN13752917377.h"
#include "Mono_Security_Mono_Security_ASN13752917377MethodDeclarations.h"
#include "mscorlib_System_NotSupportedException1732551818MethodDeclarations.h"
#include "mscorlib_System_NotSupportedException1732551818.h"
#include "mscorlib_System_Collections_ArrayList3948406897.h"
#include "mscorlib_System_Collections_ArrayList3948406897MethodDeclarations.h"
#include "mscorlib_System_Text_StringBuilder243639308MethodDeclarations.h"
#include "mscorlib_System_Environment4152990825MethodDeclarations.h"
#include "mscorlib_System_Text_StringBuilder243639308.h"
#include "mscorlib_System_Byte2862609660MethodDeclarations.h"
#include "Mono_Security_Mono_Security_ASN1Convert1533901092.h"
#include "Mono_Security_Mono_Security_ASN1Convert1533901092MethodDeclarations.h"
#include "Mono_Security_Mono_Security_BitConverterLE159646808MethodDeclarations.h"
#include "mscorlib_System_ArgumentNullException3573189601MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_CryptoConfig1703322959MethodDeclarations.h"
#include "mscorlib_System_ArgumentNullException3573189601.h"
#include "mscorlib_System_FormatException3455918062MethodDeclarations.h"
#include "mscorlib_System_FormatException3455918062.h"
#include "mscorlib_System_Globalization_CultureInfo1065375142MethodDeclarations.h"
#include "mscorlib_System_Globalization_CultureInfo1065375142.h"
#include "mscorlib_System_UInt6424668076MethodDeclarations.h"
#include "mscorlib_System_DateTime4283661327.h"
#include "mscorlib_System_Text_Encoding2012439129MethodDeclarations.h"
#include "mscorlib_System_Convert1363677321MethodDeclarations.h"
#include "mscorlib_System_DateTime4283661327MethodDeclarations.h"
#include "mscorlib_System_Text_Encoding2012439129.h"
#include "mscorlib_System_Int161153838442.h"
#include "mscorlib_System_Globalization_DateTimeStyles1282965087.h"
#include "Mono_Security_Mono_Security_BitConverterLE159646808.h"
#include "mscorlib_System_BitConverter1260277767.h"
#include "mscorlib_System_BitConverter1260277767MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_ARC4Manag1354014707.h"
#include "Mono_Security_Mono_Security_Cryptography_ARC4Manag1354014707MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RC4227523609MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SymmetricAlg3097904804MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SymmetricAlg3097904804.h"
#include "mscorlib_System_GC1614687344MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RC4227523609.h"
#include "Mono_Security_Mono_Security_Cryptography_KeyBuilder373726640MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_CryptoCon3338259528.h"
#include "Mono_Security_Mono_Security_Cryptography_CryptoCon3338259528MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_HMAC2066897019.h"
#include "Mono_Security_Mono_Security_Cryptography_HMAC2066897019MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_KeyedHashAlg1039941647MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_HashAlgorithm532578791MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_HashAlgorithm532578791.h"
#include "mscorlib_System_Security_Cryptography_KeyedHashAlg1039941647.h"
#include "Mono_Security_Mono_Security_Cryptography_KeyBuilder373726640.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2227518833.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2227518833MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2Managed915988216MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2Managed915988216.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4227518835.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4227518835MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4Managed106641590MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4Managed106641590.h"
#include "Mono_Security_Mono_Security_Cryptography_MD5SHA13104883481.h"
#include "Mono_Security_Mono_Security_Cryptography_MD5SHA13104883481MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_MD52466809028MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SHA13976944113MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_MD52466809028.h"
#include "mscorlib_System_Security_Cryptography_SHA13976944113.h"
#include "mscorlib_System_Security_Cryptography_RSA2466814310.h"
#include "mscorlib_System_Security_Cryptography_Cryptographic363661542MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSig1731244892MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSig1731244892.h"
#include "mscorlib_System_Security_Cryptography_Cryptographic363661542.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricAl1241690687.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSign654537083MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSign654537083.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS13260516764.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS13260516764MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSA2466814310MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricAl1241690687MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi3687180084MethodDeclarations.h"
#include "mscorlib_System_Math2862914300MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi3687180084.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS83260516771.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS83260516771MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Encr300608461.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Encr300608461MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Pri3021279627.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Pri3021279627MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_CspParameters309313264MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSACryptoServ742318033MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSAParameter3219890992.h"
#include "mscorlib_System_Security_Cryptography_CspParameters309313264.h"
#include "mscorlib_System_Security_Cryptography_CspProviderF3394239842.h"
#include "mscorlib_System_Security_Cryptography_RSACryptoServ742318033.h"
#include "mscorlib_System_Security_Cryptography_DSAParameter3032565794.h"
#include "mscorlib_System_Security_Cryptography_DSA2466800856.h"
#include "mscorlib_System_Security_Cryptography_DSA2466800856MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_KeySizes2106826975.h"
#include "mscorlib_System_Security_Cryptography_KeySizes2106826975MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage3258726067.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage3258726067MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage2889700849MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage2889700849.h"
#include "mscorlib_System_EventArgs2540831021.h"
#include "mscorlib_System_ObjectDisposedException1794727681MethodDeclarations.h"
#include "mscorlib_System_ObjectDisposedException1794727681.h"
#include "Mono_Security_Mono_Security_PKCS71481122354.h"
#include "Mono_Security_Mono_Security_PKCS71481122354MethodDeclarations.h"
#include "Mono_Security_Mono_Security_PKCS7_ContentInfo3081670593.h"
#include "Mono_Security_Mono_Security_PKCS7_ContentInfo3081670593MethodDeclarations.h"
#include "Mono_Security_Mono_Security_PKCS7_EncryptedData2709367816.h"
#include "Mono_Security_Mono_Security_PKCS7_EncryptedData2709367816MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Alert2013630382.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Alert2013630382MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertDesc4238799518.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertLeve3033872806.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertDesc4238799518MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertLeve3033872806MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certificat604475832.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certificat604475832MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat3220522733.h"
#include "mscorlib_System_Security_Cryptography_X509Certific3076817455.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3090555431.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3090555431MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3353735195.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3353735195MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509CertificateCo4135795357.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Validation925859732.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherAlg1887515856.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherAlg1887515856MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit580420223.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit580420223MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HashAlgor4118445357.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ExchangeA3271961912.h"
#include "mscorlib_System_Security_Cryptography_CipherMode2662187258.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Context658806145.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Context658806145MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientCon3745725366MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientCon3745725366.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsStream89550253MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsStream89550253.h"
#include "mscorlib_System_Int641153838595.h"
#include "mscorlib_System_Security_Cryptography_DES2466800440MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RC22466813799MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_TripleDES3018929210MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Rijndael271969675MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP2935569768MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_DES2466800440.h"
#include "mscorlib_System_Security_Cryptography_RC22466813799.h"
#include "mscorlib_System_Security_Cryptography_TripleDES3018929210.h"
#include "mscorlib_System_Security_Cryptography_Rijndael271969675.h"
#include "mscorlib_System_Security_Cryptography_PaddingMode2126978938.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP2935569768.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui2487974013.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui2487974013MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP1707327472.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsCipher3923560144MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslCipher1471718687MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsCipher3923560144.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslCipher1471718687.h"
#include "mscorlib_System_Globalization_CompareInfo1485490525.h"
#include "mscorlib_System_Globalization_CompareInfo1485490525MethodDeclarations.h"
#include "mscorlib_System_Globalization_CompareOptions2860691451.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit311944379.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit311944379MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslClient2101301545.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsClient3675869755MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsClient3675869755.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientRec3260910930.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientRec3260910930MethodDeclarations.h"
#include "mscorlib_System_IO_Stream1561764144.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro1331996967MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3359671455.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2623608376.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2623608376MethodDeclarations.h"
#include "mscorlib_System_IO_Stream1561764144MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2038752746MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_617688751MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3687755450MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4004312584MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3760597130MethodDeclarations.h"
#include "mscorlib_System_InvalidOperationException1589641621MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro1331996967.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2038752746.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_617688751.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3687755450.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4004312584.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3760597130.h"
#include "mscorlib_System_Enum2862688501MethodDeclarations.h"
#include "mscorlib_System_Enum2862688501.h"
#include "mscorlib_System_InvalidOperationException1589641621.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1453856114MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3135543351MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1910642754MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3188160136MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2604642324MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3787353090MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsExcept1031360050MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1470195192.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1453856114.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3135543351.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1910642754.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3188160136.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2604642324.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3787353090.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsExcept1031360050.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes1861128725.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes1861128725MethodDeclarations.h"
#include "mscorlib_System_Collections_Hashtable1407064410MethodDeclarations.h"
#include "mscorlib_System_Collections_Hashtable1407064410.h"
#include "mscorlib_System_Threading_Monitor2734674376MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes1380030187MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes1380030187.h"
#include "mscorlib_System_Int321153838500MethodDeclarations.h"
#include "mscorlib_System_Double3868226565.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ContentTy2370127397.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ContentTy2370127397MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsServer3702625715MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityCo131120690.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsServer3702625715.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ExchangeA3271961912MethodDeclarations.h"
#include "mscorlib_System_Collections_CollectionBase1042117849MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509CertificateCo4135795357MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_X509Certific3076817455MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslClient2101301545MethodDeclarations.h"
#include "mscorlib_System_Collections_CollectionBase1042117849.h"
#include "Mono_Security_Mono_Security_X509_X509Certificate1623369439.h"
#include "Mono_Security_Mono_Security_X509_X509Certificate1623369439MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat3220522733MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat3573322844MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat3573322844.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslHandsh3344762007MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslHandsh3344762007.h"
#include "mscorlib_System_NotImplementedException1912495542.h"
#include "mscorlib_System_Security_Cryptography_RSAPKCS1KeyE1037641210MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSAPKCS1KeyE1037641210.h"
#include "Mono_Security_Mono_Security_X509_X509ExtensionColl3703825541MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsag723947275MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Extend3095953362MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca3510265670MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsa2509425759.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsag723947275.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Extend3095953362.h"
#include "Mono_Security_Mono_Security_X509_X509Extension4211806919.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca3510265670.h"
#include "Mono_Security_Mono_Security_X509_X509ExtensionColl3703825541.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca1343248969.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Validation925859732MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Chain2146754505MethodDeclarations.h"
#include "mscorlib_System_Type2863145774MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Chain2146754505.h"
#include "Mono_Security_Mono_Security_X509_X509ChainStatusFl3401646578.h"
#include "mscorlib_System_Type2863145774.h"
#include "mscorlib_System_RuntimeTypeHandle2669177232.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Subjec3859801861MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Subjec3859801861.h"
#include "System_System_Text_RegularExpressions_Regex2161232213MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_MatchCollect3437694865MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Group2151468941MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_GroupCollecti982584267MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Capture754001812MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Regex2161232213.h"
#include "System_System_Text_RegularExpressions_MatchCollect3437694865.h"
#include "System_System_Text_RegularExpressions_Match2156507859.h"
#include "System_System_Text_RegularExpressions_Match2156507859MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_GroupCollecti982584267.h"
#include "System_System_Text_RegularExpressions_Group2151468941.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3167042548.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3167042548MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3359671455MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1470195192MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HashAlgor4118445357MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HttpsClient25214728.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HttpsClient25214728MethodDeclarations.h"
#include "System_System_Net_HttpWebRequest3949036893.h"
#include "System_System_Net_HttpWebRequest3949036893MethodDeclarations.h"
#include "System_System_Uri1116831938MethodDeclarations.h"
#include "System_System_Net_ServicePointManager165502476MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStreamB657895919MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_PrivateKe3559239239MethodDeclarations.h"
#include "System_System_Uri1116831938.h"
#include "System_System_Net_SecurityProtocolType2898870124.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_PrivateKe3559239239.h"
#include "System_System_Security_Cryptography_X509Certificate160474609MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat1111884825MethodDeclarations.h"
#include "System_System_Net_Security_RemoteCertificateValida1894914657MethodDeclarations.h"
#include "System_System_Net_ServicePoint4193060341.h"
#include "System_System_Net_Security_RemoteCertificateValida1894914657.h"
#include "System_System_Net_Security_SslPolicyErrors3099591579.h"
#include "System_System_Security_Cryptography_X509Certificate160474609.h"
#include "System_System_Security_Cryptography_X509Certificat1111884825.h"
#include "System_System_Net_WebRequest51806901.h"
#include "mscorlib_System_Threading_ManualResetEvent924017833MethodDeclarations.h"
#include "mscorlib_System_Threading_ManualResetEvent924017833.h"
#include "mscorlib_System_Threading_EventWaitHandle77918117MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro4254633253MethodDeclarations.h"
#include "mscorlib_System_AsyncCallback1369114871MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro4254633253.h"
#include "mscorlib_System_Threading_WaitHandle1661568373.h"
#include "mscorlib_System_Threading_WaitHandle1661568373MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro3836770528MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro3836770528.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ServerContex5810494.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricSi2683552211MethodDeclarations.h"
#include "mscorlib_System_Collections_Generic_Dictionary_2_g1974256870MethodDeclarations.h"
#include "mscorlib_System_Collections_Generic_Dictionary_2_g1974256870.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricSi1609524596MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityCo131120690MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP1707327472MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ServerContex5810494MethodDeclarations.h"
#include "mscorlib_System_Char2862622538MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStreamB657895919.h"
#include "mscorlib_System_Delegate3310234105MethodDeclarations.h"
#include "mscorlib_System_Delegate3310234105.h"
#include "mscorlib_System_IO_MemoryStream418716369.h"
#include "mscorlib_System_IO_IOException2404867879MethodDeclarations.h"
#include "mscorlib_System_IO_IOException2404867879.h"
#include "mscorlib_System_IO_MemoryStream418716369MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStream2363113060MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStream2363113060.h"
#include "mscorlib_System_IO_SeekOrigin4120335598.h"
#include "mscorlib_System_Runtime_Serialization_Serializatio2185721892.h"
#include "mscorlib_System_Runtime_Serialization_StreamingCon2761351129.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Authori253620168.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Authori253620168MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Extension4211806919MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_BasicC2578001957.h"
#include "Mono_Security_Mono_Security_X509_Extensions_BasicC2578001957MethodDeclarations.h"

#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winvalid-offsetof"
#pragma clang diagnostic ignored "-Wunused-variable"
#endif
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$12
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_pinvoke(const U24ArrayTypeU2412_t3379220350& unmarshaled, U24ArrayTypeU2412_t3379220350_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_pinvoke_back(const U24ArrayTypeU2412_t3379220350_marshaled_pinvoke& marshaled, U24ArrayTypeU2412_t3379220350& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$12
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_pinvoke_cleanup(U24ArrayTypeU2412_t3379220350_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$12
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_com(const U24ArrayTypeU2412_t3379220350& unmarshaled, U24ArrayTypeU2412_t3379220350_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_com_back(const U24ArrayTypeU2412_t3379220350_marshaled_com& marshaled, U24ArrayTypeU2412_t3379220350& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$12
extern "C" void U24ArrayTypeU2412_t3379220350_marshal_com_cleanup(U24ArrayTypeU2412_t3379220350_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$16
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_pinvoke(const U24ArrayTypeU2416_t3379220353& unmarshaled, U24ArrayTypeU2416_t3379220353_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_pinvoke_back(const U24ArrayTypeU2416_t3379220353_marshaled_pinvoke& marshaled, U24ArrayTypeU2416_t3379220353& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$16
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_pinvoke_cleanup(U24ArrayTypeU2416_t3379220353_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$16
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_com(const U24ArrayTypeU2416_t3379220353& unmarshaled, U24ArrayTypeU2416_t3379220353_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_com_back(const U24ArrayTypeU2416_t3379220353_marshaled_com& marshaled, U24ArrayTypeU2416_t3379220353& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$16
extern "C" void U24ArrayTypeU2416_t3379220353_marshal_com_cleanup(U24ArrayTypeU2416_t3379220353_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$20
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_pinvoke(const U24ArrayTypeU2420_t3379220378& unmarshaled, U24ArrayTypeU2420_t3379220378_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_pinvoke_back(const U24ArrayTypeU2420_t3379220378_marshaled_pinvoke& marshaled, U24ArrayTypeU2420_t3379220378& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$20
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_pinvoke_cleanup(U24ArrayTypeU2420_t3379220378_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$20
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_com(const U24ArrayTypeU2420_t3379220378& unmarshaled, U24ArrayTypeU2420_t3379220378_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_com_back(const U24ArrayTypeU2420_t3379220378_marshaled_com& marshaled, U24ArrayTypeU2420_t3379220378& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$20
extern "C" void U24ArrayTypeU2420_t3379220378_marshal_com_cleanup(U24ArrayTypeU2420_t3379220378_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$256
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_pinvoke(const U24ArrayTypeU24256_t1676616793& unmarshaled, U24ArrayTypeU24256_t1676616793_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_pinvoke_back(const U24ArrayTypeU24256_t1676616793_marshaled_pinvoke& marshaled, U24ArrayTypeU24256_t1676616793& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$256
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_pinvoke_cleanup(U24ArrayTypeU24256_t1676616793_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$256
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_com(const U24ArrayTypeU24256_t1676616793& unmarshaled, U24ArrayTypeU24256_t1676616793_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_com_back(const U24ArrayTypeU24256_t1676616793_marshaled_com& marshaled, U24ArrayTypeU24256_t1676616793& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$256
extern "C" void U24ArrayTypeU24256_t1676616793_marshal_com_cleanup(U24ArrayTypeU24256_t1676616793_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$3132
extern "C" void U24ArrayTypeU243132_t435538905_marshal_pinvoke(const U24ArrayTypeU243132_t435538905& unmarshaled, U24ArrayTypeU243132_t435538905_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU243132_t435538905_marshal_pinvoke_back(const U24ArrayTypeU243132_t435538905_marshaled_pinvoke& marshaled, U24ArrayTypeU243132_t435538905& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$3132
extern "C" void U24ArrayTypeU243132_t435538905_marshal_pinvoke_cleanup(U24ArrayTypeU243132_t435538905_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$3132
extern "C" void U24ArrayTypeU243132_t435538905_marshal_com(const U24ArrayTypeU243132_t435538905& unmarshaled, U24ArrayTypeU243132_t435538905_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU243132_t435538905_marshal_com_back(const U24ArrayTypeU243132_t435538905_marshaled_com& marshaled, U24ArrayTypeU243132_t435538905& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$3132
extern "C" void U24ArrayTypeU243132_t435538905_marshal_com_cleanup(U24ArrayTypeU243132_t435538905_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$32
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_pinvoke(const U24ArrayTypeU2432_t3379220411& unmarshaled, U24ArrayTypeU2432_t3379220411_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_pinvoke_back(const U24ArrayTypeU2432_t3379220411_marshaled_pinvoke& marshaled, U24ArrayTypeU2432_t3379220411& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$32
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_pinvoke_cleanup(U24ArrayTypeU2432_t3379220411_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$32
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_com(const U24ArrayTypeU2432_t3379220411& unmarshaled, U24ArrayTypeU2432_t3379220411_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_com_back(const U24ArrayTypeU2432_t3379220411_marshaled_com& marshaled, U24ArrayTypeU2432_t3379220411& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$32
extern "C" void U24ArrayTypeU2432_t3379220411_marshal_com_cleanup(U24ArrayTypeU2432_t3379220411_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$4
extern "C" void U24ArrayTypeU244_t3988332409_marshal_pinvoke(const U24ArrayTypeU244_t3988332409& unmarshaled, U24ArrayTypeU244_t3988332409_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU244_t3988332409_marshal_pinvoke_back(const U24ArrayTypeU244_t3988332409_marshaled_pinvoke& marshaled, U24ArrayTypeU244_t3988332409& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$4
extern "C" void U24ArrayTypeU244_t3988332409_marshal_pinvoke_cleanup(U24ArrayTypeU244_t3988332409_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$4
extern "C" void U24ArrayTypeU244_t3988332409_marshal_com(const U24ArrayTypeU244_t3988332409& unmarshaled, U24ArrayTypeU244_t3988332409_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU244_t3988332409_marshal_com_back(const U24ArrayTypeU244_t3988332409_marshaled_com& marshaled, U24ArrayTypeU244_t3988332409& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$4
extern "C" void U24ArrayTypeU244_t3988332409_marshal_com_cleanup(U24ArrayTypeU244_t3988332409_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$48
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_pinvoke(const U24ArrayTypeU2448_t3379220448& unmarshaled, U24ArrayTypeU2448_t3379220448_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_pinvoke_back(const U24ArrayTypeU2448_t3379220448_marshaled_pinvoke& marshaled, U24ArrayTypeU2448_t3379220448& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$48
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_pinvoke_cleanup(U24ArrayTypeU2448_t3379220448_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$48
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_com(const U24ArrayTypeU2448_t3379220448& unmarshaled, U24ArrayTypeU2448_t3379220448_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_com_back(const U24ArrayTypeU2448_t3379220448_marshaled_com& marshaled, U24ArrayTypeU2448_t3379220448& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$48
extern "C" void U24ArrayTypeU2448_t3379220448_marshal_com_cleanup(U24ArrayTypeU2448_t3379220448_marshaled_com& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$64
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_pinvoke(const U24ArrayTypeU2464_t3379220506& unmarshaled, U24ArrayTypeU2464_t3379220506_marshaled_pinvoke& marshaled)
{
}
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_pinvoke_back(const U24ArrayTypeU2464_t3379220506_marshaled_pinvoke& marshaled, U24ArrayTypeU2464_t3379220506& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$64
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_pinvoke_cleanup(U24ArrayTypeU2464_t3379220506_marshaled_pinvoke& marshaled)
{
}
// Conversion methods for marshalling of: <PrivateImplementationDetails>/$ArrayType$64
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_com(const U24ArrayTypeU2464_t3379220506& unmarshaled, U24ArrayTypeU2464_t3379220506_marshaled_com& marshaled)
{
}
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_com_back(const U24ArrayTypeU2464_t3379220506_marshaled_com& marshaled, U24ArrayTypeU2464_t3379220506& unmarshaled)
{
}
// Conversion method for clean up from marshalling of: <PrivateImplementationDetails>/$ArrayType$64
extern "C" void U24ArrayTypeU2464_t3379220506_marshal_com_cleanup(U24ArrayTypeU2464_t3379220506_marshaled_com& marshaled)
{
}
// System.String Locale::GetText(System.String)
extern "C"  String_t* Locale_GetText_m4086560262 (Il2CppObject * __this /* static, unused */, String_t* ___msg0, const MethodInfo* method)
{
	{
		String_t* L_0 = ___msg0;
		return L_0;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(Mono.Math.BigInteger/Sign,System.UInt32)
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m2610662484_MetadataUsageId;
extern "C"  void BigInteger__ctor_m2610662484 (BigInteger_t3334373499 * __this, int32_t ___sign0, uint32_t ___len1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m2610662484_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		uint32_t L_0 = ___len1;
		__this->set_data_1(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)(((uintptr_t)L_0)))));
		uint32_t L_1 = ___len1;
		__this->set_length_0(L_1);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(Mono.Math.BigInteger)
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m1318440774_MetadataUsageId;
extern "C"  void BigInteger__ctor_m1318440774 (BigInteger_t3334373499 * __this, BigInteger_t3334373499 * ___bi0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m1318440774_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_0 = ___bi0;
		UInt32U5BU5D_t3230734560* L_1 = L_0->get_data_1();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		__this->set_data_1(((UInt32U5BU5D_t3230734560*)Castclass(L_2, UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var)));
		BigInteger_t3334373499 * L_3 = ___bi0;
		uint32_t L_4 = L_3->get_length_0();
		__this->set_length_0(L_4);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(Mono.Math.BigInteger,System.UInt32)
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m3547305722_MetadataUsageId;
extern "C"  void BigInteger__ctor_m3547305722 (BigInteger_t3334373499 * __this, BigInteger_t3334373499 * ___bi0, uint32_t ___len1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m3547305722_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint32_t V_0 = 0;
	{
		__this->set_length_0(1);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		uint32_t L_0 = ___len1;
		__this->set_data_1(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)(((uintptr_t)L_0)))));
		V_0 = 0;
		goto IL_0037;
	}

IL_0021:
	{
		UInt32U5BU5D_t3230734560* L_1 = __this->get_data_1();
		uint32_t L_2 = V_0;
		BigInteger_t3334373499 * L_3 = ___bi0;
		UInt32U5BU5D_t3230734560* L_4 = L_3->get_data_1();
		uint32_t L_5 = V_0;
		uintptr_t L_6 = (((uintptr_t)L_5));
		uint32_t L_7 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_2))), (uint32_t)L_7);
		uint32_t L_8 = V_0;
		V_0 = ((int32_t)((int32_t)L_8+(int32_t)1));
	}

IL_0037:
	{
		uint32_t L_9 = V_0;
		BigInteger_t3334373499 * L_10 = ___bi0;
		uint32_t L_11 = L_10->get_length_0();
		if ((!(((uint32_t)L_9) >= ((uint32_t)L_11))))
		{
			goto IL_0021;
		}
	}
	{
		BigInteger_t3334373499 * L_12 = ___bi0;
		uint32_t L_13 = L_12->get_length_0();
		__this->set_length_0(L_13);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(System.Byte[])
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m2747162922_MetadataUsageId;
extern "C"  void BigInteger__ctor_m2747162922 (BigInteger_t3334373499 * __this, ByteU5BU5D_t4260760469* ___inData0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m2747162922_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	{
		__this->set_length_0(1);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___inData0;
		__this->set_length_0(((int32_t)((uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))>>2)));
		ByteU5BU5D_t4260760469* L_1 = ___inData0;
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))&(int32_t)3));
		int32_t L_2 = V_0;
		if (!L_2)
		{
			goto IL_0032;
		}
	}
	{
		uint32_t L_3 = __this->get_length_0();
		__this->set_length_0(((int32_t)((int32_t)L_3+(int32_t)1)));
	}

IL_0032:
	{
		uint32_t L_4 = __this->get_length_0();
		__this->set_data_1(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)(((uintptr_t)L_4)))));
		ByteU5BU5D_t4260760469* L_5 = ___inData0;
		V_1 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length))))-(int32_t)1));
		V_2 = 0;
		goto IL_007e;
	}

IL_0051:
	{
		UInt32U5BU5D_t3230734560* L_6 = __this->get_data_1();
		int32_t L_7 = V_2;
		ByteU5BU5D_t4260760469* L_8 = ___inData0;
		int32_t L_9 = V_1;
		int32_t L_10 = ((int32_t)((int32_t)L_9-(int32_t)3));
		uint8_t L_11 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		ByteU5BU5D_t4260760469* L_12 = ___inData0;
		int32_t L_13 = V_1;
		int32_t L_14 = ((int32_t)((int32_t)L_13-(int32_t)2));
		uint8_t L_15 = (L_12)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		ByteU5BU5D_t4260760469* L_16 = ___inData0;
		int32_t L_17 = V_1;
		int32_t L_18 = ((int32_t)((int32_t)L_17-(int32_t)1));
		uint8_t L_19 = (L_16)->GetAt(static_cast<il2cpp_array_size_t>(L_18));
		ByteU5BU5D_t4260760469* L_20 = ___inData0;
		int32_t L_21 = V_1;
		int32_t L_22 = L_21;
		uint8_t L_23 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_22));
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(L_7), (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_11<<(int32_t)((int32_t)24)))|(int32_t)((int32_t)((int32_t)L_15<<(int32_t)((int32_t)16)))))|(int32_t)((int32_t)((int32_t)L_19<<(int32_t)8))))|(int32_t)L_23)));
		int32_t L_24 = V_1;
		V_1 = ((int32_t)((int32_t)L_24-(int32_t)4));
		int32_t L_25 = V_2;
		V_2 = ((int32_t)((int32_t)L_25+(int32_t)1));
	}

IL_007e:
	{
		int32_t L_26 = V_1;
		if ((((int32_t)L_26) >= ((int32_t)3)))
		{
			goto IL_0051;
		}
	}
	{
		int32_t L_27 = V_0;
		V_3 = L_27;
		int32_t L_28 = V_3;
		if (((int32_t)((int32_t)L_28-(int32_t)1)) == 0)
		{
			goto IL_00a0;
		}
		if (((int32_t)((int32_t)L_28-(int32_t)1)) == 1)
		{
			goto IL_00b8;
		}
		if (((int32_t)((int32_t)L_28-(int32_t)1)) == 2)
		{
			goto IL_00d6;
		}
	}
	{
		goto IL_00fb;
	}

IL_00a0:
	{
		UInt32U5BU5D_t3230734560* L_29 = __this->get_data_1();
		uint32_t L_30 = __this->get_length_0();
		ByteU5BU5D_t4260760469* L_31 = ___inData0;
		int32_t L_32 = 0;
		uint8_t L_33 = (L_31)->GetAt(static_cast<il2cpp_array_size_t>(L_32));
		(L_29)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)((int32_t)((int32_t)L_30-(int32_t)1))))), (uint32_t)L_33);
		goto IL_00fb;
	}

IL_00b8:
	{
		UInt32U5BU5D_t3230734560* L_34 = __this->get_data_1();
		uint32_t L_35 = __this->get_length_0();
		ByteU5BU5D_t4260760469* L_36 = ___inData0;
		int32_t L_37 = 0;
		uint8_t L_38 = (L_36)->GetAt(static_cast<il2cpp_array_size_t>(L_37));
		ByteU5BU5D_t4260760469* L_39 = ___inData0;
		int32_t L_40 = 1;
		uint8_t L_41 = (L_39)->GetAt(static_cast<il2cpp_array_size_t>(L_40));
		(L_34)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)((int32_t)((int32_t)L_35-(int32_t)1))))), (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_38<<(int32_t)8))|(int32_t)L_41)));
		goto IL_00fb;
	}

IL_00d6:
	{
		UInt32U5BU5D_t3230734560* L_42 = __this->get_data_1();
		uint32_t L_43 = __this->get_length_0();
		ByteU5BU5D_t4260760469* L_44 = ___inData0;
		int32_t L_45 = 0;
		uint8_t L_46 = (L_44)->GetAt(static_cast<il2cpp_array_size_t>(L_45));
		ByteU5BU5D_t4260760469* L_47 = ___inData0;
		int32_t L_48 = 1;
		uint8_t L_49 = (L_47)->GetAt(static_cast<il2cpp_array_size_t>(L_48));
		ByteU5BU5D_t4260760469* L_50 = ___inData0;
		int32_t L_51 = 2;
		uint8_t L_52 = (L_50)->GetAt(static_cast<il2cpp_array_size_t>(L_51));
		(L_42)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)((int32_t)((int32_t)L_43-(int32_t)1))))), (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_46<<(int32_t)((int32_t)16)))|(int32_t)((int32_t)((int32_t)L_49<<(int32_t)8))))|(int32_t)L_52)));
		goto IL_00fb;
	}

IL_00fb:
	{
		BigInteger_Normalize_m2451454954(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(System.UInt32)
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m1050530395_MetadataUsageId;
extern "C"  void BigInteger__ctor_m1050530395 (BigInteger_t3334373499 * __this, uint32_t ___ui0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m1050530395_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_0 = ((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)1));
		uint32_t L_1 = ___ui0;
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint32_t)L_1);
		__this->set_data_1(L_0);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.cctor()
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D0_0_FieldInfo_var;
extern const uint32_t BigInteger__cctor_m2261677710_MetadataUsageId;
extern "C"  void BigInteger__cctor_m2261677710 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__cctor_m2261677710_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		UInt32U5BU5D_t3230734560* L_0 = ((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)((int32_t)783)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D0_0_FieldInfo_var), /*hidden argument*/NULL);
		((BigInteger_t3334373499_StaticFields*)BigInteger_t3334373499_il2cpp_TypeInfo_var->static_fields)->set_smallPrimes_2(L_0);
		return;
	}
}
// System.Security.Cryptography.RandomNumberGenerator Mono.Math.BigInteger::get_Rng()
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_get_Rng_m1505693788_MetadataUsageId;
extern "C"  RandomNumberGenerator_t1757673517 * BigInteger_get_Rng_m1505693788 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_get_Rng_m1505693788_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t1757673517 * L_0 = ((BigInteger_t3334373499_StaticFields*)BigInteger_t3334373499_il2cpp_TypeInfo_var->static_fields)->get_rng_3();
		if (L_0)
		{
			goto IL_0014;
		}
	}
	{
		RandomNumberGenerator_t1757673517 * L_1 = RandomNumberGenerator_Create_m2029084057(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		((BigInteger_t3334373499_StaticFields*)BigInteger_t3334373499_il2cpp_TypeInfo_var->static_fields)->set_rng_3(L_1);
	}

IL_0014:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t1757673517 * L_2 = ((BigInteger_t3334373499_StaticFields*)BigInteger_t3334373499_il2cpp_TypeInfo_var->static_fields)->get_rng_3();
		return L_2;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::GenerateRandom(System.Int32,System.Security.Cryptography.RandomNumberGenerator)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GenerateRandom_m2595866790_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_GenerateRandom_m2595866790 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, RandomNumberGenerator_t1757673517 * ___rng1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GenerateRandom_m2595866790_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t3334373499 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	uint32_t V_4 = 0;
	{
		int32_t L_0 = ___bits0;
		V_0 = ((int32_t)((int32_t)L_0>>(int32_t)5));
		int32_t L_1 = ___bits0;
		V_1 = ((int32_t)((int32_t)L_1&(int32_t)((int32_t)31)));
		int32_t L_2 = V_1;
		if (!L_2)
		{
			goto IL_0013;
		}
	}
	{
		int32_t L_3 = V_0;
		V_0 = ((int32_t)((int32_t)L_3+(int32_t)1));
	}

IL_0013:
	{
		int32_t L_4 = V_0;
		BigInteger_t3334373499 * L_5 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_5, 1, ((int32_t)((int32_t)L_4+(int32_t)1)), /*hidden argument*/NULL);
		V_2 = L_5;
		int32_t L_6 = V_0;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)L_6<<(int32_t)2))));
		RandomNumberGenerator_t1757673517 * L_7 = ___rng1;
		ByteU5BU5D_t4260760469* L_8 = V_3;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_7, L_8);
		ByteU5BU5D_t4260760469* L_9 = V_3;
		BigInteger_t3334373499 * L_10 = V_2;
		UInt32U5BU5D_t3230734560* L_11 = L_10->get_data_1();
		int32_t L_12 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_9, 0, (Il2CppArray *)(Il2CppArray *)L_11, 0, ((int32_t)((int32_t)L_12<<(int32_t)2)), /*hidden argument*/NULL);
		int32_t L_13 = V_1;
		if (!L_13)
		{
			goto IL_0086;
		}
	}
	{
		int32_t L_14 = V_1;
		V_4 = ((int32_t)((int32_t)1<<(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_14-(int32_t)1))&(int32_t)((int32_t)31)))));
		BigInteger_t3334373499 * L_15 = V_2;
		UInt32U5BU5D_t3230734560* L_16 = L_15->get_data_1();
		int32_t L_17 = V_0;
		uint32_t* L_18 = ((L_16)->GetAddressAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_17-(int32_t)1)))));
		uint32_t L_19 = V_4;
		*((int32_t*)(L_18)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_18))|(int32_t)L_19));
		int32_t L_20 = V_1;
		V_4 = ((int32_t)((uint32_t)(-1)>>((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)32)-(int32_t)L_20))&(int32_t)((int32_t)31)))));
		BigInteger_t3334373499 * L_21 = V_2;
		UInt32U5BU5D_t3230734560* L_22 = L_21->get_data_1();
		int32_t L_23 = V_0;
		uint32_t* L_24 = ((L_22)->GetAddressAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_23-(int32_t)1)))));
		uint32_t L_25 = V_4;
		*((int32_t*)(L_24)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_24))&(int32_t)L_25));
		goto IL_009d;
	}

IL_0086:
	{
		BigInteger_t3334373499 * L_26 = V_2;
		UInt32U5BU5D_t3230734560* L_27 = L_26->get_data_1();
		int32_t L_28 = V_0;
		uint32_t* L_29 = ((L_27)->GetAddressAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_28-(int32_t)1)))));
		*((int32_t*)(L_29)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_29))|(int32_t)((int32_t)-2147483648LL)));
	}

IL_009d:
	{
		BigInteger_t3334373499 * L_30 = V_2;
		BigInteger_Normalize_m2451454954(L_30, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_31 = V_2;
		return L_31;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::GenerateRandom(System.Int32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GenerateRandom_m1343108780_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_GenerateRandom_m1343108780 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GenerateRandom_m1343108780_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___bits0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t1757673517 * L_1 = BigInteger_get_Rng_m1505693788(NULL /*static, unused*/, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_2 = BigInteger_GenerateRandom_m2595866790(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Int32 Mono.Math.BigInteger::BitCount()
extern "C"  int32_t BigInteger_BitCount_m3880753871 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	{
		BigInteger_Normalize_m2451454954(__this, /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_0 = __this->get_data_1();
		uint32_t L_1 = __this->get_length_0();
		uintptr_t L_2 = (((uintptr_t)((int32_t)((int32_t)L_1-(int32_t)1))));
		uint32_t L_3 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_2));
		V_0 = L_3;
		V_1 = ((int32_t)-2147483648LL);
		V_2 = ((int32_t)32);
		goto IL_002d;
	}

IL_0025:
	{
		uint32_t L_4 = V_2;
		V_2 = ((int32_t)((int32_t)L_4-(int32_t)1));
		uint32_t L_5 = V_1;
		V_1 = ((int32_t)((uint32_t)L_5>>1));
	}

IL_002d:
	{
		uint32_t L_6 = V_2;
		if ((!(((uint32_t)L_6) > ((uint32_t)0))))
		{
			goto IL_003c;
		}
	}
	{
		uint32_t L_7 = V_0;
		uint32_t L_8 = V_1;
		if (!((int32_t)((int32_t)L_7&(int32_t)L_8)))
		{
			goto IL_0025;
		}
	}

IL_003c:
	{
		uint32_t L_9 = V_2;
		uint32_t L_10 = __this->get_length_0();
		V_2 = ((int32_t)((int32_t)L_9+(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_10-(int32_t)1))<<(int32_t)5))));
		uint32_t L_11 = V_2;
		return L_11;
	}
}
// System.Boolean Mono.Math.BigInteger::TestBit(System.Int32)
extern Il2CppClass* IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2808052685;
extern const uint32_t BigInteger_TestBit_m4085687739_MetadataUsageId;
extern "C"  bool BigInteger_TestBit_m4085687739 (BigInteger_t3334373499 * __this, int32_t ___bitNum0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_TestBit_m4085687739_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint32_t V_0 = 0;
	uint8_t V_1 = 0x0;
	uint32_t V_2 = 0;
	{
		int32_t L_0 = ___bitNum0;
		if ((((int32_t)L_0) >= ((int32_t)0)))
		{
			goto IL_0012;
		}
	}
	{
		IndexOutOfRangeException_t3456360697 * L_1 = (IndexOutOfRangeException_t3456360697 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1621772274(L_1, _stringLiteral2808052685, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0012:
	{
		int32_t L_2 = ___bitNum0;
		V_0 = ((int32_t)((uint32_t)L_2>>5));
		int32_t L_3 = ___bitNum0;
		V_1 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_3&(int32_t)((int32_t)31))))));
		uint8_t L_4 = V_1;
		V_2 = ((int32_t)((int32_t)1<<(int32_t)((int32_t)((int32_t)L_4&(int32_t)((int32_t)31)))));
		UInt32U5BU5D_t3230734560* L_5 = __this->get_data_1();
		uint32_t L_6 = V_0;
		uintptr_t L_7 = (((uintptr_t)L_6));
		uint32_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		uint32_t L_9 = V_2;
		UInt32U5BU5D_t3230734560* L_10 = __this->get_data_1();
		uint32_t L_11 = V_0;
		uintptr_t L_12 = (((uintptr_t)L_11));
		uint32_t L_13 = (L_10)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
		return (bool)((((int32_t)((int32_t)((int32_t)L_8|(int32_t)L_9))) == ((int32_t)L_13))? 1 : 0);
	}
}
// System.Void Mono.Math.BigInteger::SetBit(System.UInt32)
extern "C"  void BigInteger_SetBit_m3067778314 (BigInteger_t3334373499 * __this, uint32_t ___bitNum0, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___bitNum0;
		BigInteger_SetBit_m989579571(__this, L_0, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Math.BigInteger::SetBit(System.UInt32,System.Boolean)
extern "C"  void BigInteger_SetBit_m989579571 (BigInteger_t3334373499 * __this, uint32_t ___bitNum0, bool ___value1, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	{
		uint32_t L_0 = ___bitNum0;
		V_0 = ((int32_t)((uint32_t)L_0>>5));
		uint32_t L_1 = V_0;
		uint32_t L_2 = __this->get_length_0();
		if ((!(((uint32_t)L_1) < ((uint32_t)L_2))))
		{
			goto IL_004a;
		}
	}
	{
		uint32_t L_3 = ___bitNum0;
		V_1 = ((int32_t)((int32_t)1<<(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_3&(int32_t)((int32_t)31)))&(int32_t)((int32_t)31)))));
		bool L_4 = ___value1;
		if (!L_4)
		{
			goto IL_0037;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_5 = __this->get_data_1();
		uint32_t L_6 = V_0;
		uint32_t* L_7 = ((L_5)->GetAddressAt(static_cast<il2cpp_array_size_t>((il2cpp_array_size_t)(uintptr_t)(((uintptr_t)L_6)))));
		uint32_t L_8 = V_1;
		*((int32_t*)(L_7)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_7))|(int32_t)L_8));
		goto IL_004a;
	}

IL_0037:
	{
		UInt32U5BU5D_t3230734560* L_9 = __this->get_data_1();
		uint32_t L_10 = V_0;
		uint32_t* L_11 = ((L_9)->GetAddressAt(static_cast<il2cpp_array_size_t>((il2cpp_array_size_t)(uintptr_t)(((uintptr_t)L_10)))));
		uint32_t L_12 = V_1;
		*((int32_t*)(L_11)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_11))&(int32_t)((~L_12))));
	}

IL_004a:
	{
		return;
	}
}
// System.Int32 Mono.Math.BigInteger::LowestSetBit()
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_LowestSetBit_m644775850_MetadataUsageId;
extern "C"  int32_t BigInteger_LowestSetBit_m644775850 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_LowestSetBit_m644775850_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_0 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, __this, 0, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		return (-1);
	}

IL_000e:
	{
		V_0 = 0;
		goto IL_0019;
	}

IL_0015:
	{
		int32_t L_1 = V_0;
		V_0 = ((int32_t)((int32_t)L_1+(int32_t)1));
	}

IL_0019:
	{
		int32_t L_2 = V_0;
		bool L_3 = BigInteger_TestBit_m4085687739(__this, L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0015;
		}
	}
	{
		int32_t L_4 = V_0;
		return L_4;
	}
}
// System.Byte[] Mono.Math.BigInteger::GetBytes()
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GetBytes_m561587716_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* BigInteger_GetBytes_m561587716 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GetBytes_m561587716_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	uint32_t V_6 = 0;
	int32_t V_7 = 0;
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_0 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, __this, 0, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0013;
		}
	}
	{
		return ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)1));
	}

IL_0013:
	{
		int32_t L_1 = BigInteger_BitCount_m3880753871(__this, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		V_1 = ((int32_t)((int32_t)L_2>>(int32_t)3));
		int32_t L_3 = V_0;
		if (!((int32_t)((int32_t)L_3&(int32_t)7)))
		{
			goto IL_002a;
		}
	}
	{
		int32_t L_4 = V_1;
		V_1 = ((int32_t)((int32_t)L_4+(int32_t)1));
	}

IL_002a:
	{
		int32_t L_5 = V_1;
		V_2 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_5));
		int32_t L_6 = V_1;
		V_3 = ((int32_t)((int32_t)L_6&(int32_t)3));
		int32_t L_7 = V_3;
		if (L_7)
		{
			goto IL_003d;
		}
	}
	{
		V_3 = 4;
	}

IL_003d:
	{
		V_4 = 0;
		uint32_t L_8 = __this->get_length_0();
		V_5 = ((int32_t)((int32_t)L_8-(int32_t)1));
		goto IL_0096;
	}

IL_004f:
	{
		UInt32U5BU5D_t3230734560* L_9 = __this->get_data_1();
		int32_t L_10 = V_5;
		int32_t L_11 = L_10;
		uint32_t L_12 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_11));
		V_6 = L_12;
		int32_t L_13 = V_3;
		V_7 = ((int32_t)((int32_t)L_13-(int32_t)1));
		goto IL_0080;
	}

IL_0064:
	{
		ByteU5BU5D_t4260760469* L_14 = V_2;
		int32_t L_15 = V_4;
		int32_t L_16 = V_7;
		uint32_t L_17 = V_6;
		(L_14)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_15+(int32_t)L_16))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_17&(int32_t)((int32_t)255)))))));
		uint32_t L_18 = V_6;
		V_6 = ((int32_t)((uint32_t)L_18>>8));
		int32_t L_19 = V_7;
		V_7 = ((int32_t)((int32_t)L_19-(int32_t)1));
	}

IL_0080:
	{
		int32_t L_20 = V_7;
		if ((((int32_t)L_20) >= ((int32_t)0)))
		{
			goto IL_0064;
		}
	}
	{
		int32_t L_21 = V_4;
		int32_t L_22 = V_3;
		V_4 = ((int32_t)((int32_t)L_21+(int32_t)L_22));
		V_3 = 4;
		int32_t L_23 = V_5;
		V_5 = ((int32_t)((int32_t)L_23-(int32_t)1));
	}

IL_0096:
	{
		int32_t L_24 = V_5;
		if ((((int32_t)L_24) >= ((int32_t)0)))
		{
			goto IL_004f;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_25 = V_2;
		return L_25;
	}
}
// System.String Mono.Math.BigInteger::ToString(System.UInt32)
extern Il2CppCodeGenString* _stringLiteral4259924850;
extern const uint32_t BigInteger_ToString_m3209284166_MetadataUsageId;
extern "C"  String_t* BigInteger_ToString_m3209284166 (BigInteger_t3334373499 * __this, uint32_t ___radix0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ToString_m3209284166_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		uint32_t L_0 = ___radix0;
		String_t* L_1 = BigInteger_ToString_m2413330434(__this, L_0, _stringLiteral4259924850, /*hidden argument*/NULL);
		return L_1;
	}
}
// System.String Mono.Math.BigInteger::ToString(System.UInt32,System.String)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Char_t2862622538_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2380004838;
extern Il2CppCodeGenString* _stringLiteral2851753081;
extern Il2CppCodeGenString* _stringLiteral2105396640;
extern Il2CppCodeGenString* _stringLiteral108270596;
extern Il2CppCodeGenString* _stringLiteral48;
extern Il2CppCodeGenString* _stringLiteral49;
extern const uint32_t BigInteger_ToString_m2413330434_MetadataUsageId;
extern "C"  String_t* BigInteger_ToString_m2413330434 (BigInteger_t3334373499 * __this, uint32_t ___radix0, String_t* ___characterSet1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ToString_m2413330434_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	BigInteger_t3334373499 * V_1 = NULL;
	uint32_t V_2 = 0;
	{
		String_t* L_0 = ___characterSet1;
		int32_t L_1 = String_get_Length_m2979997331(L_0, /*hidden argument*/NULL);
		uint32_t L_2 = ___radix0;
		if ((((int64_t)(((int64_t)((int64_t)L_1)))) >= ((int64_t)(((int64_t)((uint64_t)L_2))))))
		{
			goto IL_001e;
		}
	}
	{
		ArgumentException_t928607144 * L_3 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m732321503(L_3, _stringLiteral2380004838, _stringLiteral2851753081, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_001e:
	{
		uint32_t L_4 = ___radix0;
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_0035;
		}
	}
	{
		ArgumentException_t928607144 * L_5 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m732321503(L_5, _stringLiteral2105396640, _stringLiteral108270596, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0035:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_6 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, __this, 0, /*hidden argument*/NULL);
		if (!L_6)
		{
			goto IL_0047;
		}
	}
	{
		return _stringLiteral48;
	}

IL_0047:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_7 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, __this, 1, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_0059;
		}
	}
	{
		return _stringLiteral49;
	}

IL_0059:
	{
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_8 = ((String_t_StaticFields*)String_t_il2cpp_TypeInfo_var->static_fields)->get_Empty_2();
		V_0 = L_8;
		BigInteger_t3334373499 * L_9 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_9, __this, /*hidden argument*/NULL);
		V_1 = L_9;
		goto IL_0086;
	}

IL_006b:
	{
		BigInteger_t3334373499 * L_10 = V_1;
		uint32_t L_11 = ___radix0;
		uint32_t L_12 = Kernel_SingleByteDivideInPlace_m746013128(NULL /*static, unused*/, L_10, L_11, /*hidden argument*/NULL);
		V_2 = L_12;
		String_t* L_13 = ___characterSet1;
		uint32_t L_14 = V_2;
		Il2CppChar L_15 = String_get_Chars_m3015341861(L_13, L_14, /*hidden argument*/NULL);
		Il2CppChar L_16 = L_15;
		Il2CppObject * L_17 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_16);
		String_t* L_18 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_19 = String_Concat_m389863537(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		V_0 = L_19;
	}

IL_0086:
	{
		BigInteger_t3334373499 * L_20 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_21 = BigInteger_op_Inequality_m4000708231(NULL /*static, unused*/, L_20, 0, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_006b;
		}
	}
	{
		String_t* L_22 = V_0;
		return L_22;
	}
}
// System.Void Mono.Math.BigInteger::Normalize()
extern "C"  void BigInteger_Normalize_m2451454954 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	{
		goto IL_0013;
	}

IL_0005:
	{
		uint32_t L_0 = __this->get_length_0();
		__this->set_length_0(((int32_t)((int32_t)L_0-(int32_t)1)));
	}

IL_0013:
	{
		uint32_t L_1 = __this->get_length_0();
		if ((!(((uint32_t)L_1) > ((uint32_t)0))))
		{
			goto IL_0034;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_2 = __this->get_data_1();
		uint32_t L_3 = __this->get_length_0();
		uintptr_t L_4 = (((uintptr_t)((int32_t)((int32_t)L_3-(int32_t)1))));
		uint32_t L_5 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		if (!L_5)
		{
			goto IL_0005;
		}
	}

IL_0034:
	{
		uint32_t L_6 = __this->get_length_0();
		if (L_6)
		{
			goto IL_004d;
		}
	}
	{
		uint32_t L_7 = __this->get_length_0();
		__this->set_length_0(((int32_t)((int32_t)L_7+(int32_t)1)));
	}

IL_004d:
	{
		return;
	}
}
// System.Void Mono.Math.BigInteger::Clear()
extern "C"  void BigInteger_Clear_m542683434 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		V_0 = 0;
		goto IL_0014;
	}

IL_0007:
	{
		UInt32U5BU5D_t3230734560* L_0 = __this->get_data_1();
		int32_t L_1 = V_0;
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(L_1), (uint32_t)0);
		int32_t L_2 = V_0;
		V_0 = ((int32_t)((int32_t)L_2+(int32_t)1));
	}

IL_0014:
	{
		int32_t L_3 = V_0;
		uint32_t L_4 = __this->get_length_0();
		if ((((int64_t)(((int64_t)((int64_t)L_3)))) < ((int64_t)(((int64_t)((uint64_t)L_4))))))
		{
			goto IL_0007;
		}
	}
	{
		return;
	}
}
// System.Int32 Mono.Math.BigInteger::GetHashCode()
extern "C"  int32_t BigInteger_GetHashCode_m3211366534 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	{
		V_0 = 0;
		V_1 = 0;
		goto IL_0019;
	}

IL_0009:
	{
		uint32_t L_0 = V_0;
		UInt32U5BU5D_t3230734560* L_1 = __this->get_data_1();
		uint32_t L_2 = V_1;
		uintptr_t L_3 = (((uintptr_t)L_2));
		uint32_t L_4 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		V_0 = ((int32_t)((int32_t)L_0^(int32_t)L_4));
		uint32_t L_5 = V_1;
		V_1 = ((int32_t)((int32_t)L_5+(int32_t)1));
	}

IL_0019:
	{
		uint32_t L_6 = V_1;
		uint32_t L_7 = __this->get_length_0();
		if ((!(((uint32_t)L_6) >= ((uint32_t)L_7))))
		{
			goto IL_0009;
		}
	}
	{
		uint32_t L_8 = V_0;
		return L_8;
	}
}
// System.String Mono.Math.BigInteger::ToString()
extern "C"  String_t* BigInteger_ToString_m1505524532 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = BigInteger_ToString_m3209284166(__this, ((int32_t)10), /*hidden argument*/NULL);
		return L_0;
	}
}
// System.Boolean Mono.Math.BigInteger::Equals(System.Object)
extern Il2CppClass* Int32_t1153838500_il2cpp_TypeInfo_var;
extern Il2CppClass* UInt32_t24667981_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_Equals_m4043809186_MetadataUsageId;
extern "C"  bool BigInteger_Equals_m4043809186 (BigInteger_t3334373499 * __this, Il2CppObject * ___o0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_Equals_m4043809186_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	int32_t G_B6_0 = 0;
	{
		Il2CppObject * L_0 = ___o0;
		if (L_0)
		{
			goto IL_0008;
		}
	}
	{
		return (bool)0;
	}

IL_0008:
	{
		Il2CppObject * L_1 = ___o0;
		if (!((Il2CppObject *)IsInstSealed(L_1, Int32_t1153838500_il2cpp_TypeInfo_var)))
		{
			goto IL_002f;
		}
	}
	{
		Il2CppObject * L_2 = ___o0;
		if ((((int32_t)((*(int32_t*)((int32_t*)UnBox (L_2, Int32_t1153838500_il2cpp_TypeInfo_var))))) < ((int32_t)0)))
		{
			goto IL_002d;
		}
	}
	{
		Il2CppObject * L_3 = ___o0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_4 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, __this, ((*(uint32_t*)((uint32_t*)UnBox (L_3, UInt32_t24667981_il2cpp_TypeInfo_var)))), /*hidden argument*/NULL);
		G_B6_0 = ((int32_t)(L_4));
		goto IL_002e;
	}

IL_002d:
	{
		G_B6_0 = 0;
	}

IL_002e:
	{
		return (bool)G_B6_0;
	}

IL_002f:
	{
		Il2CppObject * L_5 = ___o0;
		V_0 = ((BigInteger_t3334373499 *)IsInstClass(L_5, BigInteger_t3334373499_il2cpp_TypeInfo_var));
		BigInteger_t3334373499 * L_6 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_7 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_6, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_0044;
		}
	}
	{
		return (bool)0;
	}

IL_0044:
	{
		BigInteger_t3334373499 * L_8 = V_0;
		int32_t L_9 = Kernel_Compare_m3514403080(NULL /*static, unused*/, __this, L_8, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_9) == ((int32_t)0))? 1 : 0);
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::ModInverse(Mono.Math.BigInteger)
extern "C"  BigInteger_t3334373499 * BigInteger_ModInverse_m560616920 (BigInteger_t3334373499 * __this, BigInteger_t3334373499 * ___modulus0, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___modulus0;
		BigInteger_t3334373499 * L_1 = Kernel_modInverse_m2477583693(NULL /*static, unused*/, __this, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::ModPow(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* ModulusRing_t3697743090_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_ModPow_m837755469_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_ModPow_m837755469 (BigInteger_t3334373499 * __this, BigInteger_t3334373499 * ___exp0, BigInteger_t3334373499 * ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ModPow_m837755469_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ModulusRing_t3697743090 * V_0 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___n1;
		ModulusRing_t3697743090 * L_1 = (ModulusRing_t3697743090 *)il2cpp_codegen_object_new(ModulusRing_t3697743090_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m2037212078(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ModulusRing_t3697743090 * L_2 = V_0;
		BigInteger_t3334373499 * L_3 = ___exp0;
		BigInteger_t3334373499 * L_4 = ModulusRing_Pow_m668600583(L_2, __this, L_3, /*hidden argument*/NULL);
		return L_4;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::GeneratePseudoPrime(System.Int32)
extern Il2CppClass* SequentialSearchPrimeGeneratorBase_t3892164357_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GeneratePseudoPrime_m323167868_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_GeneratePseudoPrime_m323167868 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GeneratePseudoPrime_m323167868_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	SequentialSearchPrimeGeneratorBase_t3892164357 * V_0 = NULL;
	{
		SequentialSearchPrimeGeneratorBase_t3892164357 * L_0 = (SequentialSearchPrimeGeneratorBase_t3892164357 *)il2cpp_codegen_object_new(SequentialSearchPrimeGeneratorBase_t3892164357_il2cpp_TypeInfo_var);
		SequentialSearchPrimeGeneratorBase__ctor_m3197013479(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		SequentialSearchPrimeGeneratorBase_t3892164357 * L_1 = V_0;
		int32_t L_2 = ___bits0;
		BigInteger_t3334373499 * L_3 = VirtFuncInvoker1< BigInteger_t3334373499 *, int32_t >::Invoke(7 /* Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateNewPrime(System.Int32) */, L_1, L_2);
		return L_3;
	}
}
// System.Void Mono.Math.BigInteger::Incr2()
extern "C"  void BigInteger_Incr2_m1628594427 (BigInteger_t3334373499 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		V_0 = 0;
		UInt32U5BU5D_t3230734560* L_0 = __this->get_data_1();
		uint32_t* L_1 = ((L_0)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)));
		*((int32_t*)(L_1)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_1))+(int32_t)2));
		UInt32U5BU5D_t3230734560* L_2 = __this->get_data_1();
		int32_t L_3 = 0;
		uint32_t L_4 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		if ((!(((uint32_t)L_4) < ((uint32_t)2))))
		{
			goto IL_0077;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_5 = __this->get_data_1();
		int32_t L_6 = V_0;
		int32_t L_7 = ((int32_t)((int32_t)L_6+(int32_t)1));
		V_0 = L_7;
		uint32_t* L_8 = ((L_5)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_7)));
		*((int32_t*)(L_8)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_8))+(int32_t)1));
		goto IL_004c;
	}

IL_003b:
	{
		UInt32U5BU5D_t3230734560* L_9 = __this->get_data_1();
		int32_t L_10 = V_0;
		uint32_t* L_11 = ((L_9)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_10)));
		*((int32_t*)(L_11)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_11))+(int32_t)1));
	}

IL_004c:
	{
		UInt32U5BU5D_t3230734560* L_12 = __this->get_data_1();
		int32_t L_13 = V_0;
		int32_t L_14 = L_13;
		V_0 = ((int32_t)((int32_t)L_14+(int32_t)1));
		int32_t L_15 = L_14;
		uint32_t L_16 = (L_12)->GetAt(static_cast<il2cpp_array_size_t>(L_15));
		if (!L_16)
		{
			goto IL_003b;
		}
	}
	{
		uint32_t L_17 = __this->get_length_0();
		int32_t L_18 = V_0;
		if ((!(((uint32_t)L_17) == ((uint32_t)L_18))))
		{
			goto IL_0077;
		}
	}
	{
		uint32_t L_19 = __this->get_length_0();
		__this->set_length_0(((int32_t)((int32_t)L_19+(int32_t)1)));
	}

IL_0077:
	{
		return;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Implicit(System.UInt32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Implicit_m638921272_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_op_Implicit_m638921272 (Il2CppObject * __this /* static, unused */, uint32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Implicit_m638921272_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		uint32_t L_0 = ___value0;
		BigInteger_t3334373499 * L_1 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1050530395(L_1, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Implicit(System.Int32)
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral111972721;
extern const uint32_t BigInteger_op_Implicit_m2620841043_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_op_Implicit_m2620841043 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Implicit_m2620841043_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___value0;
		if ((((int32_t)L_0) >= ((int32_t)0)))
		{
			goto IL_0012;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_1 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_1, _stringLiteral111972721, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0012:
	{
		int32_t L_2 = ___value0;
		BigInteger_t3334373499 * L_3 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1050530395(L_3, L_2, /*hidden argument*/NULL);
		return L_3;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Addition(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Addition_m1737862829_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_op_Addition_m1737862829 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Addition_m1737862829_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0013;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi21;
		BigInteger_t3334373499 * L_3 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_3, L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_0013:
	{
		BigInteger_t3334373499 * L_4 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_4, 0, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0026;
		}
	}
	{
		BigInteger_t3334373499 * L_6 = ___bi10;
		BigInteger_t3334373499 * L_7 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_7, L_6, /*hidden argument*/NULL);
		return L_7;
	}

IL_0026:
	{
		BigInteger_t3334373499 * L_8 = ___bi10;
		BigInteger_t3334373499 * L_9 = ___bi21;
		BigInteger_t3334373499 * L_10 = Kernel_AddSameSign_m3951710603(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		return L_10;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Subtraction(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* ArithmeticException_t1168437275_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4041481969;
extern const uint32_t BigInteger_op_Subtraction_m3436814701_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_op_Subtraction_m3436814701 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Subtraction_m3436814701_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0013;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi10;
		BigInteger_t3334373499 * L_3 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_3, L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_0013:
	{
		BigInteger_t3334373499 * L_4 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_4, 0, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_002a;
		}
	}
	{
		ArithmeticException_t1168437275 * L_6 = (ArithmeticException_t1168437275 *)il2cpp_codegen_object_new(ArithmeticException_t1168437275_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4261424086(L_6, _stringLiteral4041481969, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_002a:
	{
		BigInteger_t3334373499 * L_7 = ___bi10;
		BigInteger_t3334373499 * L_8 = ___bi21;
		int32_t L_9 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_7, L_8, /*hidden argument*/NULL);
		V_0 = L_9;
		int32_t L_10 = V_0;
		if (((int32_t)((int32_t)L_10+(int32_t)1)) == 0)
		{
			goto IL_005a;
		}
		if (((int32_t)((int32_t)L_10+(int32_t)1)) == 1)
		{
			goto IL_004b;
		}
		if (((int32_t)((int32_t)L_10+(int32_t)1)) == 2)
		{
			goto IL_0052;
		}
	}
	{
		goto IL_0065;
	}

IL_004b:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_11 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_11;
	}

IL_0052:
	{
		BigInteger_t3334373499 * L_12 = ___bi10;
		BigInteger_t3334373499 * L_13 = ___bi21;
		BigInteger_t3334373499 * L_14 = Kernel_Subtract_m593759655(NULL /*static, unused*/, L_12, L_13, /*hidden argument*/NULL);
		return L_14;
	}

IL_005a:
	{
		ArithmeticException_t1168437275 * L_15 = (ArithmeticException_t1168437275 *)il2cpp_codegen_object_new(ArithmeticException_t1168437275_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4261424086(L_15, _stringLiteral4041481969, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_15);
	}

IL_0065:
	{
		Exception_t3991598821 * L_16 = (Exception_t3991598821 *)il2cpp_codegen_object_new(Exception_t3991598821_il2cpp_TypeInfo_var);
		Exception__ctor_m3223090658(L_16, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_16);
	}
}
// System.UInt32 Mono.Math.BigInteger::op_Modulus(Mono.Math.BigInteger,System.UInt32)
extern "C"  uint32_t BigInteger_op_Modulus_m465134612 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, uint32_t ___ui1, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi0;
		uint32_t L_1 = ___ui1;
		uint32_t L_2 = Kernel_DwordMod_m419221597(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Modulus(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  BigInteger_t3334373499 * BigInteger_op_Modulus_m2858145418 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		BigIntegerU5BU5D_t1634278496* L_2 = Kernel_multiByteDivide_m1455363991(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		int32_t L_3 = 1;
		BigInteger_t3334373499 * L_4 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		return L_4;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Division(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  BigInteger_t3334373499 * BigInteger_op_Division_m1824126044 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		BigIntegerU5BU5D_t1634278496* L_2 = Kernel_multiByteDivide_m1455363991(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		int32_t L_3 = 0;
		BigInteger_t3334373499 * L_4 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		return L_4;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Multiply(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral947442140;
extern Il2CppCodeGenString* _stringLiteral441883515;
extern const uint32_t BigInteger_op_Multiply_m2896976517_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * BigInteger_op_Multiply_m2896976517 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Multiply_m2896976517_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_2, 0, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_001f;
		}
	}

IL_0018:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_4 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_4;
	}

IL_001f:
	{
		BigInteger_t3334373499 * L_5 = ___bi10;
		UInt32U5BU5D_t3230734560* L_6 = L_5->get_data_1();
		BigInteger_t3334373499 * L_7 = ___bi10;
		uint32_t L_8 = L_7->get_length_0();
		if ((((int64_t)(((int64_t)((int64_t)(((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length)))))))) >= ((int64_t)(((int64_t)((uint64_t)L_8))))))
		{
			goto IL_003f;
		}
	}
	{
		IndexOutOfRangeException_t3456360697 * L_9 = (IndexOutOfRangeException_t3456360697 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1621772274(L_9, _stringLiteral947442140, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003f:
	{
		BigInteger_t3334373499 * L_10 = ___bi21;
		UInt32U5BU5D_t3230734560* L_11 = L_10->get_data_1();
		BigInteger_t3334373499 * L_12 = ___bi21;
		uint32_t L_13 = L_12->get_length_0();
		if ((((int64_t)(((int64_t)((int64_t)(((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))))))) >= ((int64_t)(((int64_t)((uint64_t)L_13))))))
		{
			goto IL_005f;
		}
	}
	{
		IndexOutOfRangeException_t3456360697 * L_14 = (IndexOutOfRangeException_t3456360697 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1621772274(L_14, _stringLiteral441883515, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_14);
	}

IL_005f:
	{
		BigInteger_t3334373499 * L_15 = ___bi10;
		uint32_t L_16 = L_15->get_length_0();
		BigInteger_t3334373499 * L_17 = ___bi21;
		uint32_t L_18 = L_17->get_length_0();
		BigInteger_t3334373499 * L_19 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_19, 1, ((int32_t)((int32_t)L_16+(int32_t)L_18)), /*hidden argument*/NULL);
		V_0 = L_19;
		BigInteger_t3334373499 * L_20 = ___bi10;
		UInt32U5BU5D_t3230734560* L_21 = L_20->get_data_1();
		BigInteger_t3334373499 * L_22 = ___bi10;
		uint32_t L_23 = L_22->get_length_0();
		BigInteger_t3334373499 * L_24 = ___bi21;
		UInt32U5BU5D_t3230734560* L_25 = L_24->get_data_1();
		BigInteger_t3334373499 * L_26 = ___bi21;
		uint32_t L_27 = L_26->get_length_0();
		BigInteger_t3334373499 * L_28 = V_0;
		UInt32U5BU5D_t3230734560* L_29 = L_28->get_data_1();
		Kernel_Multiply_m1952926483(NULL /*static, unused*/, L_21, 0, L_23, L_25, 0, L_27, L_29, 0, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_30 = V_0;
		BigInteger_Normalize_m2451454954(L_30, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_31 = V_0;
		return L_31;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_LeftShift(Mono.Math.BigInteger,System.Int32)
extern "C"  BigInteger_t3334373499 * BigInteger_op_LeftShift_m2333016656 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, int32_t ___shiftVal1, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		int32_t L_1 = ___shiftVal1;
		BigInteger_t3334373499 * L_2 = Kernel_LeftShift_m3640718462(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_RightShift(Mono.Math.BigInteger,System.Int32)
extern "C"  BigInteger_t3334373499 * BigInteger_op_RightShift_m3774983213 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, int32_t ___shiftVal1, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		int32_t L_1 = ___shiftVal1;
		BigInteger_t3334373499 * L_2 = Kernel_RightShift_m1364066239(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Boolean Mono.Math.BigInteger::op_Equality(Mono.Math.BigInteger,System.UInt32)
extern "C"  bool BigInteger_op_Equality_m1195898850 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, uint32_t ___ui1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		if ((((int32_t)L_1) == ((int32_t)1)))
		{
			goto IL_0012;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi10;
		BigInteger_Normalize_m2451454954(L_2, /*hidden argument*/NULL);
	}

IL_0012:
	{
		BigInteger_t3334373499 * L_3 = ___bi10;
		uint32_t L_4 = L_3->get_length_0();
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_002b;
		}
	}
	{
		BigInteger_t3334373499 * L_5 = ___bi10;
		UInt32U5BU5D_t3230734560* L_6 = L_5->get_data_1();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		uint32_t L_9 = ___ui1;
		G_B5_0 = ((((int32_t)L_8) == ((int32_t)L_9))? 1 : 0);
		goto IL_002c;
	}

IL_002b:
	{
		G_B5_0 = 0;
	}

IL_002c:
	{
		return (bool)G_B5_0;
	}
}
// System.Boolean Mono.Math.BigInteger::op_Inequality(Mono.Math.BigInteger,System.UInt32)
extern "C"  bool BigInteger_op_Inequality_m4000708231 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, uint32_t ___ui1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		if ((((int32_t)L_1) == ((int32_t)1)))
		{
			goto IL_0012;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi10;
		BigInteger_Normalize_m2451454954(L_2, /*hidden argument*/NULL);
	}

IL_0012:
	{
		BigInteger_t3334373499 * L_3 = ___bi10;
		uint32_t L_4 = L_3->get_length_0();
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_002b;
		}
	}
	{
		BigInteger_t3334373499 * L_5 = ___bi10;
		UInt32U5BU5D_t3230734560* L_6 = L_5->get_data_1();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		uint32_t L_9 = ___ui1;
		G_B5_0 = ((((int32_t)L_8) == ((int32_t)L_9))? 1 : 0);
		goto IL_002c;
	}

IL_002b:
	{
		G_B5_0 = 0;
	}

IL_002c:
	{
		return (bool)((((int32_t)G_B5_0) == ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_Equality(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Equality_m1709618143_MetadataUsageId;
extern "C"  bool BigInteger_op_Equality_m1709618143 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Equality_m1709618143_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		if ((!(((Il2CppObject*)(BigInteger_t3334373499 *)L_0) == ((Il2CppObject*)(BigInteger_t3334373499 *)L_1))))
		{
			goto IL_0009;
		}
	}
	{
		return (bool)1;
	}

IL_0009:
	{
		BigInteger_t3334373499 * L_2 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, (BigInteger_t3334373499 *)NULL, L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0021;
		}
	}
	{
		BigInteger_t3334373499 * L_4 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, (BigInteger_t3334373499 *)NULL, L_4, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0023;
		}
	}

IL_0021:
	{
		return (bool)0;
	}

IL_0023:
	{
		BigInteger_t3334373499 * L_6 = ___bi10;
		BigInteger_t3334373499 * L_7 = ___bi21;
		int32_t L_8 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_6, L_7, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_8) == ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_Inequality(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Inequality_m549511578_MetadataUsageId;
extern "C"  bool BigInteger_op_Inequality_m549511578 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Inequality_m549511578_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		if ((!(((Il2CppObject*)(BigInteger_t3334373499 *)L_0) == ((Il2CppObject*)(BigInteger_t3334373499 *)L_1))))
		{
			goto IL_0009;
		}
	}
	{
		return (bool)0;
	}

IL_0009:
	{
		BigInteger_t3334373499 * L_2 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, (BigInteger_t3334373499 *)NULL, L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0021;
		}
	}
	{
		BigInteger_t3334373499 * L_4 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, (BigInteger_t3334373499 *)NULL, L_4, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0023;
		}
	}

IL_0021:
	{
		return (bool)1;
	}

IL_0023:
	{
		BigInteger_t3334373499 * L_6 = ___bi10;
		BigInteger_t3334373499 * L_7 = ___bi21;
		int32_t L_8 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_6, L_7, /*hidden argument*/NULL);
		return (bool)((((int32_t)((((int32_t)L_8) == ((int32_t)0))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_GreaterThan(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  bool BigInteger_op_GreaterThan_m3422164694 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_2) > ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_LessThan(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  bool BigInteger_op_LessThan_m1693109759 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_2) < ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_GreaterThanOrEqual(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  bool BigInteger_op_GreaterThanOrEqual_m2091126915 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return (bool)((((int32_t)((((int32_t)L_2) < ((int32_t)0))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Boolean Mono.Math.BigInteger::op_LessThanOrEqual(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  bool BigInteger_op_LessThanOrEqual_m2413275450 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		return (bool)((((int32_t)((((int32_t)L_2) > ((int32_t)0))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::AddSameSign(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_AddSameSign_m3951710603_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * Kernel_AddSameSign_m3951710603 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_AddSameSign_m3951710603_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	UInt32U5BU5D_t3230734560* V_0 = NULL;
	UInt32U5BU5D_t3230734560* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	BigInteger_t3334373499 * V_5 = NULL;
	UInt32U5BU5D_t3230734560* V_6 = NULL;
	uint64_t V_7 = 0;
	bool V_8 = false;
	uint32_t V_9 = 0;
	{
		V_4 = 0;
		BigInteger_t3334373499 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t3334373499 * L_2 = ___bi21;
		uint32_t L_3 = L_2->get_length_0();
		if ((!(((uint32_t)L_1) < ((uint32_t)L_3))))
		{
			goto IL_0035;
		}
	}
	{
		BigInteger_t3334373499 * L_4 = ___bi21;
		UInt32U5BU5D_t3230734560* L_5 = L_4->get_data_1();
		V_0 = L_5;
		BigInteger_t3334373499 * L_6 = ___bi21;
		uint32_t L_7 = L_6->get_length_0();
		V_3 = L_7;
		BigInteger_t3334373499 * L_8 = ___bi10;
		UInt32U5BU5D_t3230734560* L_9 = L_8->get_data_1();
		V_1 = L_9;
		BigInteger_t3334373499 * L_10 = ___bi10;
		uint32_t L_11 = L_10->get_length_0();
		V_2 = L_11;
		goto IL_0051;
	}

IL_0035:
	{
		BigInteger_t3334373499 * L_12 = ___bi10;
		UInt32U5BU5D_t3230734560* L_13 = L_12->get_data_1();
		V_0 = L_13;
		BigInteger_t3334373499 * L_14 = ___bi10;
		uint32_t L_15 = L_14->get_length_0();
		V_3 = L_15;
		BigInteger_t3334373499 * L_16 = ___bi21;
		UInt32U5BU5D_t3230734560* L_17 = L_16->get_data_1();
		V_1 = L_17;
		BigInteger_t3334373499 * L_18 = ___bi21;
		uint32_t L_19 = L_18->get_length_0();
		V_2 = L_19;
	}

IL_0051:
	{
		uint32_t L_20 = V_3;
		BigInteger_t3334373499 * L_21 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_21, 1, ((int32_t)((int32_t)L_20+(int32_t)1)), /*hidden argument*/NULL);
		V_5 = L_21;
		BigInteger_t3334373499 * L_22 = V_5;
		UInt32U5BU5D_t3230734560* L_23 = L_22->get_data_1();
		V_6 = L_23;
		V_7 = (((int64_t)((int64_t)0)));
	}

IL_0069:
	{
		UInt32U5BU5D_t3230734560* L_24 = V_0;
		uint32_t L_25 = V_4;
		uintptr_t L_26 = (((uintptr_t)L_25));
		uint32_t L_27 = (L_24)->GetAt(static_cast<il2cpp_array_size_t>(L_26));
		UInt32U5BU5D_t3230734560* L_28 = V_1;
		uint32_t L_29 = V_4;
		uintptr_t L_30 = (((uintptr_t)L_29));
		uint32_t L_31 = (L_28)->GetAt(static_cast<il2cpp_array_size_t>(L_30));
		uint64_t L_32 = V_7;
		V_7 = ((int64_t)((int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_27)))+(int64_t)(((int64_t)((uint64_t)L_31)))))+(int64_t)L_32));
		UInt32U5BU5D_t3230734560* L_33 = V_6;
		uint32_t L_34 = V_4;
		uint64_t L_35 = V_7;
		(L_33)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_34))), (uint32_t)(((int32_t)((uint32_t)L_35))));
		uint64_t L_36 = V_7;
		V_7 = ((int64_t)((uint64_t)L_36>>((int32_t)32)));
		uint32_t L_37 = V_4;
		int32_t L_38 = ((int32_t)((int32_t)L_37+(int32_t)1));
		V_4 = L_38;
		uint32_t L_39 = V_2;
		if ((!(((uint32_t)L_38) >= ((uint32_t)L_39))))
		{
			goto IL_0069;
		}
	}
	{
		uint64_t L_40 = V_7;
		V_8 = (bool)((((int32_t)((((int64_t)L_40) == ((int64_t)(((int64_t)((int64_t)0)))))? 1 : 0)) == ((int32_t)0))? 1 : 0);
		bool L_41 = V_8;
		if (!L_41)
		{
			goto IL_00fc;
		}
	}
	{
		uint32_t L_42 = V_4;
		uint32_t L_43 = V_3;
		if ((!(((uint32_t)L_42) < ((uint32_t)L_43))))
		{
			goto IL_00dd;
		}
	}

IL_00b2:
	{
		UInt32U5BU5D_t3230734560* L_44 = V_6;
		uint32_t L_45 = V_4;
		UInt32U5BU5D_t3230734560* L_46 = V_0;
		uint32_t L_47 = V_4;
		uintptr_t L_48 = (((uintptr_t)L_47));
		uint32_t L_49 = (L_46)->GetAt(static_cast<il2cpp_array_size_t>(L_48));
		int32_t L_50 = ((int32_t)((int32_t)L_49+(int32_t)1));
		V_9 = L_50;
		(L_44)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_45))), (uint32_t)L_50);
		uint32_t L_51 = V_9;
		V_8 = (bool)((((int32_t)L_51) == ((int32_t)0))? 1 : 0);
		uint32_t L_52 = V_4;
		int32_t L_53 = ((int32_t)((int32_t)L_52+(int32_t)1));
		V_4 = L_53;
		uint32_t L_54 = V_3;
		if ((!(((uint32_t)L_53) < ((uint32_t)L_54))))
		{
			goto IL_00dd;
		}
	}
	{
		bool L_55 = V_8;
		if (L_55)
		{
			goto IL_00b2;
		}
	}

IL_00dd:
	{
		bool L_56 = V_8;
		if (!L_56)
		{
			goto IL_00fc;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_57 = V_6;
		uint32_t L_58 = V_4;
		(L_57)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_58))), (uint32_t)1);
		BigInteger_t3334373499 * L_59 = V_5;
		uint32_t L_60 = V_4;
		int32_t L_61 = ((int32_t)((int32_t)L_60+(int32_t)1));
		V_4 = L_61;
		L_59->set_length_0(L_61);
		BigInteger_t3334373499 * L_62 = V_5;
		return L_62;
	}

IL_00fc:
	{
		uint32_t L_63 = V_4;
		uint32_t L_64 = V_3;
		if ((!(((uint32_t)L_63) < ((uint32_t)L_64))))
		{
			goto IL_011c;
		}
	}

IL_0104:
	{
		UInt32U5BU5D_t3230734560* L_65 = V_6;
		uint32_t L_66 = V_4;
		UInt32U5BU5D_t3230734560* L_67 = V_0;
		uint32_t L_68 = V_4;
		uintptr_t L_69 = (((uintptr_t)L_68));
		uint32_t L_70 = (L_67)->GetAt(static_cast<il2cpp_array_size_t>(L_69));
		(L_65)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_66))), (uint32_t)L_70);
		uint32_t L_71 = V_4;
		int32_t L_72 = ((int32_t)((int32_t)L_71+(int32_t)1));
		V_4 = L_72;
		uint32_t L_73 = V_3;
		if ((!(((uint32_t)L_72) >= ((uint32_t)L_73))))
		{
			goto IL_0104;
		}
	}

IL_011c:
	{
		BigInteger_t3334373499 * L_74 = V_5;
		BigInteger_Normalize_m2451454954(L_74, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_75 = V_5;
		return L_75;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::Subtract(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_Subtract_m593759655_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * Kernel_Subtract_m593759655 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___big0, BigInteger_t3334373499 * ___small1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_Subtract_m593759655_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	UInt32U5BU5D_t3230734560* V_1 = NULL;
	UInt32U5BU5D_t3230734560* V_2 = NULL;
	UInt32U5BU5D_t3230734560* V_3 = NULL;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	uint32_t V_6 = 0;
	uint32_t V_7 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___big0;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t3334373499 * L_2 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_2, 1, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		BigInteger_t3334373499 * L_3 = V_0;
		UInt32U5BU5D_t3230734560* L_4 = L_3->get_data_1();
		V_1 = L_4;
		BigInteger_t3334373499 * L_5 = ___big0;
		UInt32U5BU5D_t3230734560* L_6 = L_5->get_data_1();
		V_2 = L_6;
		BigInteger_t3334373499 * L_7 = ___small1;
		UInt32U5BU5D_t3230734560* L_8 = L_7->get_data_1();
		V_3 = L_8;
		V_4 = 0;
		V_5 = 0;
	}

IL_0028:
	{
		UInt32U5BU5D_t3230734560* L_9 = V_3;
		uint32_t L_10 = V_4;
		uintptr_t L_11 = (((uintptr_t)L_10));
		uint32_t L_12 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_11));
		V_6 = L_12;
		uint32_t L_13 = V_6;
		uint32_t L_14 = V_5;
		int32_t L_15 = ((int32_t)((int32_t)L_13+(int32_t)L_14));
		V_6 = L_15;
		uint32_t L_16 = V_5;
		UInt32U5BU5D_t3230734560* L_17 = V_1;
		uint32_t L_18 = V_4;
		UInt32U5BU5D_t3230734560* L_19 = V_2;
		uint32_t L_20 = V_4;
		uintptr_t L_21 = (((uintptr_t)L_20));
		uint32_t L_22 = (L_19)->GetAt(static_cast<il2cpp_array_size_t>(L_21));
		uint32_t L_23 = V_6;
		int32_t L_24 = ((int32_t)((int32_t)L_22-(int32_t)L_23));
		V_7 = L_24;
		(L_17)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_18))), (uint32_t)L_24);
		uint32_t L_25 = V_7;
		uint32_t L_26 = V_6;
		if (!((int32_t)((int32_t)((!(((uint32_t)L_15) >= ((uint32_t)L_16)))? 1 : 0)|(int32_t)((!(((uint32_t)L_25) <= ((uint32_t)((~L_26)))))? 1 : 0))))
		{
			goto IL_0060;
		}
	}
	{
		V_5 = 1;
		goto IL_0063;
	}

IL_0060:
	{
		V_5 = 0;
	}

IL_0063:
	{
		uint32_t L_27 = V_4;
		int32_t L_28 = ((int32_t)((int32_t)L_27+(int32_t)1));
		V_4 = L_28;
		BigInteger_t3334373499 * L_29 = ___small1;
		uint32_t L_30 = L_29->get_length_0();
		if ((!(((uint32_t)L_28) >= ((uint32_t)L_30))))
		{
			goto IL_0028;
		}
	}
	{
		uint32_t L_31 = V_4;
		BigInteger_t3334373499 * L_32 = ___big0;
		uint32_t L_33 = L_32->get_length_0();
		if ((!(((uint32_t)L_31) == ((uint32_t)L_33))))
		{
			goto IL_0087;
		}
	}
	{
		goto IL_00e5;
	}

IL_0087:
	{
		uint32_t L_34 = V_5;
		if ((!(((uint32_t)L_34) == ((uint32_t)1))))
		{
			goto IL_00c9;
		}
	}

IL_008f:
	{
		UInt32U5BU5D_t3230734560* L_35 = V_1;
		uint32_t L_36 = V_4;
		UInt32U5BU5D_t3230734560* L_37 = V_2;
		uint32_t L_38 = V_4;
		uintptr_t L_39 = (((uintptr_t)L_38));
		uint32_t L_40 = (L_37)->GetAt(static_cast<il2cpp_array_size_t>(L_39));
		(L_35)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_36))), (uint32_t)((int32_t)((int32_t)L_40-(int32_t)1)));
		UInt32U5BU5D_t3230734560* L_41 = V_2;
		uint32_t L_42 = V_4;
		uint32_t L_43 = L_42;
		V_4 = ((int32_t)((int32_t)L_43+(int32_t)1));
		uintptr_t L_44 = (((uintptr_t)L_43));
		uint32_t L_45 = (L_41)->GetAt(static_cast<il2cpp_array_size_t>(L_44));
		if (L_45)
		{
			goto IL_00b7;
		}
	}
	{
		uint32_t L_46 = V_4;
		BigInteger_t3334373499 * L_47 = ___big0;
		uint32_t L_48 = L_47->get_length_0();
		if ((!(((uint32_t)L_46) >= ((uint32_t)L_48))))
		{
			goto IL_008f;
		}
	}

IL_00b7:
	{
		uint32_t L_49 = V_4;
		BigInteger_t3334373499 * L_50 = ___big0;
		uint32_t L_51 = L_50->get_length_0();
		if ((!(((uint32_t)L_49) == ((uint32_t)L_51))))
		{
			goto IL_00c9;
		}
	}
	{
		goto IL_00e5;
	}

IL_00c9:
	{
		UInt32U5BU5D_t3230734560* L_52 = V_1;
		uint32_t L_53 = V_4;
		UInt32U5BU5D_t3230734560* L_54 = V_2;
		uint32_t L_55 = V_4;
		uintptr_t L_56 = (((uintptr_t)L_55));
		uint32_t L_57 = (L_54)->GetAt(static_cast<il2cpp_array_size_t>(L_56));
		(L_52)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_53))), (uint32_t)L_57);
		uint32_t L_58 = V_4;
		int32_t L_59 = ((int32_t)((int32_t)L_58+(int32_t)1));
		V_4 = L_59;
		BigInteger_t3334373499 * L_60 = ___big0;
		uint32_t L_61 = L_60->get_length_0();
		if ((!(((uint32_t)L_59) >= ((uint32_t)L_61))))
		{
			goto IL_00c9;
		}
	}

IL_00e5:
	{
		BigInteger_t3334373499 * L_62 = V_0;
		BigInteger_Normalize_m2451454954(L_62, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_63 = V_0;
		return L_63;
	}
}
// System.Void Mono.Math.BigInteger/Kernel::MinusEq(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  void Kernel_MinusEq_m2588038513 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___big0, BigInteger_t3334373499 * ___small1, const MethodInfo* method)
{
	UInt32U5BU5D_t3230734560* V_0 = NULL;
	UInt32U5BU5D_t3230734560* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___big0;
		UInt32U5BU5D_t3230734560* L_1 = L_0->get_data_1();
		V_0 = L_1;
		BigInteger_t3334373499 * L_2 = ___small1;
		UInt32U5BU5D_t3230734560* L_3 = L_2->get_data_1();
		V_1 = L_3;
		V_2 = 0;
		V_3 = 0;
	}

IL_0012:
	{
		UInt32U5BU5D_t3230734560* L_4 = V_1;
		uint32_t L_5 = V_2;
		uintptr_t L_6 = (((uintptr_t)L_5));
		uint32_t L_7 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		V_4 = L_7;
		uint32_t L_8 = V_4;
		uint32_t L_9 = V_3;
		int32_t L_10 = ((int32_t)((int32_t)L_8+(int32_t)L_9));
		V_4 = L_10;
		uint32_t L_11 = V_3;
		UInt32U5BU5D_t3230734560* L_12 = V_0;
		uint32_t L_13 = V_2;
		uint32_t* L_14 = ((L_12)->GetAddressAt(static_cast<il2cpp_array_size_t>((il2cpp_array_size_t)(uintptr_t)(((uintptr_t)L_13)))));
		uint32_t L_15 = V_4;
		int32_t L_16 = ((int32_t)((int32_t)(*((uint32_t*)L_14))-(int32_t)L_15));
		V_5 = L_16;
		*((int32_t*)(L_14)) = (int32_t)L_16;
		uint32_t L_17 = V_5;
		uint32_t L_18 = V_4;
		if (!((int32_t)((int32_t)((!(((uint32_t)L_10) >= ((uint32_t)L_11)))? 1 : 0)|(int32_t)((!(((uint32_t)L_17) <= ((uint32_t)((~L_18)))))? 1 : 0))))
		{
			goto IL_0047;
		}
	}
	{
		V_3 = 1;
		goto IL_0049;
	}

IL_0047:
	{
		V_3 = 0;
	}

IL_0049:
	{
		uint32_t L_19 = V_2;
		int32_t L_20 = ((int32_t)((int32_t)L_19+(int32_t)1));
		V_2 = L_20;
		BigInteger_t3334373499 * L_21 = ___small1;
		uint32_t L_22 = L_21->get_length_0();
		if ((!(((uint32_t)L_20) >= ((uint32_t)L_22))))
		{
			goto IL_0012;
		}
	}
	{
		uint32_t L_23 = V_2;
		BigInteger_t3334373499 * L_24 = ___big0;
		uint32_t L_25 = L_24->get_length_0();
		if ((!(((uint32_t)L_23) == ((uint32_t)L_25))))
		{
			goto IL_006a;
		}
	}
	{
		goto IL_0097;
	}

IL_006a:
	{
		uint32_t L_26 = V_3;
		if ((!(((uint32_t)L_26) == ((uint32_t)1))))
		{
			goto IL_0097;
		}
	}

IL_0071:
	{
		UInt32U5BU5D_t3230734560* L_27 = V_0;
		uint32_t L_28 = V_2;
		uint32_t* L_29 = ((L_27)->GetAddressAt(static_cast<il2cpp_array_size_t>((il2cpp_array_size_t)(uintptr_t)(((uintptr_t)L_28)))));
		*((int32_t*)(L_29)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_29))-(int32_t)1));
		UInt32U5BU5D_t3230734560* L_30 = V_0;
		uint32_t L_31 = V_2;
		uint32_t L_32 = L_31;
		V_2 = ((int32_t)((int32_t)L_32+(int32_t)1));
		uintptr_t L_33 = (((uintptr_t)L_32));
		uint32_t L_34 = (L_30)->GetAt(static_cast<il2cpp_array_size_t>(L_33));
		if (L_34)
		{
			goto IL_0097;
		}
	}
	{
		uint32_t L_35 = V_2;
		BigInteger_t3334373499 * L_36 = ___big0;
		uint32_t L_37 = L_36->get_length_0();
		if ((!(((uint32_t)L_35) >= ((uint32_t)L_37))))
		{
			goto IL_0071;
		}
	}

IL_0097:
	{
		goto IL_00aa;
	}

IL_009c:
	{
		BigInteger_t3334373499 * L_38 = ___big0;
		BigInteger_t3334373499 * L_39 = L_38;
		uint32_t L_40 = L_39->get_length_0();
		L_39->set_length_0(((int32_t)((int32_t)L_40-(int32_t)1)));
	}

IL_00aa:
	{
		BigInteger_t3334373499 * L_41 = ___big0;
		uint32_t L_42 = L_41->get_length_0();
		if ((!(((uint32_t)L_42) > ((uint32_t)0))))
		{
			goto IL_00cb;
		}
	}
	{
		BigInteger_t3334373499 * L_43 = ___big0;
		UInt32U5BU5D_t3230734560* L_44 = L_43->get_data_1();
		BigInteger_t3334373499 * L_45 = ___big0;
		uint32_t L_46 = L_45->get_length_0();
		uintptr_t L_47 = (((uintptr_t)((int32_t)((int32_t)L_46-(int32_t)1))));
		uint32_t L_48 = (L_44)->GetAt(static_cast<il2cpp_array_size_t>(L_47));
		if (!L_48)
		{
			goto IL_009c;
		}
	}

IL_00cb:
	{
		BigInteger_t3334373499 * L_49 = ___big0;
		uint32_t L_50 = L_49->get_length_0();
		if (L_50)
		{
			goto IL_00e4;
		}
	}
	{
		BigInteger_t3334373499 * L_51 = ___big0;
		BigInteger_t3334373499 * L_52 = L_51;
		uint32_t L_53 = L_52->get_length_0();
		L_52->set_length_0(((int32_t)((int32_t)L_53+(int32_t)1)));
	}

IL_00e4:
	{
		return;
	}
}
// System.Void Mono.Math.BigInteger/Kernel::PlusEq(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  void Kernel_PlusEq_m1327972151 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	UInt32U5BU5D_t3230734560* V_0 = NULL;
	UInt32U5BU5D_t3230734560* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	bool V_5 = false;
	UInt32U5BU5D_t3230734560* V_6 = NULL;
	uint64_t V_7 = 0;
	bool V_8 = false;
	uint32_t V_9 = 0;
	{
		V_4 = 0;
		V_5 = (bool)0;
		BigInteger_t3334373499 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t3334373499 * L_2 = ___bi21;
		uint32_t L_3 = L_2->get_length_0();
		if ((!(((uint32_t)L_1) < ((uint32_t)L_3))))
		{
			goto IL_003b;
		}
	}
	{
		V_5 = (bool)1;
		BigInteger_t3334373499 * L_4 = ___bi21;
		UInt32U5BU5D_t3230734560* L_5 = L_4->get_data_1();
		V_0 = L_5;
		BigInteger_t3334373499 * L_6 = ___bi21;
		uint32_t L_7 = L_6->get_length_0();
		V_3 = L_7;
		BigInteger_t3334373499 * L_8 = ___bi10;
		UInt32U5BU5D_t3230734560* L_9 = L_8->get_data_1();
		V_1 = L_9;
		BigInteger_t3334373499 * L_10 = ___bi10;
		uint32_t L_11 = L_10->get_length_0();
		V_2 = L_11;
		goto IL_0057;
	}

IL_003b:
	{
		BigInteger_t3334373499 * L_12 = ___bi10;
		UInt32U5BU5D_t3230734560* L_13 = L_12->get_data_1();
		V_0 = L_13;
		BigInteger_t3334373499 * L_14 = ___bi10;
		uint32_t L_15 = L_14->get_length_0();
		V_3 = L_15;
		BigInteger_t3334373499 * L_16 = ___bi21;
		UInt32U5BU5D_t3230734560* L_17 = L_16->get_data_1();
		V_1 = L_17;
		BigInteger_t3334373499 * L_18 = ___bi21;
		uint32_t L_19 = L_18->get_length_0();
		V_2 = L_19;
	}

IL_0057:
	{
		BigInteger_t3334373499 * L_20 = ___bi10;
		UInt32U5BU5D_t3230734560* L_21 = L_20->get_data_1();
		V_6 = L_21;
		V_7 = (((int64_t)((int64_t)0)));
	}

IL_0063:
	{
		uint64_t L_22 = V_7;
		UInt32U5BU5D_t3230734560* L_23 = V_0;
		uint32_t L_24 = V_4;
		uintptr_t L_25 = (((uintptr_t)L_24));
		uint32_t L_26 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_25));
		UInt32U5BU5D_t3230734560* L_27 = V_1;
		uint32_t L_28 = V_4;
		uintptr_t L_29 = (((uintptr_t)L_28));
		uint32_t L_30 = (L_27)->GetAt(static_cast<il2cpp_array_size_t>(L_29));
		V_7 = ((int64_t)((int64_t)L_22+(int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_26)))+(int64_t)(((int64_t)((uint64_t)L_30)))))));
		UInt32U5BU5D_t3230734560* L_31 = V_6;
		uint32_t L_32 = V_4;
		uint64_t L_33 = V_7;
		(L_31)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_32))), (uint32_t)(((int32_t)((uint32_t)L_33))));
		uint64_t L_34 = V_7;
		V_7 = ((int64_t)((uint64_t)L_34>>((int32_t)32)));
		uint32_t L_35 = V_4;
		int32_t L_36 = ((int32_t)((int32_t)L_35+(int32_t)1));
		V_4 = L_36;
		uint32_t L_37 = V_2;
		if ((!(((uint32_t)L_36) >= ((uint32_t)L_37))))
		{
			goto IL_0063;
		}
	}
	{
		uint64_t L_38 = V_7;
		V_8 = (bool)((((int32_t)((((int64_t)L_38) == ((int64_t)(((int64_t)((int64_t)0)))))? 1 : 0)) == ((int32_t)0))? 1 : 0);
		bool L_39 = V_8;
		if (!L_39)
		{
			goto IL_00f3;
		}
	}
	{
		uint32_t L_40 = V_4;
		uint32_t L_41 = V_3;
		if ((!(((uint32_t)L_40) < ((uint32_t)L_41))))
		{
			goto IL_00d7;
		}
	}

IL_00ac:
	{
		UInt32U5BU5D_t3230734560* L_42 = V_6;
		uint32_t L_43 = V_4;
		UInt32U5BU5D_t3230734560* L_44 = V_0;
		uint32_t L_45 = V_4;
		uintptr_t L_46 = (((uintptr_t)L_45));
		uint32_t L_47 = (L_44)->GetAt(static_cast<il2cpp_array_size_t>(L_46));
		int32_t L_48 = ((int32_t)((int32_t)L_47+(int32_t)1));
		V_9 = L_48;
		(L_42)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_43))), (uint32_t)L_48);
		uint32_t L_49 = V_9;
		V_8 = (bool)((((int32_t)L_49) == ((int32_t)0))? 1 : 0);
		uint32_t L_50 = V_4;
		int32_t L_51 = ((int32_t)((int32_t)L_50+(int32_t)1));
		V_4 = L_51;
		uint32_t L_52 = V_3;
		if ((!(((uint32_t)L_51) < ((uint32_t)L_52))))
		{
			goto IL_00d7;
		}
	}
	{
		bool L_53 = V_8;
		if (L_53)
		{
			goto IL_00ac;
		}
	}

IL_00d7:
	{
		bool L_54 = V_8;
		if (!L_54)
		{
			goto IL_00f3;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_55 = V_6;
		uint32_t L_56 = V_4;
		(L_55)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_56))), (uint32_t)1);
		BigInteger_t3334373499 * L_57 = ___bi10;
		uint32_t L_58 = V_4;
		int32_t L_59 = ((int32_t)((int32_t)L_58+(int32_t)1));
		V_4 = L_59;
		L_57->set_length_0(L_59);
		return;
	}

IL_00f3:
	{
		bool L_60 = V_5;
		if (!L_60)
		{
			goto IL_011c;
		}
	}
	{
		uint32_t L_61 = V_4;
		uint32_t L_62 = V_3;
		if ((!(((uint32_t)L_61) < ((uint32_t)((int32_t)((int32_t)L_62-(int32_t)1))))))
		{
			goto IL_011c;
		}
	}

IL_0104:
	{
		UInt32U5BU5D_t3230734560* L_63 = V_6;
		uint32_t L_64 = V_4;
		UInt32U5BU5D_t3230734560* L_65 = V_0;
		uint32_t L_66 = V_4;
		uintptr_t L_67 = (((uintptr_t)L_66));
		uint32_t L_68 = (L_65)->GetAt(static_cast<il2cpp_array_size_t>(L_67));
		(L_63)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_64))), (uint32_t)L_68);
		uint32_t L_69 = V_4;
		int32_t L_70 = ((int32_t)((int32_t)L_69+(int32_t)1));
		V_4 = L_70;
		uint32_t L_71 = V_3;
		if ((!(((uint32_t)L_70) >= ((uint32_t)L_71))))
		{
			goto IL_0104;
		}
	}

IL_011c:
	{
		BigInteger_t3334373499 * L_72 = ___bi10;
		uint32_t L_73 = V_3;
		L_72->set_length_0(((int32_t)((int32_t)L_73+(int32_t)1)));
		BigInteger_t3334373499 * L_74 = ___bi10;
		BigInteger_Normalize_m2451454954(L_74, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Math.BigInteger/Sign Mono.Math.BigInteger/Kernel::Compare(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern "C"  int32_t Kernel_Compare_m3514403080 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		V_0 = L_1;
		BigInteger_t3334373499 * L_2 = ___bi21;
		uint32_t L_3 = L_2->get_length_0();
		V_1 = L_3;
		goto IL_0017;
	}

IL_0013:
	{
		uint32_t L_4 = V_0;
		V_0 = ((int32_t)((int32_t)L_4-(int32_t)1));
	}

IL_0017:
	{
		uint32_t L_5 = V_0;
		if ((!(((uint32_t)L_5) > ((uint32_t)0))))
		{
			goto IL_002e;
		}
	}
	{
		BigInteger_t3334373499 * L_6 = ___bi10;
		UInt32U5BU5D_t3230734560* L_7 = L_6->get_data_1();
		uint32_t L_8 = V_0;
		uintptr_t L_9 = (((uintptr_t)((int32_t)((int32_t)L_8-(int32_t)1))));
		uint32_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		if (!L_10)
		{
			goto IL_0013;
		}
	}

IL_002e:
	{
		goto IL_0037;
	}

IL_0033:
	{
		uint32_t L_11 = V_1;
		V_1 = ((int32_t)((int32_t)L_11-(int32_t)1));
	}

IL_0037:
	{
		uint32_t L_12 = V_1;
		if ((!(((uint32_t)L_12) > ((uint32_t)0))))
		{
			goto IL_004e;
		}
	}
	{
		BigInteger_t3334373499 * L_13 = ___bi21;
		UInt32U5BU5D_t3230734560* L_14 = L_13->get_data_1();
		uint32_t L_15 = V_1;
		uintptr_t L_16 = (((uintptr_t)((int32_t)((int32_t)L_15-(int32_t)1))));
		uint32_t L_17 = (L_14)->GetAt(static_cast<il2cpp_array_size_t>(L_16));
		if (!L_17)
		{
			goto IL_0033;
		}
	}

IL_004e:
	{
		uint32_t L_18 = V_0;
		if (L_18)
		{
			goto IL_005c;
		}
	}
	{
		uint32_t L_19 = V_1;
		if (L_19)
		{
			goto IL_005c;
		}
	}
	{
		return (int32_t)(0);
	}

IL_005c:
	{
		uint32_t L_20 = V_0;
		uint32_t L_21 = V_1;
		if ((!(((uint32_t)L_20) < ((uint32_t)L_21))))
		{
			goto IL_0065;
		}
	}
	{
		return (int32_t)((-1));
	}

IL_0065:
	{
		uint32_t L_22 = V_0;
		uint32_t L_23 = V_1;
		if ((!(((uint32_t)L_22) > ((uint32_t)L_23))))
		{
			goto IL_006e;
		}
	}
	{
		return (int32_t)(1);
	}

IL_006e:
	{
		uint32_t L_24 = V_0;
		V_2 = ((int32_t)((int32_t)L_24-(int32_t)1));
		goto IL_007b;
	}

IL_0077:
	{
		uint32_t L_25 = V_2;
		V_2 = ((int32_t)((int32_t)L_25-(int32_t)1));
	}

IL_007b:
	{
		uint32_t L_26 = V_2;
		if (!L_26)
		{
			goto IL_0098;
		}
	}
	{
		BigInteger_t3334373499 * L_27 = ___bi10;
		UInt32U5BU5D_t3230734560* L_28 = L_27->get_data_1();
		uint32_t L_29 = V_2;
		uintptr_t L_30 = (((uintptr_t)L_29));
		uint32_t L_31 = (L_28)->GetAt(static_cast<il2cpp_array_size_t>(L_30));
		BigInteger_t3334373499 * L_32 = ___bi21;
		UInt32U5BU5D_t3230734560* L_33 = L_32->get_data_1();
		uint32_t L_34 = V_2;
		uintptr_t L_35 = (((uintptr_t)L_34));
		uint32_t L_36 = (L_33)->GetAt(static_cast<il2cpp_array_size_t>(L_35));
		if ((((int32_t)L_31) == ((int32_t)L_36)))
		{
			goto IL_0077;
		}
	}

IL_0098:
	{
		BigInteger_t3334373499 * L_37 = ___bi10;
		UInt32U5BU5D_t3230734560* L_38 = L_37->get_data_1();
		uint32_t L_39 = V_2;
		uintptr_t L_40 = (((uintptr_t)L_39));
		uint32_t L_41 = (L_38)->GetAt(static_cast<il2cpp_array_size_t>(L_40));
		BigInteger_t3334373499 * L_42 = ___bi21;
		UInt32U5BU5D_t3230734560* L_43 = L_42->get_data_1();
		uint32_t L_44 = V_2;
		uintptr_t L_45 = (((uintptr_t)L_44));
		uint32_t L_46 = (L_43)->GetAt(static_cast<il2cpp_array_size_t>(L_45));
		if ((!(((uint32_t)L_41) < ((uint32_t)L_46))))
		{
			goto IL_00b1;
		}
	}
	{
		return (int32_t)((-1));
	}

IL_00b1:
	{
		BigInteger_t3334373499 * L_47 = ___bi10;
		UInt32U5BU5D_t3230734560* L_48 = L_47->get_data_1();
		uint32_t L_49 = V_2;
		uintptr_t L_50 = (((uintptr_t)L_49));
		uint32_t L_51 = (L_48)->GetAt(static_cast<il2cpp_array_size_t>(L_50));
		BigInteger_t3334373499 * L_52 = ___bi21;
		UInt32U5BU5D_t3230734560* L_53 = L_52->get_data_1();
		uint32_t L_54 = V_2;
		uintptr_t L_55 = (((uintptr_t)L_54));
		uint32_t L_56 = (L_53)->GetAt(static_cast<il2cpp_array_size_t>(L_55));
		if ((!(((uint32_t)L_51) > ((uint32_t)L_56))))
		{
			goto IL_00ca;
		}
	}
	{
		return (int32_t)(1);
	}

IL_00ca:
	{
		return (int32_t)(0);
	}
}
// System.UInt32 Mono.Math.BigInteger/Kernel::SingleByteDivideInPlace(Mono.Math.BigInteger,System.UInt32)
extern "C"  uint32_t Kernel_SingleByteDivideInPlace_m746013128 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___n0, uint32_t ___d1, const MethodInfo* method)
{
	uint64_t V_0 = 0;
	uint32_t V_1 = 0;
	{
		V_0 = (((int64_t)((int64_t)0)));
		BigInteger_t3334373499 * L_0 = ___n0;
		uint32_t L_1 = L_0->get_length_0();
		V_1 = L_1;
		goto IL_0034;
	}

IL_000f:
	{
		uint64_t L_2 = V_0;
		V_0 = ((int64_t)((int64_t)L_2<<(int32_t)((int32_t)32)));
		uint64_t L_3 = V_0;
		BigInteger_t3334373499 * L_4 = ___n0;
		UInt32U5BU5D_t3230734560* L_5 = L_4->get_data_1();
		uint32_t L_6 = V_1;
		uintptr_t L_7 = (((uintptr_t)L_6));
		uint32_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		V_0 = ((int64_t)((int64_t)L_3|(int64_t)(((int64_t)((uint64_t)L_8)))));
		BigInteger_t3334373499 * L_9 = ___n0;
		UInt32U5BU5D_t3230734560* L_10 = L_9->get_data_1();
		uint32_t L_11 = V_1;
		uint64_t L_12 = V_0;
		uint32_t L_13 = ___d1;
		(L_10)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_11))), (uint32_t)(((int32_t)((uint32_t)((int64_t)((uint64_t)(int64_t)L_12/(uint64_t)(int64_t)(((int64_t)((uint64_t)L_13)))))))));
		uint64_t L_14 = V_0;
		uint32_t L_15 = ___d1;
		V_0 = ((int64_t)((uint64_t)(int64_t)L_14%(uint64_t)(int64_t)(((int64_t)((uint64_t)L_15)))));
	}

IL_0034:
	{
		uint32_t L_16 = V_1;
		uint32_t L_17 = L_16;
		V_1 = ((int32_t)((int32_t)L_17-(int32_t)1));
		if ((!(((uint32_t)L_17) <= ((uint32_t)0))))
		{
			goto IL_000f;
		}
	}
	{
		BigInteger_t3334373499 * L_18 = ___n0;
		BigInteger_Normalize_m2451454954(L_18, /*hidden argument*/NULL);
		uint64_t L_19 = V_0;
		return (((int32_t)((uint32_t)L_19)));
	}
}
// System.UInt32 Mono.Math.BigInteger/Kernel::DwordMod(Mono.Math.BigInteger,System.UInt32)
extern "C"  uint32_t Kernel_DwordMod_m419221597 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___n0, uint32_t ___d1, const MethodInfo* method)
{
	uint64_t V_0 = 0;
	uint32_t V_1 = 0;
	{
		V_0 = (((int64_t)((int64_t)0)));
		BigInteger_t3334373499 * L_0 = ___n0;
		uint32_t L_1 = L_0->get_length_0();
		V_1 = L_1;
		goto IL_0026;
	}

IL_000f:
	{
		uint64_t L_2 = V_0;
		V_0 = ((int64_t)((int64_t)L_2<<(int32_t)((int32_t)32)));
		uint64_t L_3 = V_0;
		BigInteger_t3334373499 * L_4 = ___n0;
		UInt32U5BU5D_t3230734560* L_5 = L_4->get_data_1();
		uint32_t L_6 = V_1;
		uintptr_t L_7 = (((uintptr_t)L_6));
		uint32_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		V_0 = ((int64_t)((int64_t)L_3|(int64_t)(((int64_t)((uint64_t)L_8)))));
		uint64_t L_9 = V_0;
		uint32_t L_10 = ___d1;
		V_0 = ((int64_t)((uint64_t)(int64_t)L_9%(uint64_t)(int64_t)(((int64_t)((uint64_t)L_10)))));
	}

IL_0026:
	{
		uint32_t L_11 = V_1;
		uint32_t L_12 = L_11;
		V_1 = ((int32_t)((int32_t)L_12-(int32_t)1));
		if ((!(((uint32_t)L_12) <= ((uint32_t)0))))
		{
			goto IL_000f;
		}
	}
	{
		uint64_t L_13 = V_0;
		return (((int32_t)((uint32_t)L_13)));
	}
}
// Mono.Math.BigInteger[] Mono.Math.BigInteger/Kernel::DwordDivMod(Mono.Math.BigInteger,System.UInt32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_DwordDivMod_m3508261007_MetadataUsageId;
extern "C"  BigIntegerU5BU5D_t1634278496* Kernel_DwordDivMod_m3508261007 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___n0, uint32_t ___d1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_DwordDivMod_m3508261007_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	uint64_t V_1 = 0;
	uint32_t V_2 = 0;
	BigInteger_t3334373499 * V_3 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___n0;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t3334373499 * L_2 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_2, 1, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		V_1 = (((int64_t)((int64_t)0)));
		BigInteger_t3334373499 * L_3 = ___n0;
		uint32_t L_4 = L_3->get_length_0();
		V_2 = L_4;
		goto IL_0041;
	}

IL_001c:
	{
		uint64_t L_5 = V_1;
		V_1 = ((int64_t)((int64_t)L_5<<(int32_t)((int32_t)32)));
		uint64_t L_6 = V_1;
		BigInteger_t3334373499 * L_7 = ___n0;
		UInt32U5BU5D_t3230734560* L_8 = L_7->get_data_1();
		uint32_t L_9 = V_2;
		uintptr_t L_10 = (((uintptr_t)L_9));
		uint32_t L_11 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		V_1 = ((int64_t)((int64_t)L_6|(int64_t)(((int64_t)((uint64_t)L_11)))));
		BigInteger_t3334373499 * L_12 = V_0;
		UInt32U5BU5D_t3230734560* L_13 = L_12->get_data_1();
		uint32_t L_14 = V_2;
		uint64_t L_15 = V_1;
		uint32_t L_16 = ___d1;
		(L_13)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_14))), (uint32_t)(((int32_t)((uint32_t)((int64_t)((uint64_t)(int64_t)L_15/(uint64_t)(int64_t)(((int64_t)((uint64_t)L_16)))))))));
		uint64_t L_17 = V_1;
		uint32_t L_18 = ___d1;
		V_1 = ((int64_t)((uint64_t)(int64_t)L_17%(uint64_t)(int64_t)(((int64_t)((uint64_t)L_18)))));
	}

IL_0041:
	{
		uint32_t L_19 = V_2;
		uint32_t L_20 = L_19;
		V_2 = ((int32_t)((int32_t)L_20-(int32_t)1));
		if ((!(((uint32_t)L_20) <= ((uint32_t)0))))
		{
			goto IL_001c;
		}
	}
	{
		BigInteger_t3334373499 * L_21 = V_0;
		BigInteger_Normalize_m2451454954(L_21, /*hidden argument*/NULL);
		uint64_t L_22 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_23 = BigInteger_op_Implicit_m638921272(NULL /*static, unused*/, (((int32_t)((uint32_t)L_22))), /*hidden argument*/NULL);
		V_3 = L_23;
		BigIntegerU5BU5D_t1634278496* L_24 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t3334373499 * L_25 = V_0;
		ArrayElementTypeCheck (L_24, L_25);
		(L_24)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_25);
		BigIntegerU5BU5D_t1634278496* L_26 = L_24;
		BigInteger_t3334373499 * L_27 = V_3;
		ArrayElementTypeCheck (L_26, L_27);
		(L_26)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_27);
		return L_26;
	}
}
// Mono.Math.BigInteger[] Mono.Math.BigInteger/Kernel::multiByteDivide(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_multiByteDivide_m1455363991_MetadataUsageId;
extern "C"  BigIntegerU5BU5D_t1634278496* Kernel_multiByteDivide_m1455363991 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi10, BigInteger_t3334373499 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_multiByteDivide_m1455363991_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint32_t V_0 = 0;
	int32_t V_1 = 0;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	BigInteger_t3334373499 * V_6 = NULL;
	BigInteger_t3334373499 * V_7 = NULL;
	UInt32U5BU5D_t3230734560* V_8 = NULL;
	int32_t V_9 = 0;
	int32_t V_10 = 0;
	uint32_t V_11 = 0;
	uint64_t V_12 = 0;
	uint64_t V_13 = 0;
	uint64_t V_14 = 0;
	uint64_t V_15 = 0;
	uint32_t V_16 = 0;
	uint32_t V_17 = 0;
	int32_t V_18 = 0;
	uint64_t V_19 = 0;
	uint32_t V_20 = 0;
	uint64_t V_21 = 0;
	BigIntegerU5BU5D_t1634278496* V_22 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___bi10;
		BigInteger_t3334373499 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_2) == ((uint32_t)(-1)))))
		{
			goto IL_0026;
		}
	}
	{
		BigIntegerU5BU5D_t1634278496* L_3 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_4 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_3, L_4);
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_4);
		BigIntegerU5BU5D_t1634278496* L_5 = L_3;
		BigInteger_t3334373499 * L_6 = ___bi10;
		BigInteger_t3334373499 * L_7 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_7, L_6, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_5, L_7);
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_7);
		return L_5;
	}

IL_0026:
	{
		BigInteger_t3334373499 * L_8 = ___bi10;
		BigInteger_Normalize_m2451454954(L_8, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_9 = ___bi21;
		BigInteger_Normalize_m2451454954(L_9, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_10 = ___bi21;
		uint32_t L_11 = L_10->get_length_0();
		if ((!(((uint32_t)L_11) == ((uint32_t)1))))
		{
			goto IL_004d;
		}
	}
	{
		BigInteger_t3334373499 * L_12 = ___bi10;
		BigInteger_t3334373499 * L_13 = ___bi21;
		UInt32U5BU5D_t3230734560* L_14 = L_13->get_data_1();
		int32_t L_15 = 0;
		uint32_t L_16 = (L_14)->GetAt(static_cast<il2cpp_array_size_t>(L_15));
		BigIntegerU5BU5D_t1634278496* L_17 = Kernel_DwordDivMod_m3508261007(NULL /*static, unused*/, L_12, L_16, /*hidden argument*/NULL);
		return L_17;
	}

IL_004d:
	{
		BigInteger_t3334373499 * L_18 = ___bi10;
		uint32_t L_19 = L_18->get_length_0();
		V_0 = ((int32_t)((int32_t)L_19+(int32_t)1));
		BigInteger_t3334373499 * L_20 = ___bi21;
		uint32_t L_21 = L_20->get_length_0();
		V_1 = ((int32_t)((int32_t)L_21+(int32_t)1));
		V_2 = ((int32_t)-2147483648LL);
		BigInteger_t3334373499 * L_22 = ___bi21;
		UInt32U5BU5D_t3230734560* L_23 = L_22->get_data_1();
		BigInteger_t3334373499 * L_24 = ___bi21;
		uint32_t L_25 = L_24->get_length_0();
		uintptr_t L_26 = (((uintptr_t)((int32_t)((int32_t)L_25-(int32_t)1))));
		uint32_t L_27 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_26));
		V_3 = L_27;
		V_4 = 0;
		BigInteger_t3334373499 * L_28 = ___bi10;
		uint32_t L_29 = L_28->get_length_0();
		BigInteger_t3334373499 * L_30 = ___bi21;
		uint32_t L_31 = L_30->get_length_0();
		V_5 = ((int32_t)((int32_t)L_29-(int32_t)L_31));
		goto IL_0097;
	}

IL_008d:
	{
		int32_t L_32 = V_4;
		V_4 = ((int32_t)((int32_t)L_32+(int32_t)1));
		uint32_t L_33 = V_2;
		V_2 = ((int32_t)((uint32_t)L_33>>1));
	}

IL_0097:
	{
		uint32_t L_34 = V_2;
		if (!L_34)
		{
			goto IL_00a5;
		}
	}
	{
		uint32_t L_35 = V_3;
		uint32_t L_36 = V_2;
		if (!((int32_t)((int32_t)L_35&(int32_t)L_36)))
		{
			goto IL_008d;
		}
	}

IL_00a5:
	{
		BigInteger_t3334373499 * L_37 = ___bi10;
		uint32_t L_38 = L_37->get_length_0();
		BigInteger_t3334373499 * L_39 = ___bi21;
		uint32_t L_40 = L_39->get_length_0();
		BigInteger_t3334373499 * L_41 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_41, 1, ((int32_t)((int32_t)((int32_t)((int32_t)L_38-(int32_t)L_40))+(int32_t)1)), /*hidden argument*/NULL);
		V_6 = L_41;
		BigInteger_t3334373499 * L_42 = ___bi10;
		int32_t L_43 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_44 = BigInteger_op_LeftShift_m2333016656(NULL /*static, unused*/, L_42, L_43, /*hidden argument*/NULL);
		V_7 = L_44;
		BigInteger_t3334373499 * L_45 = V_7;
		UInt32U5BU5D_t3230734560* L_46 = L_45->get_data_1();
		V_8 = L_46;
		BigInteger_t3334373499 * L_47 = ___bi21;
		int32_t L_48 = V_4;
		BigInteger_t3334373499 * L_49 = BigInteger_op_LeftShift_m2333016656(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		___bi21 = L_49;
		uint32_t L_50 = V_0;
		BigInteger_t3334373499 * L_51 = ___bi21;
		uint32_t L_52 = L_51->get_length_0();
		V_9 = ((int32_t)((int32_t)L_50-(int32_t)L_52));
		uint32_t L_53 = V_0;
		V_10 = ((int32_t)((int32_t)L_53-(int32_t)1));
		BigInteger_t3334373499 * L_54 = ___bi21;
		UInt32U5BU5D_t3230734560* L_55 = L_54->get_data_1();
		BigInteger_t3334373499 * L_56 = ___bi21;
		uint32_t L_57 = L_56->get_length_0();
		uintptr_t L_58 = (((uintptr_t)((int32_t)((int32_t)L_57-(int32_t)1))));
		uint32_t L_59 = (L_55)->GetAt(static_cast<il2cpp_array_size_t>(L_58));
		V_11 = L_59;
		BigInteger_t3334373499 * L_60 = ___bi21;
		UInt32U5BU5D_t3230734560* L_61 = L_60->get_data_1();
		BigInteger_t3334373499 * L_62 = ___bi21;
		uint32_t L_63 = L_62->get_length_0();
		uintptr_t L_64 = (((uintptr_t)((int32_t)((int32_t)L_63-(int32_t)2))));
		uint32_t L_65 = (L_61)->GetAt(static_cast<il2cpp_array_size_t>(L_64));
		V_12 = (((int64_t)((uint64_t)L_65)));
		goto IL_0270;
	}

IL_0112:
	{
		UInt32U5BU5D_t3230734560* L_66 = V_8;
		int32_t L_67 = V_10;
		int32_t L_68 = L_67;
		uint32_t L_69 = (L_66)->GetAt(static_cast<il2cpp_array_size_t>(L_68));
		UInt32U5BU5D_t3230734560* L_70 = V_8;
		int32_t L_71 = V_10;
		int32_t L_72 = ((int32_t)((int32_t)L_71-(int32_t)1));
		uint32_t L_73 = (L_70)->GetAt(static_cast<il2cpp_array_size_t>(L_72));
		V_13 = ((int64_t)((int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_69)))<<(int32_t)((int32_t)32)))+(int64_t)(((int64_t)((uint64_t)L_73)))));
		uint64_t L_74 = V_13;
		uint32_t L_75 = V_11;
		V_14 = ((int64_t)((uint64_t)(int64_t)L_74/(uint64_t)(int64_t)(((int64_t)((uint64_t)L_75)))));
		uint64_t L_76 = V_13;
		uint32_t L_77 = V_11;
		V_15 = ((int64_t)((uint64_t)(int64_t)L_76%(uint64_t)(int64_t)(((int64_t)((uint64_t)L_77)))));
	}

IL_0136:
	{
		uint64_t L_78 = V_14;
		if ((((int64_t)L_78) == ((int64_t)((int64_t)4294967296LL))))
		{
			goto IL_015e;
		}
	}
	{
		uint64_t L_79 = V_14;
		uint64_t L_80 = V_12;
		uint64_t L_81 = V_15;
		UInt32U5BU5D_t3230734560* L_82 = V_8;
		int32_t L_83 = V_10;
		int32_t L_84 = ((int32_t)((int32_t)L_83-(int32_t)2));
		uint32_t L_85 = (L_82)->GetAt(static_cast<il2cpp_array_size_t>(L_84));
		if ((!(((uint64_t)((int64_t)((int64_t)L_79*(int64_t)L_80))) > ((uint64_t)((int64_t)((int64_t)((int64_t)((int64_t)L_81<<(int32_t)((int32_t)32)))+(int64_t)(((int64_t)((uint64_t)L_85)))))))))
		{
			goto IL_0182;
		}
	}

IL_015e:
	{
		uint64_t L_86 = V_14;
		V_14 = ((int64_t)((int64_t)L_86-(int64_t)(((int64_t)((int64_t)1)))));
		uint64_t L_87 = V_15;
		uint32_t L_88 = V_11;
		V_15 = ((int64_t)((int64_t)L_87+(int64_t)(((int64_t)((uint64_t)L_88)))));
		uint64_t L_89 = V_15;
		if ((!(((uint64_t)L_89) < ((uint64_t)((int64_t)4294967296LL)))))
		{
			goto IL_0182;
		}
	}
	{
		goto IL_0187;
	}

IL_0182:
	{
		goto IL_018c;
	}

IL_0187:
	{
		goto IL_0136;
	}

IL_018c:
	{
		V_17 = 0;
		int32_t L_90 = V_10;
		int32_t L_91 = V_1;
		V_18 = ((int32_t)((int32_t)((int32_t)((int32_t)L_90-(int32_t)L_91))+(int32_t)1));
		V_19 = (((int64_t)((int64_t)0)));
		uint64_t L_92 = V_14;
		V_20 = (((int32_t)((uint32_t)L_92)));
	}

IL_01a0:
	{
		uint64_t L_93 = V_19;
		BigInteger_t3334373499 * L_94 = ___bi21;
		UInt32U5BU5D_t3230734560* L_95 = L_94->get_data_1();
		uint32_t L_96 = V_17;
		uintptr_t L_97 = (((uintptr_t)L_96));
		uint32_t L_98 = (L_95)->GetAt(static_cast<il2cpp_array_size_t>(L_97));
		uint32_t L_99 = V_20;
		V_19 = ((int64_t)((int64_t)L_93+(int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_98)))*(int64_t)(((int64_t)((uint64_t)L_99)))))));
		UInt32U5BU5D_t3230734560* L_100 = V_8;
		int32_t L_101 = V_18;
		int32_t L_102 = L_101;
		uint32_t L_103 = (L_100)->GetAt(static_cast<il2cpp_array_size_t>(L_102));
		V_16 = L_103;
		UInt32U5BU5D_t3230734560* L_104 = V_8;
		int32_t L_105 = V_18;
		uint32_t* L_106 = ((L_104)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_105)));
		uint64_t L_107 = V_19;
		*((int32_t*)(L_106)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_106))-(int32_t)(((int32_t)((uint32_t)L_107)))));
		uint64_t L_108 = V_19;
		V_19 = ((int64_t)((uint64_t)L_108>>((int32_t)32)));
		UInt32U5BU5D_t3230734560* L_109 = V_8;
		int32_t L_110 = V_18;
		int32_t L_111 = L_110;
		uint32_t L_112 = (L_109)->GetAt(static_cast<il2cpp_array_size_t>(L_111));
		uint32_t L_113 = V_16;
		if ((!(((uint32_t)L_112) > ((uint32_t)L_113))))
		{
			goto IL_01e5;
		}
	}
	{
		uint64_t L_114 = V_19;
		V_19 = ((int64_t)((int64_t)L_114+(int64_t)(((int64_t)((int64_t)1)))));
	}

IL_01e5:
	{
		uint32_t L_115 = V_17;
		V_17 = ((int32_t)((int32_t)L_115+(int32_t)1));
		int32_t L_116 = V_18;
		V_18 = ((int32_t)((int32_t)L_116+(int32_t)1));
		uint32_t L_117 = V_17;
		int32_t L_118 = V_1;
		if ((((int64_t)(((int64_t)((uint64_t)L_117)))) < ((int64_t)(((int64_t)((int64_t)L_118))))))
		{
			goto IL_01a0;
		}
	}
	{
		int32_t L_119 = V_10;
		int32_t L_120 = V_1;
		V_18 = ((int32_t)((int32_t)((int32_t)((int32_t)L_119-(int32_t)L_120))+(int32_t)1));
		V_17 = 0;
		uint64_t L_121 = V_19;
		if (!L_121)
		{
			goto IL_0253;
		}
	}
	{
		uint32_t L_122 = V_20;
		V_20 = ((int32_t)((int32_t)L_122-(int32_t)1));
		V_21 = (((int64_t)((int64_t)0)));
	}

IL_0217:
	{
		UInt32U5BU5D_t3230734560* L_123 = V_8;
		int32_t L_124 = V_18;
		int32_t L_125 = L_124;
		uint32_t L_126 = (L_123)->GetAt(static_cast<il2cpp_array_size_t>(L_125));
		BigInteger_t3334373499 * L_127 = ___bi21;
		UInt32U5BU5D_t3230734560* L_128 = L_127->get_data_1();
		uint32_t L_129 = V_17;
		uintptr_t L_130 = (((uintptr_t)L_129));
		uint32_t L_131 = (L_128)->GetAt(static_cast<il2cpp_array_size_t>(L_130));
		uint64_t L_132 = V_21;
		V_21 = ((int64_t)((int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_126)))+(int64_t)(((int64_t)((uint64_t)L_131)))))+(int64_t)L_132));
		UInt32U5BU5D_t3230734560* L_133 = V_8;
		int32_t L_134 = V_18;
		uint64_t L_135 = V_21;
		(L_133)->SetAt(static_cast<il2cpp_array_size_t>(L_134), (uint32_t)(((int32_t)((uint32_t)L_135))));
		uint64_t L_136 = V_21;
		V_21 = ((int64_t)((uint64_t)L_136>>((int32_t)32)));
		uint32_t L_137 = V_17;
		V_17 = ((int32_t)((int32_t)L_137+(int32_t)1));
		int32_t L_138 = V_18;
		V_18 = ((int32_t)((int32_t)L_138+(int32_t)1));
		uint32_t L_139 = V_17;
		int32_t L_140 = V_1;
		if ((((int64_t)(((int64_t)((uint64_t)L_139)))) < ((int64_t)(((int64_t)((int64_t)L_140))))))
		{
			goto IL_0217;
		}
	}

IL_0253:
	{
		BigInteger_t3334373499 * L_141 = V_6;
		UInt32U5BU5D_t3230734560* L_142 = L_141->get_data_1();
		int32_t L_143 = V_5;
		int32_t L_144 = L_143;
		V_5 = ((int32_t)((int32_t)L_144-(int32_t)1));
		uint32_t L_145 = V_20;
		(L_142)->SetAt(static_cast<il2cpp_array_size_t>(L_144), (uint32_t)L_145);
		int32_t L_146 = V_10;
		V_10 = ((int32_t)((int32_t)L_146-(int32_t)1));
		int32_t L_147 = V_9;
		V_9 = ((int32_t)((int32_t)L_147-(int32_t)1));
	}

IL_0270:
	{
		int32_t L_148 = V_9;
		if ((((int32_t)L_148) > ((int32_t)0)))
		{
			goto IL_0112;
		}
	}
	{
		BigInteger_t3334373499 * L_149 = V_6;
		BigInteger_Normalize_m2451454954(L_149, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_150 = V_7;
		BigInteger_Normalize_m2451454954(L_150, /*hidden argument*/NULL);
		BigIntegerU5BU5D_t1634278496* L_151 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t3334373499 * L_152 = V_6;
		ArrayElementTypeCheck (L_151, L_152);
		(L_151)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_152);
		BigIntegerU5BU5D_t1634278496* L_153 = L_151;
		BigInteger_t3334373499 * L_154 = V_7;
		ArrayElementTypeCheck (L_153, L_154);
		(L_153)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_154);
		V_22 = L_153;
		int32_t L_155 = V_4;
		if (!L_155)
		{
			goto IL_02b1;
		}
	}
	{
		BigIntegerU5BU5D_t1634278496* L_156 = V_22;
		BigInteger_t3334373499 ** L_157 = ((L_156)->GetAddressAt(static_cast<il2cpp_array_size_t>(1)));
		int32_t L_158 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_159 = BigInteger_op_RightShift_m3774983213(NULL /*static, unused*/, (*((BigInteger_t3334373499 **)L_157)), L_158, /*hidden argument*/NULL);
		*((Il2CppObject **)(L_157)) = (Il2CppObject *)L_159;
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_157), (Il2CppObject *)L_159);
	}

IL_02b1:
	{
		BigIntegerU5BU5D_t1634278496* L_160 = V_22;
		return L_160;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::LeftShift(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_LeftShift_m3640718462_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * Kernel_LeftShift_m3640718462 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, int32_t ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_LeftShift_m3640718462_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	BigInteger_t3334373499 * V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	{
		int32_t L_0 = ___n1;
		if (L_0)
		{
			goto IL_0015;
		}
	}
	{
		BigInteger_t3334373499 * L_1 = ___bi0;
		BigInteger_t3334373499 * L_2 = ___bi0;
		uint32_t L_3 = L_2->get_length_0();
		BigInteger_t3334373499 * L_4 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3547305722(L_4, L_1, ((int32_t)((int32_t)L_3+(int32_t)1)), /*hidden argument*/NULL);
		return L_4;
	}

IL_0015:
	{
		int32_t L_5 = ___n1;
		V_0 = ((int32_t)((int32_t)L_5>>(int32_t)5));
		int32_t L_6 = ___n1;
		___n1 = ((int32_t)((int32_t)L_6&(int32_t)((int32_t)31)));
		BigInteger_t3334373499 * L_7 = ___bi0;
		uint32_t L_8 = L_7->get_length_0();
		int32_t L_9 = V_0;
		BigInteger_t3334373499 * L_10 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_10, 1, ((int32_t)((int32_t)((int32_t)((int32_t)L_8+(int32_t)1))+(int32_t)L_9)), /*hidden argument*/NULL);
		V_1 = L_10;
		V_2 = 0;
		BigInteger_t3334373499 * L_11 = ___bi0;
		uint32_t L_12 = L_11->get_length_0();
		V_3 = L_12;
		int32_t L_13 = ___n1;
		if (!L_13)
		{
			goto IL_0094;
		}
	}
	{
		V_5 = 0;
		goto IL_0079;
	}

IL_0047:
	{
		BigInteger_t3334373499 * L_14 = ___bi0;
		UInt32U5BU5D_t3230734560* L_15 = L_14->get_data_1();
		uint32_t L_16 = V_2;
		uintptr_t L_17 = (((uintptr_t)L_16));
		uint32_t L_18 = (L_15)->GetAt(static_cast<il2cpp_array_size_t>(L_17));
		V_4 = L_18;
		BigInteger_t3334373499 * L_19 = V_1;
		UInt32U5BU5D_t3230734560* L_20 = L_19->get_data_1();
		uint32_t L_21 = V_2;
		int32_t L_22 = V_0;
		if ((int64_t)(((int64_t)((int64_t)(((int64_t)((uint64_t)L_21)))+(int64_t)(((int64_t)((int64_t)L_22)))))) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
		uint32_t L_23 = V_4;
		int32_t L_24 = ___n1;
		uint32_t L_25 = V_5;
		(L_20)->SetAt(static_cast<il2cpp_array_size_t>((((intptr_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_21)))+(int64_t)(((int64_t)((int64_t)L_22)))))))), (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_23<<(int32_t)((int32_t)((int32_t)L_24&(int32_t)((int32_t)31)))))|(int32_t)L_25)));
		uint32_t L_26 = V_4;
		int32_t L_27 = ___n1;
		V_5 = ((int32_t)((uint32_t)L_26>>((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)32)-(int32_t)L_27))&(int32_t)((int32_t)31)))));
		uint32_t L_28 = V_2;
		V_2 = ((int32_t)((int32_t)L_28+(int32_t)1));
	}

IL_0079:
	{
		uint32_t L_29 = V_2;
		uint32_t L_30 = V_3;
		if ((!(((uint32_t)L_29) >= ((uint32_t)L_30))))
		{
			goto IL_0047;
		}
	}
	{
		BigInteger_t3334373499 * L_31 = V_1;
		UInt32U5BU5D_t3230734560* L_32 = L_31->get_data_1();
		uint32_t L_33 = V_2;
		int32_t L_34 = V_0;
		if ((int64_t)(((int64_t)((int64_t)(((int64_t)((uint64_t)L_33)))+(int64_t)(((int64_t)((int64_t)L_34)))))) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
		uint32_t L_35 = V_5;
		(L_32)->SetAt(static_cast<il2cpp_array_size_t>((((intptr_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_33)))+(int64_t)(((int64_t)((int64_t)L_34)))))))), (uint32_t)L_35);
		goto IL_00ba;
	}

IL_0094:
	{
		goto IL_00b3;
	}

IL_0099:
	{
		BigInteger_t3334373499 * L_36 = V_1;
		UInt32U5BU5D_t3230734560* L_37 = L_36->get_data_1();
		uint32_t L_38 = V_2;
		int32_t L_39 = V_0;
		if ((int64_t)(((int64_t)((int64_t)(((int64_t)((uint64_t)L_38)))+(int64_t)(((int64_t)((int64_t)L_39)))))) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
		BigInteger_t3334373499 * L_40 = ___bi0;
		UInt32U5BU5D_t3230734560* L_41 = L_40->get_data_1();
		uint32_t L_42 = V_2;
		uintptr_t L_43 = (((uintptr_t)L_42));
		uint32_t L_44 = (L_41)->GetAt(static_cast<il2cpp_array_size_t>(L_43));
		(L_37)->SetAt(static_cast<il2cpp_array_size_t>((((intptr_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_38)))+(int64_t)(((int64_t)((int64_t)L_39)))))))), (uint32_t)L_44);
		uint32_t L_45 = V_2;
		V_2 = ((int32_t)((int32_t)L_45+(int32_t)1));
	}

IL_00b3:
	{
		uint32_t L_46 = V_2;
		uint32_t L_47 = V_3;
		if ((!(((uint32_t)L_46) >= ((uint32_t)L_47))))
		{
			goto IL_0099;
		}
	}

IL_00ba:
	{
		BigInteger_t3334373499 * L_48 = V_1;
		BigInteger_Normalize_m2451454954(L_48, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_49 = V_1;
		return L_49;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::RightShift(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_RightShift_m1364066239_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * Kernel_RightShift_m1364066239 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, int32_t ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_RightShift_m1364066239_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t3334373499 * V_2 = NULL;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	{
		int32_t L_0 = ___n1;
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		BigInteger_t3334373499 * L_1 = ___bi0;
		BigInteger_t3334373499 * L_2 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_2, L_1, /*hidden argument*/NULL);
		return L_2;
	}

IL_000d:
	{
		int32_t L_3 = ___n1;
		V_0 = ((int32_t)((int32_t)L_3>>(int32_t)5));
		int32_t L_4 = ___n1;
		V_1 = ((int32_t)((int32_t)L_4&(int32_t)((int32_t)31)));
		BigInteger_t3334373499 * L_5 = ___bi0;
		uint32_t L_6 = L_5->get_length_0();
		int32_t L_7 = V_0;
		BigInteger_t3334373499 * L_8 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_8, 1, ((int32_t)((int32_t)((int32_t)((int32_t)L_6-(int32_t)L_7))+(int32_t)1)), /*hidden argument*/NULL);
		V_2 = L_8;
		BigInteger_t3334373499 * L_9 = V_2;
		UInt32U5BU5D_t3230734560* L_10 = L_9->get_data_1();
		V_3 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length))))-(int32_t)1));
		int32_t L_11 = V_1;
		if (!L_11)
		{
			goto IL_007e;
		}
	}
	{
		V_5 = 0;
		goto IL_006e;
	}

IL_0040:
	{
		BigInteger_t3334373499 * L_12 = ___bi0;
		UInt32U5BU5D_t3230734560* L_13 = L_12->get_data_1();
		uint32_t L_14 = V_3;
		int32_t L_15 = V_0;
		if ((int64_t)(((int64_t)((int64_t)(((int64_t)((uint64_t)L_14)))+(int64_t)(((int64_t)((int64_t)L_15)))))) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
		intptr_t L_16 = (((intptr_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_14)))+(int64_t)(((int64_t)((int64_t)L_15)))))));
		uint32_t L_17 = (L_13)->GetAt(static_cast<il2cpp_array_size_t>(L_16));
		V_4 = L_17;
		BigInteger_t3334373499 * L_18 = V_2;
		UInt32U5BU5D_t3230734560* L_19 = L_18->get_data_1();
		uint32_t L_20 = V_3;
		uint32_t L_21 = V_4;
		int32_t L_22 = ___n1;
		uint32_t L_23 = V_5;
		(L_19)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_20))), (uint32_t)((int32_t)((int32_t)((int32_t)((uint32_t)L_21>>((int32_t)((int32_t)L_22&(int32_t)((int32_t)31)))))|(int32_t)L_23)));
		uint32_t L_24 = V_4;
		int32_t L_25 = ___n1;
		V_5 = ((int32_t)((int32_t)L_24<<(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)32)-(int32_t)L_25))&(int32_t)((int32_t)31)))));
	}

IL_006e:
	{
		uint32_t L_26 = V_3;
		uint32_t L_27 = L_26;
		V_3 = ((int32_t)((int32_t)L_27-(int32_t)1));
		if ((!(((uint32_t)L_27) <= ((uint32_t)0))))
		{
			goto IL_0040;
		}
	}
	{
		goto IL_00a4;
	}

IL_007e:
	{
		goto IL_0099;
	}

IL_0083:
	{
		BigInteger_t3334373499 * L_28 = V_2;
		UInt32U5BU5D_t3230734560* L_29 = L_28->get_data_1();
		uint32_t L_30 = V_3;
		BigInteger_t3334373499 * L_31 = ___bi0;
		UInt32U5BU5D_t3230734560* L_32 = L_31->get_data_1();
		uint32_t L_33 = V_3;
		int32_t L_34 = V_0;
		if ((int64_t)(((int64_t)((int64_t)(((int64_t)((uint64_t)L_33)))+(int64_t)(((int64_t)((int64_t)L_34)))))) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
		intptr_t L_35 = (((intptr_t)((int64_t)((int64_t)(((int64_t)((uint64_t)L_33)))+(int64_t)(((int64_t)((int64_t)L_34)))))));
		uint32_t L_36 = (L_32)->GetAt(static_cast<il2cpp_array_size_t>(L_35));
		(L_29)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_30))), (uint32_t)L_36);
	}

IL_0099:
	{
		uint32_t L_37 = V_3;
		uint32_t L_38 = L_37;
		V_3 = ((int32_t)((int32_t)L_38-(int32_t)1));
		if ((!(((uint32_t)L_38) <= ((uint32_t)0))))
		{
			goto IL_0083;
		}
	}

IL_00a4:
	{
		BigInteger_t3334373499 * L_39 = V_2;
		BigInteger_Normalize_m2451454954(L_39, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_40 = V_2;
		return L_40;
	}
}
// System.Void Mono.Math.BigInteger/Kernel::Multiply(System.UInt32[],System.UInt32,System.UInt32,System.UInt32[],System.UInt32,System.UInt32,System.UInt32[],System.UInt32)
extern "C"  void Kernel_Multiply_m1952926483 (Il2CppObject * __this /* static, unused */, UInt32U5BU5D_t3230734560* ___x0, uint32_t ___xOffset1, uint32_t ___xLen2, UInt32U5BU5D_t3230734560* ___y3, uint32_t ___yOffset4, uint32_t ___yLen5, UInt32U5BU5D_t3230734560* ___d6, uint32_t ___dOffset7, const MethodInfo* method)
{
	uint32_t* V_0 = NULL;
	uint32_t* V_1 = NULL;
	uint32_t* V_2 = NULL;
	uint32_t* V_3 = NULL;
	uint32_t* V_4 = NULL;
	uint32_t* V_5 = NULL;
	uint32_t* V_6 = NULL;
	uint32_t* V_7 = NULL;
	uint64_t V_8 = 0;
	uint32_t* V_9 = NULL;
	uint32_t* V_10 = NULL;
	uintptr_t G_B4_0 = 0;
	uintptr_t G_B8_0 = 0;
	uintptr_t G_B12_0 = 0;
	{
		UInt32U5BU5D_t3230734560* L_0 = ___x0;
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_1 = ___x0;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))))
		{
			goto IL_0015;
		}
	}

IL_000e:
	{
		G_B4_0 = (((uintptr_t)0));
		goto IL_001c;
	}

IL_0015:
	{
		UInt32U5BU5D_t3230734560* L_2 = ___x0;
		G_B4_0 = ((uintptr_t)(((L_2)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_001c:
	{
		V_0 = (uint32_t*)G_B4_0;
		UInt32U5BU5D_t3230734560* L_3 = ___y3;
		if (!L_3)
		{
			goto IL_002b;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_4 = ___y3;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))
		{
			goto IL_0032;
		}
	}

IL_002b:
	{
		G_B8_0 = (((uintptr_t)0));
		goto IL_0039;
	}

IL_0032:
	{
		UInt32U5BU5D_t3230734560* L_5 = ___y3;
		G_B8_0 = ((uintptr_t)(((L_5)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0039:
	{
		V_1 = (uint32_t*)G_B8_0;
		UInt32U5BU5D_t3230734560* L_6 = ___d6;
		if (!L_6)
		{
			goto IL_004a;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_7 = ___d6;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))))
		{
			goto IL_0051;
		}
	}

IL_004a:
	{
		G_B12_0 = (((uintptr_t)0));
		goto IL_0059;
	}

IL_0051:
	{
		UInt32U5BU5D_t3230734560* L_8 = ___d6;
		G_B12_0 = ((uintptr_t)(((L_8)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0059:
	{
		V_2 = (uint32_t*)G_B12_0;
		uint32_t* L_9 = V_0;
		uint32_t L_10 = ___xOffset1;
		V_3 = (uint32_t*)((uint32_t*)((intptr_t)L_9+(intptr_t)((intptr_t)((intptr_t)(((uintptr_t)L_10))*(int32_t)4))));
		uint32_t* L_11 = V_3;
		uint32_t L_12 = ___xLen2;
		V_4 = (uint32_t*)((uint32_t*)((intptr_t)L_11+(intptr_t)((intptr_t)((intptr_t)(((uintptr_t)L_12))*(int32_t)4))));
		uint32_t* L_13 = V_1;
		uint32_t L_14 = ___yOffset4;
		V_5 = (uint32_t*)((uint32_t*)((intptr_t)L_13+(intptr_t)((intptr_t)((intptr_t)(((uintptr_t)L_14))*(int32_t)4))));
		uint32_t* L_15 = V_5;
		uint32_t L_16 = ___yLen5;
		V_6 = (uint32_t*)((uint32_t*)((intptr_t)L_15+(intptr_t)((intptr_t)((intptr_t)(((uintptr_t)L_16))*(int32_t)4))));
		uint32_t* L_17 = V_2;
		uint32_t L_18 = ___dOffset7;
		V_7 = (uint32_t*)((uint32_t*)((intptr_t)L_17+(intptr_t)((intptr_t)((intptr_t)(((uintptr_t)L_18))*(int32_t)4))));
		goto IL_00f6;
	}

IL_008a:
	{
		uint32_t* L_19 = V_3;
		if ((*((uint32_t*)L_19)))
		{
			goto IL_0096;
		}
	}
	{
		goto IL_00ea;
	}

IL_0096:
	{
		V_8 = (((int64_t)((int64_t)0)));
		uint32_t* L_20 = V_7;
		V_9 = (uint32_t*)L_20;
		uint32_t* L_21 = V_5;
		V_10 = (uint32_t*)L_21;
		goto IL_00d4;
	}

IL_00a7:
	{
		uint64_t L_22 = V_8;
		uint32_t* L_23 = V_3;
		uint32_t* L_24 = V_10;
		uint32_t* L_25 = V_9;
		V_8 = ((int64_t)((int64_t)L_22+(int64_t)((int64_t)((int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_23))))))))*(int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_24))))))))))+(int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_25))))))))))));
		uint32_t* L_26 = V_9;
		uint64_t L_27 = V_8;
		*((int32_t*)(L_26)) = (int32_t)(((int32_t)((uint32_t)L_27)));
		uint64_t L_28 = V_8;
		V_8 = ((int64_t)((uint64_t)L_28>>((int32_t)32)));
		uint32_t* L_29 = V_10;
		V_10 = (uint32_t*)((uint32_t*)((intptr_t)L_29+(intptr_t)(((intptr_t)4))));
		uint32_t* L_30 = V_9;
		V_9 = (uint32_t*)((uint32_t*)((intptr_t)L_30+(intptr_t)(((intptr_t)4))));
	}

IL_00d4:
	{
		uint32_t* L_31 = V_10;
		uint32_t* L_32 = V_6;
		if ((!(((uintptr_t)L_31) >= ((uintptr_t)L_32))))
		{
			goto IL_00a7;
		}
	}
	{
		uint64_t L_33 = V_8;
		if (!L_33)
		{
			goto IL_00ea;
		}
	}
	{
		uint32_t* L_34 = V_9;
		uint64_t L_35 = V_8;
		*((int32_t*)(L_34)) = (int32_t)(((int32_t)((uint32_t)L_35)));
	}

IL_00ea:
	{
		uint32_t* L_36 = V_3;
		V_3 = (uint32_t*)((uint32_t*)((intptr_t)L_36+(intptr_t)(((intptr_t)4))));
		uint32_t* L_37 = V_7;
		V_7 = (uint32_t*)((uint32_t*)((intptr_t)L_37+(intptr_t)(((intptr_t)4))));
	}

IL_00f6:
	{
		uint32_t* L_38 = V_3;
		uint32_t* L_39 = V_4;
		if ((!(((uintptr_t)L_38) >= ((uintptr_t)L_39))))
		{
			goto IL_008a;
		}
	}
	{
		V_0 = (uint32_t*)(((uintptr_t)0));
		V_1 = (uint32_t*)(((uintptr_t)0));
		V_2 = (uint32_t*)(((uintptr_t)0));
		return;
	}
}
// System.Void Mono.Math.BigInteger/Kernel::MultiplyMod2p32pmod(System.UInt32[],System.Int32,System.Int32,System.UInt32[],System.Int32,System.Int32,System.UInt32[],System.Int32,System.Int32)
extern "C"  void Kernel_MultiplyMod2p32pmod_m2080485974 (Il2CppObject * __this /* static, unused */, UInt32U5BU5D_t3230734560* ___x0, int32_t ___xOffset1, int32_t ___xLen2, UInt32U5BU5D_t3230734560* ___y3, int32_t ___yOffest4, int32_t ___yLen5, UInt32U5BU5D_t3230734560* ___d6, int32_t ___dOffset7, int32_t ___mod8, const MethodInfo* method)
{
	uint32_t* V_0 = NULL;
	uint32_t* V_1 = NULL;
	uint32_t* V_2 = NULL;
	uint32_t* V_3 = NULL;
	uint32_t* V_4 = NULL;
	uint32_t* V_5 = NULL;
	uint32_t* V_6 = NULL;
	uint32_t* V_7 = NULL;
	uint32_t* V_8 = NULL;
	uint64_t V_9 = 0;
	uint32_t* V_10 = NULL;
	uint32_t* V_11 = NULL;
	uintptr_t G_B4_0 = 0;
	uintptr_t G_B8_0 = 0;
	uintptr_t G_B12_0 = 0;
	{
		UInt32U5BU5D_t3230734560* L_0 = ___x0;
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_1 = ___x0;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))))
		{
			goto IL_0015;
		}
	}

IL_000e:
	{
		G_B4_0 = (((uintptr_t)0));
		goto IL_001c;
	}

IL_0015:
	{
		UInt32U5BU5D_t3230734560* L_2 = ___x0;
		G_B4_0 = ((uintptr_t)(((L_2)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_001c:
	{
		V_0 = (uint32_t*)G_B4_0;
		UInt32U5BU5D_t3230734560* L_3 = ___y3;
		if (!L_3)
		{
			goto IL_002b;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_4 = ___y3;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))
		{
			goto IL_0032;
		}
	}

IL_002b:
	{
		G_B8_0 = (((uintptr_t)0));
		goto IL_0039;
	}

IL_0032:
	{
		UInt32U5BU5D_t3230734560* L_5 = ___y3;
		G_B8_0 = ((uintptr_t)(((L_5)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0039:
	{
		V_1 = (uint32_t*)G_B8_0;
		UInt32U5BU5D_t3230734560* L_6 = ___d6;
		if (!L_6)
		{
			goto IL_004a;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_7 = ___d6;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))))
		{
			goto IL_0051;
		}
	}

IL_004a:
	{
		G_B12_0 = (((uintptr_t)0));
		goto IL_0059;
	}

IL_0051:
	{
		UInt32U5BU5D_t3230734560* L_8 = ___d6;
		G_B12_0 = ((uintptr_t)(((L_8)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0059:
	{
		V_2 = (uint32_t*)G_B12_0;
		uint32_t* L_9 = V_0;
		int32_t L_10 = ___xOffset1;
		V_3 = (uint32_t*)((uint32_t*)((intptr_t)L_9+(int32_t)((int32_t)((int32_t)L_10*(int32_t)4))));
		uint32_t* L_11 = V_3;
		int32_t L_12 = ___xLen2;
		V_4 = (uint32_t*)((uint32_t*)((intptr_t)L_11+(int32_t)((int32_t)((int32_t)L_12*(int32_t)4))));
		uint32_t* L_13 = V_1;
		int32_t L_14 = ___yOffest4;
		V_5 = (uint32_t*)((uint32_t*)((intptr_t)L_13+(int32_t)((int32_t)((int32_t)L_14*(int32_t)4))));
		uint32_t* L_15 = V_5;
		int32_t L_16 = ___yLen5;
		V_6 = (uint32_t*)((uint32_t*)((intptr_t)L_15+(int32_t)((int32_t)((int32_t)L_16*(int32_t)4))));
		uint32_t* L_17 = V_2;
		int32_t L_18 = ___dOffset7;
		V_7 = (uint32_t*)((uint32_t*)((intptr_t)L_17+(int32_t)((int32_t)((int32_t)L_18*(int32_t)4))));
		uint32_t* L_19 = V_7;
		int32_t L_20 = ___mod8;
		V_8 = (uint32_t*)((uint32_t*)((intptr_t)L_19+(int32_t)((int32_t)((int32_t)L_20*(int32_t)4))));
		goto IL_010c;
	}

IL_008e:
	{
		uint32_t* L_21 = V_3;
		if ((*((uint32_t*)L_21)))
		{
			goto IL_009a;
		}
	}
	{
		goto IL_0100;
	}

IL_009a:
	{
		V_9 = (((int64_t)((int64_t)0)));
		uint32_t* L_22 = V_7;
		V_10 = (uint32_t*)L_22;
		uint32_t* L_23 = V_5;
		V_11 = (uint32_t*)L_23;
		goto IL_00d8;
	}

IL_00ab:
	{
		uint64_t L_24 = V_9;
		uint32_t* L_25 = V_3;
		uint32_t* L_26 = V_11;
		uint32_t* L_27 = V_10;
		V_9 = ((int64_t)((int64_t)L_24+(int64_t)((int64_t)((int64_t)((int64_t)((int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_25))))))))*(int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_26))))))))))+(int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(*((uint32_t*)L_27))))))))))));
		uint32_t* L_28 = V_10;
		uint64_t L_29 = V_9;
		*((int32_t*)(L_28)) = (int32_t)(((int32_t)((uint32_t)L_29)));
		uint64_t L_30 = V_9;
		V_9 = ((int64_t)((uint64_t)L_30>>((int32_t)32)));
		uint32_t* L_31 = V_11;
		V_11 = (uint32_t*)((uint32_t*)((intptr_t)L_31+(intptr_t)(((intptr_t)4))));
		uint32_t* L_32 = V_10;
		V_10 = (uint32_t*)((uint32_t*)((intptr_t)L_32+(intptr_t)(((intptr_t)4))));
	}

IL_00d8:
	{
		uint32_t* L_33 = V_11;
		uint32_t* L_34 = V_6;
		if ((!(((uintptr_t)L_33) < ((uintptr_t)L_34))))
		{
			goto IL_00ea;
		}
	}
	{
		uint32_t* L_35 = V_10;
		uint32_t* L_36 = V_8;
		if ((!(((uintptr_t)L_35) >= ((uintptr_t)L_36))))
		{
			goto IL_00ab;
		}
	}

IL_00ea:
	{
		uint64_t L_37 = V_9;
		if (!L_37)
		{
			goto IL_0100;
		}
	}
	{
		uint32_t* L_38 = V_10;
		uint32_t* L_39 = V_8;
		if ((!(((uintptr_t)L_38) < ((uintptr_t)L_39))))
		{
			goto IL_0100;
		}
	}
	{
		uint32_t* L_40 = V_10;
		uint64_t L_41 = V_9;
		*((int32_t*)(L_40)) = (int32_t)(((int32_t)((uint32_t)L_41)));
	}

IL_0100:
	{
		uint32_t* L_42 = V_3;
		V_3 = (uint32_t*)((uint32_t*)((intptr_t)L_42+(intptr_t)(((intptr_t)4))));
		uint32_t* L_43 = V_7;
		V_7 = (uint32_t*)((uint32_t*)((intptr_t)L_43+(intptr_t)(((intptr_t)4))));
	}

IL_010c:
	{
		uint32_t* L_44 = V_3;
		uint32_t* L_45 = V_4;
		if ((!(((uintptr_t)L_44) >= ((uintptr_t)L_45))))
		{
			goto IL_008e;
		}
	}
	{
		V_0 = (uint32_t*)(((uintptr_t)0));
		V_1 = (uint32_t*)(((uintptr_t)0));
		V_2 = (uint32_t*)(((uintptr_t)0));
		return;
	}
}
// System.UInt32 Mono.Math.BigInteger/Kernel::modInverse(Mono.Math.BigInteger,System.UInt32)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_modInverse_m2584089367_MetadataUsageId;
extern "C"  uint32_t Kernel_modInverse_m2584089367 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, uint32_t ___modulus1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_modInverse_m2584089367_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	{
		uint32_t L_0 = ___modulus1;
		V_0 = L_0;
		BigInteger_t3334373499 * L_1 = ___bi0;
		uint32_t L_2 = ___modulus1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		uint32_t L_3 = BigInteger_op_Modulus_m465134612(NULL /*static, unused*/, L_1, L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		V_2 = 0;
		V_3 = 1;
		goto IL_004a;
	}

IL_0013:
	{
		uint32_t L_4 = V_1;
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_001c;
		}
	}
	{
		uint32_t L_5 = V_3;
		return L_5;
	}

IL_001c:
	{
		uint32_t L_6 = V_2;
		uint32_t L_7 = V_0;
		uint32_t L_8 = V_1;
		uint32_t L_9 = V_3;
		V_2 = ((int32_t)((int32_t)L_6+(int32_t)((int32_t)((int32_t)((int32_t)((uint32_t)(int32_t)L_7/(uint32_t)(int32_t)L_8))*(int32_t)L_9))));
		uint32_t L_10 = V_0;
		uint32_t L_11 = V_1;
		V_0 = ((int32_t)((uint32_t)(int32_t)L_10%(uint32_t)(int32_t)L_11));
		uint32_t L_12 = V_0;
		if (L_12)
		{
			goto IL_0033;
		}
	}
	{
		goto IL_0050;
	}

IL_0033:
	{
		uint32_t L_13 = V_0;
		if ((!(((uint32_t)L_13) == ((uint32_t)1))))
		{
			goto IL_003e;
		}
	}
	{
		uint32_t L_14 = ___modulus1;
		uint32_t L_15 = V_2;
		return ((int32_t)((int32_t)L_14-(int32_t)L_15));
	}

IL_003e:
	{
		uint32_t L_16 = V_3;
		uint32_t L_17 = V_1;
		uint32_t L_18 = V_0;
		uint32_t L_19 = V_2;
		V_3 = ((int32_t)((int32_t)L_16+(int32_t)((int32_t)((int32_t)((int32_t)((uint32_t)(int32_t)L_17/(uint32_t)(int32_t)L_18))*(int32_t)L_19))));
		uint32_t L_20 = V_1;
		uint32_t L_21 = V_0;
		V_1 = ((int32_t)((uint32_t)(int32_t)L_20%(uint32_t)(int32_t)L_21));
	}

IL_004a:
	{
		uint32_t L_22 = V_1;
		if (L_22)
		{
			goto IL_0013;
		}
	}

IL_0050:
	{
		return 0;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::modInverse(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var;
extern Il2CppClass* ModulusRing_t3697743090_il2cpp_TypeInfo_var;
extern Il2CppClass* ArithmeticException_t1168437275_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4152225360;
extern const uint32_t Kernel_modInverse_m2477583693_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * Kernel_modInverse_m2477583693 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, BigInteger_t3334373499 * ___modulus1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Kernel_modInverse_m2477583693_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigIntegerU5BU5D_t1634278496* V_0 = NULL;
	BigIntegerU5BU5D_t1634278496* V_1 = NULL;
	BigIntegerU5BU5D_t1634278496* V_2 = NULL;
	int32_t V_3 = 0;
	BigInteger_t3334373499 * V_4 = NULL;
	BigInteger_t3334373499 * V_5 = NULL;
	ModulusRing_t3697743090 * V_6 = NULL;
	BigInteger_t3334373499 * V_7 = NULL;
	BigIntegerU5BU5D_t1634278496* V_8 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___modulus1;
		uint32_t L_1 = L_0->get_length_0();
		if ((!(((uint32_t)L_1) == ((uint32_t)1))))
		{
			goto IL_0020;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___bi0;
		BigInteger_t3334373499 * L_3 = ___modulus1;
		UInt32U5BU5D_t3230734560* L_4 = L_3->get_data_1();
		int32_t L_5 = 0;
		uint32_t L_6 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		uint32_t L_7 = Kernel_modInverse_m2584089367(NULL /*static, unused*/, L_2, L_6, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_8 = BigInteger_op_Implicit_m638921272(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
		return L_8;
	}

IL_0020:
	{
		BigIntegerU5BU5D_t1634278496* L_9 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_10 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_9, L_10);
		(L_9)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_10);
		BigIntegerU5BU5D_t1634278496* L_11 = L_9;
		BigInteger_t3334373499 * L_12 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_11, L_12);
		(L_11)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_12);
		V_0 = L_11;
		V_1 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		BigIntegerU5BU5D_t1634278496* L_13 = ((BigIntegerU5BU5D_t1634278496*)SZArrayNew(BigIntegerU5BU5D_t1634278496_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t3334373499 * L_14 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_13, L_14);
		(L_13)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_14);
		BigIntegerU5BU5D_t1634278496* L_15 = L_13;
		BigInteger_t3334373499 * L_16 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_15, L_16);
		(L_15)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_16);
		V_2 = L_15;
		V_3 = 0;
		BigInteger_t3334373499 * L_17 = ___modulus1;
		V_4 = L_17;
		BigInteger_t3334373499 * L_18 = ___bi0;
		V_5 = L_18;
		BigInteger_t3334373499 * L_19 = ___modulus1;
		ModulusRing_t3697743090 * L_20 = (ModulusRing_t3697743090 *)il2cpp_codegen_object_new(ModulusRing_t3697743090_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m2037212078(L_20, L_19, /*hidden argument*/NULL);
		V_6 = L_20;
		goto IL_00ca;
	}

IL_006e:
	{
		int32_t L_21 = V_3;
		if ((((int32_t)L_21) <= ((int32_t)1)))
		{
			goto IL_0097;
		}
	}
	{
		ModulusRing_t3697743090 * L_22 = V_6;
		BigIntegerU5BU5D_t1634278496* L_23 = V_0;
		int32_t L_24 = 0;
		BigInteger_t3334373499 * L_25 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_24));
		BigIntegerU5BU5D_t1634278496* L_26 = V_0;
		int32_t L_27 = 1;
		BigInteger_t3334373499 * L_28 = (L_26)->GetAt(static_cast<il2cpp_array_size_t>(L_27));
		BigIntegerU5BU5D_t1634278496* L_29 = V_1;
		int32_t L_30 = 0;
		BigInteger_t3334373499 * L_31 = (L_29)->GetAt(static_cast<il2cpp_array_size_t>(L_30));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_32 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_28, L_31, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_33 = ModulusRing_Difference_m2583958286(L_22, L_25, L_32, /*hidden argument*/NULL);
		V_7 = L_33;
		BigIntegerU5BU5D_t1634278496* L_34 = V_0;
		BigIntegerU5BU5D_t1634278496* L_35 = V_0;
		int32_t L_36 = 1;
		BigInteger_t3334373499 * L_37 = (L_35)->GetAt(static_cast<il2cpp_array_size_t>(L_36));
		ArrayElementTypeCheck (L_34, L_37);
		(L_34)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_37);
		BigIntegerU5BU5D_t1634278496* L_38 = V_0;
		BigInteger_t3334373499 * L_39 = V_7;
		ArrayElementTypeCheck (L_38, L_39);
		(L_38)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_39);
	}

IL_0097:
	{
		BigInteger_t3334373499 * L_40 = V_4;
		BigInteger_t3334373499 * L_41 = V_5;
		BigIntegerU5BU5D_t1634278496* L_42 = Kernel_multiByteDivide_m1455363991(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		V_8 = L_42;
		BigIntegerU5BU5D_t1634278496* L_43 = V_1;
		BigIntegerU5BU5D_t1634278496* L_44 = V_1;
		int32_t L_45 = 1;
		BigInteger_t3334373499 * L_46 = (L_44)->GetAt(static_cast<il2cpp_array_size_t>(L_45));
		ArrayElementTypeCheck (L_43, L_46);
		(L_43)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_46);
		BigIntegerU5BU5D_t1634278496* L_47 = V_1;
		BigIntegerU5BU5D_t1634278496* L_48 = V_8;
		int32_t L_49 = 0;
		BigInteger_t3334373499 * L_50 = (L_48)->GetAt(static_cast<il2cpp_array_size_t>(L_49));
		ArrayElementTypeCheck (L_47, L_50);
		(L_47)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_50);
		BigIntegerU5BU5D_t1634278496* L_51 = V_2;
		BigIntegerU5BU5D_t1634278496* L_52 = V_2;
		int32_t L_53 = 1;
		BigInteger_t3334373499 * L_54 = (L_52)->GetAt(static_cast<il2cpp_array_size_t>(L_53));
		ArrayElementTypeCheck (L_51, L_54);
		(L_51)->SetAt(static_cast<il2cpp_array_size_t>(0), (BigInteger_t3334373499 *)L_54);
		BigIntegerU5BU5D_t1634278496* L_55 = V_2;
		BigIntegerU5BU5D_t1634278496* L_56 = V_8;
		int32_t L_57 = 1;
		BigInteger_t3334373499 * L_58 = (L_56)->GetAt(static_cast<il2cpp_array_size_t>(L_57));
		ArrayElementTypeCheck (L_55, L_58);
		(L_55)->SetAt(static_cast<il2cpp_array_size_t>(1), (BigInteger_t3334373499 *)L_58);
		BigInteger_t3334373499 * L_59 = V_5;
		V_4 = L_59;
		BigIntegerU5BU5D_t1634278496* L_60 = V_8;
		int32_t L_61 = 1;
		BigInteger_t3334373499 * L_62 = (L_60)->GetAt(static_cast<il2cpp_array_size_t>(L_61));
		V_5 = L_62;
		int32_t L_63 = V_3;
		V_3 = ((int32_t)((int32_t)L_63+(int32_t)1));
	}

IL_00ca:
	{
		BigInteger_t3334373499 * L_64 = V_5;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_65 = BigInteger_op_Inequality_m4000708231(NULL /*static, unused*/, L_64, 0, /*hidden argument*/NULL);
		if (L_65)
		{
			goto IL_006e;
		}
	}
	{
		BigIntegerU5BU5D_t1634278496* L_66 = V_2;
		int32_t L_67 = 0;
		BigInteger_t3334373499 * L_68 = (L_66)->GetAt(static_cast<il2cpp_array_size_t>(L_67));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_69 = BigInteger_op_Inequality_m4000708231(NULL /*static, unused*/, L_68, 1, /*hidden argument*/NULL);
		if (!L_69)
		{
			goto IL_00f0;
		}
	}
	{
		ArithmeticException_t1168437275 * L_70 = (ArithmeticException_t1168437275 *)il2cpp_codegen_object_new(ArithmeticException_t1168437275_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4261424086(L_70, _stringLiteral4152225360, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_70);
	}

IL_00f0:
	{
		ModulusRing_t3697743090 * L_71 = V_6;
		BigIntegerU5BU5D_t1634278496* L_72 = V_0;
		int32_t L_73 = 0;
		BigInteger_t3334373499 * L_74 = (L_72)->GetAt(static_cast<il2cpp_array_size_t>(L_73));
		BigIntegerU5BU5D_t1634278496* L_75 = V_0;
		int32_t L_76 = 1;
		BigInteger_t3334373499 * L_77 = (L_75)->GetAt(static_cast<il2cpp_array_size_t>(L_76));
		BigIntegerU5BU5D_t1634278496* L_78 = V_1;
		int32_t L_79 = 0;
		BigInteger_t3334373499 * L_80 = (L_78)->GetAt(static_cast<il2cpp_array_size_t>(L_79));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_81 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_77, L_80, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_82 = ModulusRing_Difference_m2583958286(L_71, L_74, L_81, /*hidden argument*/NULL);
		return L_82;
	}
}
// System.Void Mono.Math.BigInteger/ModulusRing::.ctor(Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing__ctor_m2037212078_MetadataUsageId;
extern "C"  void ModulusRing__ctor_m2037212078 (ModulusRing_t3697743090 * __this, BigInteger_t3334373499 * ___modulus0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing__ctor_m2037212078_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint32_t V_0 = 0;
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_0 = ___modulus0;
		__this->set_mod_0(L_0);
		BigInteger_t3334373499 * L_1 = __this->get_mod_0();
		uint32_t L_2 = L_1->get_length_0();
		V_0 = ((int32_t)((int32_t)L_2<<(int32_t)1));
		uint32_t L_3 = V_0;
		BigInteger_t3334373499 * L_4 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_4, 1, ((int32_t)((int32_t)L_3+(int32_t)1)), /*hidden argument*/NULL);
		__this->set_constant_1(L_4);
		BigInteger_t3334373499 * L_5 = __this->get_constant_1();
		UInt32U5BU5D_t3230734560* L_6 = L_5->get_data_1();
		uint32_t L_7 = V_0;
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_7))), (uint32_t)1);
		BigInteger_t3334373499 * L_8 = __this->get_constant_1();
		BigInteger_t3334373499 * L_9 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_10 = BigInteger_op_Division_m1824126044(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		__this->set_constant_1(L_10);
		return;
	}
}
// System.Void Mono.Math.BigInteger/ModulusRing::BarrettReduction(Mono.Math.BigInteger)
extern Il2CppClass* IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2821077230;
extern const uint32_t ModulusRing_BarrettReduction_m1160185617_MetadataUsageId;
extern "C"  void ModulusRing_BarrettReduction_m1160185617 (ModulusRing_t3697743090 * __this, BigInteger_t3334373499 * ___x0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_BarrettReduction_m1160185617_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	BigInteger_t3334373499 * V_4 = NULL;
	uint32_t V_5 = 0;
	BigInteger_t3334373499 * V_6 = NULL;
	BigInteger_t3334373499 * V_7 = NULL;
	uint32_t G_B7_0 = 0;
	{
		BigInteger_t3334373499 * L_0 = __this->get_mod_0();
		V_0 = L_0;
		BigInteger_t3334373499 * L_1 = V_0;
		uint32_t L_2 = L_1->get_length_0();
		V_1 = L_2;
		uint32_t L_3 = V_1;
		V_2 = ((int32_t)((int32_t)L_3+(int32_t)1));
		uint32_t L_4 = V_1;
		V_3 = ((int32_t)((int32_t)L_4-(int32_t)1));
		BigInteger_t3334373499 * L_5 = ___x0;
		uint32_t L_6 = L_5->get_length_0();
		uint32_t L_7 = V_1;
		if ((!(((uint32_t)L_6) < ((uint32_t)L_7))))
		{
			goto IL_0023;
		}
	}
	{
		return;
	}

IL_0023:
	{
		BigInteger_t3334373499 * L_8 = ___x0;
		UInt32U5BU5D_t3230734560* L_9 = L_8->get_data_1();
		BigInteger_t3334373499 * L_10 = ___x0;
		uint32_t L_11 = L_10->get_length_0();
		if ((((int64_t)(((int64_t)((int64_t)(((int32_t)((int32_t)(((Il2CppArray *)L_9)->max_length)))))))) >= ((int64_t)(((int64_t)((uint64_t)L_11))))))
		{
			goto IL_0043;
		}
	}
	{
		IndexOutOfRangeException_t3456360697 * L_12 = (IndexOutOfRangeException_t3456360697 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3456360697_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1621772274(L_12, _stringLiteral2821077230, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0043:
	{
		BigInteger_t3334373499 * L_13 = ___x0;
		uint32_t L_14 = L_13->get_length_0();
		uint32_t L_15 = V_3;
		BigInteger_t3334373499 * L_16 = __this->get_constant_1();
		uint32_t L_17 = L_16->get_length_0();
		BigInteger_t3334373499 * L_18 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_18, 1, ((int32_t)((int32_t)((int32_t)((int32_t)L_14-(int32_t)L_15))+(int32_t)L_17)), /*hidden argument*/NULL);
		V_4 = L_18;
		BigInteger_t3334373499 * L_19 = ___x0;
		UInt32U5BU5D_t3230734560* L_20 = L_19->get_data_1();
		uint32_t L_21 = V_3;
		BigInteger_t3334373499 * L_22 = ___x0;
		uint32_t L_23 = L_22->get_length_0();
		uint32_t L_24 = V_3;
		BigInteger_t3334373499 * L_25 = __this->get_constant_1();
		UInt32U5BU5D_t3230734560* L_26 = L_25->get_data_1();
		BigInteger_t3334373499 * L_27 = __this->get_constant_1();
		uint32_t L_28 = L_27->get_length_0();
		BigInteger_t3334373499 * L_29 = V_4;
		UInt32U5BU5D_t3230734560* L_30 = L_29->get_data_1();
		Kernel_Multiply_m1952926483(NULL /*static, unused*/, L_20, L_21, ((int32_t)((int32_t)L_23-(int32_t)L_24)), L_26, 0, L_28, L_30, 0, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_31 = ___x0;
		uint32_t L_32 = L_31->get_length_0();
		uint32_t L_33 = V_2;
		if ((!(((uint32_t)L_32) > ((uint32_t)L_33))))
		{
			goto IL_00a4;
		}
	}
	{
		uint32_t L_34 = V_2;
		G_B7_0 = L_34;
		goto IL_00aa;
	}

IL_00a4:
	{
		BigInteger_t3334373499 * L_35 = ___x0;
		uint32_t L_36 = L_35->get_length_0();
		G_B7_0 = L_36;
	}

IL_00aa:
	{
		V_5 = G_B7_0;
		BigInteger_t3334373499 * L_37 = ___x0;
		uint32_t L_38 = V_5;
		L_37->set_length_0(L_38);
		BigInteger_t3334373499 * L_39 = ___x0;
		BigInteger_Normalize_m2451454954(L_39, /*hidden argument*/NULL);
		uint32_t L_40 = V_2;
		BigInteger_t3334373499 * L_41 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_41, 1, L_40, /*hidden argument*/NULL);
		V_6 = L_41;
		BigInteger_t3334373499 * L_42 = V_4;
		UInt32U5BU5D_t3230734560* L_43 = L_42->get_data_1();
		uint32_t L_44 = V_2;
		BigInteger_t3334373499 * L_45 = V_4;
		uint32_t L_46 = L_45->get_length_0();
		uint32_t L_47 = V_2;
		BigInteger_t3334373499 * L_48 = V_0;
		UInt32U5BU5D_t3230734560* L_49 = L_48->get_data_1();
		BigInteger_t3334373499 * L_50 = V_0;
		uint32_t L_51 = L_50->get_length_0();
		BigInteger_t3334373499 * L_52 = V_6;
		UInt32U5BU5D_t3230734560* L_53 = L_52->get_data_1();
		uint32_t L_54 = V_2;
		Kernel_MultiplyMod2p32pmod_m2080485974(NULL /*static, unused*/, L_43, L_44, ((int32_t)((int32_t)L_46-(int32_t)L_47)), L_49, 0, L_51, L_53, 0, L_54, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_55 = V_6;
		BigInteger_Normalize_m2451454954(L_55, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_56 = V_6;
		BigInteger_t3334373499 * L_57 = ___x0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_58 = BigInteger_op_LessThanOrEqual_m2413275450(NULL /*static, unused*/, L_56, L_57, /*hidden argument*/NULL);
		if (!L_58)
		{
			goto IL_0110;
		}
	}
	{
		BigInteger_t3334373499 * L_59 = ___x0;
		BigInteger_t3334373499 * L_60 = V_6;
		Kernel_MinusEq_m2588038513(NULL /*static, unused*/, L_59, L_60, /*hidden argument*/NULL);
		goto IL_0137;
	}

IL_0110:
	{
		uint32_t L_61 = V_2;
		BigInteger_t3334373499 * L_62 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2610662484(L_62, 1, ((int32_t)((int32_t)L_61+(int32_t)1)), /*hidden argument*/NULL);
		V_7 = L_62;
		BigInteger_t3334373499 * L_63 = V_7;
		UInt32U5BU5D_t3230734560* L_64 = L_63->get_data_1();
		uint32_t L_65 = V_2;
		(L_64)->SetAt(static_cast<il2cpp_array_size_t>((((uintptr_t)L_65))), (uint32_t)1);
		BigInteger_t3334373499 * L_66 = V_7;
		BigInteger_t3334373499 * L_67 = V_6;
		Kernel_MinusEq_m2588038513(NULL /*static, unused*/, L_66, L_67, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_68 = ___x0;
		BigInteger_t3334373499 * L_69 = V_7;
		Kernel_PlusEq_m1327972151(NULL /*static, unused*/, L_68, L_69, /*hidden argument*/NULL);
	}

IL_0137:
	{
		goto IL_0143;
	}

IL_013c:
	{
		BigInteger_t3334373499 * L_70 = ___x0;
		BigInteger_t3334373499 * L_71 = V_0;
		Kernel_MinusEq_m2588038513(NULL /*static, unused*/, L_70, L_71, /*hidden argument*/NULL);
	}

IL_0143:
	{
		BigInteger_t3334373499 * L_72 = ___x0;
		BigInteger_t3334373499 * L_73 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_74 = BigInteger_op_GreaterThanOrEqual_m2091126915(NULL /*static, unused*/, L_72, L_73, /*hidden argument*/NULL);
		if (L_74)
		{
			goto IL_013c;
		}
	}
	{
		return;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Multiply(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Multiply_m1902123335_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * ModulusRing_Multiply_m1902123335 (ModulusRing_t3697743090 * __this, BigInteger_t3334373499 * ___a0, BigInteger_t3334373499 * ___b1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Multiply_m1902123335_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___a0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		BigInteger_t3334373499 * L_2 = ___b1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_2, 0, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_001f;
		}
	}

IL_0018:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_4 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_4;
	}

IL_001f:
	{
		BigInteger_t3334373499 * L_5 = ___a0;
		BigInteger_t3334373499 * L_6 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_7 = BigInteger_op_GreaterThan_m3422164694(NULL /*static, unused*/, L_5, L_6, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_003e;
		}
	}
	{
		BigInteger_t3334373499 * L_8 = ___a0;
		BigInteger_t3334373499 * L_9 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_10 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		___a0 = L_10;
	}

IL_003e:
	{
		BigInteger_t3334373499 * L_11 = ___b1;
		BigInteger_t3334373499 * L_12 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_13 = BigInteger_op_GreaterThan_m3422164694(NULL /*static, unused*/, L_11, L_12, /*hidden argument*/NULL);
		if (!L_13)
		{
			goto IL_005d;
		}
	}
	{
		BigInteger_t3334373499 * L_14 = ___b1;
		BigInteger_t3334373499 * L_15 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_16 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_14, L_15, /*hidden argument*/NULL);
		___b1 = L_16;
	}

IL_005d:
	{
		BigInteger_t3334373499 * L_17 = ___a0;
		BigInteger_t3334373499 * L_18 = ___b1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_19 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_20 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1318440774(L_20, L_19, /*hidden argument*/NULL);
		V_0 = L_20;
		BigInteger_t3334373499 * L_21 = V_0;
		ModulusRing_BarrettReduction_m1160185617(__this, L_21, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_22 = V_0;
		return L_22;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Difference(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Difference_m2583958286_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * ModulusRing_Difference_m2583958286 (ModulusRing_t3697743090 * __this, BigInteger_t3334373499 * ___a0, BigInteger_t3334373499 * ___b1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Difference_m2583958286_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	BigInteger_t3334373499 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___a0;
		BigInteger_t3334373499 * L_1 = ___b1;
		int32_t L_2 = Kernel_Compare_m3514403080(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		int32_t L_3 = V_0;
		V_2 = L_3;
		int32_t L_4 = V_2;
		if (((int32_t)((int32_t)L_4+(int32_t)1)) == 0)
		{
			goto IL_0037;
		}
		if (((int32_t)((int32_t)L_4+(int32_t)1)) == 1)
		{
			goto IL_0023;
		}
		if (((int32_t)((int32_t)L_4+(int32_t)1)) == 2)
		{
			goto IL_002a;
		}
	}
	{
		goto IL_0044;
	}

IL_0023:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_5 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_5;
	}

IL_002a:
	{
		BigInteger_t3334373499 * L_6 = ___a0;
		BigInteger_t3334373499 * L_7 = ___b1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_8 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_6, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		goto IL_004a;
	}

IL_0037:
	{
		BigInteger_t3334373499 * L_9 = ___b1;
		BigInteger_t3334373499 * L_10 = ___a0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_11 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_9, L_10, /*hidden argument*/NULL);
		V_1 = L_11;
		goto IL_004a;
	}

IL_0044:
	{
		Exception_t3991598821 * L_12 = (Exception_t3991598821 *)il2cpp_codegen_object_new(Exception_t3991598821_il2cpp_TypeInfo_var);
		Exception__ctor_m3223090658(L_12, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_004a:
	{
		BigInteger_t3334373499 * L_13 = V_1;
		BigInteger_t3334373499 * L_14 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_15 = BigInteger_op_GreaterThanOrEqual_m2091126915(NULL /*static, unused*/, L_13, L_14, /*hidden argument*/NULL);
		if (!L_15)
		{
			goto IL_008c;
		}
	}
	{
		BigInteger_t3334373499 * L_16 = V_1;
		uint32_t L_17 = L_16->get_length_0();
		BigInteger_t3334373499 * L_18 = __this->get_mod_0();
		uint32_t L_19 = L_18->get_length_0();
		if ((!(((uint32_t)L_17) >= ((uint32_t)((int32_t)((int32_t)L_19<<(int32_t)1))))))
		{
			goto IL_0085;
		}
	}
	{
		BigInteger_t3334373499 * L_20 = V_1;
		BigInteger_t3334373499 * L_21 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_22 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_20, L_21, /*hidden argument*/NULL);
		V_1 = L_22;
		goto IL_008c;
	}

IL_0085:
	{
		BigInteger_t3334373499 * L_23 = V_1;
		ModulusRing_BarrettReduction_m1160185617(__this, L_23, /*hidden argument*/NULL);
	}

IL_008c:
	{
		int32_t L_24 = V_0;
		if ((!(((uint32_t)L_24) == ((uint32_t)(-1)))))
		{
			goto IL_00a0;
		}
	}
	{
		BigInteger_t3334373499 * L_25 = __this->get_mod_0();
		BigInteger_t3334373499 * L_26 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_27 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_25, L_26, /*hidden argument*/NULL);
		V_1 = L_27;
	}

IL_00a0:
	{
		BigInteger_t3334373499 * L_28 = V_1;
		return L_28;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Pow(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Pow_m668600583_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * ModulusRing_Pow_m668600583 (ModulusRing_t3697743090 * __this, BigInteger_t3334373499 * ___a0, BigInteger_t3334373499 * ___k1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Pow_m668600583_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	BigInteger_t3334373499 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		BigInteger_t3334373499 * L_0 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1050530395(L_0, 1, /*hidden argument*/NULL);
		V_0 = L_0;
		BigInteger_t3334373499 * L_1 = ___k1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_1, 0, /*hidden argument*/NULL);
		if (!L_2)
		{
			goto IL_0015;
		}
	}
	{
		BigInteger_t3334373499 * L_3 = V_0;
		return L_3;
	}

IL_0015:
	{
		BigInteger_t3334373499 * L_4 = ___a0;
		V_1 = L_4;
		BigInteger_t3334373499 * L_5 = ___k1;
		bool L_6 = BigInteger_TestBit_m4085687739(L_5, 0, /*hidden argument*/NULL);
		if (!L_6)
		{
			goto IL_0025;
		}
	}
	{
		BigInteger_t3334373499 * L_7 = ___a0;
		V_0 = L_7;
	}

IL_0025:
	{
		V_2 = 1;
		goto IL_004e;
	}

IL_002c:
	{
		BigInteger_t3334373499 * L_8 = V_1;
		BigInteger_t3334373499 * L_9 = V_1;
		BigInteger_t3334373499 * L_10 = ModulusRing_Multiply_m1902123335(__this, L_8, L_9, /*hidden argument*/NULL);
		V_1 = L_10;
		BigInteger_t3334373499 * L_11 = ___k1;
		int32_t L_12 = V_2;
		bool L_13 = BigInteger_TestBit_m4085687739(L_11, L_12, /*hidden argument*/NULL);
		if (!L_13)
		{
			goto IL_004a;
		}
	}
	{
		BigInteger_t3334373499 * L_14 = V_1;
		BigInteger_t3334373499 * L_15 = V_0;
		BigInteger_t3334373499 * L_16 = ModulusRing_Multiply_m1902123335(__this, L_14, L_15, /*hidden argument*/NULL);
		V_0 = L_16;
	}

IL_004a:
	{
		int32_t L_17 = V_2;
		V_2 = ((int32_t)((int32_t)L_17+(int32_t)1));
	}

IL_004e:
	{
		int32_t L_18 = V_2;
		BigInteger_t3334373499 * L_19 = ___k1;
		int32_t L_20 = BigInteger_BitCount_m3880753871(L_19, /*hidden argument*/NULL);
		if ((((int32_t)L_18) < ((int32_t)L_20)))
		{
			goto IL_002c;
		}
	}
	{
		BigInteger_t3334373499 * L_21 = V_0;
		return L_21;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Pow(System.UInt32,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Pow_m3374554770_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * ModulusRing_Pow_m3374554770 (ModulusRing_t3697743090 * __this, uint32_t ___b0, BigInteger_t3334373499 * ___exp1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Pow_m3374554770_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		uint32_t L_0 = ___b0;
		BigInteger_t3334373499 * L_1 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m1050530395(L_1, L_0, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_2 = ___exp1;
		BigInteger_t3334373499 * L_3 = ModulusRing_Pow_m668600583(__this, L_1, L_2, /*hidden argument*/NULL);
		return L_3;
	}
}
// System.Void Mono.Math.Prime.Generator.PrimeGeneratorBase::.ctor()
extern "C"  void PrimeGeneratorBase__ctor_m804747758 (PrimeGeneratorBase_t1565729054 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Math.Prime.ConfidenceFactor Mono.Math.Prime.Generator.PrimeGeneratorBase::get_Confidence()
extern "C"  int32_t PrimeGeneratorBase_get_Confidence_m1495727549 (PrimeGeneratorBase_t1565729054 * __this, const MethodInfo* method)
{
	{
		return (int32_t)(2);
	}
}
// Mono.Math.Prime.PrimalityTest Mono.Math.Prime.Generator.PrimeGeneratorBase::get_PrimalityTest()
extern Il2CppClass* PrimalityTest_t2979531602_il2cpp_TypeInfo_var;
extern const MethodInfo* PrimalityTests_RabinMillerTest_m776850607_MethodInfo_var;
extern const uint32_t PrimeGeneratorBase_get_PrimalityTest_m415255588_MetadataUsageId;
extern "C"  PrimalityTest_t2979531602 * PrimeGeneratorBase_get_PrimalityTest_m415255588 (PrimeGeneratorBase_t1565729054 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrimeGeneratorBase_get_PrimalityTest_m415255588_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IntPtr_t L_0;
		L_0.set_m_value_0((void*)(void*)PrimalityTests_RabinMillerTest_m776850607_MethodInfo_var);
		PrimalityTest_t2979531602 * L_1 = (PrimalityTest_t2979531602 *)il2cpp_codegen_object_new(PrimalityTest_t2979531602_il2cpp_TypeInfo_var);
		PrimalityTest__ctor_m2328223289(L_1, NULL, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// System.Int32 Mono.Math.Prime.Generator.PrimeGeneratorBase::get_TrialDivisionBounds()
extern "C"  int32_t PrimeGeneratorBase_get_TrialDivisionBounds_m3765645491 (PrimeGeneratorBase_t1565729054 * __this, const MethodInfo* method)
{
	{
		return ((int32_t)4000);
	}
}
// System.Void Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::.ctor()
extern "C"  void SequentialSearchPrimeGeneratorBase__ctor_m3197013479 (SequentialSearchPrimeGeneratorBase_t3892164357 * __this, const MethodInfo* method)
{
	{
		PrimeGeneratorBase__ctor_m804747758(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateSearchBase(System.Int32,System.Object)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m3042338792_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m3042338792 (SequentialSearchPrimeGeneratorBase_t3892164357 * __this, int32_t ___bits0, Il2CppObject * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m3042338792_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	{
		int32_t L_0 = ___bits0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_1 = BigInteger_GenerateRandom_m1343108780(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		BigInteger_t3334373499 * L_2 = V_0;
		BigInteger_SetBit_m3067778314(L_2, 0, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_3 = V_0;
		return L_3;
	}
}
// Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateNewPrime(System.Int32)
extern "C"  BigInteger_t3334373499 * SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m2709469184 (SequentialSearchPrimeGeneratorBase_t3892164357 * __this, int32_t ___bits0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___bits0;
		BigInteger_t3334373499 * L_1 = VirtFuncInvoker2< BigInteger_t3334373499 *, int32_t, Il2CppObject * >::Invoke(9 /* Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateNewPrime(System.Int32,System.Object) */, __this, L_0, NULL);
		return L_1;
	}
}
// Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateNewPrime(System.Int32,System.Object)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m3023274702_MetadataUsageId;
extern "C"  BigInteger_t3334373499 * SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m3023274702 (SequentialSearchPrimeGeneratorBase_t3892164357 * __this, int32_t ___bits0, Il2CppObject * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m3023274702_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	int32_t V_3 = 0;
	UInt32U5BU5D_t3230734560* V_4 = NULL;
	int32_t V_5 = 0;
	{
		int32_t L_0 = ___bits0;
		Il2CppObject * L_1 = ___context1;
		BigInteger_t3334373499 * L_2 = VirtFuncInvoker2< BigInteger_t3334373499 *, int32_t, Il2CppObject * >::Invoke(8 /* Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateSearchBase(System.Int32,System.Object) */, __this, L_0, L_1);
		V_0 = L_2;
		BigInteger_t3334373499 * L_3 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		uint32_t L_4 = BigInteger_op_Modulus_m465134612(NULL /*static, unused*/, L_3, ((int32_t)-1060120681), /*hidden argument*/NULL);
		V_2 = L_4;
		int32_t L_5 = VirtFuncInvoker0< int32_t >::Invoke(6 /* System.Int32 Mono.Math.Prime.Generator.PrimeGeneratorBase::get_TrialDivisionBounds() */, __this);
		V_3 = L_5;
		UInt32U5BU5D_t3230734560* L_6 = ((BigInteger_t3334373499_StaticFields*)BigInteger_t3334373499_il2cpp_TypeInfo_var->static_fields)->get_smallPrimes_2();
		V_4 = L_6;
	}

IL_0023:
	{
		uint32_t L_7 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_7%(uint32_t)(int32_t)3)))
		{
			goto IL_0030;
		}
	}
	{
		goto IL_0105;
	}

IL_0030:
	{
		uint32_t L_8 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_8%(uint32_t)(int32_t)5)))
		{
			goto IL_003d;
		}
	}
	{
		goto IL_0105;
	}

IL_003d:
	{
		uint32_t L_9 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_9%(uint32_t)(int32_t)7)))
		{
			goto IL_004a;
		}
	}
	{
		goto IL_0105;
	}

IL_004a:
	{
		uint32_t L_10 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_10%(uint32_t)(int32_t)((int32_t)11))))
		{
			goto IL_0058;
		}
	}
	{
		goto IL_0105;
	}

IL_0058:
	{
		uint32_t L_11 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_11%(uint32_t)(int32_t)((int32_t)13))))
		{
			goto IL_0066;
		}
	}
	{
		goto IL_0105;
	}

IL_0066:
	{
		uint32_t L_12 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_12%(uint32_t)(int32_t)((int32_t)17))))
		{
			goto IL_0074;
		}
	}
	{
		goto IL_0105;
	}

IL_0074:
	{
		uint32_t L_13 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_13%(uint32_t)(int32_t)((int32_t)19))))
		{
			goto IL_0082;
		}
	}
	{
		goto IL_0105;
	}

IL_0082:
	{
		uint32_t L_14 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_14%(uint32_t)(int32_t)((int32_t)23))))
		{
			goto IL_0090;
		}
	}
	{
		goto IL_0105;
	}

IL_0090:
	{
		uint32_t L_15 = V_2;
		if (((int32_t)((uint32_t)(int32_t)L_15%(uint32_t)(int32_t)((int32_t)29))))
		{
			goto IL_009e;
		}
	}
	{
		goto IL_0105;
	}

IL_009e:
	{
		V_5 = ((int32_t)10);
		goto IL_00c2;
	}

IL_00a7:
	{
		BigInteger_t3334373499 * L_16 = V_0;
		UInt32U5BU5D_t3230734560* L_17 = V_4;
		int32_t L_18 = V_5;
		int32_t L_19 = L_18;
		uint32_t L_20 = (L_17)->GetAt(static_cast<il2cpp_array_size_t>(L_19));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		uint32_t L_21 = BigInteger_op_Modulus_m465134612(NULL /*static, unused*/, L_16, L_20, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_00bc;
		}
	}
	{
		goto IL_0105;
	}

IL_00bc:
	{
		int32_t L_22 = V_5;
		V_5 = ((int32_t)((int32_t)L_22+(int32_t)1));
	}

IL_00c2:
	{
		int32_t L_23 = V_5;
		UInt32U5BU5D_t3230734560* L_24 = V_4;
		if ((((int32_t)L_23) >= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))))))
		{
			goto IL_00da;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_25 = V_4;
		int32_t L_26 = V_5;
		int32_t L_27 = L_26;
		uint32_t L_28 = (L_25)->GetAt(static_cast<il2cpp_array_size_t>(L_27));
		int32_t L_29 = V_3;
		if ((((int64_t)(((int64_t)((uint64_t)L_28)))) <= ((int64_t)(((int64_t)((int64_t)L_29))))))
		{
			goto IL_00a7;
		}
	}

IL_00da:
	{
		BigInteger_t3334373499 * L_30 = V_0;
		Il2CppObject * L_31 = ___context1;
		bool L_32 = VirtFuncInvoker2< bool, BigInteger_t3334373499 *, Il2CppObject * >::Invoke(10 /* System.Boolean Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::IsPrimeAcceptable(Mono.Math.BigInteger,System.Object) */, __this, L_30, L_31);
		if (L_32)
		{
			goto IL_00ec;
		}
	}
	{
		goto IL_0105;
	}

IL_00ec:
	{
		PrimalityTest_t2979531602 * L_33 = VirtFuncInvoker0< PrimalityTest_t2979531602 * >::Invoke(5 /* Mono.Math.Prime.PrimalityTest Mono.Math.Prime.Generator.PrimeGeneratorBase::get_PrimalityTest() */, __this);
		BigInteger_t3334373499 * L_34 = V_0;
		int32_t L_35 = VirtFuncInvoker0< int32_t >::Invoke(4 /* Mono.Math.Prime.ConfidenceFactor Mono.Math.Prime.Generator.PrimeGeneratorBase::get_Confidence() */, __this);
		bool L_36 = PrimalityTest_Invoke_m1898501111(L_33, L_34, L_35, /*hidden argument*/NULL);
		if (!L_36)
		{
			goto IL_0105;
		}
	}
	{
		BigInteger_t3334373499 * L_37 = V_0;
		return L_37;
	}

IL_0105:
	{
		uint32_t L_38 = V_2;
		V_2 = ((int32_t)((int32_t)L_38+(int32_t)2));
		uint32_t L_39 = V_2;
		if ((!(((uint32_t)L_39) >= ((uint32_t)((int32_t)-1060120681)))))
		{
			goto IL_011c;
		}
	}
	{
		uint32_t L_40 = V_2;
		V_2 = ((int32_t)((int32_t)L_40-(int32_t)((int32_t)-1060120681)));
	}

IL_011c:
	{
		BigInteger_t3334373499 * L_41 = V_0;
		BigInteger_Incr2_m1628594427(L_41, /*hidden argument*/NULL);
		goto IL_0023;
	}
}
// System.Boolean Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::IsPrimeAcceptable(Mono.Math.BigInteger,System.Object)
extern "C"  bool SequentialSearchPrimeGeneratorBase_IsPrimeAcceptable_m3870219587 (SequentialSearchPrimeGeneratorBase_t3892164357 * __this, BigInteger_t3334373499 * ___bi0, Il2CppObject * ___context1, const MethodInfo* method)
{
	{
		return (bool)1;
	}
}
// System.Void Mono.Math.Prime.PrimalityTest::.ctor(System.Object,System.IntPtr)
extern "C"  void PrimalityTest__ctor_m2328223289 (PrimalityTest_t2979531602 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// System.Boolean Mono.Math.Prime.PrimalityTest::Invoke(Mono.Math.BigInteger,Mono.Math.Prime.ConfidenceFactor)
extern "C"  bool PrimalityTest_Invoke_m1898501111 (PrimalityTest_t2979531602 * __this, BigInteger_t3334373499 * ___bi0, int32_t ___confidence1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		PrimalityTest_Invoke_m1898501111((PrimalityTest_t2979531602 *)__this->get_prev_9(),___bi0, ___confidence1, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef bool (*FunctionPointerType) (Il2CppObject *, void* __this, BigInteger_t3334373499 * ___bi0, int32_t ___confidence1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___bi0, ___confidence1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef bool (*FunctionPointerType) (void* __this, BigInteger_t3334373499 * ___bi0, int32_t ___confidence1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___bi0, ___confidence1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef bool (*FunctionPointerType) (void* __this, int32_t ___confidence1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(___bi0, ___confidence1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Math.Prime.PrimalityTest::BeginInvoke(Mono.Math.BigInteger,Mono.Math.Prime.ConfidenceFactor,System.AsyncCallback,System.Object)
extern Il2CppClass* ConfidenceFactor_t3802548592_il2cpp_TypeInfo_var;
extern const uint32_t PrimalityTest_BeginInvoke_m3294511682_MetadataUsageId;
extern "C"  Il2CppObject * PrimalityTest_BeginInvoke_m3294511682 (PrimalityTest_t2979531602 * __this, BigInteger_t3334373499 * ___bi0, int32_t ___confidence1, AsyncCallback_t1369114871 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTest_BeginInvoke_m3294511682_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	void *__d_args[3] = {0};
	__d_args[0] = ___bi0;
	__d_args[1] = Box(ConfidenceFactor_t3802548592_il2cpp_TypeInfo_var, &___confidence1);
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback2, (Il2CppObject*)___object3);
}
// System.Boolean Mono.Math.Prime.PrimalityTest::EndInvoke(System.IAsyncResult)
extern "C"  bool PrimalityTest_EndInvoke_m1090214203 (PrimalityTest_t2979531602 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return *(bool*)UnBox ((Il2CppCodeGenObject*)__result);
}
// System.Int32 Mono.Math.Prime.PrimalityTests::GetSPPRounds(Mono.Math.BigInteger,Mono.Math.Prime.ConfidenceFactor)
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4119395216;
extern Il2CppCodeGenString* _stringLiteral829251210;
extern const uint32_t PrimalityTests_GetSPPRounds_m3682781848_MetadataUsageId;
extern "C"  int32_t PrimalityTests_GetSPPRounds_m3682781848 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___bi0, int32_t ___confidence1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTests_GetSPPRounds_m3682781848_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t G_B28_0 = 0;
	int32_t G_B32_0 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___bi0;
		int32_t L_1 = BigInteger_BitCount_m3880753871(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) > ((int32_t)((int32_t)100))))
		{
			goto IL_0017;
		}
	}
	{
		V_1 = ((int32_t)27);
		goto IL_00d1;
	}

IL_0017:
	{
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) > ((int32_t)((int32_t)150))))
		{
			goto IL_002a;
		}
	}
	{
		V_1 = ((int32_t)18);
		goto IL_00d1;
	}

IL_002a:
	{
		int32_t L_4 = V_0;
		if ((((int32_t)L_4) > ((int32_t)((int32_t)200))))
		{
			goto IL_003d;
		}
	}
	{
		V_1 = ((int32_t)15);
		goto IL_00d1;
	}

IL_003d:
	{
		int32_t L_5 = V_0;
		if ((((int32_t)L_5) > ((int32_t)((int32_t)250))))
		{
			goto IL_0050;
		}
	}
	{
		V_1 = ((int32_t)12);
		goto IL_00d1;
	}

IL_0050:
	{
		int32_t L_6 = V_0;
		if ((((int32_t)L_6) > ((int32_t)((int32_t)300))))
		{
			goto IL_0063;
		}
	}
	{
		V_1 = ((int32_t)9);
		goto IL_00d1;
	}

IL_0063:
	{
		int32_t L_7 = V_0;
		if ((((int32_t)L_7) > ((int32_t)((int32_t)350))))
		{
			goto IL_0075;
		}
	}
	{
		V_1 = 8;
		goto IL_00d1;
	}

IL_0075:
	{
		int32_t L_8 = V_0;
		if ((((int32_t)L_8) > ((int32_t)((int32_t)400))))
		{
			goto IL_0087;
		}
	}
	{
		V_1 = 7;
		goto IL_00d1;
	}

IL_0087:
	{
		int32_t L_9 = V_0;
		if ((((int32_t)L_9) > ((int32_t)((int32_t)500))))
		{
			goto IL_0099;
		}
	}
	{
		V_1 = 6;
		goto IL_00d1;
	}

IL_0099:
	{
		int32_t L_10 = V_0;
		if ((((int32_t)L_10) > ((int32_t)((int32_t)600))))
		{
			goto IL_00ab;
		}
	}
	{
		V_1 = 5;
		goto IL_00d1;
	}

IL_00ab:
	{
		int32_t L_11 = V_0;
		if ((((int32_t)L_11) > ((int32_t)((int32_t)800))))
		{
			goto IL_00bd;
		}
	}
	{
		V_1 = 4;
		goto IL_00d1;
	}

IL_00bd:
	{
		int32_t L_12 = V_0;
		if ((((int32_t)L_12) > ((int32_t)((int32_t)1250))))
		{
			goto IL_00cf;
		}
	}
	{
		V_1 = 3;
		goto IL_00d1;
	}

IL_00cf:
	{
		V_1 = 2;
	}

IL_00d1:
	{
		int32_t L_13 = ___confidence1;
		V_2 = L_13;
		int32_t L_14 = V_2;
		if (L_14 == 0)
		{
			goto IL_00f6;
		}
		if (L_14 == 1)
		{
			goto IL_0108;
		}
		if (L_14 == 2)
		{
			goto IL_011a;
		}
		if (L_14 == 3)
		{
			goto IL_011c;
		}
		if (L_14 == 4)
		{
			goto IL_0120;
		}
		if (L_14 == 5)
		{
			goto IL_0124;
		}
	}
	{
		goto IL_012f;
	}

IL_00f6:
	{
		int32_t L_15 = V_1;
		V_1 = ((int32_t)((int32_t)L_15>>(int32_t)2));
		int32_t L_16 = V_1;
		if (!L_16)
		{
			goto IL_0106;
		}
	}
	{
		int32_t L_17 = V_1;
		G_B28_0 = L_17;
		goto IL_0107;
	}

IL_0106:
	{
		G_B28_0 = 1;
	}

IL_0107:
	{
		return G_B28_0;
	}

IL_0108:
	{
		int32_t L_18 = V_1;
		V_1 = ((int32_t)((int32_t)L_18>>(int32_t)1));
		int32_t L_19 = V_1;
		if (!L_19)
		{
			goto IL_0118;
		}
	}
	{
		int32_t L_20 = V_1;
		G_B32_0 = L_20;
		goto IL_0119;
	}

IL_0118:
	{
		G_B32_0 = 1;
	}

IL_0119:
	{
		return G_B32_0;
	}

IL_011a:
	{
		int32_t L_21 = V_1;
		return L_21;
	}

IL_011c:
	{
		int32_t L_22 = V_1;
		return ((int32_t)((int32_t)L_22<<(int32_t)1));
	}

IL_0120:
	{
		int32_t L_23 = V_1;
		return ((int32_t)((int32_t)L_23<<(int32_t)2));
	}

IL_0124:
	{
		Exception_t3991598821 * L_24 = (Exception_t3991598821 *)il2cpp_codegen_object_new(Exception_t3991598821_il2cpp_TypeInfo_var);
		Exception__ctor_m3870771296(L_24, _stringLiteral4119395216, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_24);
	}

IL_012f:
	{
		ArgumentOutOfRangeException_t3816648464 * L_25 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_25, _stringLiteral829251210, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_25);
	}
}
// System.Boolean Mono.Math.Prime.PrimalityTests::RabinMillerTest(Mono.Math.BigInteger,Mono.Math.Prime.ConfidenceFactor)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* ModulusRing_t3697743090_il2cpp_TypeInfo_var;
extern const uint32_t PrimalityTests_RabinMillerTest_m776850607_MetadataUsageId;
extern "C"  bool PrimalityTests_RabinMillerTest_m776850607 (Il2CppObject * __this /* static, unused */, BigInteger_t3334373499 * ___n0, int32_t ___confidence1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTests_RabinMillerTest_m776850607_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t3334373499 * V_2 = NULL;
	int32_t V_3 = 0;
	BigInteger_t3334373499 * V_4 = NULL;
	ModulusRing_t3697743090 * V_5 = NULL;
	BigInteger_t3334373499 * V_6 = NULL;
	int32_t V_7 = 0;
	BigInteger_t3334373499 * V_8 = NULL;
	int32_t V_9 = 0;
	{
		BigInteger_t3334373499 * L_0 = ___n0;
		int32_t L_1 = BigInteger_BitCount_m3880753871(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_3 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		int32_t L_4 = ___confidence1;
		int32_t L_5 = PrimalityTests_GetSPPRounds_m3682781848(NULL /*static, unused*/, L_3, L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		BigInteger_t3334373499 * L_6 = ___n0;
		BigInteger_t3334373499 * L_7 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_8 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_6, L_7, /*hidden argument*/NULL);
		V_2 = L_8;
		BigInteger_t3334373499 * L_9 = V_2;
		int32_t L_10 = BigInteger_LowestSetBit_m644775850(L_9, /*hidden argument*/NULL);
		V_3 = L_10;
		BigInteger_t3334373499 * L_11 = V_2;
		int32_t L_12 = V_3;
		BigInteger_t3334373499 * L_13 = BigInteger_op_RightShift_m3774983213(NULL /*static, unused*/, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		BigInteger_t3334373499 * L_14 = ___n0;
		ModulusRing_t3697743090 * L_15 = (ModulusRing_t3697743090 *)il2cpp_codegen_object_new(ModulusRing_t3697743090_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m2037212078(L_15, L_14, /*hidden argument*/NULL);
		V_5 = L_15;
		V_6 = (BigInteger_t3334373499 *)NULL;
		BigInteger_t3334373499 * L_16 = ___n0;
		int32_t L_17 = BigInteger_BitCount_m3880753871(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) <= ((int32_t)((int32_t)100))))
		{
			goto IL_0055;
		}
	}
	{
		ModulusRing_t3697743090 * L_18 = V_5;
		BigInteger_t3334373499 * L_19 = V_4;
		BigInteger_t3334373499 * L_20 = ModulusRing_Pow_m3374554770(L_18, 2, L_19, /*hidden argument*/NULL);
		V_6 = L_20;
	}

IL_0055:
	{
		V_7 = 0;
		goto IL_0113;
	}

IL_005d:
	{
		int32_t L_21 = V_7;
		if ((((int32_t)L_21) > ((int32_t)0)))
		{
			goto IL_0072;
		}
	}
	{
		BigInteger_t3334373499 * L_22 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_23 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_22, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_23)
		{
			goto IL_00a9;
		}
	}

IL_0072:
	{
		V_8 = (BigInteger_t3334373499 *)NULL;
	}

IL_0075:
	{
		int32_t L_24 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_25 = BigInteger_GenerateRandom_m1343108780(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		V_8 = L_25;
		BigInteger_t3334373499 * L_26 = V_8;
		BigInteger_t3334373499 * L_27 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 2, /*hidden argument*/NULL);
		bool L_28 = BigInteger_op_LessThanOrEqual_m2413275450(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_009c;
		}
	}
	{
		BigInteger_t3334373499 * L_29 = V_8;
		BigInteger_t3334373499 * L_30 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_31 = BigInteger_op_GreaterThanOrEqual_m2091126915(NULL /*static, unused*/, L_29, L_30, /*hidden argument*/NULL);
		if (L_31)
		{
			goto IL_0075;
		}
	}

IL_009c:
	{
		ModulusRing_t3697743090 * L_32 = V_5;
		BigInteger_t3334373499 * L_33 = V_8;
		BigInteger_t3334373499 * L_34 = V_4;
		BigInteger_t3334373499 * L_35 = ModulusRing_Pow_m668600583(L_32, L_33, L_34, /*hidden argument*/NULL);
		V_6 = L_35;
	}

IL_00a9:
	{
		BigInteger_t3334373499 * L_36 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_37 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_36, 1, /*hidden argument*/NULL);
		if (!L_37)
		{
			goto IL_00bb;
		}
	}
	{
		goto IL_010d;
	}

IL_00bb:
	{
		V_9 = 0;
		goto IL_00e9;
	}

IL_00c3:
	{
		ModulusRing_t3697743090 * L_38 = V_5;
		BigInteger_t3334373499 * L_39 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_40 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 2, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_41 = ModulusRing_Pow_m668600583(L_38, L_39, L_40, /*hidden argument*/NULL);
		V_6 = L_41;
		BigInteger_t3334373499 * L_42 = V_6;
		bool L_43 = BigInteger_op_Equality_m1195898850(NULL /*static, unused*/, L_42, 1, /*hidden argument*/NULL);
		if (!L_43)
		{
			goto IL_00e3;
		}
	}
	{
		return (bool)0;
	}

IL_00e3:
	{
		int32_t L_44 = V_9;
		V_9 = ((int32_t)((int32_t)L_44+(int32_t)1));
	}

IL_00e9:
	{
		int32_t L_45 = V_9;
		int32_t L_46 = V_3;
		if ((((int32_t)L_45) >= ((int32_t)L_46)))
		{
			goto IL_00fe;
		}
	}
	{
		BigInteger_t3334373499 * L_47 = V_6;
		BigInteger_t3334373499 * L_48 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_49 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		if (L_49)
		{
			goto IL_00c3;
		}
	}

IL_00fe:
	{
		BigInteger_t3334373499 * L_50 = V_6;
		BigInteger_t3334373499 * L_51 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_52 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_50, L_51, /*hidden argument*/NULL);
		if (!L_52)
		{
			goto IL_010d;
		}
	}
	{
		return (bool)0;
	}

IL_010d:
	{
		int32_t L_53 = V_7;
		V_7 = ((int32_t)((int32_t)L_53+(int32_t)1));
	}

IL_0113:
	{
		int32_t L_54 = V_7;
		int32_t L_55 = V_1;
		if ((((int32_t)L_54) < ((int32_t)L_55)))
		{
			goto IL_005d;
		}
	}
	{
		return (bool)1;
	}
}
// System.Void Mono.Security.ASN1::.ctor(System.Byte)
extern "C"  void ASN1__ctor_m3086925575 (ASN1_t3752917378 * __this, uint8_t ___tag0, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___tag0;
		ASN1__ctor_m2727735242(__this, L_0, (ByteU5BU5D_t4260760469*)(ByteU5BU5D_t4260760469*)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.ASN1::.ctor(System.Byte,System.Byte[])
extern "C"  void ASN1__ctor_m2727735242 (ASN1_t3752917378 * __this, uint8_t ___tag0, ByteU5BU5D_t4260760469* ___data1, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		uint8_t L_0 = ___tag0;
		__this->set_m_nTag_0(L_0);
		ByteU5BU5D_t4260760469* L_1 = ___data1;
		__this->set_m_aValue_1(L_1);
		return;
	}
}
// System.Void Mono.Security.ASN1::.ctor(System.Byte[])
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3954293105;
extern const uint32_t ASN1__ctor_m3008094309_MetadataUsageId;
extern "C"  void ASN1__ctor_m3008094309 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1__ctor_m3008094309_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		int32_t L_1 = 0;
		uint8_t L_2 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_1));
		__this->set_m_nTag_0(L_2);
		V_0 = 0;
		ByteU5BU5D_t4260760469* L_3 = ___data0;
		int32_t L_4 = 1;
		uint8_t L_5 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		V_1 = L_5;
		int32_t L_6 = V_1;
		if ((((int32_t)L_6) <= ((int32_t)((int32_t)128))))
		{
			goto IL_0051;
		}
	}
	{
		int32_t L_7 = V_1;
		V_0 = ((int32_t)((int32_t)L_7-(int32_t)((int32_t)128)));
		V_1 = 0;
		V_2 = 0;
		goto IL_0045;
	}

IL_0031:
	{
		int32_t L_8 = V_1;
		V_1 = ((int32_t)((int32_t)L_8*(int32_t)((int32_t)256)));
		int32_t L_9 = V_1;
		ByteU5BU5D_t4260760469* L_10 = ___data0;
		int32_t L_11 = V_2;
		int32_t L_12 = ((int32_t)((int32_t)L_11+(int32_t)2));
		uint8_t L_13 = (L_10)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
		V_1 = ((int32_t)((int32_t)L_9+(int32_t)L_13));
		int32_t L_14 = V_2;
		V_2 = ((int32_t)((int32_t)L_14+(int32_t)1));
	}

IL_0045:
	{
		int32_t L_15 = V_2;
		int32_t L_16 = V_0;
		if ((((int32_t)L_15) < ((int32_t)L_16)))
		{
			goto IL_0031;
		}
	}
	{
		goto IL_0067;
	}

IL_0051:
	{
		int32_t L_17 = V_1;
		if ((!(((uint32_t)L_17) == ((uint32_t)((int32_t)128)))))
		{
			goto IL_0067;
		}
	}
	{
		NotSupportedException_t1732551818 * L_18 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_18, _stringLiteral3954293105, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_0067:
	{
		int32_t L_19 = V_1;
		__this->set_m_aValue_1(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_19)));
		ByteU5BU5D_t4260760469* L_20 = ___data0;
		int32_t L_21 = V_0;
		ByteU5BU5D_t4260760469* L_22 = __this->get_m_aValue_1();
		int32_t L_23 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_20, ((int32_t)((int32_t)2+(int32_t)L_21)), (Il2CppArray *)(Il2CppArray *)L_22, 0, L_23, /*hidden argument*/NULL);
		uint8_t L_24 = __this->get_m_nTag_0();
		if ((!(((uint32_t)((int32_t)((int32_t)L_24&(int32_t)((int32_t)32)))) == ((uint32_t)((int32_t)32)))))
		{
			goto IL_00a4;
		}
	}
	{
		int32_t L_25 = V_0;
		V_3 = ((int32_t)((int32_t)2+(int32_t)L_25));
		ByteU5BU5D_t4260760469* L_26 = ___data0;
		ByteU5BU5D_t4260760469* L_27 = ___data0;
		ASN1_Decode_m2560929067(__this, L_26, (&V_3), (((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))), /*hidden argument*/NULL);
	}

IL_00a4:
	{
		return;
	}
}
// System.Int32 Mono.Security.ASN1::get_Count()
extern "C"  int32_t ASN1_get_Count_m2214472120 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_elist_2();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return 0;
	}

IL_000d:
	{
		ArrayList_t3948406897 * L_1 = __this->get_elist_2();
		int32_t L_2 = VirtFuncInvoker0< int32_t >::Invoke(23 /* System.Int32 System.Collections.ArrayList::get_Count() */, L_1);
		return L_2;
	}
}
// System.Byte Mono.Security.ASN1::get_Tag()
extern "C"  uint8_t ASN1_get_Tag_m442995239 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_m_nTag_0();
		return L_0;
	}
}
// System.Int32 Mono.Security.ASN1::get_Length()
extern "C"  int32_t ASN1_get_Length_m2237640703 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_m_aValue_1();
		if (!L_0)
		{
			goto IL_0014;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_m_aValue_1();
		return (((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))));
	}

IL_0014:
	{
		return 0;
	}
}
// System.Byte[] Mono.Security.ASN1::get_Value()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_get_Value_m390067040_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* ASN1_get_Value_m390067040 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_get_Value_m390067040_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_m_aValue_1();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, __this);
	}

IL_0012:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_m_aValue_1();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.ASN1::set_Value(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_set_Value_m213247127_MetadataUsageId;
extern "C"  void ASN1_set_Value_m213247127 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_set_Value_m213247127_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		if (!L_0)
		{
			goto IL_0017;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = ___value0;
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		__this->set_m_aValue_1(((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)));
	}

IL_0017:
	{
		return;
	}
}
// System.Boolean Mono.Security.ASN1::CompareArray(System.Byte[],System.Byte[])
extern "C"  bool ASN1_CompareArray_m2104154182 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___array10, ByteU5BU5D_t4260760469* ___array21, const MethodInfo* method)
{
	bool V_0 = false;
	int32_t V_1 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___array10;
		ByteU5BU5D_t4260760469* L_1 = ___array21;
		V_0 = (bool)((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))) == ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))))? 1 : 0);
		bool L_2 = V_0;
		if (!L_2)
		{
			goto IL_0030;
		}
	}
	{
		V_1 = 0;
		goto IL_0027;
	}

IL_0016:
	{
		ByteU5BU5D_t4260760469* L_3 = ___array10;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t4260760469* L_7 = ___array21;
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		if ((((int32_t)L_6) == ((int32_t)L_10)))
		{
			goto IL_0023;
		}
	}
	{
		return (bool)0;
	}

IL_0023:
	{
		int32_t L_11 = V_1;
		V_1 = ((int32_t)((int32_t)L_11+(int32_t)1));
	}

IL_0027:
	{
		int32_t L_12 = V_1;
		ByteU5BU5D_t4260760469* L_13 = ___array10;
		if ((((int32_t)L_12) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))))))
		{
			goto IL_0016;
		}
	}

IL_0030:
	{
		bool L_14 = V_0;
		return L_14;
	}
}
// System.Boolean Mono.Security.ASN1::CompareValue(System.Byte[])
extern "C"  bool ASN1_CompareValue_m1123010439 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_m_aValue_1();
		ByteU5BU5D_t4260760469* L_1 = ___value0;
		bool L_2 = ASN1_CompareArray_m2104154182(__this, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::Add(Mono.Security.ASN1)
extern Il2CppClass* ArrayList_t3948406897_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_Add_m1424422628_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ASN1_Add_m1424422628 (ASN1_t3752917378 * __this, ASN1_t3752917378 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_Add_m1424422628_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ASN1_t3752917378 * L_0 = ___asn10;
		if (!L_0)
		{
			goto IL_0029;
		}
	}
	{
		ArrayList_t3948406897 * L_1 = __this->get_elist_2();
		if (L_1)
		{
			goto IL_001c;
		}
	}
	{
		ArrayList_t3948406897 * L_2 = (ArrayList_t3948406897 *)il2cpp_codegen_object_new(ArrayList_t3948406897_il2cpp_TypeInfo_var);
		ArrayList__ctor_m1878432947(L_2, /*hidden argument*/NULL);
		__this->set_elist_2(L_2);
	}

IL_001c:
	{
		ArrayList_t3948406897 * L_3 = __this->get_elist_2();
		ASN1_t3752917378 * L_4 = ___asn10;
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_3, L_4);
	}

IL_0029:
	{
		ASN1_t3752917378 * L_5 = ___asn10;
		return L_5;
	}
}
// System.Byte[] Mono.Security.ASN1::GetBytes()
extern Il2CppClass* ArrayList_t3948406897_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerator_t3464575207_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t1423340799_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_GetBytes_m2350265955_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* ASN1_GetBytes_m2350265955 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_GetBytes_m2350265955_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	int32_t V_1 = 0;
	ArrayList_t3948406897 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	Il2CppObject * V_4 = NULL;
	ByteU5BU5D_t4260760469* V_5 = NULL;
	int32_t V_6 = 0;
	int32_t V_7 = 0;
	ByteU5BU5D_t4260760469* V_8 = NULL;
	ByteU5BU5D_t4260760469* V_9 = NULL;
	int32_t V_10 = 0;
	int32_t V_11 = 0;
	Il2CppObject * V_12 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (ByteU5BU5D_t4260760469*)NULL;
		int32_t L_0 = ASN1_get_Count_m2214472120(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_0) <= ((int32_t)0)))
		{
			goto IL_00ca;
		}
	}
	{
		V_1 = 0;
		ArrayList_t3948406897 * L_1 = (ArrayList_t3948406897 *)il2cpp_codegen_object_new(ArrayList_t3948406897_il2cpp_TypeInfo_var);
		ArrayList__ctor_m1878432947(L_1, /*hidden argument*/NULL);
		V_2 = L_1;
		ArrayList_t3948406897 * L_2 = __this->get_elist_2();
		Il2CppObject * L_3 = VirtFuncInvoker0< Il2CppObject * >::Invoke(43 /* System.Collections.IEnumerator System.Collections.ArrayList::GetEnumerator() */, L_2);
		V_4 = L_3;
	}

IL_0023:
	try
	{ // begin try (depth: 1)
		{
			goto IL_004d;
		}

IL_0028:
		{
			Il2CppObject * L_4 = V_4;
			Il2CppObject * L_5 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.Collections.IEnumerator::get_Current() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_4);
			V_3 = ((ASN1_t3752917378 *)CastclassClass(L_5, ASN1_t3752917378_il2cpp_TypeInfo_var));
			ASN1_t3752917378 * L_6 = V_3;
			ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, L_6);
			V_5 = L_7;
			ArrayList_t3948406897 * L_8 = V_2;
			ByteU5BU5D_t4260760469* L_9 = V_5;
			VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_8, (Il2CppObject *)(Il2CppObject *)L_9);
			int32_t L_10 = V_1;
			ByteU5BU5D_t4260760469* L_11 = V_5;
			V_1 = ((int32_t)((int32_t)L_10+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length))))));
		}

IL_004d:
		{
			Il2CppObject * L_12 = V_4;
			bool L_13 = InterfaceFuncInvoker0< bool >::Invoke(1 /* System.Boolean System.Collections.IEnumerator::MoveNext() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_12);
			if (L_13)
			{
				goto IL_0028;
			}
		}

IL_0059:
		{
			IL2CPP_LEAVE(0x74, FINALLY_005e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_005e;
	}

FINALLY_005e:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_14 = V_4;
			V_12 = ((Il2CppObject *)IsInst(L_14, IDisposable_t1423340799_il2cpp_TypeInfo_var));
			Il2CppObject * L_15 = V_12;
			if (L_15)
			{
				goto IL_006c;
			}
		}

IL_006b:
		{
			IL2CPP_END_FINALLY(94)
		}

IL_006c:
		{
			Il2CppObject * L_16 = V_12;
			InterfaceActionInvoker0::Invoke(0 /* System.Void System.IDisposable::Dispose() */, IDisposable_t1423340799_il2cpp_TypeInfo_var, L_16);
			IL2CPP_END_FINALLY(94)
		}
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(94)
	{
		IL2CPP_JUMP_TBL(0x74, IL_0074)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0074:
	{
		int32_t L_17 = V_1;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_17));
		V_6 = 0;
		V_7 = 0;
		goto IL_00b3;
	}

IL_0086:
	{
		ArrayList_t3948406897 * L_18 = V_2;
		int32_t L_19 = V_7;
		Il2CppObject * L_20 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_18, L_19);
		V_8 = ((ByteU5BU5D_t4260760469*)Castclass(L_20, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
		ByteU5BU5D_t4260760469* L_21 = V_8;
		ByteU5BU5D_t4260760469* L_22 = V_0;
		int32_t L_23 = V_6;
		ByteU5BU5D_t4260760469* L_24 = V_8;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_21, 0, (Il2CppArray *)(Il2CppArray *)L_22, L_23, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), /*hidden argument*/NULL);
		int32_t L_25 = V_6;
		ByteU5BU5D_t4260760469* L_26 = V_8;
		V_6 = ((int32_t)((int32_t)L_25+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_26)->max_length))))));
		int32_t L_27 = V_7;
		V_7 = ((int32_t)((int32_t)L_27+(int32_t)1));
	}

IL_00b3:
	{
		int32_t L_28 = V_7;
		ArrayList_t3948406897 * L_29 = __this->get_elist_2();
		int32_t L_30 = VirtFuncInvoker0< int32_t >::Invoke(23 /* System.Int32 System.Collections.ArrayList::get_Count() */, L_29);
		if ((((int32_t)L_28) < ((int32_t)L_30)))
		{
			goto IL_0086;
		}
	}
	{
		goto IL_00dc;
	}

IL_00ca:
	{
		ByteU5BU5D_t4260760469* L_31 = __this->get_m_aValue_1();
		if (!L_31)
		{
			goto IL_00dc;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_32 = __this->get_m_aValue_1();
		V_0 = L_32;
	}

IL_00dc:
	{
		V_10 = 0;
		ByteU5BU5D_t4260760469* L_33 = V_0;
		if (!L_33)
		{
			goto IL_022a;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_34 = V_0;
		V_11 = (((int32_t)((int32_t)(((Il2CppArray *)L_34)->max_length))));
		int32_t L_35 = V_11;
		if ((((int32_t)L_35) <= ((int32_t)((int32_t)127))))
		{
			goto IL_01f8;
		}
	}
	{
		int32_t L_36 = V_11;
		if ((((int32_t)L_36) > ((int32_t)((int32_t)255))))
		{
			goto IL_0129;
		}
	}
	{
		int32_t L_37 = V_11;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)3+(int32_t)L_37))));
		ByteU5BU5D_t4260760469* L_38 = V_0;
		ByteU5BU5D_t4260760469* L_39 = V_9;
		int32_t L_40 = V_11;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_38, 0, (Il2CppArray *)(Il2CppArray *)L_39, 3, L_40, /*hidden argument*/NULL);
		V_10 = ((int32_t)129);
		ByteU5BU5D_t4260760469* L_41 = V_9;
		int32_t L_42 = V_11;
		(L_41)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)L_42))));
		goto IL_01f3;
	}

IL_0129:
	{
		int32_t L_43 = V_11;
		if ((((int32_t)L_43) > ((int32_t)((int32_t)65535))))
		{
			goto IL_0168;
		}
	}
	{
		int32_t L_44 = V_11;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4+(int32_t)L_44))));
		ByteU5BU5D_t4260760469* L_45 = V_0;
		ByteU5BU5D_t4260760469* L_46 = V_9;
		int32_t L_47 = V_11;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_45, 0, (Il2CppArray *)(Il2CppArray *)L_46, 4, L_47, /*hidden argument*/NULL);
		V_10 = ((int32_t)130);
		ByteU5BU5D_t4260760469* L_48 = V_9;
		int32_t L_49 = V_11;
		(L_48)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_49>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_50 = V_9;
		int32_t L_51 = V_11;
		(L_50)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)L_51))));
		goto IL_01f3;
	}

IL_0168:
	{
		int32_t L_52 = V_11;
		if ((((int32_t)L_52) > ((int32_t)((int32_t)16777215))))
		{
			goto IL_01b1;
		}
	}
	{
		int32_t L_53 = V_11;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)5+(int32_t)L_53))));
		ByteU5BU5D_t4260760469* L_54 = V_0;
		ByteU5BU5D_t4260760469* L_55 = V_9;
		int32_t L_56 = V_11;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_54, 0, (Il2CppArray *)(Il2CppArray *)L_55, 5, L_56, /*hidden argument*/NULL);
		V_10 = ((int32_t)131);
		ByteU5BU5D_t4260760469* L_57 = V_9;
		int32_t L_58 = V_11;
		(L_57)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_58>>(int32_t)((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_59 = V_9;
		int32_t L_60 = V_11;
		(L_59)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_60>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_61 = V_9;
		int32_t L_62 = V_11;
		(L_61)->SetAt(static_cast<il2cpp_array_size_t>(4), (uint8_t)(((int32_t)((uint8_t)L_62))));
		goto IL_01f3;
	}

IL_01b1:
	{
		int32_t L_63 = V_11;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)6+(int32_t)L_63))));
		ByteU5BU5D_t4260760469* L_64 = V_0;
		ByteU5BU5D_t4260760469* L_65 = V_9;
		int32_t L_66 = V_11;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_64, 0, (Il2CppArray *)(Il2CppArray *)L_65, 6, L_66, /*hidden argument*/NULL);
		V_10 = ((int32_t)132);
		ByteU5BU5D_t4260760469* L_67 = V_9;
		int32_t L_68 = V_11;
		(L_67)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_68>>(int32_t)((int32_t)24)))))));
		ByteU5BU5D_t4260760469* L_69 = V_9;
		int32_t L_70 = V_11;
		(L_69)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_70>>(int32_t)((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_71 = V_9;
		int32_t L_72 = V_11;
		(L_71)->SetAt(static_cast<il2cpp_array_size_t>(4), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_72>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_73 = V_9;
		int32_t L_74 = V_11;
		(L_73)->SetAt(static_cast<il2cpp_array_size_t>(5), (uint8_t)(((int32_t)((uint8_t)L_74))));
	}

IL_01f3:
	{
		goto IL_0213;
	}

IL_01f8:
	{
		int32_t L_75 = V_11;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)2+(int32_t)L_75))));
		ByteU5BU5D_t4260760469* L_76 = V_0;
		ByteU5BU5D_t4260760469* L_77 = V_9;
		int32_t L_78 = V_11;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_76, 0, (Il2CppArray *)(Il2CppArray *)L_77, 2, L_78, /*hidden argument*/NULL);
		int32_t L_79 = V_11;
		V_10 = L_79;
	}

IL_0213:
	{
		ByteU5BU5D_t4260760469* L_80 = __this->get_m_aValue_1();
		if (L_80)
		{
			goto IL_0225;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_81 = V_0;
		__this->set_m_aValue_1(L_81);
	}

IL_0225:
	{
		goto IL_0232;
	}

IL_022a:
	{
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)2));
	}

IL_0232:
	{
		ByteU5BU5D_t4260760469* L_82 = V_9;
		uint8_t L_83 = __this->get_m_nTag_0();
		(L_82)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_83);
		ByteU5BU5D_t4260760469* L_84 = V_9;
		int32_t L_85 = V_10;
		(L_84)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)L_85))));
		ByteU5BU5D_t4260760469* L_86 = V_9;
		return L_86;
	}
}
// System.Void Mono.Security.ASN1::Decode(System.Byte[],System.Int32&,System.Int32)
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_Decode_m2560929067_MetadataUsageId;
extern "C"  void ASN1_Decode_m2560929067 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___asn10, int32_t* ___anPos1, int32_t ___anLength2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_Decode_m2560929067_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint8_t V_0 = 0x0;
	int32_t V_1 = 0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	int32_t V_4 = 0;
	{
		goto IL_004e;
	}

IL_0005:
	{
		ByteU5BU5D_t4260760469* L_0 = ___asn10;
		int32_t* L_1 = ___anPos1;
		ASN1_DecodeTLV_m1331458973(__this, L_0, L_1, (&V_0), (&V_1), (&V_2), /*hidden argument*/NULL);
		uint8_t L_2 = V_0;
		if (L_2)
		{
			goto IL_001e;
		}
	}
	{
		goto IL_004e;
	}

IL_001e:
	{
		uint8_t L_3 = V_0;
		ByteU5BU5D_t4260760469* L_4 = V_2;
		ASN1_t3752917378 * L_5 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m2727735242(L_5, L_3, L_4, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_6 = ASN1_Add_m1424422628(__this, L_5, /*hidden argument*/NULL);
		V_3 = L_6;
		uint8_t L_7 = V_0;
		if ((!(((uint32_t)((int32_t)((int32_t)L_7&(int32_t)((int32_t)32)))) == ((uint32_t)((int32_t)32)))))
		{
			goto IL_0048;
		}
	}
	{
		int32_t* L_8 = ___anPos1;
		V_4 = (*((int32_t*)L_8));
		ASN1_t3752917378 * L_9 = V_3;
		ByteU5BU5D_t4260760469* L_10 = ___asn10;
		int32_t L_11 = V_4;
		int32_t L_12 = V_1;
		ASN1_Decode_m2560929067(L_9, L_10, (&V_4), ((int32_t)((int32_t)L_11+(int32_t)L_12)), /*hidden argument*/NULL);
	}

IL_0048:
	{
		int32_t* L_13 = ___anPos1;
		int32_t* L_14 = ___anPos1;
		int32_t L_15 = V_1;
		*((int32_t*)(L_13)) = (int32_t)((int32_t)((int32_t)(*((int32_t*)L_14))+(int32_t)L_15));
	}

IL_004e:
	{
		int32_t* L_16 = ___anPos1;
		int32_t L_17 = ___anLength2;
		if ((((int32_t)(*((int32_t*)L_16))) < ((int32_t)((int32_t)((int32_t)L_17-(int32_t)1)))))
		{
			goto IL_0005;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.ASN1::DecodeTLV(System.Byte[],System.Int32&,System.Byte&,System.Int32&,System.Byte[]&)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_DecodeTLV_m1331458973_MetadataUsageId;
extern "C"  void ASN1_DecodeTLV_m1331458973 (ASN1_t3752917378 * __this, ByteU5BU5D_t4260760469* ___asn10, int32_t* ___pos1, uint8_t* ___tag2, int32_t* ___length3, ByteU5BU5D_t4260760469** ___content4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_DecodeTLV_m1331458973_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	{
		uint8_t* L_0 = ___tag2;
		ByteU5BU5D_t4260760469* L_1 = ___asn10;
		int32_t* L_2 = ___pos1;
		int32_t* L_3 = ___pos1;
		int32_t L_4 = (*((int32_t*)L_3));
		V_2 = L_4;
		*((int32_t*)(L_2)) = (int32_t)((int32_t)((int32_t)L_4+(int32_t)1));
		int32_t L_5 = V_2;
		int32_t L_6 = L_5;
		uint8_t L_7 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		*((int8_t*)(L_0)) = (int8_t)L_7;
		int32_t* L_8 = ___length3;
		ByteU5BU5D_t4260760469* L_9 = ___asn10;
		int32_t* L_10 = ___pos1;
		int32_t* L_11 = ___pos1;
		int32_t L_12 = (*((int32_t*)L_11));
		V_2 = L_12;
		*((int32_t*)(L_10)) = (int32_t)((int32_t)((int32_t)L_12+(int32_t)1));
		int32_t L_13 = V_2;
		int32_t L_14 = L_13;
		uint8_t L_15 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		*((int32_t*)(L_8)) = (int32_t)L_15;
		int32_t* L_16 = ___length3;
		if ((!(((uint32_t)((int32_t)((int32_t)(*((int32_t*)L_16))&(int32_t)((int32_t)128)))) == ((uint32_t)((int32_t)128)))))
		{
			goto IL_0063;
		}
	}
	{
		int32_t* L_17 = ___length3;
		V_0 = ((int32_t)((int32_t)(*((int32_t*)L_17))&(int32_t)((int32_t)127)));
		int32_t* L_18 = ___length3;
		*((int32_t*)(L_18)) = (int32_t)0;
		V_1 = 0;
		goto IL_005c;
	}

IL_0040:
	{
		int32_t* L_19 = ___length3;
		int32_t* L_20 = ___length3;
		ByteU5BU5D_t4260760469* L_21 = ___asn10;
		int32_t* L_22 = ___pos1;
		int32_t* L_23 = ___pos1;
		int32_t L_24 = (*((int32_t*)L_23));
		V_2 = L_24;
		*((int32_t*)(L_22)) = (int32_t)((int32_t)((int32_t)L_24+(int32_t)1));
		int32_t L_25 = V_2;
		int32_t L_26 = L_25;
		uint8_t L_27 = (L_21)->GetAt(static_cast<il2cpp_array_size_t>(L_26));
		*((int32_t*)(L_19)) = (int32_t)((int32_t)((int32_t)((int32_t)((int32_t)(*((int32_t*)L_20))*(int32_t)((int32_t)256)))+(int32_t)L_27));
		int32_t L_28 = V_1;
		V_1 = ((int32_t)((int32_t)L_28+(int32_t)1));
	}

IL_005c:
	{
		int32_t L_29 = V_1;
		int32_t L_30 = V_0;
		if ((((int32_t)L_29) < ((int32_t)L_30)))
		{
			goto IL_0040;
		}
	}

IL_0063:
	{
		ByteU5BU5D_t4260760469** L_31 = ___content4;
		int32_t* L_32 = ___length3;
		*((Il2CppObject **)(L_31)) = (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(*((int32_t*)L_32))));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_31), (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(*((int32_t*)L_32)))));
		ByteU5BU5D_t4260760469* L_33 = ___asn10;
		int32_t* L_34 = ___pos1;
		ByteU5BU5D_t4260760469** L_35 = ___content4;
		int32_t* L_36 = ___length3;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_33, (*((int32_t*)L_34)), (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_35)), 0, (*((int32_t*)L_36)), /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::get_Item(System.Int32)
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_get_Item_m3727278260_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ASN1_get_Item_m3727278260 (ASN1_t3752917378 * __this, int32_t ___index0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_get_Item_m3727278260_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			ArrayList_t3948406897 * L_0 = __this->get_elist_2();
			if (!L_0)
			{
				goto IL_001c;
			}
		}

IL_000b:
		{
			int32_t L_1 = ___index0;
			ArrayList_t3948406897 * L_2 = __this->get_elist_2();
			int32_t L_3 = VirtFuncInvoker0< int32_t >::Invoke(23 /* System.Int32 System.Collections.ArrayList::get_Count() */, L_2);
			if ((((int32_t)L_1) < ((int32_t)L_3)))
			{
				goto IL_0023;
			}
		}

IL_001c:
		{
			V_0 = (ASN1_t3752917378 *)NULL;
			goto IL_004c;
		}

IL_0023:
		{
			ArrayList_t3948406897 * L_4 = __this->get_elist_2();
			int32_t L_5 = ___index0;
			Il2CppObject * L_6 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_4, L_5);
			V_0 = ((ASN1_t3752917378 *)CastclassClass(L_6, ASN1_t3752917378_il2cpp_TypeInfo_var));
			goto IL_004c;
		}

IL_003a:
		{
			; // IL_003a: leave IL_004c
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_003f;
		throw e;
	}

CATCH_003f:
	{ // begin catch(System.ArgumentOutOfRangeException)
		{
			V_0 = (ASN1_t3752917378 *)NULL;
			goto IL_004c;
		}

IL_0047:
		{
			; // IL_0047: leave IL_004c
		}
	} // end catch (depth: 1)

IL_004c:
	{
		ASN1_t3752917378 * L_7 = V_0;
		return L_7;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::Element(System.Int32,System.Byte)
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_Element_m2786077841_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ASN1_Element_m2786077841 (ASN1_t3752917378 * __this, int32_t ___index0, uint8_t ___anTag1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_Element_m2786077841_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	ASN1_t3752917378 * V_1 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			ArrayList_t3948406897 * L_0 = __this->get_elist_2();
			if (!L_0)
			{
				goto IL_001c;
			}
		}

IL_000b:
		{
			int32_t L_1 = ___index0;
			ArrayList_t3948406897 * L_2 = __this->get_elist_2();
			int32_t L_3 = VirtFuncInvoker0< int32_t >::Invoke(23 /* System.Int32 System.Collections.ArrayList::get_Count() */, L_2);
			if ((((int32_t)L_1) < ((int32_t)L_3)))
			{
				goto IL_0023;
			}
		}

IL_001c:
		{
			V_1 = (ASN1_t3752917378 *)NULL;
			goto IL_0061;
		}

IL_0023:
		{
			ArrayList_t3948406897 * L_4 = __this->get_elist_2();
			int32_t L_5 = ___index0;
			Il2CppObject * L_6 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_4, L_5);
			V_0 = ((ASN1_t3752917378 *)CastclassClass(L_6, ASN1_t3752917378_il2cpp_TypeInfo_var));
			ASN1_t3752917378 * L_7 = V_0;
			uint8_t L_8 = ASN1_get_Tag_m442995239(L_7, /*hidden argument*/NULL);
			uint8_t L_9 = ___anTag1;
			if ((!(((uint32_t)L_8) == ((uint32_t)L_9))))
			{
				goto IL_0048;
			}
		}

IL_0041:
		{
			ASN1_t3752917378 * L_10 = V_0;
			V_1 = L_10;
			goto IL_0061;
		}

IL_0048:
		{
			V_1 = (ASN1_t3752917378 *)NULL;
			goto IL_0061;
		}

IL_004f:
		{
			; // IL_004f: leave IL_0061
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0054;
		throw e;
	}

CATCH_0054:
	{ // begin catch(System.ArgumentOutOfRangeException)
		{
			V_1 = (ASN1_t3752917378 *)NULL;
			goto IL_0061;
		}

IL_005c:
		{
			; // IL_005c: leave IL_0061
		}
	} // end catch (depth: 1)

IL_0061:
	{
		ASN1_t3752917378 * L_11 = V_1;
		return L_11;
	}
}
// System.String Mono.Security.ASN1::ToString()
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32_t1153838500_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2443064303;
extern Il2CppCodeGenString* _stringLiteral2778;
extern Il2CppCodeGenString* _stringLiteral1795232227;
extern Il2CppCodeGenString* _stringLiteral1896257591;
extern Il2CppCodeGenString* _stringLiteral3714328;
extern const uint32_t ASN1_ToString_m2072053203_MetadataUsageId;
extern "C"  String_t* ASN1_ToString_m2072053203 (ASN1_t3752917378 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1_ToString_m2072053203_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	StringBuilder_t243639308 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		StringBuilder_t243639308 * L_0 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m135953004(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		StringBuilder_t243639308 * L_1 = V_0;
		uint8_t* L_2 = __this->get_address_of_m_nTag_0();
		String_t* L_3 = Byte_ToString_m3965014306(L_2, _stringLiteral2778, /*hidden argument*/NULL);
		String_t* L_4 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m3487355136(L_1, _stringLiteral2443064303, L_3, L_4, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = ASN1_get_Value_m390067040(__this, /*hidden argument*/NULL);
		int32_t L_7 = (((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length))));
		Il2CppObject * L_8 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_7);
		String_t* L_9 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m3487355136(L_5, _stringLiteral1795232227, L_8, L_9, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_10 = V_0;
		StringBuilder_Append_m3898090075(L_10, _stringLiteral1896257591, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_11 = V_0;
		String_t* L_12 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_11, L_12, /*hidden argument*/NULL);
		V_1 = 0;
		goto IL_00a7;
	}

IL_0064:
	{
		StringBuilder_t243639308 * L_13 = V_0;
		ByteU5BU5D_t4260760469* L_14 = ASN1_get_Value_m390067040(__this, /*hidden argument*/NULL);
		int32_t L_15 = V_1;
		String_t* L_16 = Byte_ToString_m3965014306(((L_14)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_15))), _stringLiteral2778, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m3723191730(L_13, _stringLiteral3714328, L_16, /*hidden argument*/NULL);
		int32_t L_17 = V_1;
		if (((int32_t)((int32_t)((int32_t)((int32_t)L_17+(int32_t)1))%(int32_t)((int32_t)16))))
		{
			goto IL_00a3;
		}
	}
	{
		StringBuilder_t243639308 * L_18 = V_0;
		String_t* L_19 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m279545936(L_18, L_19, ((ObjectU5BU5D_t1108656482*)SZArrayNew(ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var, (uint32_t)0)), /*hidden argument*/NULL);
	}

IL_00a3:
	{
		int32_t L_20 = V_1;
		V_1 = ((int32_t)((int32_t)L_20+(int32_t)1));
	}

IL_00a7:
	{
		int32_t L_21 = V_1;
		ByteU5BU5D_t4260760469* L_22 = ASN1_get_Value_m390067040(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_21) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length)))))))
		{
			goto IL_0064;
		}
	}
	{
		StringBuilder_t243639308 * L_23 = V_0;
		String_t* L_24 = StringBuilder_ToString_m350379841(L_23, /*hidden argument*/NULL);
		return L_24;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1Convert::FromInt32(System.Int32)
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ASN1Convert_FromInt32_m570537577_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ASN1Convert_FromInt32_m570537577 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_FromInt32_m570537577_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t3752917378 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	int32_t V_4 = 0;
	{
		int32_t L_0 = ___value0;
		ByteU5BU5D_t4260760469* L_1 = BitConverterLE_GetBytes_m3530550987(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t4260760469* L_2 = V_0;
		Array_Reverse_m3430038334(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, /*hidden argument*/NULL);
		V_1 = 0;
		goto IL_0018;
	}

IL_0014:
	{
		int32_t L_3 = V_1;
		V_1 = ((int32_t)((int32_t)L_3+(int32_t)1));
	}

IL_0018:
	{
		int32_t L_4 = V_1;
		ByteU5BU5D_t4260760469* L_5 = V_0;
		if ((((int32_t)L_4) >= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_0029;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_6 = V_0;
		int32_t L_7 = V_1;
		int32_t L_8 = L_7;
		uint8_t L_9 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_8));
		if (!L_9)
		{
			goto IL_0014;
		}
	}

IL_0029:
	{
		ASN1_t3752917378 * L_10 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_10, 2, /*hidden argument*/NULL);
		V_2 = L_10;
		int32_t L_11 = V_1;
		V_4 = L_11;
		int32_t L_12 = V_4;
		if (!L_12)
		{
			goto IL_0047;
		}
	}
	{
		int32_t L_13 = V_4;
		if ((((int32_t)L_13) == ((int32_t)4)))
		{
			goto IL_0053;
		}
	}
	{
		goto IL_0064;
	}

IL_0047:
	{
		ASN1_t3752917378 * L_14 = V_2;
		ByteU5BU5D_t4260760469* L_15 = V_0;
		ASN1_set_Value_m213247127(L_14, L_15, /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0053:
	{
		ASN1_t3752917378 * L_16 = V_2;
		ASN1_set_Value_m213247127(L_16, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)1)), /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0064:
	{
		int32_t L_17 = V_1;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4-(int32_t)L_17))));
		ByteU5BU5D_t4260760469* L_18 = V_0;
		int32_t L_19 = V_1;
		ByteU5BU5D_t4260760469* L_20 = V_3;
		ByteU5BU5D_t4260760469* L_21 = V_3;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, L_19, (Il2CppArray *)(Il2CppArray *)L_20, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))), /*hidden argument*/NULL);
		ASN1_t3752917378 * L_22 = V_2;
		ByteU5BU5D_t4260760469* L_23 = V_3;
		ASN1_set_Value_m213247127(L_22, L_23, /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0085:
	{
		ASN1_t3752917378 * L_24 = V_2;
		return L_24;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1Convert::FromOid(System.String)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptoConfig_t1703322959_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral110026;
extern const uint32_t ASN1Convert_FromOid_m1663059922_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ASN1Convert_FromOid_m1663059922 (Il2CppObject * __this /* static, unused */, String_t* ___oid0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_FromOid_m1663059922_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		String_t* L_0 = ___oid0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral110026, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		String_t* L_2 = ___oid0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t1703322959_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_3 = CryptoConfig_EncodeOID_m3599780936(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_4 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_4, L_3, /*hidden argument*/NULL);
		return L_4;
	}
}
// System.Int32 Mono.Security.ASN1Convert::ToInt32(Mono.Security.ASN1)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* FormatException_t3455918062_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3003701;
extern Il2CppCodeGenString* _stringLiteral916836539;
extern const uint32_t ASN1Convert_ToInt32_m2275332600_MetadataUsageId;
extern "C"  int32_t ASN1Convert_ToInt32_m2275332600 (Il2CppObject * __this /* static, unused */, ASN1_t3752917378 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToInt32_m2275332600_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		ASN1_t3752917378 * L_0 = ___asn10;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral3003701, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ASN1_t3752917378 * L_2 = ___asn10;
		uint8_t L_3 = ASN1_get_Tag_m442995239(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)2)))
		{
			goto IL_0028;
		}
	}
	{
		FormatException_t3455918062 * L_4 = (FormatException_t3455918062 *)il2cpp_codegen_object_new(FormatException_t3455918062_il2cpp_TypeInfo_var);
		FormatException__ctor_m27151337(L_4, _stringLiteral916836539, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_0028:
	{
		V_0 = 0;
		V_1 = 0;
		goto IL_0042;
	}

IL_0031:
	{
		int32_t L_5 = V_0;
		ASN1_t3752917378 * L_6 = ___asn10;
		ByteU5BU5D_t4260760469* L_7 = ASN1_get_Value_m390067040(L_6, /*hidden argument*/NULL);
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		V_0 = ((int32_t)((int32_t)((int32_t)((int32_t)L_5<<(int32_t)8))+(int32_t)L_10));
		int32_t L_11 = V_1;
		V_1 = ((int32_t)((int32_t)L_11+(int32_t)1));
	}

IL_0042:
	{
		int32_t L_12 = V_1;
		ASN1_t3752917378 * L_13 = ___asn10;
		ByteU5BU5D_t4260760469* L_14 = ASN1_get_Value_m390067040(L_13, /*hidden argument*/NULL);
		if ((((int32_t)L_12) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))))))
		{
			goto IL_0031;
		}
	}
	{
		int32_t L_15 = V_0;
		return L_15;
	}
}
// System.String Mono.Security.ASN1Convert::ToOid(Mono.Security.ASN1)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3003701;
extern Il2CppCodeGenString* _stringLiteral46;
extern const uint32_t ASN1Convert_ToOid_m581448231_MetadataUsageId;
extern "C"  String_t* ASN1Convert_ToOid_m581448231 (Il2CppObject * __this /* static, unused */, ASN1_t3752917378 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToOid_m581448231_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	StringBuilder_t243639308 * V_1 = NULL;
	uint8_t V_2 = 0x0;
	uint8_t V_3 = 0x0;
	uint64_t V_4 = 0;
	{
		ASN1_t3752917378 * L_0 = ___asn10;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral3003701, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ASN1_t3752917378 * L_2 = ___asn10;
		ByteU5BU5D_t4260760469* L_3 = ASN1_get_Value_m390067040(L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		StringBuilder_t243639308 * L_4 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m135953004(L_4, /*hidden argument*/NULL);
		V_1 = L_4;
		ByteU5BU5D_t4260760469* L_5 = V_0;
		int32_t L_6 = 0;
		uint8_t L_7 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		V_2 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_7/(int32_t)((int32_t)40))))));
		ByteU5BU5D_t4260760469* L_8 = V_0;
		int32_t L_9 = 0;
		uint8_t L_10 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		V_3 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_10%(int32_t)((int32_t)40))))));
		uint8_t L_11 = V_2;
		if ((((int32_t)L_11) <= ((int32_t)2)))
		{
			goto IL_0042;
		}
	}
	{
		uint8_t L_12 = V_3;
		uint8_t L_13 = V_2;
		V_3 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_12+(int32_t)(((int32_t)((uint8_t)((int32_t)((int32_t)((int32_t)((int32_t)L_13-(int32_t)2))*(int32_t)((int32_t)40)))))))))));
		V_2 = 2;
	}

IL_0042:
	{
		StringBuilder_t243639308 * L_14 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_15 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_16 = Byte_ToString_m4244510414((&V_2), L_15, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_14, L_16, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_17 = V_1;
		StringBuilder_Append_m3898090075(L_17, _stringLiteral46, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_18 = V_1;
		CultureInfo_t1065375142 * L_19 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_20 = Byte_ToString_m4244510414((&V_3), L_19, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_18, L_20, /*hidden argument*/NULL);
		V_4 = (((int64_t)((int64_t)0)));
		V_2 = 1;
		goto IL_00c9;
	}

IL_007f:
	{
		uint64_t L_21 = V_4;
		ByteU5BU5D_t4260760469* L_22 = V_0;
		uint8_t L_23 = V_2;
		uint8_t L_24 = L_23;
		uint8_t L_25 = (L_22)->GetAt(static_cast<il2cpp_array_size_t>(L_24));
		V_4 = ((int64_t)((int64_t)((int64_t)((int64_t)L_21<<(int32_t)7))|(int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_25&(int32_t)((int32_t)127))))))))))))));
		ByteU5BU5D_t4260760469* L_26 = V_0;
		uint8_t L_27 = V_2;
		uint8_t L_28 = L_27;
		uint8_t L_29 = (L_26)->GetAt(static_cast<il2cpp_array_size_t>(L_28));
		if ((((int32_t)((int32_t)((int32_t)L_29&(int32_t)((int32_t)128)))) == ((int32_t)((int32_t)128))))
		{
			goto IL_00c4;
		}
	}
	{
		StringBuilder_t243639308 * L_30 = V_1;
		StringBuilder_Append_m3898090075(L_30, _stringLiteral46, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_31 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_32 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_33 = UInt64_ToString_m2926838398((&V_4), L_32, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_31, L_33, /*hidden argument*/NULL);
		V_4 = (((int64_t)((int64_t)0)));
	}

IL_00c4:
	{
		uint8_t L_34 = V_2;
		V_2 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_34+(int32_t)1)))));
	}

IL_00c9:
	{
		uint8_t L_35 = V_2;
		ByteU5BU5D_t4260760469* L_36 = V_0;
		if ((((int32_t)L_35) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_36)->max_length)))))))
		{
			goto IL_007f;
		}
	}
	{
		StringBuilder_t243639308 * L_37 = V_1;
		String_t* L_38 = StringBuilder_ToString_m350379841(L_37, /*hidden argument*/NULL);
		return L_38;
	}
}
// System.DateTime Mono.Security.ASN1Convert::ToDateTime(Mono.Security.ASN1)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t2012439129_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppClass* Convert_t1363677321_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppClass* Char_t2862622538_il2cpp_TypeInfo_var;
extern Il2CppClass* DateTime_t4283661327_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3560141;
extern Il2CppCodeGenString* _stringLiteral114006138;
extern Il2CppCodeGenString* _stringLiteral1576;
extern Il2CppCodeGenString* _stringLiteral1598;
extern Il2CppCodeGenString* _stringLiteral3167834874;
extern Il2CppCodeGenString* _stringLiteral4456883;
extern Il2CppCodeGenString* _stringLiteral3452503002;
extern const uint32_t ASN1Convert_ToDateTime_m864003254_MetadataUsageId;
extern "C"  DateTime_t4283661327  ASN1Convert_ToDateTime_m864003254 (Il2CppObject * __this /* static, unused */, ASN1_t3752917378 * ___time0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToDateTime_m864003254_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	String_t* V_1 = NULL;
	int32_t V_2 = 0;
	String_t* V_3 = NULL;
	Il2CppChar V_4 = 0x0;
	int32_t V_5 = 0;
	String_t* G_B13_0 = NULL;
	int32_t G_B16_0 = 0;
	{
		ASN1_t3752917378 * L_0 = ___time0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral3560141, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t2012439129_il2cpp_TypeInfo_var);
		Encoding_t2012439129 * L_2 = Encoding_get_ASCII_m1425378925(NULL /*static, unused*/, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_3 = ___time0;
		ByteU5BU5D_t4260760469* L_4 = ASN1_get_Value_m390067040(L_3, /*hidden argument*/NULL);
		String_t* L_5 = VirtFuncInvoker1< String_t*, ByteU5BU5D_t4260760469* >::Invoke(22 /* System.String System.Text.Encoding::GetString(System.Byte[]) */, L_2, L_4);
		V_0 = L_5;
		V_1 = (String_t*)NULL;
		String_t* L_6 = V_0;
		int32_t L_7 = String_get_Length_m2979997331(L_6, /*hidden argument*/NULL);
		V_5 = L_7;
		int32_t L_8 = V_5;
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 0)
		{
			goto IL_0057;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 1)
		{
			goto IL_016b;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 2)
		{
			goto IL_0062;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 3)
		{
			goto IL_016b;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 4)
		{
			goto IL_00a5;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 5)
		{
			goto IL_016b;
		}
		if (((int32_t)((int32_t)L_8-(int32_t)((int32_t)11))) == 6)
		{
			goto IL_00b0;
		}
	}
	{
		goto IL_016b;
	}

IL_0057:
	{
		V_1 = _stringLiteral114006138;
		goto IL_016b;
	}

IL_0062:
	{
		String_t* L_9 = V_0;
		String_t* L_10 = String_Substring_m675079568(L_9, 0, 2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_11 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
		int16_t L_12 = Convert_ToInt16_m2248972561(NULL /*static, unused*/, L_10, L_11, /*hidden argument*/NULL);
		V_2 = L_12;
		int32_t L_13 = V_2;
		if ((((int32_t)L_13) < ((int32_t)((int32_t)50))))
		{
			goto IL_008e;
		}
	}
	{
		String_t* L_14 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_15 = String_Concat_m138640077(NULL /*static, unused*/, _stringLiteral1576, L_14, /*hidden argument*/NULL);
		V_0 = L_15;
		goto IL_009a;
	}

IL_008e:
	{
		String_t* L_16 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_17 = String_Concat_m138640077(NULL /*static, unused*/, _stringLiteral1598, L_16, /*hidden argument*/NULL);
		V_0 = L_17;
	}

IL_009a:
	{
		V_1 = _stringLiteral3167834874;
		goto IL_016b;
	}

IL_00a5:
	{
		V_1 = _stringLiteral3167834874;
		goto IL_016b;
	}

IL_00b0:
	{
		String_t* L_18 = V_0;
		String_t* L_19 = String_Substring_m675079568(L_18, 0, 2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_20 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
		int16_t L_21 = Convert_ToInt16_m2248972561(NULL /*static, unused*/, L_19, L_20, /*hidden argument*/NULL);
		V_2 = L_21;
		int32_t L_22 = V_2;
		if ((((int32_t)L_22) < ((int32_t)((int32_t)50))))
		{
			goto IL_00d5;
		}
	}
	{
		G_B13_0 = _stringLiteral1576;
		goto IL_00da;
	}

IL_00d5:
	{
		G_B13_0 = _stringLiteral1598;
	}

IL_00da:
	{
		V_3 = G_B13_0;
		String_t* L_23 = V_0;
		Il2CppChar L_24 = String_get_Chars_m3015341861(L_23, ((int32_t)12), /*hidden argument*/NULL);
		if ((!(((uint32_t)L_24) == ((uint32_t)((int32_t)43)))))
		{
			goto IL_00f1;
		}
	}
	{
		G_B16_0 = ((int32_t)45);
		goto IL_00f3;
	}

IL_00f1:
	{
		G_B16_0 = ((int32_t)43);
	}

IL_00f3:
	{
		V_4 = G_B16_0;
		ObjectU5BU5D_t1108656482* L_25 = ((ObjectU5BU5D_t1108656482*)SZArrayNew(ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var, (uint32_t)7));
		String_t* L_26 = V_3;
		ArrayElementTypeCheck (L_25, L_26);
		(L_25)->SetAt(static_cast<il2cpp_array_size_t>(0), (Il2CppObject *)L_26);
		ObjectU5BU5D_t1108656482* L_27 = L_25;
		String_t* L_28 = V_0;
		String_t* L_29 = String_Substring_m675079568(L_28, 0, ((int32_t)12), /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_27, L_29);
		(L_27)->SetAt(static_cast<il2cpp_array_size_t>(1), (Il2CppObject *)L_29);
		ObjectU5BU5D_t1108656482* L_30 = L_27;
		Il2CppChar L_31 = V_4;
		Il2CppChar L_32 = L_31;
		Il2CppObject * L_33 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_32);
		ArrayElementTypeCheck (L_30, L_33);
		(L_30)->SetAt(static_cast<il2cpp_array_size_t>(2), (Il2CppObject *)L_33);
		ObjectU5BU5D_t1108656482* L_34 = L_30;
		String_t* L_35 = V_0;
		Il2CppChar L_36 = String_get_Chars_m3015341861(L_35, ((int32_t)13), /*hidden argument*/NULL);
		Il2CppChar L_37 = L_36;
		Il2CppObject * L_38 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_37);
		ArrayElementTypeCheck (L_34, L_38);
		(L_34)->SetAt(static_cast<il2cpp_array_size_t>(3), (Il2CppObject *)L_38);
		ObjectU5BU5D_t1108656482* L_39 = L_34;
		String_t* L_40 = V_0;
		Il2CppChar L_41 = String_get_Chars_m3015341861(L_40, ((int32_t)14), /*hidden argument*/NULL);
		Il2CppChar L_42 = L_41;
		Il2CppObject * L_43 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_42);
		ArrayElementTypeCheck (L_39, L_43);
		(L_39)->SetAt(static_cast<il2cpp_array_size_t>(4), (Il2CppObject *)L_43);
		ObjectU5BU5D_t1108656482* L_44 = L_39;
		String_t* L_45 = V_0;
		Il2CppChar L_46 = String_get_Chars_m3015341861(L_45, ((int32_t)15), /*hidden argument*/NULL);
		Il2CppChar L_47 = L_46;
		Il2CppObject * L_48 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_47);
		ArrayElementTypeCheck (L_44, L_48);
		(L_44)->SetAt(static_cast<il2cpp_array_size_t>(5), (Il2CppObject *)L_48);
		ObjectU5BU5D_t1108656482* L_49 = L_44;
		String_t* L_50 = V_0;
		Il2CppChar L_51 = String_get_Chars_m3015341861(L_50, ((int32_t)16), /*hidden argument*/NULL);
		Il2CppChar L_52 = L_51;
		Il2CppObject * L_53 = Box(Char_t2862622538_il2cpp_TypeInfo_var, &L_52);
		ArrayElementTypeCheck (L_49, L_53);
		(L_49)->SetAt(static_cast<il2cpp_array_size_t>(6), (Il2CppObject *)L_53);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_54 = String_Format_m4050103162(NULL /*static, unused*/, _stringLiteral4456883, L_49, /*hidden argument*/NULL);
		V_0 = L_54;
		V_1 = _stringLiteral3452503002;
		goto IL_016b;
	}

IL_016b:
	{
		String_t* L_55 = V_0;
		String_t* L_56 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_57 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t4283661327_il2cpp_TypeInfo_var);
		DateTime_t4283661327  L_58 = DateTime_ParseExact_m3158704214(NULL /*static, unused*/, L_55, L_56, L_57, ((int32_t)16), /*hidden argument*/NULL);
		return L_58;
	}
}
// System.Byte[] Mono.Security.BitConverterLE::GetUIntBytes(System.Byte*)
extern Il2CppClass* BitConverter_t1260277767_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t BitConverterLE_GetUIntBytes_m262034205_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* BitConverterLE_GetUIntBytes_m262034205 (Il2CppObject * __this /* static, unused */, uint8_t* ___bytes0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BitConverterLE_GetUIntBytes_m262034205_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t1260277767_il2cpp_TypeInfo_var);
		bool L_0 = ((BitConverter_t1260277767_StaticFields*)BitConverter_t1260277767_il2cpp_TypeInfo_var->static_fields)->get_IsLittleEndian_1();
		if (!L_0)
		{
			goto IL_002b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4));
		uint8_t* L_2 = ___bytes0;
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(*((uint8_t*)L_2)));
		ByteU5BU5D_t4260760469* L_3 = L_1;
		uint8_t* L_4 = ___bytes0;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_4+(int32_t)1)))));
		ByteU5BU5D_t4260760469* L_5 = L_3;
		uint8_t* L_6 = ___bytes0;
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_6+(int32_t)2)))));
		ByteU5BU5D_t4260760469* L_7 = L_5;
		uint8_t* L_8 = ___bytes0;
		(L_7)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_8+(int32_t)3)))));
		return L_7;
	}

IL_002b:
	{
		ByteU5BU5D_t4260760469* L_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4));
		uint8_t* L_10 = ___bytes0;
		(L_9)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_10+(int32_t)3)))));
		ByteU5BU5D_t4260760469* L_11 = L_9;
		uint8_t* L_12 = ___bytes0;
		(L_11)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_12+(int32_t)2)))));
		ByteU5BU5D_t4260760469* L_13 = L_11;
		uint8_t* L_14 = ___bytes0;
		(L_13)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_14+(int32_t)1)))));
		ByteU5BU5D_t4260760469* L_15 = L_13;
		uint8_t* L_16 = ___bytes0;
		(L_15)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(*((uint8_t*)L_16)));
		return L_15;
	}
}
// System.Byte[] Mono.Security.BitConverterLE::GetBytes(System.Int32)
extern "C"  ByteU5BU5D_t4260760469* BitConverterLE_GetBytes_m3530550987 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = BitConverterLE_GetUIntBytes_m262034205(NULL /*static, unused*/, (uint8_t*)(uint8_t*)(&___value0), /*hidden argument*/NULL);
		return L_0;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::.ctor()
extern Il2CppClass* RC4_t227523609_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed__ctor_m340859770_MetadataUsageId;
extern "C"  void ARC4Managed__ctor_m340859770 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed__ctor_m340859770_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(RC4_t227523609_il2cpp_TypeInfo_var);
		RC4__ctor_m3855683348(__this, /*hidden argument*/NULL);
		__this->set_state_13(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)256))));
		__this->set_m_disposed_16((bool)0);
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::Finalize()
extern "C"  void ARC4Managed_Finalize_m1353226920 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		VirtActionInvoker1< bool >::Invoke(5 /* System.Void Mono.Security.Cryptography.ARC4Managed::Dispose(System.Boolean) */, __this, (bool)1);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		SymmetricAlgorithm_Finalize_m591291609(__this, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(12)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(12)
	{
		IL2CPP_JUMP_TBL(0x13, IL_0013)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::Dispose(System.Boolean)
extern "C"  void ARC4Managed_Dispose_m3405830766 (ARC4Managed_t1354014707 * __this, bool ___disposing0, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_m_disposed_16();
		if (L_0)
		{
			goto IL_0067;
		}
	}
	{
		__this->set_x_14(0);
		__this->set_y_15(0);
		ByteU5BU5D_t4260760469* L_1 = __this->get_key_12();
		if (!L_1)
		{
			goto IL_003f;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_2 = __this->get_key_12();
		ByteU5BU5D_t4260760469* L_3 = __this->get_key_12();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))), /*hidden argument*/NULL);
		__this->set_key_12((ByteU5BU5D_t4260760469*)NULL);
	}

IL_003f:
	{
		ByteU5BU5D_t4260760469* L_4 = __this->get_state_13();
		ByteU5BU5D_t4260760469* L_5 = __this->get_state_13();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_4, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))), /*hidden argument*/NULL);
		__this->set_state_13((ByteU5BU5D_t4260760469*)NULL);
		GC_SuppressFinalize_m1160635446(NULL /*static, unused*/, __this, /*hidden argument*/NULL);
		__this->set_m_disposed_16((bool)1);
	}

IL_0067:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.ARC4Managed::get_Key()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_get_Key_m2464321124_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* ARC4Managed_get_Key_m2464321124 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_get_Key_m2464321124_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_key_12();
		Il2CppObject * L_1 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_1, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::set_Key(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_set_Key_m1483606703_MetadataUsageId;
extern "C"  void ARC4Managed_set_Key_m1483606703 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_set_Key_m1483606703_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		Il2CppObject * L_1 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		__this->set_key_12(((ByteU5BU5D_t4260760469*)Castclass(L_1, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)));
		ByteU5BU5D_t4260760469* L_2 = __this->get_key_12();
		ARC4Managed_KeySetup_m705764065(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Cryptography.ARC4Managed::get_CanReuseTransform()
extern "C"  bool ARC4Managed_get_CanReuseTransform_m1071201641 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	{
		return (bool)0;
	}
}
// System.Security.Cryptography.ICryptoTransform Mono.Security.Cryptography.ARC4Managed::CreateEncryptor(System.Byte[],System.Byte[])
extern "C"  Il2CppObject * ARC4Managed_CreateEncryptor_m2178579654 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___rgbKey0, ByteU5BU5D_t4260760469* ___rgvIV1, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___rgbKey0;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void Mono.Security.Cryptography.ARC4Managed::set_Key(System.Byte[]) */, __this, L_0);
		return __this;
	}
}
// System.Security.Cryptography.ICryptoTransform Mono.Security.Cryptography.ARC4Managed::CreateDecryptor(System.Byte[],System.Byte[])
extern "C"  Il2CppObject * ARC4Managed_CreateDecryptor_m1872851102 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___rgbKey0, ByteU5BU5D_t4260760469* ___rgvIV1, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___rgbKey0;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void Mono.Security.Cryptography.ARC4Managed::set_Key(System.Byte[]) */, __this, L_0);
		Il2CppObject * L_1 = VirtFuncInvoker0< Il2CppObject * >::Invoke(22 /* System.Security.Cryptography.ICryptoTransform System.Security.Cryptography.SymmetricAlgorithm::CreateEncryptor() */, __this);
		return L_1;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::GenerateIV()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_GenerateIV_m2349135020_MetadataUsageId;
extern "C"  void ARC4Managed_GenerateIV_m2349135020 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_GenerateIV_m2349135020_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Void Mono.Security.Cryptography.RC4::set_IV(System.Byte[]) */, __this, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0)));
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::GenerateKey()
extern "C"  void ARC4Managed_GenerateKey_m4106080642 (ARC4Managed_t1354014707 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = ((SymmetricAlgorithm_t3097904804 *)__this)->get_KeySizeValue_2();
		ByteU5BU5D_t4260760469* L_1 = KeyBuilder_Key_m2026570507(NULL /*static, unused*/, ((int32_t)((int32_t)L_0>>(int32_t)3)), /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void Mono.Security.Cryptography.ARC4Managed::set_Key(System.Byte[]) */, __this, L_1);
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::KeySetup(System.Byte[])
extern "C"  void ARC4Managed_KeySetup_m705764065 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___key0, const MethodInfo* method)
{
	uint8_t V_0 = 0x0;
	uint8_t V_1 = 0x0;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	uint8_t V_4 = 0x0;
	{
		V_0 = 0;
		V_1 = 0;
		V_2 = 0;
		goto IL_0019;
	}

IL_000b:
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_state_13();
		int32_t L_1 = V_2;
		int32_t L_2 = V_2;
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)(((int32_t)((uint8_t)L_2))));
		int32_t L_3 = V_2;
		V_2 = ((int32_t)((int32_t)L_3+(int32_t)1));
	}

IL_0019:
	{
		int32_t L_4 = V_2;
		if ((((int32_t)L_4) < ((int32_t)((int32_t)256))))
		{
			goto IL_000b;
		}
	}
	{
		__this->set_x_14(0);
		__this->set_y_15(0);
		V_3 = 0;
		goto IL_007a;
	}

IL_0039:
	{
		ByteU5BU5D_t4260760469* L_5 = ___key0;
		uint8_t L_6 = V_0;
		uint8_t L_7 = L_6;
		uint8_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		ByteU5BU5D_t4260760469* L_9 = __this->get_state_13();
		int32_t L_10 = V_3;
		int32_t L_11 = L_10;
		uint8_t L_12 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_11));
		uint8_t L_13 = V_1;
		V_1 = (((int32_t)((uint8_t)((int32_t)((int32_t)((int32_t)((int32_t)L_8+(int32_t)L_12))+(int32_t)L_13)))));
		ByteU5BU5D_t4260760469* L_14 = __this->get_state_13();
		int32_t L_15 = V_3;
		int32_t L_16 = L_15;
		uint8_t L_17 = (L_14)->GetAt(static_cast<il2cpp_array_size_t>(L_16));
		V_4 = L_17;
		ByteU5BU5D_t4260760469* L_18 = __this->get_state_13();
		int32_t L_19 = V_3;
		ByteU5BU5D_t4260760469* L_20 = __this->get_state_13();
		uint8_t L_21 = V_1;
		uint8_t L_22 = L_21;
		uint8_t L_23 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_22));
		(L_18)->SetAt(static_cast<il2cpp_array_size_t>(L_19), (uint8_t)L_23);
		ByteU5BU5D_t4260760469* L_24 = __this->get_state_13();
		uint8_t L_25 = V_1;
		uint8_t L_26 = V_4;
		(L_24)->SetAt(static_cast<il2cpp_array_size_t>(L_25), (uint8_t)L_26);
		uint8_t L_27 = V_0;
		ByteU5BU5D_t4260760469* L_28 = ___key0;
		V_0 = (((int32_t)((uint8_t)((int32_t)((int32_t)((int32_t)((int32_t)L_27+(int32_t)1))%(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_28)->max_length)))))))));
		int32_t L_29 = V_3;
		V_3 = ((int32_t)((int32_t)L_29+(int32_t)1));
	}

IL_007a:
	{
		int32_t L_30 = V_3;
		if ((((int32_t)L_30) < ((int32_t)((int32_t)256))))
		{
			goto IL_0039;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::CheckInput(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3502856362;
extern Il2CppCodeGenString* _stringLiteral3861195005;
extern Il2CppCodeGenString* _stringLiteral58700;
extern Il2CppCodeGenString* _stringLiteral1360680805;
extern Il2CppCodeGenString* _stringLiteral594286626;
extern const uint32_t ARC4Managed_CheckInput_m3884405629_MetadataUsageId;
extern "C"  void ARC4Managed_CheckInput_m3884405629 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_CheckInput_m3884405629_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ___inputBuffer0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral3502856362, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		int32_t L_2 = ___inputOffset1;
		if ((((int32_t)L_2) >= ((int32_t)0)))
		{
			goto IL_0028;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_3 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1193970951(L_3, _stringLiteral3861195005, _stringLiteral58700, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0028:
	{
		int32_t L_4 = ___inputCount2;
		if ((((int32_t)L_4) >= ((int32_t)0)))
		{
			goto IL_003f;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_5 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1193970951(L_5, _stringLiteral1360680805, _stringLiteral58700, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003f:
	{
		int32_t L_6 = ___inputOffset1;
		ByteU5BU5D_t4260760469* L_7 = ___inputBuffer0;
		int32_t L_8 = ___inputCount2;
		if ((((int32_t)L_6) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length))))-(int32_t)L_8)))))
		{
			goto IL_005f;
		}
	}
	{
		String_t* L_9 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral594286626, /*hidden argument*/NULL);
		ArgumentException_t928607144 * L_10 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m732321503(L_10, _stringLiteral3502856362, L_9, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_005f:
	{
		return;
	}
}
// System.Int32 Mono.Security.Cryptography.ARC4Managed::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3678475425;
extern Il2CppCodeGenString* _stringLiteral4036814068;
extern Il2CppCodeGenString* _stringLiteral58700;
extern Il2CppCodeGenString* _stringLiteral594286626;
extern const uint32_t ARC4Managed_TransformBlock_m961675998_MetadataUsageId;
extern "C"  int32_t ARC4Managed_TransformBlock_m961675998 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, ByteU5BU5D_t4260760469* ___outputBuffer3, int32_t ___outputOffset4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_TransformBlock_m961675998_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ___inputBuffer0;
		int32_t L_1 = ___inputOffset1;
		int32_t L_2 = ___inputCount2;
		ARC4Managed_CheckInput_m3884405629(__this, L_0, L_1, L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = ___outputBuffer3;
		if (L_3)
		{
			goto IL_001b;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_4 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_4, _stringLiteral3678475425, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001b:
	{
		int32_t L_5 = ___outputOffset4;
		if ((((int32_t)L_5) >= ((int32_t)0)))
		{
			goto IL_0033;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_6 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1193970951(L_6, _stringLiteral4036814068, _stringLiteral58700, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0033:
	{
		int32_t L_7 = ___outputOffset4;
		ByteU5BU5D_t4260760469* L_8 = ___outputBuffer3;
		int32_t L_9 = ___inputCount2;
		if ((((int32_t)L_7) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length))))-(int32_t)L_9)))))
		{
			goto IL_0055;
		}
	}
	{
		String_t* L_10 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral594286626, /*hidden argument*/NULL);
		ArgumentException_t928607144 * L_11 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m732321503(L_11, _stringLiteral3678475425, L_10, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0055:
	{
		ByteU5BU5D_t4260760469* L_12 = ___inputBuffer0;
		int32_t L_13 = ___inputOffset1;
		int32_t L_14 = ___inputCount2;
		ByteU5BU5D_t4260760469* L_15 = ___outputBuffer3;
		int32_t L_16 = ___outputOffset4;
		int32_t L_17 = ARC4Managed_InternalTransformBlock_m158418811(__this, L_12, L_13, L_14, L_15, L_16, /*hidden argument*/NULL);
		return L_17;
	}
}
// System.Int32 Mono.Security.Cryptography.ARC4Managed::InternalTransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
extern "C"  int32_t ARC4Managed_InternalTransformBlock_m158418811 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, ByteU5BU5D_t4260760469* ___outputBuffer3, int32_t ___outputOffset4, const MethodInfo* method)
{
	uint8_t V_0 = 0x0;
	int32_t V_1 = 0;
	uint8_t V_2 = 0x0;
	{
		V_1 = 0;
		goto IL_009e;
	}

IL_0007:
	{
		uint8_t L_0 = __this->get_x_14();
		__this->set_x_14((((int32_t)((uint8_t)((int32_t)((int32_t)L_0+(int32_t)1))))));
		ByteU5BU5D_t4260760469* L_1 = __this->get_state_13();
		uint8_t L_2 = __this->get_x_14();
		uint8_t L_3 = L_2;
		uint8_t L_4 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		uint8_t L_5 = __this->get_y_15();
		__this->set_y_15((((int32_t)((uint8_t)((int32_t)((int32_t)L_4+(int32_t)L_5))))));
		ByteU5BU5D_t4260760469* L_6 = __this->get_state_13();
		uint8_t L_7 = __this->get_x_14();
		uint8_t L_8 = L_7;
		uint8_t L_9 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_8));
		V_2 = L_9;
		ByteU5BU5D_t4260760469* L_10 = __this->get_state_13();
		uint8_t L_11 = __this->get_x_14();
		ByteU5BU5D_t4260760469* L_12 = __this->get_state_13();
		uint8_t L_13 = __this->get_y_15();
		uint8_t L_14 = L_13;
		uint8_t L_15 = (L_12)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		(L_10)->SetAt(static_cast<il2cpp_array_size_t>(L_11), (uint8_t)L_15);
		ByteU5BU5D_t4260760469* L_16 = __this->get_state_13();
		uint8_t L_17 = __this->get_y_15();
		uint8_t L_18 = V_2;
		(L_16)->SetAt(static_cast<il2cpp_array_size_t>(L_17), (uint8_t)L_18);
		ByteU5BU5D_t4260760469* L_19 = __this->get_state_13();
		uint8_t L_20 = __this->get_x_14();
		uint8_t L_21 = L_20;
		uint8_t L_22 = (L_19)->GetAt(static_cast<il2cpp_array_size_t>(L_21));
		ByteU5BU5D_t4260760469* L_23 = __this->get_state_13();
		uint8_t L_24 = __this->get_y_15();
		uint8_t L_25 = L_24;
		uint8_t L_26 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_25));
		V_0 = (((int32_t)((uint8_t)((int32_t)((int32_t)L_22+(int32_t)L_26)))));
		ByteU5BU5D_t4260760469* L_27 = ___outputBuffer3;
		int32_t L_28 = ___outputOffset4;
		int32_t L_29 = V_1;
		ByteU5BU5D_t4260760469* L_30 = ___inputBuffer0;
		int32_t L_31 = ___inputOffset1;
		int32_t L_32 = V_1;
		int32_t L_33 = ((int32_t)((int32_t)L_31+(int32_t)L_32));
		uint8_t L_34 = (L_30)->GetAt(static_cast<il2cpp_array_size_t>(L_33));
		ByteU5BU5D_t4260760469* L_35 = __this->get_state_13();
		uint8_t L_36 = V_0;
		uint8_t L_37 = L_36;
		uint8_t L_38 = (L_35)->GetAt(static_cast<il2cpp_array_size_t>(L_37));
		(L_27)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_28+(int32_t)L_29))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_34^(int32_t)L_38))))));
		int32_t L_39 = V_1;
		V_1 = ((int32_t)((int32_t)L_39+(int32_t)1));
	}

IL_009e:
	{
		int32_t L_40 = V_1;
		int32_t L_41 = ___inputCount2;
		if ((((int32_t)L_40) < ((int32_t)L_41)))
		{
			goto IL_0007;
		}
	}
	{
		int32_t L_42 = ___inputCount2;
		return L_42;
	}
}
// System.Byte[] Mono.Security.Cryptography.ARC4Managed::TransformFinalBlock(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_TransformFinalBlock_m1879343064_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* ARC4Managed_TransformFinalBlock_m1879343064 (ARC4Managed_t1354014707 * __this, ByteU5BU5D_t4260760469* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_TransformFinalBlock_m1879343064_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___inputBuffer0;
		int32_t L_1 = ___inputOffset1;
		int32_t L_2 = ___inputCount2;
		ARC4Managed_CheckInput_m3884405629(__this, L_0, L_1, L_2, /*hidden argument*/NULL);
		int32_t L_3 = ___inputCount2;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_3));
		ByteU5BU5D_t4260760469* L_4 = ___inputBuffer0;
		int32_t L_5 = ___inputOffset1;
		int32_t L_6 = ___inputCount2;
		ByteU5BU5D_t4260760469* L_7 = V_0;
		ARC4Managed_InternalTransformBlock_m158418811(__this, L_4, L_5, L_6, L_7, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_8 = V_0;
		return L_8;
	}
}
// System.String Mono.Security.Cryptography.CryptoConvert::ToHex(System.Byte[])
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2778;
extern const uint32_t CryptoConvert_ToHex_m1331445157_MetadataUsageId;
extern "C"  String_t* CryptoConvert_ToHex_m1331445157 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___input0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CryptoConvert_ToHex_m1331445157_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	StringBuilder_t243639308 * V_0 = NULL;
	uint8_t V_1 = 0x0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	int32_t V_3 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___input0;
		if (L_0)
		{
			goto IL_0008;
		}
	}
	{
		return (String_t*)NULL;
	}

IL_0008:
	{
		ByteU5BU5D_t4260760469* L_1 = ___input0;
		StringBuilder_t243639308 * L_2 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3624398269(L_2, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))*(int32_t)2)), /*hidden argument*/NULL);
		V_0 = L_2;
		ByteU5BU5D_t4260760469* L_3 = ___input0;
		V_2 = L_3;
		V_3 = 0;
		goto IL_003c;
	}

IL_001c:
	{
		ByteU5BU5D_t4260760469* L_4 = V_2;
		int32_t L_5 = V_3;
		int32_t L_6 = L_5;
		uint8_t L_7 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		V_1 = L_7;
		StringBuilder_t243639308 * L_8 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_9 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_10 = Byte_ToString_m1210459538((&V_1), _stringLiteral2778, L_9, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_8, L_10, /*hidden argument*/NULL);
		int32_t L_11 = V_3;
		V_3 = ((int32_t)((int32_t)L_11+(int32_t)1));
	}

IL_003c:
	{
		int32_t L_12 = V_3;
		ByteU5BU5D_t4260760469* L_13 = V_2;
		if ((((int32_t)L_12) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))))))
		{
			goto IL_001c;
		}
	}
	{
		StringBuilder_t243639308 * L_14 = V_0;
		String_t* L_15 = StringBuilder_ToString_m350379841(L_14, /*hidden argument*/NULL);
		return L_15;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::.ctor(System.String,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral76158;
extern const uint32_t HMAC__ctor_m3969743837_MetadataUsageId;
extern "C"  void HMAC__ctor_m3969743837 (HMAC_t2066897019 * __this, String_t* ___hashName0, ByteU5BU5D_t4260760469* ___rgbKey1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HMAC__ctor_m3969743837_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		KeyedHashAlgorithm__ctor_m3887748574(__this, /*hidden argument*/NULL);
		String_t* L_0 = ___hashName0;
		if (!L_0)
		{
			goto IL_0017;
		}
	}
	{
		String_t* L_1 = ___hashName0;
		int32_t L_2 = String_get_Length_m2979997331(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_001e;
		}
	}

IL_0017:
	{
		___hashName0 = _stringLiteral76158;
	}

IL_001e:
	{
		String_t* L_3 = ___hashName0;
		HashAlgorithm_t532578791 * L_4 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
		__this->set_hash_5(L_4);
		HashAlgorithm_t532578791 * L_5 = __this->get_hash_5();
		int32_t L_6 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_5);
		((HashAlgorithm_t532578791 *)__this)->set_HashSizeValue_1(L_6);
		ByteU5BU5D_t4260760469* L_7 = ___rgbKey1;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length))))) <= ((int32_t)((int32_t)64))))
		{
			goto IL_005c;
		}
	}
	{
		HashAlgorithm_t532578791 * L_8 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_9 = ___rgbKey1;
		ByteU5BU5D_t4260760469* L_10 = HashAlgorithm_ComputeHash_m1325366732(L_8, L_9, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1039941647 *)__this)->set_KeyValue_4(L_10);
		goto IL_006d;
	}

IL_005c:
	{
		ByteU5BU5D_t4260760469* L_11 = ___rgbKey1;
		Il2CppObject * L_12 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_11, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1039941647 *)__this)->set_KeyValue_4(((ByteU5BU5D_t4260760469*)Castclass(L_12, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)));
	}

IL_006d:
	{
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.HMAC::Initialize() */, __this);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.HMAC::get_Key()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_get_Key_m2760207782_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* HMAC_get_Key_m2760207782 (HMAC_t2066897019 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HMAC_get_Key_m2760207782_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ((KeyedHashAlgorithm_t1039941647 *)__this)->get_KeyValue_4();
		Il2CppObject * L_1 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_1, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.HMAC::set_Key(System.Byte[])
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral332300206;
extern const uint32_t HMAC_set_Key_m1481428161_MetadataUsageId;
extern "C"  void HMAC_set_Key_m1481428161 (HMAC_t2066897019 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HMAC_set_Key_m1481428161_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_hashing_6();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		Exception_t3991598821 * L_1 = (Exception_t3991598821 *)il2cpp_codegen_object_new(Exception_t3991598821_il2cpp_TypeInfo_var);
		Exception__ctor_m3870771296(L_1, _stringLiteral332300206, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		ByteU5BU5D_t4260760469* L_2 = ___value0;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length))))) <= ((int32_t)((int32_t)64))))
		{
			goto IL_0037;
		}
	}
	{
		HashAlgorithm_t532578791 * L_3 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_4 = ___value0;
		ByteU5BU5D_t4260760469* L_5 = HashAlgorithm_ComputeHash_m1325366732(L_3, L_4, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1039941647 *)__this)->set_KeyValue_4(L_5);
		goto IL_0048;
	}

IL_0037:
	{
		ByteU5BU5D_t4260760469* L_6 = ___value0;
		Il2CppObject * L_7 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_6, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1039941647 *)__this)->set_KeyValue_4(((ByteU5BU5D_t4260760469*)Castclass(L_7, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)));
	}

IL_0048:
	{
		HMAC_initializePad_m2313790985(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::Initialize()
extern "C"  void HMAC_Initialize_m1123559404 (HMAC_t2066897019 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t532578791 * L_0 = __this->get_hash_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HMAC_initializePad_m2313790985(__this, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)0);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.HMAC::HashFinal()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_HashFinal_m3498276984_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* HMAC_HashFinal_m3498276984 (HMAC_t2066897019 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HMAC_HashFinal_m3498276984_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0034;
		}
	}
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_2 = __this->get_innerPad_7();
		ByteU5BU5D_t4260760469* L_3 = __this->get_innerPad_7();
		ByteU5BU5D_t4260760469* L_4 = __this->get_innerPad_7();
		HashAlgorithm_TransformBlock_m3829135048(L_1, L_2, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))), L_4, 0, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)1);
	}

IL_0034:
	{
		HashAlgorithm_t532578791 * L_5 = __this->get_hash_5();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_5, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_6 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_6);
		V_0 = L_7;
		HashAlgorithm_t532578791 * L_8 = __this->get_hash_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_8);
		HashAlgorithm_t532578791 * L_9 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_10 = __this->get_outerPad_8();
		ByteU5BU5D_t4260760469* L_11 = __this->get_outerPad_8();
		ByteU5BU5D_t4260760469* L_12 = __this->get_outerPad_8();
		HashAlgorithm_TransformBlock_m3829135048(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_13 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_14 = V_0;
		ByteU5BU5D_t4260760469* L_15 = V_0;
		HashAlgorithm_TransformFinalBlock_m1193599374(L_13, L_14, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_15)->max_length)))), /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.HMAC::Initialize() */, __this);
		HashAlgorithm_t532578791 * L_16 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_17 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_16);
		return L_17;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::HashCore(System.Byte[],System.Int32,System.Int32)
extern "C"  void HMAC_HashCore_m3652556320 (HMAC_t2066897019 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0034;
		}
	}
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_2 = __this->get_innerPad_7();
		ByteU5BU5D_t4260760469* L_3 = __this->get_innerPad_7();
		ByteU5BU5D_t4260760469* L_4 = __this->get_innerPad_7();
		HashAlgorithm_TransformBlock_m3829135048(L_1, L_2, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))), L_4, 0, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)1);
	}

IL_0034:
	{
		HashAlgorithm_t532578791 * L_5 = __this->get_hash_5();
		ByteU5BU5D_t4260760469* L_6 = ___array0;
		int32_t L_7 = ___ibStart1;
		int32_t L_8 = ___cbSize2;
		ByteU5BU5D_t4260760469* L_9 = ___array0;
		int32_t L_10 = ___ibStart1;
		HashAlgorithm_TransformBlock_m3829135048(L_5, L_6, L_7, L_8, L_9, L_10, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::initializePad()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_initializePad_m2313790985_MetadataUsageId;
extern "C"  void HMAC_initializePad_m2313790985 (HMAC_t2066897019 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HMAC_initializePad_m2313790985_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		__this->set_innerPad_7(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		__this->set_outerPad_8(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		V_0 = 0;
		goto IL_004d;
	}

IL_0021:
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_innerPad_7();
		int32_t L_1 = V_0;
		ByteU5BU5D_t4260760469* L_2 = ((KeyedHashAlgorithm_t1039941647 *)__this)->get_KeyValue_4();
		int32_t L_3 = V_0;
		int32_t L_4 = L_3;
		uint8_t L_5 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_5^(int32_t)((int32_t)54)))))));
		ByteU5BU5D_t4260760469* L_6 = __this->get_outerPad_8();
		int32_t L_7 = V_0;
		ByteU5BU5D_t4260760469* L_8 = ((KeyedHashAlgorithm_t1039941647 *)__this)->get_KeyValue_4();
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint8_t L_11 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(L_7), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_11^(int32_t)((int32_t)92)))))));
		int32_t L_12 = V_0;
		V_0 = ((int32_t)((int32_t)L_12+(int32_t)1));
	}

IL_004d:
	{
		int32_t L_13 = V_0;
		ByteU5BU5D_t4260760469* L_14 = ((KeyedHashAlgorithm_t1039941647 *)__this)->get_KeyValue_4();
		if ((((int32_t)L_13) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))))))
		{
			goto IL_0021;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_15 = ((KeyedHashAlgorithm_t1039941647 *)__this)->get_KeyValue_4();
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_15)->max_length))));
		goto IL_0081;
	}

IL_0069:
	{
		ByteU5BU5D_t4260760469* L_16 = __this->get_innerPad_7();
		int32_t L_17 = V_1;
		(L_16)->SetAt(static_cast<il2cpp_array_size_t>(L_17), (uint8_t)((int32_t)54));
		ByteU5BU5D_t4260760469* L_18 = __this->get_outerPad_8();
		int32_t L_19 = V_1;
		(L_18)->SetAt(static_cast<il2cpp_array_size_t>(L_19), (uint8_t)((int32_t)92));
		int32_t L_20 = V_1;
		V_1 = ((int32_t)((int32_t)L_20+(int32_t)1));
	}

IL_0081:
	{
		int32_t L_21 = V_1;
		if ((((int32_t)L_21) < ((int32_t)((int32_t)64))))
		{
			goto IL_0069;
		}
	}
	{
		return;
	}
}
// System.Security.Cryptography.RandomNumberGenerator Mono.Security.Cryptography.KeyBuilder::get_Rng()
extern Il2CppClass* KeyBuilder_t373726641_il2cpp_TypeInfo_var;
extern const uint32_t KeyBuilder_get_Rng_m1400512726_MetadataUsageId;
extern "C"  RandomNumberGenerator_t1757673517 * KeyBuilder_get_Rng_m1400512726 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (KeyBuilder_get_Rng_m1400512726_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		RandomNumberGenerator_t1757673517 * L_0 = ((KeyBuilder_t373726641_StaticFields*)KeyBuilder_t373726641_il2cpp_TypeInfo_var->static_fields)->get_rng_0();
		if (L_0)
		{
			goto IL_0014;
		}
	}
	{
		RandomNumberGenerator_t1757673517 * L_1 = RandomNumberGenerator_Create_m2029084057(NULL /*static, unused*/, /*hidden argument*/NULL);
		((KeyBuilder_t373726641_StaticFields*)KeyBuilder_t373726641_il2cpp_TypeInfo_var->static_fields)->set_rng_0(L_1);
	}

IL_0014:
	{
		RandomNumberGenerator_t1757673517 * L_2 = ((KeyBuilder_t373726641_StaticFields*)KeyBuilder_t373726641_il2cpp_TypeInfo_var->static_fields)->get_rng_0();
		return L_2;
	}
}
// System.Byte[] Mono.Security.Cryptography.KeyBuilder::Key(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t KeyBuilder_Key_m2026570507_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* KeyBuilder_Key_m2026570507 (Il2CppObject * __this /* static, unused */, int32_t ___size0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (KeyBuilder_Key_m2026570507_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		int32_t L_0 = ___size0;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_0));
		RandomNumberGenerator_t1757673517 * L_1 = KeyBuilder_get_Rng_m1400512726(NULL /*static, unused*/, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_2 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_1, L_2);
		ByteU5BU5D_t4260760469* L_3 = V_0;
		return L_3;
	}
}
// System.Void Mono.Security.Cryptography.MD2::.ctor()
extern "C"  void MD2__ctor_m1806345404 (MD2_t227518833 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m1204858244(__this, /*hidden argument*/NULL);
		((HashAlgorithm_t532578791 *)__this)->set_HashSizeValue_1(((int32_t)128));
		return;
	}
}
// Mono.Security.Cryptography.MD2 Mono.Security.Cryptography.MD2::Create()
extern Il2CppCodeGenString* _stringLiteral76155;
extern const uint32_t MD2_Create_m1400591135_MetadataUsageId;
extern "C"  MD2_t227518833 * MD2_Create_m1400591135 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2_Create_m1400591135_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		MD2_t227518833 * L_0 = MD2_Create_m2231408195(NULL /*static, unused*/, _stringLiteral76155, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.Cryptography.MD2 Mono.Security.Cryptography.MD2::Create(System.String)
extern Il2CppClass* CryptoConfig_t1703322959_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2Managed_t915988216_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2_t227518833_il2cpp_TypeInfo_var;
extern const uint32_t MD2_Create_m2231408195_MetadataUsageId;
extern "C"  MD2_t227518833 * MD2_Create_m2231408195 (Il2CppObject * __this /* static, unused */, String_t* ___hashName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2_Create_m2231408195_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	{
		String_t* L_0 = ___hashName0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t1703322959_il2cpp_TypeInfo_var);
		Il2CppObject * L_1 = CryptoConfig_CreateFromName_m3477093824(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		MD2Managed_t915988216 * L_3 = (MD2Managed_t915988216 *)il2cpp_codegen_object_new(MD2Managed_t915988216_il2cpp_TypeInfo_var);
		MD2Managed__ctor_m2257535371(L_3, /*hidden argument*/NULL);
		V_0 = L_3;
	}

IL_0013:
	{
		Il2CppObject * L_4 = V_0;
		return ((MD2_t227518833 *)CastclassClass(L_4, MD2_t227518833_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::.ctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed__ctor_m2257535371_MetadataUsageId;
extern "C"  void MD2Managed__ctor_m2257535371 (MD2Managed_t915988216 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed__ctor_m2257535371_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		MD2__ctor_m1806345404(__this, /*hidden argument*/NULL);
		__this->set_state_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_checksum_5(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_buffer_6(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_x_8(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48))));
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD2Managed::Initialize() */, __this);
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::.cctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2Managed_t915988216_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D5_1_FieldInfo_var;
extern const uint32_t MD2Managed__cctor_m782023554_MetadataUsageId;
extern "C"  void MD2Managed__cctor_m782023554 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed__cctor_m782023554_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)256)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D5_1_FieldInfo_var), /*hidden argument*/NULL);
		((MD2Managed_t915988216_StaticFields*)MD2Managed_t915988216_il2cpp_TypeInfo_var->static_fields)->set_PI_SUBST_9(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD2Managed::Padding(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_Padding_m3531272693_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD2Managed_Padding_m3531272693 (MD2Managed_t915988216 * __this, int32_t ___nLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_Padding_m3531272693_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	int32_t V_1 = 0;
	{
		int32_t L_0 = ___nLength0;
		if ((((int32_t)L_0) <= ((int32_t)0)))
		{
			goto IL_0029;
		}
	}
	{
		int32_t L_1 = ___nLength0;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_1));
		V_1 = 0;
		goto IL_001e;
	}

IL_0015:
	{
		ByteU5BU5D_t4260760469* L_2 = V_0;
		int32_t L_3 = V_1;
		int32_t L_4 = ___nLength0;
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(L_3), (uint8_t)(((int32_t)((uint8_t)L_4))));
		int32_t L_5 = V_1;
		V_1 = ((int32_t)((int32_t)L_5+(int32_t)1));
	}

IL_001e:
	{
		int32_t L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = V_0;
		if ((((int32_t)L_6) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))))))
		{
			goto IL_0015;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_8 = V_0;
		return L_8;
	}

IL_0029:
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::Initialize()
extern "C"  void MD2Managed_Initialize_m1198478313 (MD2Managed_t915988216 * __this, const MethodInfo* method)
{
	{
		__this->set_count_7(0);
		ByteU5BU5D_t4260760469* L_0 = __this->get_state_4();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = __this->get_checksum_5();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_2 = __this->get_buffer_6();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = __this->get_x_8();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_3, 0, ((int32_t)48), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::HashCore(System.Byte[],System.Int32,System.Int32)
extern "C"  void MD2Managed_HashCore_m848434243 (MD2Managed_t915988216 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	{
		int32_t L_0 = __this->get_count_7();
		V_1 = L_0;
		int32_t L_1 = V_1;
		int32_t L_2 = ___cbSize2;
		__this->set_count_7(((int32_t)((int32_t)((int32_t)((int32_t)L_1+(int32_t)L_2))&(int32_t)((int32_t)15))));
		int32_t L_3 = V_1;
		V_2 = ((int32_t)((int32_t)((int32_t)16)-(int32_t)L_3));
		int32_t L_4 = ___cbSize2;
		int32_t L_5 = V_2;
		if ((((int32_t)L_4) < ((int32_t)L_5)))
		{
			goto IL_0078;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_6 = ___array0;
		int32_t L_7 = ___ibStart1;
		ByteU5BU5D_t4260760469* L_8 = __this->get_buffer_6();
		int32_t L_9 = V_1;
		int32_t L_10 = V_2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, L_7, (Il2CppArray *)(Il2CppArray *)L_8, L_9, L_10, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = __this->get_state_4();
		ByteU5BU5D_t4260760469* L_12 = __this->get_checksum_5();
		ByteU5BU5D_t4260760469* L_13 = __this->get_buffer_6();
		MD2Managed_MD2Transform_m1178472146(__this, L_11, L_12, L_13, 0, /*hidden argument*/NULL);
		int32_t L_14 = V_2;
		V_0 = L_14;
		goto IL_0067;
	}

IL_004e:
	{
		ByteU5BU5D_t4260760469* L_15 = __this->get_state_4();
		ByteU5BU5D_t4260760469* L_16 = __this->get_checksum_5();
		ByteU5BU5D_t4260760469* L_17 = ___array0;
		int32_t L_18 = V_0;
		MD2Managed_MD2Transform_m1178472146(__this, L_15, L_16, L_17, L_18, /*hidden argument*/NULL);
		int32_t L_19 = V_0;
		V_0 = ((int32_t)((int32_t)L_19+(int32_t)((int32_t)16)));
	}

IL_0067:
	{
		int32_t L_20 = V_0;
		int32_t L_21 = ___cbSize2;
		if ((((int32_t)((int32_t)((int32_t)L_20+(int32_t)((int32_t)15)))) < ((int32_t)L_21)))
		{
			goto IL_004e;
		}
	}
	{
		V_1 = 0;
		goto IL_007a;
	}

IL_0078:
	{
		V_0 = 0;
	}

IL_007a:
	{
		ByteU5BU5D_t4260760469* L_22 = ___array0;
		int32_t L_23 = ___ibStart1;
		int32_t L_24 = V_0;
		ByteU5BU5D_t4260760469* L_25 = __this->get_buffer_6();
		int32_t L_26 = V_1;
		int32_t L_27 = ___cbSize2;
		int32_t L_28 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_22, ((int32_t)((int32_t)L_23+(int32_t)L_24)), (Il2CppArray *)(Il2CppArray *)L_25, L_26, ((int32_t)((int32_t)L_27-(int32_t)L_28)), /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD2Managed::HashFinal()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_HashFinal_m3903508827_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD2Managed_HashFinal_m3903508827 (MD2Managed_t915988216 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_HashFinal_m3903508827_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		int32_t L_0 = __this->get_count_7();
		V_0 = L_0;
		int32_t L_1 = V_0;
		V_1 = ((int32_t)((int32_t)((int32_t)16)-(int32_t)L_1));
		int32_t L_2 = V_1;
		if ((((int32_t)L_2) <= ((int32_t)0)))
		{
			goto IL_0022;
		}
	}
	{
		int32_t L_3 = V_1;
		ByteU5BU5D_t4260760469* L_4 = MD2Managed_Padding_m3531272693(__this, L_3, /*hidden argument*/NULL);
		int32_t L_5 = V_1;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(10 /* System.Void Mono.Security.Cryptography.MD2Managed::HashCore(System.Byte[],System.Int32,System.Int32) */, __this, L_4, 0, L_5);
	}

IL_0022:
	{
		ByteU5BU5D_t4260760469* L_6 = __this->get_checksum_5();
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(10 /* System.Void Mono.Security.Cryptography.MD2Managed::HashCore(System.Byte[],System.Int32,System.Int32) */, __this, L_6, 0, ((int32_t)16));
		ByteU5BU5D_t4260760469* L_7 = __this->get_state_4();
		Il2CppObject * L_8 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_7, /*hidden argument*/NULL);
		V_2 = ((ByteU5BU5D_t4260760469*)Castclass(L_8, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD2Managed::Initialize() */, __this);
		ByteU5BU5D_t4260760469* L_9 = V_2;
		return L_9;
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::MD2Transform(System.Byte[],System.Byte[],System.Byte[],System.Int32)
extern Il2CppClass* MD2Managed_t915988216_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_MD2Transform_m1178472146_MetadataUsageId;
extern "C"  void MD2Managed_MD2Transform_m1178472146 (MD2Managed_t915988216 * __this, ByteU5BU5D_t4260760469* ___state0, ByteU5BU5D_t4260760469* ___checksum1, ByteU5BU5D_t4260760469* ___block2, int32_t ___index3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_MD2Transform_m1178472146_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	uint8_t V_5 = 0x0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___state0;
		ByteU5BU5D_t4260760469* L_1 = __this->get_x_8();
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, 0, (Il2CppArray *)(Il2CppArray *)L_1, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_2 = ___block2;
		int32_t L_3 = ___index3;
		ByteU5BU5D_t4260760469* L_4 = __this->get_x_8();
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, L_3, (Il2CppArray *)(Il2CppArray *)L_4, ((int32_t)16), ((int32_t)16), /*hidden argument*/NULL);
		V_0 = 0;
		goto IL_0043;
	}

IL_0029:
	{
		ByteU5BU5D_t4260760469* L_5 = __this->get_x_8();
		int32_t L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = ___state0;
		int32_t L_8 = V_0;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		ByteU5BU5D_t4260760469* L_11 = ___block2;
		int32_t L_12 = ___index3;
		int32_t L_13 = V_0;
		int32_t L_14 = ((int32_t)((int32_t)L_12+(int32_t)L_13));
		uint8_t L_15 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_6+(int32_t)((int32_t)32)))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_10^(int32_t)L_15))))));
		int32_t L_16 = V_0;
		V_0 = ((int32_t)((int32_t)L_16+(int32_t)1));
	}

IL_0043:
	{
		int32_t L_17 = V_0;
		if ((((int32_t)L_17) < ((int32_t)((int32_t)16))))
		{
			goto IL_0029;
		}
	}
	{
		V_1 = 0;
		V_2 = 0;
		goto IL_0093;
	}

IL_0054:
	{
		V_3 = 0;
		goto IL_007d;
	}

IL_005b:
	{
		ByteU5BU5D_t4260760469* L_18 = __this->get_x_8();
		int32_t L_19 = V_3;
		uint8_t* L_20 = ((L_18)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_19)));
		IL2CPP_RUNTIME_CLASS_INIT(MD2Managed_t915988216_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_21 = ((MD2Managed_t915988216_StaticFields*)MD2Managed_t915988216_il2cpp_TypeInfo_var->static_fields)->get_PI_SUBST_9();
		int32_t L_22 = V_1;
		int32_t L_23 = L_22;
		uint8_t L_24 = (L_21)->GetAt(static_cast<il2cpp_array_size_t>(L_23));
		int32_t L_25 = (((int32_t)((uint8_t)((int32_t)((int32_t)(*((uint8_t*)L_20))^(int32_t)L_24)))));
		V_5 = L_25;
		*((int8_t*)(L_20)) = (int8_t)L_25;
		uint8_t L_26 = V_5;
		V_1 = L_26;
		int32_t L_27 = V_3;
		V_3 = ((int32_t)((int32_t)L_27+(int32_t)1));
	}

IL_007d:
	{
		int32_t L_28 = V_3;
		if ((((int32_t)L_28) < ((int32_t)((int32_t)48))))
		{
			goto IL_005b;
		}
	}
	{
		int32_t L_29 = V_1;
		int32_t L_30 = V_2;
		V_1 = ((int32_t)((int32_t)((int32_t)((int32_t)L_29+(int32_t)L_30))&(int32_t)((int32_t)255)));
		int32_t L_31 = V_2;
		V_2 = ((int32_t)((int32_t)L_31+(int32_t)1));
	}

IL_0093:
	{
		int32_t L_32 = V_2;
		if ((((int32_t)L_32) < ((int32_t)((int32_t)18))))
		{
			goto IL_0054;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_33 = __this->get_x_8();
		ByteU5BU5D_t4260760469* L_34 = ___state0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_33, 0, (Il2CppArray *)(Il2CppArray *)L_34, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_35 = ___checksum1;
		int32_t L_36 = ((int32_t)15);
		uint8_t L_37 = (L_35)->GetAt(static_cast<il2cpp_array_size_t>(L_36));
		V_1 = L_37;
		V_4 = 0;
		goto IL_00e0;
	}

IL_00b8:
	{
		ByteU5BU5D_t4260760469* L_38 = ___checksum1;
		int32_t L_39 = V_4;
		uint8_t* L_40 = ((L_38)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_39)));
		IL2CPP_RUNTIME_CLASS_INIT(MD2Managed_t915988216_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_41 = ((MD2Managed_t915988216_StaticFields*)MD2Managed_t915988216_il2cpp_TypeInfo_var->static_fields)->get_PI_SUBST_9();
		ByteU5BU5D_t4260760469* L_42 = ___block2;
		int32_t L_43 = ___index3;
		int32_t L_44 = V_4;
		int32_t L_45 = ((int32_t)((int32_t)L_43+(int32_t)L_44));
		uint8_t L_46 = (L_42)->GetAt(static_cast<il2cpp_array_size_t>(L_45));
		int32_t L_47 = V_1;
		int32_t L_48 = ((int32_t)((int32_t)L_46^(int32_t)L_47));
		uint8_t L_49 = (L_41)->GetAt(static_cast<il2cpp_array_size_t>(L_48));
		int32_t L_50 = (((int32_t)((uint8_t)((int32_t)((int32_t)(*((uint8_t*)L_40))^(int32_t)L_49)))));
		V_5 = L_50;
		*((int8_t*)(L_40)) = (int8_t)L_50;
		uint8_t L_51 = V_5;
		V_1 = L_51;
		int32_t L_52 = V_4;
		V_4 = ((int32_t)((int32_t)L_52+(int32_t)1));
	}

IL_00e0:
	{
		int32_t L_53 = V_4;
		if ((((int32_t)L_53) < ((int32_t)((int32_t)16))))
		{
			goto IL_00b8;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4::.ctor()
extern "C"  void MD4__ctor_m1413318394 (MD4_t227518835 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m1204858244(__this, /*hidden argument*/NULL);
		((HashAlgorithm_t532578791 *)__this)->set_HashSizeValue_1(((int32_t)128));
		return;
	}
}
// Mono.Security.Cryptography.MD4 Mono.Security.Cryptography.MD4::Create()
extern Il2CppCodeGenString* _stringLiteral76157;
extern const uint32_t MD4_Create_m2349802207_MetadataUsageId;
extern "C"  MD4_t227518835 * MD4_Create_m2349802207 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD4_Create_m2349802207_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		MD4_t227518835 * L_0 = MD4_Create_m3484180099(NULL /*static, unused*/, _stringLiteral76157, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.Cryptography.MD4 Mono.Security.Cryptography.MD4::Create(System.String)
extern Il2CppClass* CryptoConfig_t1703322959_il2cpp_TypeInfo_var;
extern Il2CppClass* MD4Managed_t106641590_il2cpp_TypeInfo_var;
extern Il2CppClass* MD4_t227518835_il2cpp_TypeInfo_var;
extern const uint32_t MD4_Create_m3484180099_MetadataUsageId;
extern "C"  MD4_t227518835 * MD4_Create_m3484180099 (Il2CppObject * __this /* static, unused */, String_t* ___hashName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD4_Create_m3484180099_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	{
		String_t* L_0 = ___hashName0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t1703322959_il2cpp_TypeInfo_var);
		Il2CppObject * L_1 = CryptoConfig_CreateFromName_m3477093824(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		MD4Managed_t106641590 * L_3 = (MD4Managed_t106641590 *)il2cpp_codegen_object_new(MD4Managed_t106641590_il2cpp_TypeInfo_var);
		MD4Managed__ctor_m669187469(L_3, /*hidden argument*/NULL);
		V_0 = L_3;
	}

IL_0013:
	{
		Il2CppObject * L_4 = V_0;
		return ((MD4_t227518835 *)CastclassClass(L_4, MD4_t227518835_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::.ctor()
extern Il2CppClass* UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed__ctor_m669187469_MetadataUsageId;
extern "C"  void MD4Managed__ctor_m669187469 (MD4Managed_t106641590 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed__ctor_m669187469_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		MD4__ctor_m1413318394(__this, /*hidden argument*/NULL);
		__this->set_state_4(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)4)));
		__this->set_count_6(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)2)));
		__this->set_buffer_5(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		__this->set_digest_8(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_x_7(((UInt32U5BU5D_t3230734560*)SZArrayNew(UInt32U5BU5D_t3230734560_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD4Managed::Initialize() */, __this);
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::Initialize()
extern "C"  void MD4Managed_Initialize_m1417333031 (MD4Managed_t106641590 * __this, const MethodInfo* method)
{
	{
		UInt32U5BU5D_t3230734560* L_0 = __this->get_count_6();
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint32_t)0);
		UInt32U5BU5D_t3230734560* L_1 = __this->get_count_6();
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint32_t)0);
		UInt32U5BU5D_t3230734560* L_2 = __this->get_state_4();
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint32_t)((int32_t)1732584193));
		UInt32U5BU5D_t3230734560* L_3 = __this->get_state_4();
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint32_t)((int32_t)-271733879));
		UInt32U5BU5D_t3230734560* L_4 = __this->get_state_4();
		(L_4)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint32_t)((int32_t)-1732584194));
		UInt32U5BU5D_t3230734560* L_5 = __this->get_state_4();
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint32_t)((int32_t)271733878));
		ByteU5BU5D_t4260760469* L_6 = __this->get_buffer_5();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, 0, ((int32_t)64), /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_7 = __this->get_x_7();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_7, 0, ((int32_t)16), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::HashCore(System.Byte[],System.Int32,System.Int32)
extern "C"  void MD4Managed_HashCore_m1409134021 (MD4Managed_t106641590 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	{
		UInt32U5BU5D_t3230734560* L_0 = __this->get_count_6();
		int32_t L_1 = 0;
		uint32_t L_2 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_1));
		V_0 = ((int32_t)((int32_t)((int32_t)((uint32_t)L_2>>3))&(int32_t)((int32_t)63)));
		UInt32U5BU5D_t3230734560* L_3 = __this->get_count_6();
		uint32_t* L_4 = ((L_3)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)));
		int32_t L_5 = ___cbSize2;
		*((int32_t*)(L_4)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_4))+(int32_t)((int32_t)((int32_t)L_5<<(int32_t)3))));
		UInt32U5BU5D_t3230734560* L_6 = __this->get_count_6();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		int32_t L_9 = ___cbSize2;
		if ((((int64_t)(((int64_t)((uint64_t)L_8)))) >= ((int64_t)(((int64_t)((int64_t)((int32_t)((int32_t)L_9<<(int32_t)3))))))))
		{
			goto IL_0044;
		}
	}
	{
		UInt32U5BU5D_t3230734560* L_10 = __this->get_count_6();
		uint32_t* L_11 = ((L_10)->GetAddressAt(static_cast<il2cpp_array_size_t>(1)));
		*((int32_t*)(L_11)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_11))+(int32_t)1));
	}

IL_0044:
	{
		UInt32U5BU5D_t3230734560* L_12 = __this->get_count_6();
		uint32_t* L_13 = ((L_12)->GetAddressAt(static_cast<il2cpp_array_size_t>(1)));
		int32_t L_14 = ___cbSize2;
		*((int32_t*)(L_13)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_13))+(int32_t)((int32_t)((int32_t)L_14>>(int32_t)((int32_t)29)))));
		int32_t L_15 = V_0;
		V_1 = ((int32_t)((int32_t)((int32_t)64)-(int32_t)L_15));
		V_2 = 0;
		int32_t L_16 = ___cbSize2;
		int32_t L_17 = V_1;
		if ((((int32_t)L_16) < ((int32_t)L_17)))
		{
			goto IL_00ae;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_18 = ___array0;
		int32_t L_19 = ___ibStart1;
		ByteU5BU5D_t4260760469* L_20 = __this->get_buffer_5();
		int32_t L_21 = V_0;
		int32_t L_22 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, L_19, (Il2CppArray *)(Il2CppArray *)L_20, L_21, L_22, /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_23 = __this->get_state_4();
		ByteU5BU5D_t4260760469* L_24 = __this->get_buffer_5();
		MD4Managed_MD4Transform_m352429890(__this, L_23, L_24, 0, /*hidden argument*/NULL);
		int32_t L_25 = V_1;
		V_2 = L_25;
		goto IL_00a2;
	}

IL_008f:
	{
		UInt32U5BU5D_t3230734560* L_26 = __this->get_state_4();
		ByteU5BU5D_t4260760469* L_27 = ___array0;
		int32_t L_28 = V_2;
		MD4Managed_MD4Transform_m352429890(__this, L_26, L_27, L_28, /*hidden argument*/NULL);
		int32_t L_29 = V_2;
		V_2 = ((int32_t)((int32_t)L_29+(int32_t)((int32_t)64)));
	}

IL_00a2:
	{
		int32_t L_30 = V_2;
		int32_t L_31 = ___cbSize2;
		if ((((int32_t)((int32_t)((int32_t)L_30+(int32_t)((int32_t)63)))) < ((int32_t)L_31)))
		{
			goto IL_008f;
		}
	}
	{
		V_0 = 0;
	}

IL_00ae:
	{
		ByteU5BU5D_t4260760469* L_32 = ___array0;
		int32_t L_33 = ___ibStart1;
		int32_t L_34 = V_2;
		ByteU5BU5D_t4260760469* L_35 = __this->get_buffer_5();
		int32_t L_36 = V_0;
		int32_t L_37 = ___cbSize2;
		int32_t L_38 = V_2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_32, ((int32_t)((int32_t)L_33+(int32_t)L_34)), (Il2CppArray *)(Il2CppArray *)L_35, L_36, ((int32_t)((int32_t)L_37-(int32_t)L_38)), /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD4Managed::HashFinal()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed_HashFinal_m31243357_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD4Managed_HashFinal_m31243357 (MD4Managed_t106641590 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed_HashFinal_m31243357_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	uint32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t G_B3_0 = 0;
	{
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)8));
		ByteU5BU5D_t4260760469* L_0 = V_0;
		UInt32U5BU5D_t3230734560* L_1 = __this->get_count_6();
		MD4Managed_Encode_m3840946190(__this, L_0, L_1, /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_2 = __this->get_count_6();
		int32_t L_3 = 0;
		uint32_t L_4 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		V_1 = ((int32_t)((int32_t)((int32_t)((uint32_t)L_4>>3))&(int32_t)((int32_t)63)));
		uint32_t L_5 = V_1;
		if ((!(((uint32_t)L_5) < ((uint32_t)((int32_t)56)))))
		{
			goto IL_0033;
		}
	}
	{
		uint32_t L_6 = V_1;
		G_B3_0 = ((int32_t)((int32_t)((int32_t)56)-(int32_t)L_6));
		goto IL_0037;
	}

IL_0033:
	{
		uint32_t L_7 = V_1;
		G_B3_0 = ((int32_t)((int32_t)((int32_t)120)-(int32_t)L_7));
	}

IL_0037:
	{
		V_2 = G_B3_0;
		int32_t L_8 = V_2;
		ByteU5BU5D_t4260760469* L_9 = MD4Managed_Padding_m4232872567(__this, L_8, /*hidden argument*/NULL);
		int32_t L_10 = V_2;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(10 /* System.Void Mono.Security.Cryptography.MD4Managed::HashCore(System.Byte[],System.Int32,System.Int32) */, __this, L_9, 0, L_10);
		ByteU5BU5D_t4260760469* L_11 = V_0;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(10 /* System.Void Mono.Security.Cryptography.MD4Managed::HashCore(System.Byte[],System.Int32,System.Int32) */, __this, L_11, 0, 8);
		ByteU5BU5D_t4260760469* L_12 = __this->get_digest_8();
		UInt32U5BU5D_t3230734560* L_13 = __this->get_state_4();
		MD4Managed_Encode_m3840946190(__this, L_12, L_13, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD4Managed::Initialize() */, __this);
		ByteU5BU5D_t4260760469* L_14 = __this->get_digest_8();
		return L_14;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD4Managed::Padding(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed_Padding_m4232872567_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD4Managed_Padding_m4232872567 (MD4Managed_t106641590 * __this, int32_t ___nLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed_Padding_m4232872567_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		int32_t L_0 = ___nLength0;
		if ((((int32_t)L_0) <= ((int32_t)0)))
		{
			goto IL_0018;
		}
	}
	{
		int32_t L_1 = ___nLength0;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_1));
		ByteU5BU5D_t4260760469* L_2 = V_0;
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)((int32_t)128));
		ByteU5BU5D_t4260760469* L_3 = V_0;
		return L_3;
	}

IL_0018:
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}
}
// System.UInt32 Mono.Security.Cryptography.MD4Managed::F(System.UInt32,System.UInt32,System.UInt32)
extern "C"  uint32_t MD4Managed_F_m2420274358 (MD4Managed_t106641590 * __this, uint32_t ___x0, uint32_t ___y1, uint32_t ___z2, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___x0;
		uint32_t L_1 = ___y1;
		uint32_t L_2 = ___x0;
		uint32_t L_3 = ___z2;
		return ((int32_t)((int32_t)((int32_t)((int32_t)L_0&(int32_t)L_1))|(int32_t)((int32_t)((int32_t)((~L_2))&(int32_t)L_3))));
	}
}
// System.UInt32 Mono.Security.Cryptography.MD4Managed::G(System.UInt32,System.UInt32,System.UInt32)
extern "C"  uint32_t MD4Managed_G_m1395580437 (MD4Managed_t106641590 * __this, uint32_t ___x0, uint32_t ___y1, uint32_t ___z2, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___x0;
		uint32_t L_1 = ___y1;
		uint32_t L_2 = ___x0;
		uint32_t L_3 = ___z2;
		uint32_t L_4 = ___y1;
		uint32_t L_5 = ___z2;
		return ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_0&(int32_t)L_1))|(int32_t)((int32_t)((int32_t)L_2&(int32_t)L_3))))|(int32_t)((int32_t)((int32_t)L_4&(int32_t)L_5))));
	}
}
// System.UInt32 Mono.Security.Cryptography.MD4Managed::H(System.UInt32,System.UInt32,System.UInt32)
extern "C"  uint32_t MD4Managed_H_m370886516 (MD4Managed_t106641590 * __this, uint32_t ___x0, uint32_t ___y1, uint32_t ___z2, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___x0;
		uint32_t L_1 = ___y1;
		uint32_t L_2 = ___z2;
		return ((int32_t)((int32_t)((int32_t)((int32_t)L_0^(int32_t)L_1))^(int32_t)L_2));
	}
}
// System.UInt32 Mono.Security.Cryptography.MD4Managed::ROL(System.UInt32,System.Byte)
extern "C"  uint32_t MD4Managed_ROL_m1328645290 (MD4Managed_t106641590 * __this, uint32_t ___x0, uint8_t ___n1, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___x0;
		uint8_t L_1 = ___n1;
		uint32_t L_2 = ___x0;
		uint8_t L_3 = ___n1;
		return ((int32_t)((int32_t)((int32_t)((int32_t)L_0<<(int32_t)((int32_t)((int32_t)L_1&(int32_t)((int32_t)31)))))|(int32_t)((int32_t)((uint32_t)L_2>>((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)32)-(int32_t)L_3))&(int32_t)((int32_t)31)))))));
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::FF(System.UInt32&,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte)
extern "C"  void MD4Managed_FF_m1309814654 (MD4Managed_t106641590 * __this, uint32_t* ___a0, uint32_t ___b1, uint32_t ___c2, uint32_t ___d3, uint32_t ___x4, uint8_t ___s5, const MethodInfo* method)
{
	{
		uint32_t* L_0 = ___a0;
		uint32_t* L_1 = ___a0;
		uint32_t L_2 = ___b1;
		uint32_t L_3 = ___c2;
		uint32_t L_4 = ___d3;
		uint32_t L_5 = MD4Managed_F_m2420274358(__this, L_2, L_3, L_4, /*hidden argument*/NULL);
		uint32_t L_6 = ___x4;
		*((int32_t*)(L_0)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_1))+(int32_t)((int32_t)((int32_t)L_5+(int32_t)L_6))));
		uint32_t* L_7 = ___a0;
		uint32_t* L_8 = ___a0;
		uint8_t L_9 = ___s5;
		uint32_t L_10 = MD4Managed_ROL_m1328645290(__this, (*((uint32_t*)L_8)), L_9, /*hidden argument*/NULL);
		*((int32_t*)(L_7)) = (int32_t)L_10;
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::GG(System.UInt32&,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte)
extern "C"  void MD4Managed_GG_m1268768670 (MD4Managed_t106641590 * __this, uint32_t* ___a0, uint32_t ___b1, uint32_t ___c2, uint32_t ___d3, uint32_t ___x4, uint8_t ___s5, const MethodInfo* method)
{
	{
		uint32_t* L_0 = ___a0;
		uint32_t* L_1 = ___a0;
		uint32_t L_2 = ___b1;
		uint32_t L_3 = ___c2;
		uint32_t L_4 = ___d3;
		uint32_t L_5 = MD4Managed_G_m1395580437(__this, L_2, L_3, L_4, /*hidden argument*/NULL);
		uint32_t L_6 = ___x4;
		*((int32_t*)(L_0)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_1))+(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_5+(int32_t)L_6))+(int32_t)((int32_t)1518500249)))));
		uint32_t* L_7 = ___a0;
		uint32_t* L_8 = ___a0;
		uint8_t L_9 = ___s5;
		uint32_t L_10 = MD4Managed_ROL_m1328645290(__this, (*((uint32_t*)L_8)), L_9, /*hidden argument*/NULL);
		*((int32_t*)(L_7)) = (int32_t)L_10;
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::HH(System.UInt32&,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte)
extern "C"  void MD4Managed_HH_m1227722686 (MD4Managed_t106641590 * __this, uint32_t* ___a0, uint32_t ___b1, uint32_t ___c2, uint32_t ___d3, uint32_t ___x4, uint8_t ___s5, const MethodInfo* method)
{
	{
		uint32_t* L_0 = ___a0;
		uint32_t* L_1 = ___a0;
		uint32_t L_2 = ___b1;
		uint32_t L_3 = ___c2;
		uint32_t L_4 = ___d3;
		uint32_t L_5 = MD4Managed_H_m370886516(__this, L_2, L_3, L_4, /*hidden argument*/NULL);
		uint32_t L_6 = ___x4;
		*((int32_t*)(L_0)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_1))+(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_5+(int32_t)L_6))+(int32_t)((int32_t)1859775393)))));
		uint32_t* L_7 = ___a0;
		uint32_t* L_8 = ___a0;
		uint8_t L_9 = ___s5;
		uint32_t L_10 = MD4Managed_ROL_m1328645290(__this, (*((uint32_t*)L_8)), L_9, /*hidden argument*/NULL);
		*((int32_t*)(L_7)) = (int32_t)L_10;
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::Encode(System.Byte[],System.UInt32[])
extern "C"  void MD4Managed_Encode_m3840946190 (MD4Managed_t106641590 * __this, ByteU5BU5D_t4260760469* ___output0, UInt32U5BU5D_t3230734560* ___input1, const MethodInfo* method)
{
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		V_0 = 0;
		V_1 = 0;
		goto IL_003b;
	}

IL_0009:
	{
		ByteU5BU5D_t4260760469* L_0 = ___output0;
		int32_t L_1 = V_1;
		UInt32U5BU5D_t3230734560* L_2 = ___input1;
		int32_t L_3 = V_0;
		int32_t L_4 = L_3;
		uint32_t L_5 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)(((int32_t)((uint8_t)L_5))));
		ByteU5BU5D_t4260760469* L_6 = ___output0;
		int32_t L_7 = V_1;
		UInt32U5BU5D_t3230734560* L_8 = ___input1;
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint32_t L_11 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_7+(int32_t)1))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((uint32_t)L_11>>8))))));
		ByteU5BU5D_t4260760469* L_12 = ___output0;
		int32_t L_13 = V_1;
		UInt32U5BU5D_t3230734560* L_14 = ___input1;
		int32_t L_15 = V_0;
		int32_t L_16 = L_15;
		uint32_t L_17 = (L_14)->GetAt(static_cast<il2cpp_array_size_t>(L_16));
		(L_12)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_13+(int32_t)2))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((uint32_t)L_17>>((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_18 = ___output0;
		int32_t L_19 = V_1;
		UInt32U5BU5D_t3230734560* L_20 = ___input1;
		int32_t L_21 = V_0;
		int32_t L_22 = L_21;
		uint32_t L_23 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_22));
		(L_18)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_19+(int32_t)3))), (uint8_t)(((int32_t)((uint8_t)((int32_t)((uint32_t)L_23>>((int32_t)24)))))));
		int32_t L_24 = V_0;
		V_0 = ((int32_t)((int32_t)L_24+(int32_t)1));
		int32_t L_25 = V_1;
		V_1 = ((int32_t)((int32_t)L_25+(int32_t)4));
	}

IL_003b:
	{
		int32_t L_26 = V_1;
		ByteU5BU5D_t4260760469* L_27 = ___output0;
		if ((((int32_t)L_26) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))))))
		{
			goto IL_0009;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::Decode(System.UInt32[],System.Byte[],System.Int32)
extern "C"  void MD4Managed_Decode_m3307472097 (MD4Managed_t106641590 * __this, UInt32U5BU5D_t3230734560* ___output0, ByteU5BU5D_t4260760469* ___input1, int32_t ___index2, const MethodInfo* method)
{
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		V_0 = 0;
		int32_t L_0 = ___index2;
		V_1 = L_0;
		goto IL_0031;
	}

IL_0009:
	{
		UInt32U5BU5D_t3230734560* L_1 = ___output0;
		int32_t L_2 = V_0;
		ByteU5BU5D_t4260760469* L_3 = ___input1;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t4260760469* L_7 = ___input1;
		int32_t L_8 = V_1;
		int32_t L_9 = ((int32_t)((int32_t)L_8+(int32_t)1));
		uint8_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		ByteU5BU5D_t4260760469* L_11 = ___input1;
		int32_t L_12 = V_1;
		int32_t L_13 = ((int32_t)((int32_t)L_12+(int32_t)2));
		uint8_t L_14 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_13));
		ByteU5BU5D_t4260760469* L_15 = ___input1;
		int32_t L_16 = V_1;
		int32_t L_17 = ((int32_t)((int32_t)L_16+(int32_t)3));
		uint8_t L_18 = (L_15)->GetAt(static_cast<il2cpp_array_size_t>(L_17));
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(L_2), (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_6|(int32_t)((int32_t)((int32_t)L_10<<(int32_t)8))))|(int32_t)((int32_t)((int32_t)L_14<<(int32_t)((int32_t)16)))))|(int32_t)((int32_t)((int32_t)L_18<<(int32_t)((int32_t)24))))));
		int32_t L_19 = V_0;
		V_0 = ((int32_t)((int32_t)L_19+(int32_t)1));
		int32_t L_20 = V_1;
		V_1 = ((int32_t)((int32_t)L_20+(int32_t)4));
	}

IL_0031:
	{
		int32_t L_21 = V_0;
		UInt32U5BU5D_t3230734560* L_22 = ___output0;
		if ((((int32_t)L_21) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length)))))))
		{
			goto IL_0009;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::MD4Transform(System.UInt32[],System.Byte[],System.Int32)
extern "C"  void MD4Managed_MD4Transform_m352429890 (MD4Managed_t106641590 * __this, UInt32U5BU5D_t3230734560* ___state0, ByteU5BU5D_t4260760469* ___block1, int32_t ___index2, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	{
		UInt32U5BU5D_t3230734560* L_0 = ___state0;
		int32_t L_1 = 0;
		uint32_t L_2 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_1));
		V_0 = L_2;
		UInt32U5BU5D_t3230734560* L_3 = ___state0;
		int32_t L_4 = 1;
		uint32_t L_5 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		V_1 = L_5;
		UInt32U5BU5D_t3230734560* L_6 = ___state0;
		int32_t L_7 = 2;
		uint32_t L_8 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		V_2 = L_8;
		UInt32U5BU5D_t3230734560* L_9 = ___state0;
		int32_t L_10 = 3;
		uint32_t L_11 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		V_3 = L_11;
		UInt32U5BU5D_t3230734560* L_12 = __this->get_x_7();
		ByteU5BU5D_t4260760469* L_13 = ___block1;
		int32_t L_14 = ___index2;
		MD4Managed_Decode_m3307472097(__this, L_12, L_13, L_14, /*hidden argument*/NULL);
		uint32_t L_15 = V_1;
		uint32_t L_16 = V_2;
		uint32_t L_17 = V_3;
		UInt32U5BU5D_t3230734560* L_18 = __this->get_x_7();
		int32_t L_19 = 0;
		uint32_t L_20 = (L_18)->GetAt(static_cast<il2cpp_array_size_t>(L_19));
		MD4Managed_FF_m1309814654(__this, (&V_0), L_15, L_16, L_17, L_20, 3, /*hidden argument*/NULL);
		uint32_t L_21 = V_0;
		uint32_t L_22 = V_1;
		uint32_t L_23 = V_2;
		UInt32U5BU5D_t3230734560* L_24 = __this->get_x_7();
		int32_t L_25 = 1;
		uint32_t L_26 = (L_24)->GetAt(static_cast<il2cpp_array_size_t>(L_25));
		MD4Managed_FF_m1309814654(__this, (&V_3), L_21, L_22, L_23, L_26, 7, /*hidden argument*/NULL);
		uint32_t L_27 = V_3;
		uint32_t L_28 = V_0;
		uint32_t L_29 = V_1;
		UInt32U5BU5D_t3230734560* L_30 = __this->get_x_7();
		int32_t L_31 = 2;
		uint32_t L_32 = (L_30)->GetAt(static_cast<il2cpp_array_size_t>(L_31));
		MD4Managed_FF_m1309814654(__this, (&V_2), L_27, L_28, L_29, L_32, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_33 = V_2;
		uint32_t L_34 = V_3;
		uint32_t L_35 = V_0;
		UInt32U5BU5D_t3230734560* L_36 = __this->get_x_7();
		int32_t L_37 = 3;
		uint32_t L_38 = (L_36)->GetAt(static_cast<il2cpp_array_size_t>(L_37));
		MD4Managed_FF_m1309814654(__this, (&V_1), L_33, L_34, L_35, L_38, ((int32_t)19), /*hidden argument*/NULL);
		uint32_t L_39 = V_1;
		uint32_t L_40 = V_2;
		uint32_t L_41 = V_3;
		UInt32U5BU5D_t3230734560* L_42 = __this->get_x_7();
		int32_t L_43 = 4;
		uint32_t L_44 = (L_42)->GetAt(static_cast<il2cpp_array_size_t>(L_43));
		MD4Managed_FF_m1309814654(__this, (&V_0), L_39, L_40, L_41, L_44, 3, /*hidden argument*/NULL);
		uint32_t L_45 = V_0;
		uint32_t L_46 = V_1;
		uint32_t L_47 = V_2;
		UInt32U5BU5D_t3230734560* L_48 = __this->get_x_7();
		int32_t L_49 = 5;
		uint32_t L_50 = (L_48)->GetAt(static_cast<il2cpp_array_size_t>(L_49));
		MD4Managed_FF_m1309814654(__this, (&V_3), L_45, L_46, L_47, L_50, 7, /*hidden argument*/NULL);
		uint32_t L_51 = V_3;
		uint32_t L_52 = V_0;
		uint32_t L_53 = V_1;
		UInt32U5BU5D_t3230734560* L_54 = __this->get_x_7();
		int32_t L_55 = 6;
		uint32_t L_56 = (L_54)->GetAt(static_cast<il2cpp_array_size_t>(L_55));
		MD4Managed_FF_m1309814654(__this, (&V_2), L_51, L_52, L_53, L_56, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_57 = V_2;
		uint32_t L_58 = V_3;
		uint32_t L_59 = V_0;
		UInt32U5BU5D_t3230734560* L_60 = __this->get_x_7();
		int32_t L_61 = 7;
		uint32_t L_62 = (L_60)->GetAt(static_cast<il2cpp_array_size_t>(L_61));
		MD4Managed_FF_m1309814654(__this, (&V_1), L_57, L_58, L_59, L_62, ((int32_t)19), /*hidden argument*/NULL);
		uint32_t L_63 = V_1;
		uint32_t L_64 = V_2;
		uint32_t L_65 = V_3;
		UInt32U5BU5D_t3230734560* L_66 = __this->get_x_7();
		int32_t L_67 = 8;
		uint32_t L_68 = (L_66)->GetAt(static_cast<il2cpp_array_size_t>(L_67));
		MD4Managed_FF_m1309814654(__this, (&V_0), L_63, L_64, L_65, L_68, 3, /*hidden argument*/NULL);
		uint32_t L_69 = V_0;
		uint32_t L_70 = V_1;
		uint32_t L_71 = V_2;
		UInt32U5BU5D_t3230734560* L_72 = __this->get_x_7();
		int32_t L_73 = ((int32_t)9);
		uint32_t L_74 = (L_72)->GetAt(static_cast<il2cpp_array_size_t>(L_73));
		MD4Managed_FF_m1309814654(__this, (&V_3), L_69, L_70, L_71, L_74, 7, /*hidden argument*/NULL);
		uint32_t L_75 = V_3;
		uint32_t L_76 = V_0;
		uint32_t L_77 = V_1;
		UInt32U5BU5D_t3230734560* L_78 = __this->get_x_7();
		int32_t L_79 = ((int32_t)10);
		uint32_t L_80 = (L_78)->GetAt(static_cast<il2cpp_array_size_t>(L_79));
		MD4Managed_FF_m1309814654(__this, (&V_2), L_75, L_76, L_77, L_80, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_81 = V_2;
		uint32_t L_82 = V_3;
		uint32_t L_83 = V_0;
		UInt32U5BU5D_t3230734560* L_84 = __this->get_x_7();
		int32_t L_85 = ((int32_t)11);
		uint32_t L_86 = (L_84)->GetAt(static_cast<il2cpp_array_size_t>(L_85));
		MD4Managed_FF_m1309814654(__this, (&V_1), L_81, L_82, L_83, L_86, ((int32_t)19), /*hidden argument*/NULL);
		uint32_t L_87 = V_1;
		uint32_t L_88 = V_2;
		uint32_t L_89 = V_3;
		UInt32U5BU5D_t3230734560* L_90 = __this->get_x_7();
		int32_t L_91 = ((int32_t)12);
		uint32_t L_92 = (L_90)->GetAt(static_cast<il2cpp_array_size_t>(L_91));
		MD4Managed_FF_m1309814654(__this, (&V_0), L_87, L_88, L_89, L_92, 3, /*hidden argument*/NULL);
		uint32_t L_93 = V_0;
		uint32_t L_94 = V_1;
		uint32_t L_95 = V_2;
		UInt32U5BU5D_t3230734560* L_96 = __this->get_x_7();
		int32_t L_97 = ((int32_t)13);
		uint32_t L_98 = (L_96)->GetAt(static_cast<il2cpp_array_size_t>(L_97));
		MD4Managed_FF_m1309814654(__this, (&V_3), L_93, L_94, L_95, L_98, 7, /*hidden argument*/NULL);
		uint32_t L_99 = V_3;
		uint32_t L_100 = V_0;
		uint32_t L_101 = V_1;
		UInt32U5BU5D_t3230734560* L_102 = __this->get_x_7();
		int32_t L_103 = ((int32_t)14);
		uint32_t L_104 = (L_102)->GetAt(static_cast<il2cpp_array_size_t>(L_103));
		MD4Managed_FF_m1309814654(__this, (&V_2), L_99, L_100, L_101, L_104, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_105 = V_2;
		uint32_t L_106 = V_3;
		uint32_t L_107 = V_0;
		UInt32U5BU5D_t3230734560* L_108 = __this->get_x_7();
		int32_t L_109 = ((int32_t)15);
		uint32_t L_110 = (L_108)->GetAt(static_cast<il2cpp_array_size_t>(L_109));
		MD4Managed_FF_m1309814654(__this, (&V_1), L_105, L_106, L_107, L_110, ((int32_t)19), /*hidden argument*/NULL);
		uint32_t L_111 = V_1;
		uint32_t L_112 = V_2;
		uint32_t L_113 = V_3;
		UInt32U5BU5D_t3230734560* L_114 = __this->get_x_7();
		int32_t L_115 = 0;
		uint32_t L_116 = (L_114)->GetAt(static_cast<il2cpp_array_size_t>(L_115));
		MD4Managed_GG_m1268768670(__this, (&V_0), L_111, L_112, L_113, L_116, 3, /*hidden argument*/NULL);
		uint32_t L_117 = V_0;
		uint32_t L_118 = V_1;
		uint32_t L_119 = V_2;
		UInt32U5BU5D_t3230734560* L_120 = __this->get_x_7();
		int32_t L_121 = 4;
		uint32_t L_122 = (L_120)->GetAt(static_cast<il2cpp_array_size_t>(L_121));
		MD4Managed_GG_m1268768670(__this, (&V_3), L_117, L_118, L_119, L_122, 5, /*hidden argument*/NULL);
		uint32_t L_123 = V_3;
		uint32_t L_124 = V_0;
		uint32_t L_125 = V_1;
		UInt32U5BU5D_t3230734560* L_126 = __this->get_x_7();
		int32_t L_127 = 8;
		uint32_t L_128 = (L_126)->GetAt(static_cast<il2cpp_array_size_t>(L_127));
		MD4Managed_GG_m1268768670(__this, (&V_2), L_123, L_124, L_125, L_128, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_129 = V_2;
		uint32_t L_130 = V_3;
		uint32_t L_131 = V_0;
		UInt32U5BU5D_t3230734560* L_132 = __this->get_x_7();
		int32_t L_133 = ((int32_t)12);
		uint32_t L_134 = (L_132)->GetAt(static_cast<il2cpp_array_size_t>(L_133));
		MD4Managed_GG_m1268768670(__this, (&V_1), L_129, L_130, L_131, L_134, ((int32_t)13), /*hidden argument*/NULL);
		uint32_t L_135 = V_1;
		uint32_t L_136 = V_2;
		uint32_t L_137 = V_3;
		UInt32U5BU5D_t3230734560* L_138 = __this->get_x_7();
		int32_t L_139 = 1;
		uint32_t L_140 = (L_138)->GetAt(static_cast<il2cpp_array_size_t>(L_139));
		MD4Managed_GG_m1268768670(__this, (&V_0), L_135, L_136, L_137, L_140, 3, /*hidden argument*/NULL);
		uint32_t L_141 = V_0;
		uint32_t L_142 = V_1;
		uint32_t L_143 = V_2;
		UInt32U5BU5D_t3230734560* L_144 = __this->get_x_7();
		int32_t L_145 = 5;
		uint32_t L_146 = (L_144)->GetAt(static_cast<il2cpp_array_size_t>(L_145));
		MD4Managed_GG_m1268768670(__this, (&V_3), L_141, L_142, L_143, L_146, 5, /*hidden argument*/NULL);
		uint32_t L_147 = V_3;
		uint32_t L_148 = V_0;
		uint32_t L_149 = V_1;
		UInt32U5BU5D_t3230734560* L_150 = __this->get_x_7();
		int32_t L_151 = ((int32_t)9);
		uint32_t L_152 = (L_150)->GetAt(static_cast<il2cpp_array_size_t>(L_151));
		MD4Managed_GG_m1268768670(__this, (&V_2), L_147, L_148, L_149, L_152, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_153 = V_2;
		uint32_t L_154 = V_3;
		uint32_t L_155 = V_0;
		UInt32U5BU5D_t3230734560* L_156 = __this->get_x_7();
		int32_t L_157 = ((int32_t)13);
		uint32_t L_158 = (L_156)->GetAt(static_cast<il2cpp_array_size_t>(L_157));
		MD4Managed_GG_m1268768670(__this, (&V_1), L_153, L_154, L_155, L_158, ((int32_t)13), /*hidden argument*/NULL);
		uint32_t L_159 = V_1;
		uint32_t L_160 = V_2;
		uint32_t L_161 = V_3;
		UInt32U5BU5D_t3230734560* L_162 = __this->get_x_7();
		int32_t L_163 = 2;
		uint32_t L_164 = (L_162)->GetAt(static_cast<il2cpp_array_size_t>(L_163));
		MD4Managed_GG_m1268768670(__this, (&V_0), L_159, L_160, L_161, L_164, 3, /*hidden argument*/NULL);
		uint32_t L_165 = V_0;
		uint32_t L_166 = V_1;
		uint32_t L_167 = V_2;
		UInt32U5BU5D_t3230734560* L_168 = __this->get_x_7();
		int32_t L_169 = 6;
		uint32_t L_170 = (L_168)->GetAt(static_cast<il2cpp_array_size_t>(L_169));
		MD4Managed_GG_m1268768670(__this, (&V_3), L_165, L_166, L_167, L_170, 5, /*hidden argument*/NULL);
		uint32_t L_171 = V_3;
		uint32_t L_172 = V_0;
		uint32_t L_173 = V_1;
		UInt32U5BU5D_t3230734560* L_174 = __this->get_x_7();
		int32_t L_175 = ((int32_t)10);
		uint32_t L_176 = (L_174)->GetAt(static_cast<il2cpp_array_size_t>(L_175));
		MD4Managed_GG_m1268768670(__this, (&V_2), L_171, L_172, L_173, L_176, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_177 = V_2;
		uint32_t L_178 = V_3;
		uint32_t L_179 = V_0;
		UInt32U5BU5D_t3230734560* L_180 = __this->get_x_7();
		int32_t L_181 = ((int32_t)14);
		uint32_t L_182 = (L_180)->GetAt(static_cast<il2cpp_array_size_t>(L_181));
		MD4Managed_GG_m1268768670(__this, (&V_1), L_177, L_178, L_179, L_182, ((int32_t)13), /*hidden argument*/NULL);
		uint32_t L_183 = V_1;
		uint32_t L_184 = V_2;
		uint32_t L_185 = V_3;
		UInt32U5BU5D_t3230734560* L_186 = __this->get_x_7();
		int32_t L_187 = 3;
		uint32_t L_188 = (L_186)->GetAt(static_cast<il2cpp_array_size_t>(L_187));
		MD4Managed_GG_m1268768670(__this, (&V_0), L_183, L_184, L_185, L_188, 3, /*hidden argument*/NULL);
		uint32_t L_189 = V_0;
		uint32_t L_190 = V_1;
		uint32_t L_191 = V_2;
		UInt32U5BU5D_t3230734560* L_192 = __this->get_x_7();
		int32_t L_193 = 7;
		uint32_t L_194 = (L_192)->GetAt(static_cast<il2cpp_array_size_t>(L_193));
		MD4Managed_GG_m1268768670(__this, (&V_3), L_189, L_190, L_191, L_194, 5, /*hidden argument*/NULL);
		uint32_t L_195 = V_3;
		uint32_t L_196 = V_0;
		uint32_t L_197 = V_1;
		UInt32U5BU5D_t3230734560* L_198 = __this->get_x_7();
		int32_t L_199 = ((int32_t)11);
		uint32_t L_200 = (L_198)->GetAt(static_cast<il2cpp_array_size_t>(L_199));
		MD4Managed_GG_m1268768670(__this, (&V_2), L_195, L_196, L_197, L_200, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_201 = V_2;
		uint32_t L_202 = V_3;
		uint32_t L_203 = V_0;
		UInt32U5BU5D_t3230734560* L_204 = __this->get_x_7();
		int32_t L_205 = ((int32_t)15);
		uint32_t L_206 = (L_204)->GetAt(static_cast<il2cpp_array_size_t>(L_205));
		MD4Managed_GG_m1268768670(__this, (&V_1), L_201, L_202, L_203, L_206, ((int32_t)13), /*hidden argument*/NULL);
		uint32_t L_207 = V_1;
		uint32_t L_208 = V_2;
		uint32_t L_209 = V_3;
		UInt32U5BU5D_t3230734560* L_210 = __this->get_x_7();
		int32_t L_211 = 0;
		uint32_t L_212 = (L_210)->GetAt(static_cast<il2cpp_array_size_t>(L_211));
		MD4Managed_HH_m1227722686(__this, (&V_0), L_207, L_208, L_209, L_212, 3, /*hidden argument*/NULL);
		uint32_t L_213 = V_0;
		uint32_t L_214 = V_1;
		uint32_t L_215 = V_2;
		UInt32U5BU5D_t3230734560* L_216 = __this->get_x_7();
		int32_t L_217 = 8;
		uint32_t L_218 = (L_216)->GetAt(static_cast<il2cpp_array_size_t>(L_217));
		MD4Managed_HH_m1227722686(__this, (&V_3), L_213, L_214, L_215, L_218, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_219 = V_3;
		uint32_t L_220 = V_0;
		uint32_t L_221 = V_1;
		UInt32U5BU5D_t3230734560* L_222 = __this->get_x_7();
		int32_t L_223 = 4;
		uint32_t L_224 = (L_222)->GetAt(static_cast<il2cpp_array_size_t>(L_223));
		MD4Managed_HH_m1227722686(__this, (&V_2), L_219, L_220, L_221, L_224, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_225 = V_2;
		uint32_t L_226 = V_3;
		uint32_t L_227 = V_0;
		UInt32U5BU5D_t3230734560* L_228 = __this->get_x_7();
		int32_t L_229 = ((int32_t)12);
		uint32_t L_230 = (L_228)->GetAt(static_cast<il2cpp_array_size_t>(L_229));
		MD4Managed_HH_m1227722686(__this, (&V_1), L_225, L_226, L_227, L_230, ((int32_t)15), /*hidden argument*/NULL);
		uint32_t L_231 = V_1;
		uint32_t L_232 = V_2;
		uint32_t L_233 = V_3;
		UInt32U5BU5D_t3230734560* L_234 = __this->get_x_7();
		int32_t L_235 = 2;
		uint32_t L_236 = (L_234)->GetAt(static_cast<il2cpp_array_size_t>(L_235));
		MD4Managed_HH_m1227722686(__this, (&V_0), L_231, L_232, L_233, L_236, 3, /*hidden argument*/NULL);
		uint32_t L_237 = V_0;
		uint32_t L_238 = V_1;
		uint32_t L_239 = V_2;
		UInt32U5BU5D_t3230734560* L_240 = __this->get_x_7();
		int32_t L_241 = ((int32_t)10);
		uint32_t L_242 = (L_240)->GetAt(static_cast<il2cpp_array_size_t>(L_241));
		MD4Managed_HH_m1227722686(__this, (&V_3), L_237, L_238, L_239, L_242, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_243 = V_3;
		uint32_t L_244 = V_0;
		uint32_t L_245 = V_1;
		UInt32U5BU5D_t3230734560* L_246 = __this->get_x_7();
		int32_t L_247 = 6;
		uint32_t L_248 = (L_246)->GetAt(static_cast<il2cpp_array_size_t>(L_247));
		MD4Managed_HH_m1227722686(__this, (&V_2), L_243, L_244, L_245, L_248, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_249 = V_2;
		uint32_t L_250 = V_3;
		uint32_t L_251 = V_0;
		UInt32U5BU5D_t3230734560* L_252 = __this->get_x_7();
		int32_t L_253 = ((int32_t)14);
		uint32_t L_254 = (L_252)->GetAt(static_cast<il2cpp_array_size_t>(L_253));
		MD4Managed_HH_m1227722686(__this, (&V_1), L_249, L_250, L_251, L_254, ((int32_t)15), /*hidden argument*/NULL);
		uint32_t L_255 = V_1;
		uint32_t L_256 = V_2;
		uint32_t L_257 = V_3;
		UInt32U5BU5D_t3230734560* L_258 = __this->get_x_7();
		int32_t L_259 = 1;
		uint32_t L_260 = (L_258)->GetAt(static_cast<il2cpp_array_size_t>(L_259));
		MD4Managed_HH_m1227722686(__this, (&V_0), L_255, L_256, L_257, L_260, 3, /*hidden argument*/NULL);
		uint32_t L_261 = V_0;
		uint32_t L_262 = V_1;
		uint32_t L_263 = V_2;
		UInt32U5BU5D_t3230734560* L_264 = __this->get_x_7();
		int32_t L_265 = ((int32_t)9);
		uint32_t L_266 = (L_264)->GetAt(static_cast<il2cpp_array_size_t>(L_265));
		MD4Managed_HH_m1227722686(__this, (&V_3), L_261, L_262, L_263, L_266, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_267 = V_3;
		uint32_t L_268 = V_0;
		uint32_t L_269 = V_1;
		UInt32U5BU5D_t3230734560* L_270 = __this->get_x_7();
		int32_t L_271 = 5;
		uint32_t L_272 = (L_270)->GetAt(static_cast<il2cpp_array_size_t>(L_271));
		MD4Managed_HH_m1227722686(__this, (&V_2), L_267, L_268, L_269, L_272, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_273 = V_2;
		uint32_t L_274 = V_3;
		uint32_t L_275 = V_0;
		UInt32U5BU5D_t3230734560* L_276 = __this->get_x_7();
		int32_t L_277 = ((int32_t)13);
		uint32_t L_278 = (L_276)->GetAt(static_cast<il2cpp_array_size_t>(L_277));
		MD4Managed_HH_m1227722686(__this, (&V_1), L_273, L_274, L_275, L_278, ((int32_t)15), /*hidden argument*/NULL);
		uint32_t L_279 = V_1;
		uint32_t L_280 = V_2;
		uint32_t L_281 = V_3;
		UInt32U5BU5D_t3230734560* L_282 = __this->get_x_7();
		int32_t L_283 = 3;
		uint32_t L_284 = (L_282)->GetAt(static_cast<il2cpp_array_size_t>(L_283));
		MD4Managed_HH_m1227722686(__this, (&V_0), L_279, L_280, L_281, L_284, 3, /*hidden argument*/NULL);
		uint32_t L_285 = V_0;
		uint32_t L_286 = V_1;
		uint32_t L_287 = V_2;
		UInt32U5BU5D_t3230734560* L_288 = __this->get_x_7();
		int32_t L_289 = ((int32_t)11);
		uint32_t L_290 = (L_288)->GetAt(static_cast<il2cpp_array_size_t>(L_289));
		MD4Managed_HH_m1227722686(__this, (&V_3), L_285, L_286, L_287, L_290, ((int32_t)9), /*hidden argument*/NULL);
		uint32_t L_291 = V_3;
		uint32_t L_292 = V_0;
		uint32_t L_293 = V_1;
		UInt32U5BU5D_t3230734560* L_294 = __this->get_x_7();
		int32_t L_295 = 7;
		uint32_t L_296 = (L_294)->GetAt(static_cast<il2cpp_array_size_t>(L_295));
		MD4Managed_HH_m1227722686(__this, (&V_2), L_291, L_292, L_293, L_296, ((int32_t)11), /*hidden argument*/NULL);
		uint32_t L_297 = V_2;
		uint32_t L_298 = V_3;
		uint32_t L_299 = V_0;
		UInt32U5BU5D_t3230734560* L_300 = __this->get_x_7();
		int32_t L_301 = ((int32_t)15);
		uint32_t L_302 = (L_300)->GetAt(static_cast<il2cpp_array_size_t>(L_301));
		MD4Managed_HH_m1227722686(__this, (&V_1), L_297, L_298, L_299, L_302, ((int32_t)15), /*hidden argument*/NULL);
		UInt32U5BU5D_t3230734560* L_303 = ___state0;
		uint32_t* L_304 = ((L_303)->GetAddressAt(static_cast<il2cpp_array_size_t>(0)));
		uint32_t L_305 = V_0;
		*((int32_t*)(L_304)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_304))+(int32_t)L_305));
		UInt32U5BU5D_t3230734560* L_306 = ___state0;
		uint32_t* L_307 = ((L_306)->GetAddressAt(static_cast<il2cpp_array_size_t>(1)));
		uint32_t L_308 = V_1;
		*((int32_t*)(L_307)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_307))+(int32_t)L_308));
		UInt32U5BU5D_t3230734560* L_309 = ___state0;
		uint32_t* L_310 = ((L_309)->GetAddressAt(static_cast<il2cpp_array_size_t>(2)));
		uint32_t L_311 = V_2;
		*((int32_t*)(L_310)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_310))+(int32_t)L_311));
		UInt32U5BU5D_t3230734560* L_312 = ___state0;
		uint32_t* L_313 = ((L_312)->GetAddressAt(static_cast<il2cpp_array_size_t>(3)));
		uint32_t L_314 = V_3;
		*((int32_t*)(L_313)) = (int32_t)((int32_t)((int32_t)(*((uint32_t*)L_313))+(int32_t)L_314));
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD5SHA1::.ctor()
extern "C"  void MD5SHA1__ctor_m2374690196 (MD5SHA1_t3104883481 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m1204858244(__this, /*hidden argument*/NULL);
		MD5_t2466809028 * L_0 = MD5_Create_m3551683961(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_md5_4(L_0);
		SHA1_t3976944113 * L_1 = SHA1_Create_m2764862537(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_sha_5(L_1);
		HashAlgorithm_t532578791 * L_2 = __this->get_md5_4();
		int32_t L_3 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_2);
		HashAlgorithm_t532578791 * L_4 = __this->get_sha_5();
		int32_t L_5 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_4);
		((HashAlgorithm_t532578791 *)__this)->set_HashSizeValue_1(((int32_t)((int32_t)L_3+(int32_t)L_5)));
		return;
	}
}
// System.Void Mono.Security.Cryptography.MD5SHA1::Initialize()
extern "C"  void MD5SHA1_Initialize_m1333120384 (MD5SHA1_t3104883481 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t532578791 * L_0 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HashAlgorithm_t532578791 * L_1 = __this->get_sha_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_1);
		__this->set_hashing_6((bool)0);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD5SHA1::HashFinal()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t MD5SHA1_HashFinal_m1928907216_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD5SHA1_HashFinal_m1928907216 (MD5SHA1_t3104883481 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_HashFinal_m1928907216_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		__this->set_hashing_6((bool)1);
	}

IL_0012:
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_md5_4();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_1, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_2 = __this->get_sha_5();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_2, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)36)));
		HashAlgorithm_t532578791 * L_3 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_4 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_3);
		ByteU5BU5D_t4260760469* L_5 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_4, 0, (Il2CppArray *)(Il2CppArray *)L_5, 0, ((int32_t)16), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_6 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_6);
		ByteU5BU5D_t4260760469* L_8 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_7, 0, (Il2CppArray *)(Il2CppArray *)L_8, ((int32_t)16), ((int32_t)20), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_9 = V_0;
		return L_9;
	}
}
// System.Void Mono.Security.Cryptography.MD5SHA1::HashCore(System.Byte[],System.Int32,System.Int32)
extern "C"  void MD5SHA1_HashCore_m1242406156 (MD5SHA1_t3104883481 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		__this->set_hashing_6((bool)1);
	}

IL_0012:
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_2 = ___array0;
		int32_t L_3 = ___ibStart1;
		int32_t L_4 = ___cbSize2;
		ByteU5BU5D_t4260760469* L_5 = ___array0;
		int32_t L_6 = ___ibStart1;
		HashAlgorithm_TransformBlock_m3829135048(L_1, L_2, L_3, L_4, L_5, L_6, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_7 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_8 = ___array0;
		int32_t L_9 = ___ibStart1;
		int32_t L_10 = ___cbSize2;
		ByteU5BU5D_t4260760469* L_11 = ___array0;
		int32_t L_12 = ___ibStart1;
		HashAlgorithm_TransformBlock_m3829135048(L_7, L_8, L_9, L_10, L_11, L_12, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD5SHA1::CreateSignature(System.Security.Cryptography.RSA)
extern Il2CppClass* CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1346603173;
extern Il2CppCodeGenString* _stringLiteral1616579491;
extern const uint32_t MD5SHA1_CreateSignature_m1164435223_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* MD5SHA1_CreateSignature_m1164435223 (MD5SHA1_t3104883481 * __this, RSA_t2466814310 * ___rsa0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_CreateSignature_m1164435223_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSASslSignatureFormatter_t1731244892 * V_0 = NULL;
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_1 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_1, _stringLiteral1346603173, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		RSA_t2466814310 * L_2 = ___rsa0;
		RSASslSignatureFormatter_t1731244892 * L_3 = (RSASslSignatureFormatter_t1731244892 *)il2cpp_codegen_object_new(RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var);
		RSASslSignatureFormatter__ctor_m1725069988(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		RSASslSignatureFormatter_t1731244892 * L_4 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetHashAlgorithm(System.String) */, L_4, _stringLiteral1616579491);
		RSASslSignatureFormatter_t1731244892 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(6 /* System.Byte[] Mono.Security.Protocol.Tls.RSASslSignatureFormatter::CreateSignature(System.Byte[]) */, L_5, L_6);
		return L_7;
	}
}
// System.Boolean Mono.Security.Cryptography.MD5SHA1::VerifySignature(System.Security.Cryptography.RSA,System.Byte[])
extern Il2CppClass* CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1346603173;
extern Il2CppCodeGenString* _stringLiteral2427229803;
extern Il2CppCodeGenString* _stringLiteral1616579491;
extern const uint32_t MD5SHA1_VerifySignature_m3462577241_MetadataUsageId;
extern "C"  bool MD5SHA1_VerifySignature_m3462577241 (MD5SHA1_t3104883481 * __this, RSA_t2466814310 * ___rsa0, ByteU5BU5D_t4260760469* ___rgbSignature1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_VerifySignature_m3462577241_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSASslSignatureDeformatter_t654537083 * V_0 = NULL;
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_1 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_1, _stringLiteral1346603173, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ByteU5BU5D_t4260760469* L_2 = ___rgbSignature1;
		if (L_2)
		{
			goto IL_0022;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_3 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_3, _stringLiteral2427229803, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0022:
	{
		RSA_t2466814310 * L_4 = ___rsa0;
		RSASslSignatureDeformatter_t654537083 * L_5 = (RSASslSignatureDeformatter_t654537083 *)il2cpp_codegen_object_new(RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var);
		RSASslSignatureDeformatter__ctor_m4240353957(L_5, L_4, /*hidden argument*/NULL);
		V_0 = L_5;
		RSASslSignatureDeformatter_t654537083 * L_6 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::SetHashAlgorithm(System.String) */, L_6, _stringLiteral1616579491);
		RSASslSignatureDeformatter_t654537083 * L_7 = V_0;
		ByteU5BU5D_t4260760469* L_8 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t4260760469* L_9 = ___rgbSignature1;
		bool L_10 = VirtFuncInvoker2< bool, ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(6 /* System.Boolean Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::VerifySignature(System.Byte[],System.Byte[]) */, L_7, L_8, L_9);
		return L_10;
	}
}
// System.Void Mono.Security.Cryptography.PKCS1::.cctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D6_2_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D7_3_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D8_4_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D9_5_FieldInfo_var;
extern const uint32_t PKCS1__cctor_m2574493212_MetadataUsageId;
extern "C"  void PKCS1__cctor_m2574493212 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1__cctor_m2574493212_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)20)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D6_2_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3260516765_StaticFields*)PKCS1_t3260516765_il2cpp_TypeInfo_var->static_fields)->set_emptySHA1_0(L_0);
		ByteU5BU5D_t4260760469* L_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)32)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D7_3_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3260516765_StaticFields*)PKCS1_t3260516765_il2cpp_TypeInfo_var->static_fields)->set_emptySHA256_1(L_1);
		ByteU5BU5D_t4260760469* L_2 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D8_4_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3260516765_StaticFields*)PKCS1_t3260516765_il2cpp_TypeInfo_var->static_fields)->set_emptySHA384_2(L_2);
		ByteU5BU5D_t4260760469* L_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64)));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_3, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D9_5_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3260516765_StaticFields*)PKCS1_t3260516765_il2cpp_TypeInfo_var->static_fields)->set_emptySHA512_3(L_3);
		return;
	}
}
// System.Boolean Mono.Security.Cryptography.PKCS1::Compare(System.Byte[],System.Byte[])
extern "C"  bool PKCS1_Compare_m2966371174 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___array10, ByteU5BU5D_t4260760469* ___array21, const MethodInfo* method)
{
	bool V_0 = false;
	int32_t V_1 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___array10;
		ByteU5BU5D_t4260760469* L_1 = ___array21;
		V_0 = (bool)((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))) == ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))))? 1 : 0);
		bool L_2 = V_0;
		if (!L_2)
		{
			goto IL_0030;
		}
	}
	{
		V_1 = 0;
		goto IL_0027;
	}

IL_0016:
	{
		ByteU5BU5D_t4260760469* L_3 = ___array10;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t4260760469* L_7 = ___array21;
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_9));
		if ((((int32_t)L_6) == ((int32_t)L_10)))
		{
			goto IL_0023;
		}
	}
	{
		return (bool)0;
	}

IL_0023:
	{
		int32_t L_11 = V_1;
		V_1 = ((int32_t)((int32_t)L_11+(int32_t)1));
	}

IL_0027:
	{
		int32_t L_12 = V_1;
		ByteU5BU5D_t4260760469* L_13 = ___array10;
		if ((((int32_t)L_12) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))))))
		{
			goto IL_0016;
		}
	}

IL_0030:
	{
		bool L_14 = V_0;
		return L_14;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::I2OSP(System.Byte[],System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_I2OSP_m2941319222_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PKCS1_I2OSP_m2941319222 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___x0, int32_t ___size1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_I2OSP_m2941319222_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		int32_t L_0 = ___size1;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_0));
		ByteU5BU5D_t4260760469* L_1 = ___x0;
		ByteU5BU5D_t4260760469* L_2 = V_0;
		ByteU5BU5D_t4260760469* L_3 = V_0;
		ByteU5BU5D_t4260760469* L_4 = ___x0;
		ByteU5BU5D_t4260760469* L_5 = ___x0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, 0, (Il2CppArray *)(Il2CppArray *)L_2, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length))))-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))), (((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_6 = V_0;
		return L_6;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::OS2IP(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_OS2IP_m3050204367_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PKCS1_OS2IP_m3050204367 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___x0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_OS2IP_m3050204367_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		V_0 = 0;
		goto IL_0007;
	}

IL_0007:
	{
		ByteU5BU5D_t4260760469* L_0 = ___x0;
		int32_t L_1 = V_0;
		int32_t L_2 = L_1;
		V_0 = ((int32_t)((int32_t)L_2+(int32_t)1));
		int32_t L_3 = L_2;
		uint8_t L_4 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		if (L_4)
		{
			goto IL_001c;
		}
	}
	{
		int32_t L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = ___x0;
		if ((((int32_t)L_5) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length)))))))
		{
			goto IL_0007;
		}
	}

IL_001c:
	{
		int32_t L_7 = V_0;
		V_0 = ((int32_t)((int32_t)L_7-(int32_t)1));
		int32_t L_8 = V_0;
		if ((((int32_t)L_8) <= ((int32_t)0)))
		{
			goto IL_0040;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_9 = ___x0;
		int32_t L_10 = V_0;
		V_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_9)->max_length))))-(int32_t)L_10))));
		ByteU5BU5D_t4260760469* L_11 = ___x0;
		int32_t L_12 = V_0;
		ByteU5BU5D_t4260760469* L_13 = V_1;
		ByteU5BU5D_t4260760469* L_14 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_11, L_12, (Il2CppArray *)(Il2CppArray *)L_13, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_15 = V_1;
		return L_15;
	}

IL_0040:
	{
		ByteU5BU5D_t4260760469* L_16 = ___x0;
		return L_16;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::RSASP1(System.Security.Cryptography.RSA,System.Byte[])
extern "C"  ByteU5BU5D_t4260760469* PKCS1_RSASP1_m3485035079 (Il2CppObject * __this /* static, unused */, RSA_t2466814310 * ___rsa0, ByteU5BU5D_t4260760469* ___m1, const MethodInfo* method)
{
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		ByteU5BU5D_t4260760469* L_1 = ___m1;
		ByteU5BU5D_t4260760469* L_2 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(11 /* System.Byte[] System.Security.Cryptography.RSA::DecryptValue(System.Byte[]) */, L_0, L_1);
		return L_2;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::RSAVP1(System.Security.Cryptography.RSA,System.Byte[])
extern "C"  ByteU5BU5D_t4260760469* PKCS1_RSAVP1_m2589639562 (Il2CppObject * __this /* static, unused */, RSA_t2466814310 * ___rsa0, ByteU5BU5D_t4260760469* ___s1, const MethodInfo* method)
{
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		ByteU5BU5D_t4260760469* L_1 = ___s1;
		ByteU5BU5D_t4260760469* L_2 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Byte[] System.Security.Cryptography.RSA::EncryptValue(System.Byte[]) */, L_0, L_1);
		return L_2;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::Sign_v15(System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithm,System.Byte[])
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Sign_v15_m456933555_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PKCS1_Sign_v15_m456933555 (Il2CppObject * __this /* static, unused */, RSA_t2466814310 * ___rsa0, HashAlgorithm_t532578791 * ___hash1, ByteU5BU5D_t4260760469* ___hashValue2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Sign_v15_m456933555_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		int32_t L_1 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 System.Security.Cryptography.AsymmetricAlgorithm::get_KeySize() */, L_0);
		V_0 = ((int32_t)((int32_t)L_1>>(int32_t)3));
		HashAlgorithm_t532578791 * L_2 = ___hash1;
		ByteU5BU5D_t4260760469* L_3 = ___hashValue2;
		int32_t L_4 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_5 = PKCS1_Encode_v15_m2783024148(NULL /*static, unused*/, L_2, L_3, L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		ByteU5BU5D_t4260760469* L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = PKCS1_OS2IP_m3050204367(NULL /*static, unused*/, L_6, /*hidden argument*/NULL);
		V_2 = L_7;
		RSA_t2466814310 * L_8 = ___rsa0;
		ByteU5BU5D_t4260760469* L_9 = V_2;
		ByteU5BU5D_t4260760469* L_10 = PKCS1_RSASP1_m3485035079(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		V_3 = L_10;
		ByteU5BU5D_t4260760469* L_11 = V_3;
		int32_t L_12 = V_0;
		ByteU5BU5D_t4260760469* L_13 = PKCS1_I2OSP_m2941319222(NULL /*static, unused*/, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		ByteU5BU5D_t4260760469* L_14 = V_4;
		return L_14;
	}
}
// System.Boolean Mono.Security.Cryptography.PKCS1::Verify_v15(System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithm,System.Byte[],System.Byte[])
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Verify_v15_m555702422_MetadataUsageId;
extern "C"  bool PKCS1_Verify_v15_m555702422 (Il2CppObject * __this /* static, unused */, RSA_t2466814310 * ___rsa0, HashAlgorithm_t532578791 * ___hash1, ByteU5BU5D_t4260760469* ___hashValue2, ByteU5BU5D_t4260760469* ___signature3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Verify_v15_m555702422_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		HashAlgorithm_t532578791 * L_1 = ___hash1;
		ByteU5BU5D_t4260760469* L_2 = ___hashValue2;
		ByteU5BU5D_t4260760469* L_3 = ___signature3;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		bool L_4 = PKCS1_Verify_v15_m4160617511(NULL /*static, unused*/, L_0, L_1, L_2, L_3, (bool)0, /*hidden argument*/NULL);
		return L_4;
	}
}
// System.Boolean Mono.Security.Cryptography.PKCS1::Verify_v15(System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithm,System.Byte[],System.Byte[],System.Boolean)
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Verify_v15_m4160617511_MetadataUsageId;
extern "C"  bool PKCS1_Verify_v15_m4160617511 (Il2CppObject * __this /* static, unused */, RSA_t2466814310 * ___rsa0, HashAlgorithm_t532578791 * ___hash1, ByteU5BU5D_t4260760469* ___hashValue2, ByteU5BU5D_t4260760469* ___signature3, bool ___tryNonStandardEncoding4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Verify_v15_m4160617511_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	bool V_5 = false;
	int32_t V_6 = 0;
	ByteU5BU5D_t4260760469* V_7 = NULL;
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		int32_t L_1 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 System.Security.Cryptography.AsymmetricAlgorithm::get_KeySize() */, L_0);
		V_0 = ((int32_t)((int32_t)L_1>>(int32_t)3));
		ByteU5BU5D_t4260760469* L_2 = ___signature3;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_3 = PKCS1_OS2IP_m3050204367(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		RSA_t2466814310 * L_4 = ___rsa0;
		ByteU5BU5D_t4260760469* L_5 = V_1;
		ByteU5BU5D_t4260760469* L_6 = PKCS1_RSAVP1_m2589639562(NULL /*static, unused*/, L_4, L_5, /*hidden argument*/NULL);
		V_2 = L_6;
		ByteU5BU5D_t4260760469* L_7 = V_2;
		int32_t L_8 = V_0;
		ByteU5BU5D_t4260760469* L_9 = PKCS1_I2OSP_m2941319222(NULL /*static, unused*/, L_7, L_8, /*hidden argument*/NULL);
		V_3 = L_9;
		HashAlgorithm_t532578791 * L_10 = ___hash1;
		ByteU5BU5D_t4260760469* L_11 = ___hashValue2;
		int32_t L_12 = V_0;
		ByteU5BU5D_t4260760469* L_13 = PKCS1_Encode_v15_m2783024148(NULL /*static, unused*/, L_10, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		ByteU5BU5D_t4260760469* L_14 = V_4;
		ByteU5BU5D_t4260760469* L_15 = V_3;
		bool L_16 = PKCS1_Compare_m2966371174(NULL /*static, unused*/, L_14, L_15, /*hidden argument*/NULL);
		V_5 = L_16;
		bool L_17 = V_5;
		if (L_17)
		{
			goto IL_0042;
		}
	}
	{
		bool L_18 = ___tryNonStandardEncoding4;
		if (L_18)
		{
			goto IL_0045;
		}
	}

IL_0042:
	{
		bool L_19 = V_5;
		return L_19;
	}

IL_0045:
	{
		ByteU5BU5D_t4260760469* L_20 = V_3;
		int32_t L_21 = 0;
		uint8_t L_22 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_21));
		if (L_22)
		{
			goto IL_0056;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_23 = V_3;
		int32_t L_24 = 1;
		uint8_t L_25 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_24));
		if ((((int32_t)L_25) == ((int32_t)1)))
		{
			goto IL_0058;
		}
	}

IL_0056:
	{
		return (bool)0;
	}

IL_0058:
	{
		V_6 = 2;
		goto IL_0076;
	}

IL_0060:
	{
		ByteU5BU5D_t4260760469* L_26 = V_3;
		int32_t L_27 = V_6;
		int32_t L_28 = L_27;
		uint8_t L_29 = (L_26)->GetAt(static_cast<il2cpp_array_size_t>(L_28));
		if ((((int32_t)L_29) == ((int32_t)((int32_t)255))))
		{
			goto IL_0070;
		}
	}
	{
		return (bool)0;
	}

IL_0070:
	{
		int32_t L_30 = V_6;
		V_6 = ((int32_t)((int32_t)L_30+(int32_t)1));
	}

IL_0076:
	{
		int32_t L_31 = V_6;
		ByteU5BU5D_t4260760469* L_32 = V_3;
		ByteU5BU5D_t4260760469* L_33 = ___hashValue2;
		if ((((int32_t)L_31) < ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length))))-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_33)->max_length))))))-(int32_t)1)))))
		{
			goto IL_0060;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_34 = V_3;
		int32_t L_35 = V_6;
		int32_t L_36 = L_35;
		V_6 = ((int32_t)((int32_t)L_36+(int32_t)1));
		int32_t L_37 = L_36;
		uint8_t L_38 = (L_34)->GetAt(static_cast<il2cpp_array_size_t>(L_37));
		if (!L_38)
		{
			goto IL_0096;
		}
	}
	{
		return (bool)0;
	}

IL_0096:
	{
		ByteU5BU5D_t4260760469* L_39 = ___hashValue2;
		V_7 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_39)->max_length))))));
		ByteU5BU5D_t4260760469* L_40 = V_3;
		int32_t L_41 = V_6;
		ByteU5BU5D_t4260760469* L_42 = V_7;
		ByteU5BU5D_t4260760469* L_43 = V_7;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_40, L_41, (Il2CppArray *)(Il2CppArray *)L_42, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_43)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_44 = V_7;
		ByteU5BU5D_t4260760469* L_45 = ___hashValue2;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		bool L_46 = PKCS1_Compare_m2966371174(NULL /*static, unused*/, L_44, L_45, /*hidden argument*/NULL);
		return L_46;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::Encode_v15(System.Security.Cryptography.HashAlgorithm,System.Byte[],System.Int32)
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptoConfig_t1703322959_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3613726746;
extern const uint32_t PKCS1_Encode_v15_m2783024148_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PKCS1_Encode_v15_m2783024148 (Il2CppObject * __this /* static, unused */, HashAlgorithm_t532578791 * ___hash0, ByteU5BU5D_t4260760469* ___hashValue1, int32_t ___emLength2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Encode_v15_m2783024148_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	String_t* V_1 = NULL;
	ASN1_t3752917378 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	ASN1_t3752917378 * V_4 = NULL;
	int32_t V_5 = 0;
	ByteU5BU5D_t4260760469* V_6 = NULL;
	int32_t V_7 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___hashValue1;
		HashAlgorithm_t532578791 * L_1 = ___hash0;
		int32_t L_2 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_1);
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))) == ((int32_t)((int32_t)((int32_t)L_2>>(int32_t)3)))))
		{
			goto IL_0026;
		}
	}
	{
		HashAlgorithm_t532578791 * L_3 = ___hash0;
		String_t* L_4 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Object::ToString() */, L_3);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_5 = String_Concat_m138640077(NULL /*static, unused*/, _stringLiteral3613726746, L_4, /*hidden argument*/NULL);
		CryptographicException_t3687180084 * L_6 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_6, L_5, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0026:
	{
		V_0 = (ByteU5BU5D_t4260760469*)NULL;
		HashAlgorithm_t532578791 * L_7 = ___hash0;
		String_t* L_8 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Object::ToString() */, L_7);
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t1703322959_il2cpp_TypeInfo_var);
		String_t* L_9 = CryptoConfig_MapNameToOID_m2965471927(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		V_1 = L_9;
		String_t* L_10 = V_1;
		if (!L_10)
		{
			goto IL_0091;
		}
	}
	{
		ASN1_t3752917378 * L_11 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_11, ((int32_t)48), /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t3752917378 * L_12 = V_2;
		String_t* L_13 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t1703322959_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_14 = CryptoConfig_EncodeOID_m3599780936(NULL /*static, unused*/, L_13, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_15 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_15, L_14, /*hidden argument*/NULL);
		ASN1_Add_m1424422628(L_12, L_15, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_16 = V_2;
		ASN1_t3752917378 * L_17 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_17, 5, /*hidden argument*/NULL);
		ASN1_Add_m1424422628(L_16, L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_18 = ___hashValue1;
		ASN1_t3752917378 * L_19 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m2727735242(L_19, 4, L_18, /*hidden argument*/NULL);
		V_3 = L_19;
		ASN1_t3752917378 * L_20 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_20, ((int32_t)48), /*hidden argument*/NULL);
		V_4 = L_20;
		ASN1_t3752917378 * L_21 = V_4;
		ASN1_t3752917378 * L_22 = V_2;
		ASN1_Add_m1424422628(L_21, L_22, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_23 = V_4;
		ASN1_t3752917378 * L_24 = V_3;
		ASN1_Add_m1424422628(L_23, L_24, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_25 = V_4;
		ByteU5BU5D_t4260760469* L_26 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, L_25);
		V_0 = L_26;
		goto IL_0093;
	}

IL_0091:
	{
		ByteU5BU5D_t4260760469* L_27 = ___hashValue1;
		V_0 = L_27;
	}

IL_0093:
	{
		ByteU5BU5D_t4260760469* L_28 = ___hashValue1;
		ByteU5BU5D_t4260760469* L_29 = V_0;
		ByteU5BU5D_t4260760469* L_30 = V_0;
		ByteU5BU5D_t4260760469* L_31 = ___hashValue1;
		ByteU5BU5D_t4260760469* L_32 = ___hashValue1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_28, 0, (Il2CppArray *)(Il2CppArray *)L_29, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length))))-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))))), (((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length)))), /*hidden argument*/NULL);
		int32_t L_33 = ___emLength2;
		ByteU5BU5D_t4260760469* L_34 = V_0;
		int32_t L_35 = Math_Max_m1309380475(NULL /*static, unused*/, 8, ((int32_t)((int32_t)((int32_t)((int32_t)L_33-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_34)->max_length))))))-(int32_t)3)), /*hidden argument*/NULL);
		V_5 = L_35;
		int32_t L_36 = V_5;
		ByteU5BU5D_t4260760469* L_37 = V_0;
		V_6 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_36+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_37)->max_length))))))+(int32_t)3))));
		ByteU5BU5D_t4260760469* L_38 = V_6;
		(L_38)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)1);
		V_7 = 2;
		goto IL_00e0;
	}

IL_00d0:
	{
		ByteU5BU5D_t4260760469* L_39 = V_6;
		int32_t L_40 = V_7;
		(L_39)->SetAt(static_cast<il2cpp_array_size_t>(L_40), (uint8_t)((int32_t)255));
		int32_t L_41 = V_7;
		V_7 = ((int32_t)((int32_t)L_41+(int32_t)1));
	}

IL_00e0:
	{
		int32_t L_42 = V_7;
		int32_t L_43 = V_5;
		if ((((int32_t)L_42) < ((int32_t)((int32_t)((int32_t)L_43+(int32_t)2)))))
		{
			goto IL_00d0;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_44 = V_0;
		ByteU5BU5D_t4260760469* L_45 = V_6;
		int32_t L_46 = V_5;
		ByteU5BU5D_t4260760469* L_47 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_44, 0, (Il2CppArray *)(Il2CppArray *)L_45, ((int32_t)((int32_t)L_46+(int32_t)3)), (((int32_t)((int32_t)(((Il2CppArray *)L_47)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_48 = V_6;
		return L_48;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::.ctor()
extern "C"  void EncryptedPrivateKeyInfo__ctor_m1455841035 (EncryptedPrivateKeyInfo_t300608462 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::.ctor(System.Byte[])
extern "C"  void EncryptedPrivateKeyInfo__ctor_m3104680606 (EncryptedPrivateKeyInfo_t300608462 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	{
		EncryptedPrivateKeyInfo__ctor_m1455841035(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		EncryptedPrivateKeyInfo_Decode_m236294626(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.String Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_Algorithm()
extern "C"  String_t* EncryptedPrivateKeyInfo_get_Algorithm_m1903026028 (EncryptedPrivateKeyInfo_t300608462 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = __this->get__algorithm_0();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_EncryptedData()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedPrivateKeyInfo_get_EncryptedData_m1064226660_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* EncryptedPrivateKeyInfo_get_EncryptedData_m1064226660 (EncryptedPrivateKeyInfo_t300608462 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_get_EncryptedData_m1064226660_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* G_B3_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__data_3();
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		G_B3_0 = ((ByteU5BU5D_t4260760469*)(NULL));
		goto IL_0021;
	}

IL_0011:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get__data_3();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		G_B3_0 = ((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}

IL_0021:
	{
		return G_B3_0;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_Salt()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedPrivateKeyInfo_get_Salt_m4034382306_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* EncryptedPrivateKeyInfo_get_Salt_m4034382306 (EncryptedPrivateKeyInfo_t300608462 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_get_Salt_m4034382306_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RandomNumberGenerator_t1757673517 * V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__salt_1();
		if (L_0)
		{
			goto IL_0029;
		}
	}
	{
		RandomNumberGenerator_t1757673517 * L_1 = RandomNumberGenerator_Create_m2029084057(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_1;
		__this->set__salt_1(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)8)));
		RandomNumberGenerator_t1757673517 * L_2 = V_0;
		ByteU5BU5D_t4260760469* L_3 = __this->get__salt_1();
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_2, L_3);
	}

IL_0029:
	{
		ByteU5BU5D_t4260760469* L_4 = __this->get__salt_1();
		Il2CppObject * L_5 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_4, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_5, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Int32 Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_IterationCount()
extern "C"  int32_t EncryptedPrivateKeyInfo_get_IterationCount_m1213644604 (EncryptedPrivateKeyInfo_t300608462 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get__iterations_2();
		return L_0;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::Decode(System.Byte[])
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1777371205;
extern Il2CppCodeGenString* _stringLiteral3797853315;
extern Il2CppCodeGenString* _stringLiteral2308833670;
extern Il2CppCodeGenString* _stringLiteral617879475;
extern Il2CppCodeGenString* _stringLiteral469000415;
extern Il2CppCodeGenString* _stringLiteral3158146427;
extern Il2CppCodeGenString* _stringLiteral33043717;
extern const uint32_t EncryptedPrivateKeyInfo_Decode_m236294626_MetadataUsageId;
extern "C"  void EncryptedPrivateKeyInfo_Decode_m236294626 (EncryptedPrivateKeyInfo_t300608462 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_Decode_m236294626_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	ASN1_t3752917378 * V_1 = NULL;
	ASN1_t3752917378 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	ASN1_t3752917378 * V_4 = NULL;
	ASN1_t3752917378 * V_5 = NULL;
	ASN1_t3752917378 * V_6 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		ASN1_t3752917378 * L_1 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t3752917378 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m442995239(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3687180084 * L_4 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_4, _stringLiteral1777371205, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t3752917378 * L_5 = V_0;
		ASN1_t3752917378 * L_6 = ASN1_get_Item_m3727278260(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t3752917378 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m442995239(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)((int32_t)48))))
		{
			goto IL_003f;
		}
	}
	{
		CryptographicException_t3687180084 * L_9 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_9, _stringLiteral3797853315, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003f:
	{
		ASN1_t3752917378 * L_10 = V_1;
		ASN1_t3752917378 * L_11 = ASN1_get_Item_m3727278260(L_10, 0, /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t3752917378 * L_12 = V_2;
		uint8_t L_13 = ASN1_get_Tag_m442995239(L_12, /*hidden argument*/NULL);
		if ((((int32_t)L_13) == ((int32_t)6)))
		{
			goto IL_005e;
		}
	}
	{
		CryptographicException_t3687180084 * L_14 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_14, _stringLiteral2308833670, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_14);
	}

IL_005e:
	{
		ASN1_t3752917378 * L_15 = V_2;
		String_t* L_16 = ASN1Convert_ToOid_m581448231(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		__this->set__algorithm_0(L_16);
		ASN1_t3752917378 * L_17 = V_1;
		int32_t L_18 = ASN1_get_Count_m2214472120(L_17, /*hidden argument*/NULL);
		if ((((int32_t)L_18) <= ((int32_t)1)))
		{
			goto IL_00f2;
		}
	}
	{
		ASN1_t3752917378 * L_19 = V_1;
		ASN1_t3752917378 * L_20 = ASN1_get_Item_m3727278260(L_19, 1, /*hidden argument*/NULL);
		V_3 = L_20;
		ASN1_t3752917378 * L_21 = V_3;
		uint8_t L_22 = ASN1_get_Tag_m442995239(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)((int32_t)48))))
		{
			goto IL_0096;
		}
	}
	{
		CryptographicException_t3687180084 * L_23 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_23, _stringLiteral617879475, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_0096:
	{
		ASN1_t3752917378 * L_24 = V_3;
		ASN1_t3752917378 * L_25 = ASN1_get_Item_m3727278260(L_24, 0, /*hidden argument*/NULL);
		V_4 = L_25;
		ASN1_t3752917378 * L_26 = V_4;
		uint8_t L_27 = ASN1_get_Tag_m442995239(L_26, /*hidden argument*/NULL);
		if ((((int32_t)L_27) == ((int32_t)4)))
		{
			goto IL_00b7;
		}
	}
	{
		CryptographicException_t3687180084 * L_28 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_28, _stringLiteral469000415, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_28);
	}

IL_00b7:
	{
		ASN1_t3752917378 * L_29 = V_4;
		ByteU5BU5D_t4260760469* L_30 = ASN1_get_Value_m390067040(L_29, /*hidden argument*/NULL);
		__this->set__salt_1(L_30);
		ASN1_t3752917378 * L_31 = V_3;
		ASN1_t3752917378 * L_32 = ASN1_get_Item_m3727278260(L_31, 1, /*hidden argument*/NULL);
		V_5 = L_32;
		ASN1_t3752917378 * L_33 = V_5;
		uint8_t L_34 = ASN1_get_Tag_m442995239(L_33, /*hidden argument*/NULL);
		if ((((int32_t)L_34) == ((int32_t)2)))
		{
			goto IL_00e5;
		}
	}
	{
		CryptographicException_t3687180084 * L_35 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_35, _stringLiteral3158146427, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_35);
	}

IL_00e5:
	{
		ASN1_t3752917378 * L_36 = V_5;
		int32_t L_37 = ASN1Convert_ToInt32_m2275332600(NULL /*static, unused*/, L_36, /*hidden argument*/NULL);
		__this->set__iterations_2(L_37);
	}

IL_00f2:
	{
		ASN1_t3752917378 * L_38 = V_0;
		ASN1_t3752917378 * L_39 = ASN1_get_Item_m3727278260(L_38, 1, /*hidden argument*/NULL);
		V_6 = L_39;
		ASN1_t3752917378 * L_40 = V_6;
		uint8_t L_41 = ASN1_get_Tag_m442995239(L_40, /*hidden argument*/NULL);
		if ((((int32_t)L_41) == ((int32_t)4)))
		{
			goto IL_0113;
		}
	}
	{
		CryptographicException_t3687180084 * L_42 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_42, _stringLiteral33043717, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_42);
	}

IL_0113:
	{
		ASN1_t3752917378 * L_43 = V_6;
		ByteU5BU5D_t4260760469* L_44 = ASN1_get_Value_m390067040(L_43, /*hidden argument*/NULL);
		__this->set__data_3(L_44);
		return;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::.ctor()
extern Il2CppClass* ArrayList_t3948406897_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo__ctor_m362104835_MetadataUsageId;
extern "C"  void PrivateKeyInfo__ctor_m362104835 (PrivateKeyInfo_t3021279628 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo__ctor_m362104835_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		__this->set__version_0(0);
		ArrayList_t3948406897 * L_0 = (ArrayList_t3948406897 *)il2cpp_codegen_object_new(ArrayList_t3948406897_il2cpp_TypeInfo_var);
		ArrayList__ctor_m1878432947(L_0, /*hidden argument*/NULL);
		__this->set__list_3(L_0);
		return;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::.ctor(System.Byte[])
extern "C"  void PrivateKeyInfo__ctor_m3331527846 (PrivateKeyInfo_t3021279628 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	{
		PrivateKeyInfo__ctor_m362104835(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		PrivateKeyInfo_Decode_m2973591770(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::get_PrivateKey()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_get_PrivateKey_m2153221404_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PrivateKeyInfo_get_PrivateKey_m2153221404 (PrivateKeyInfo_t3021279628 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_get_PrivateKey_m2153221404_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__key_2();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get__key_2();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::Decode(System.Byte[])
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral646909459;
extern Il2CppCodeGenString* _stringLiteral3245392815;
extern Il2CppCodeGenString* _stringLiteral2308833670;
extern Il2CppCodeGenString* _stringLiteral957410623;
extern const uint32_t PrivateKeyInfo_Decode_m2973591770_MetadataUsageId;
extern "C"  void PrivateKeyInfo_Decode_m2973591770 (PrivateKeyInfo_t3021279628 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_Decode_m2973591770_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	ASN1_t3752917378 * V_1 = NULL;
	ASN1_t3752917378 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	ASN1_t3752917378 * V_4 = NULL;
	ASN1_t3752917378 * V_5 = NULL;
	int32_t V_6 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		ASN1_t3752917378 * L_1 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t3752917378 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m442995239(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3687180084 * L_4 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_4, _stringLiteral646909459, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t3752917378 * L_5 = V_0;
		ASN1_t3752917378 * L_6 = ASN1_get_Item_m3727278260(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t3752917378 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m442995239(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)2)))
		{
			goto IL_003e;
		}
	}
	{
		CryptographicException_t3687180084 * L_9 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_9, _stringLiteral3245392815, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003e:
	{
		ASN1_t3752917378 * L_10 = V_1;
		ByteU5BU5D_t4260760469* L_11 = ASN1_get_Value_m390067040(L_10, /*hidden argument*/NULL);
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
		__this->set__version_0(L_13);
		ASN1_t3752917378 * L_14 = V_0;
		ASN1_t3752917378 * L_15 = ASN1_get_Item_m3727278260(L_14, 1, /*hidden argument*/NULL);
		V_2 = L_15;
		ASN1_t3752917378 * L_16 = V_2;
		uint8_t L_17 = ASN1_get_Tag_m442995239(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) == ((int32_t)((int32_t)48))))
		{
			goto IL_006c;
		}
	}
	{
		CryptographicException_t3687180084 * L_18 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_18, _stringLiteral2308833670, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_006c:
	{
		ASN1_t3752917378 * L_19 = V_2;
		ASN1_t3752917378 * L_20 = ASN1_get_Item_m3727278260(L_19, 0, /*hidden argument*/NULL);
		V_3 = L_20;
		ASN1_t3752917378 * L_21 = V_3;
		uint8_t L_22 = ASN1_get_Tag_m442995239(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)6)))
		{
			goto IL_008b;
		}
	}
	{
		CryptographicException_t3687180084 * L_23 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_23, _stringLiteral957410623, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_008b:
	{
		ASN1_t3752917378 * L_24 = V_3;
		String_t* L_25 = ASN1Convert_ToOid_m581448231(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		__this->set__algorithm_1(L_25);
		ASN1_t3752917378 * L_26 = V_0;
		ASN1_t3752917378 * L_27 = ASN1_get_Item_m3727278260(L_26, 2, /*hidden argument*/NULL);
		V_4 = L_27;
		ASN1_t3752917378 * L_28 = V_4;
		ByteU5BU5D_t4260760469* L_29 = ASN1_get_Value_m390067040(L_28, /*hidden argument*/NULL);
		__this->set__key_2(L_29);
		ASN1_t3752917378 * L_30 = V_0;
		int32_t L_31 = ASN1_get_Count_m2214472120(L_30, /*hidden argument*/NULL);
		if ((((int32_t)L_31) <= ((int32_t)3)))
		{
			goto IL_00f3;
		}
	}
	{
		ASN1_t3752917378 * L_32 = V_0;
		ASN1_t3752917378 * L_33 = ASN1_get_Item_m3727278260(L_32, 3, /*hidden argument*/NULL);
		V_5 = L_33;
		V_6 = 0;
		goto IL_00e5;
	}

IL_00ca:
	{
		ArrayList_t3948406897 * L_34 = __this->get__list_3();
		ASN1_t3752917378 * L_35 = V_5;
		int32_t L_36 = V_6;
		ASN1_t3752917378 * L_37 = ASN1_get_Item_m3727278260(L_35, L_36, /*hidden argument*/NULL);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_34, L_37);
		int32_t L_38 = V_6;
		V_6 = ((int32_t)((int32_t)L_38+(int32_t)1));
	}

IL_00e5:
	{
		int32_t L_39 = V_6;
		ASN1_t3752917378 * L_40 = V_5;
		int32_t L_41 = ASN1_get_Count_m2214472120(L_40, /*hidden argument*/NULL);
		if ((((int32_t)L_39) < ((int32_t)L_41)))
		{
			goto IL_00ca;
		}
	}

IL_00f3:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::RemoveLeadingZero(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_RemoveLeadingZero_m3776637556_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PrivateKeyInfo_RemoveLeadingZero_m3776637556 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___bigInt0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_RemoveLeadingZero_m3776637556_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		V_0 = 0;
		ByteU5BU5D_t4260760469* L_0 = ___bigInt0;
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))));
		ByteU5BU5D_t4260760469* L_1 = ___bigInt0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_2));
		if (L_3)
		{
			goto IL_0014;
		}
	}
	{
		V_0 = 1;
		int32_t L_4 = V_1;
		V_1 = ((int32_t)((int32_t)L_4-(int32_t)1));
	}

IL_0014:
	{
		int32_t L_5 = V_1;
		V_2 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_5));
		ByteU5BU5D_t4260760469* L_6 = ___bigInt0;
		int32_t L_7 = V_0;
		ByteU5BU5D_t4260760469* L_8 = V_2;
		int32_t L_9 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, L_7, (Il2CppArray *)(Il2CppArray *)L_8, 0, L_9, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_10 = V_2;
		return L_10;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::Normalize(System.Byte[],System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_Normalize_m3523909062_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* PrivateKeyInfo_Normalize_m3523909062 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___bigInt0, int32_t ___length1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_Normalize_m3523909062_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___bigInt0;
		int32_t L_1 = ___length1;
		if ((!(((uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))) == ((uint32_t)L_1))))
		{
			goto IL_000b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_2 = ___bigInt0;
		return L_2;
	}

IL_000b:
	{
		ByteU5BU5D_t4260760469* L_3 = ___bigInt0;
		int32_t L_4 = ___length1;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length))))) <= ((int32_t)L_4)))
		{
			goto IL_001b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_5 = ___bigInt0;
		ByteU5BU5D_t4260760469* L_6 = PrivateKeyInfo_RemoveLeadingZero_m3776637556(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		return L_6;
	}

IL_001b:
	{
		int32_t L_7 = ___length1;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_7));
		ByteU5BU5D_t4260760469* L_8 = ___bigInt0;
		ByteU5BU5D_t4260760469* L_9 = V_0;
		int32_t L_10 = ___length1;
		ByteU5BU5D_t4260760469* L_11 = ___bigInt0;
		ByteU5BU5D_t4260760469* L_12 = ___bigInt0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_8, 0, (Il2CppArray *)(Il2CppArray *)L_9, ((int32_t)((int32_t)L_10-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))))), (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = V_0;
		return L_13;
	}
}
// System.Security.Cryptography.RSA Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::DecodeRSA(System.Byte[])
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAParameters_t3219890992_il2cpp_TypeInfo_var;
extern Il2CppClass* CspParameters_t309313264_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral501078110;
extern Il2CppCodeGenString* _stringLiteral1108112414;
extern Il2CppCodeGenString* _stringLiteral861952366;
extern const uint32_t PrivateKeyInfo_DecodeRSA_m311172684_MetadataUsageId;
extern "C"  RSA_t2466814310 * PrivateKeyInfo_DecodeRSA_m311172684 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___keypair0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_DecodeRSA_m311172684_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	ASN1_t3752917378 * V_1 = NULL;
	RSAParameters_t3219890992  V_2;
	memset(&V_2, 0, sizeof(V_2));
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	RSA_t2466814310 * V_5 = NULL;
	CspParameters_t309313264 * V_6 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		ByteU5BU5D_t4260760469* L_0 = ___keypair0;
		ASN1_t3752917378 * L_1 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t3752917378 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m442995239(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3687180084 * L_4 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_4, _stringLiteral501078110, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t3752917378 * L_5 = V_0;
		ASN1_t3752917378 * L_6 = ASN1_get_Item_m3727278260(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t3752917378 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m442995239(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)2)))
		{
			goto IL_003e;
		}
	}
	{
		CryptographicException_t3687180084 * L_9 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_9, _stringLiteral1108112414, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003e:
	{
		ASN1_t3752917378 * L_10 = V_0;
		int32_t L_11 = ASN1_get_Count_m2214472120(L_10, /*hidden argument*/NULL);
		if ((((int32_t)L_11) >= ((int32_t)((int32_t)9))))
		{
			goto IL_0056;
		}
	}
	{
		CryptographicException_t3687180084 * L_12 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_12, _stringLiteral861952366, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0056:
	{
		Initobj (RSAParameters_t3219890992_il2cpp_TypeInfo_var, (&V_2));
		ASN1_t3752917378 * L_13 = V_0;
		ASN1_t3752917378 * L_14 = ASN1_get_Item_m3727278260(L_13, 1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_15 = ASN1_get_Value_m390067040(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_16 = PrivateKeyInfo_RemoveLeadingZero_m3776637556(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		(&V_2)->set_Modulus_6(L_16);
		ByteU5BU5D_t4260760469* L_17 = (&V_2)->get_Modulus_6();
		V_3 = (((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length))));
		int32_t L_18 = V_3;
		V_4 = ((int32_t)((int32_t)L_18>>(int32_t)1));
		ASN1_t3752917378 * L_19 = V_0;
		ASN1_t3752917378 * L_20 = ASN1_get_Item_m3727278260(L_19, 3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_21 = ASN1_get_Value_m390067040(L_20, /*hidden argument*/NULL);
		int32_t L_22 = V_3;
		ByteU5BU5D_t4260760469* L_23 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_21, L_22, /*hidden argument*/NULL);
		(&V_2)->set_D_2(L_23);
		ASN1_t3752917378 * L_24 = V_0;
		ASN1_t3752917378 * L_25 = ASN1_get_Item_m3727278260(L_24, 6, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_26 = ASN1_get_Value_m390067040(L_25, /*hidden argument*/NULL);
		int32_t L_27 = V_4;
		ByteU5BU5D_t4260760469* L_28 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		(&V_2)->set_DP_3(L_28);
		ASN1_t3752917378 * L_29 = V_0;
		ASN1_t3752917378 * L_30 = ASN1_get_Item_m3727278260(L_29, 7, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_31 = ASN1_get_Value_m390067040(L_30, /*hidden argument*/NULL);
		int32_t L_32 = V_4;
		ByteU5BU5D_t4260760469* L_33 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_31, L_32, /*hidden argument*/NULL);
		(&V_2)->set_DQ_4(L_33);
		ASN1_t3752917378 * L_34 = V_0;
		ASN1_t3752917378 * L_35 = ASN1_get_Item_m3727278260(L_34, 2, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_36 = ASN1_get_Value_m390067040(L_35, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_37 = PrivateKeyInfo_RemoveLeadingZero_m3776637556(NULL /*static, unused*/, L_36, /*hidden argument*/NULL);
		(&V_2)->set_Exponent_7(L_37);
		ASN1_t3752917378 * L_38 = V_0;
		ASN1_t3752917378 * L_39 = ASN1_get_Item_m3727278260(L_38, 8, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_40 = ASN1_get_Value_m390067040(L_39, /*hidden argument*/NULL);
		int32_t L_41 = V_4;
		ByteU5BU5D_t4260760469* L_42 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		(&V_2)->set_InverseQ_5(L_42);
		ASN1_t3752917378 * L_43 = V_0;
		ASN1_t3752917378 * L_44 = ASN1_get_Item_m3727278260(L_43, 4, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_45 = ASN1_get_Value_m390067040(L_44, /*hidden argument*/NULL);
		int32_t L_46 = V_4;
		ByteU5BU5D_t4260760469* L_47 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_45, L_46, /*hidden argument*/NULL);
		(&V_2)->set_P_0(L_47);
		ASN1_t3752917378 * L_48 = V_0;
		ASN1_t3752917378 * L_49 = ASN1_get_Item_m3727278260(L_48, 5, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_50 = ASN1_get_Value_m390067040(L_49, /*hidden argument*/NULL);
		int32_t L_51 = V_4;
		ByteU5BU5D_t4260760469* L_52 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_50, L_51, /*hidden argument*/NULL);
		(&V_2)->set_Q_1(L_52);
		V_5 = (RSA_t2466814310 *)NULL;
	}

IL_013b:
	try
	{ // begin try (depth: 1)
		RSA_t2466814310 * L_53 = RSA_Create_m3157832121(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_5 = L_53;
		RSA_t2466814310 * L_54 = V_5;
		RSAParameters_t3219890992  L_55 = V_2;
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void System.Security.Cryptography.RSA::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_54, L_55);
		goto IL_0175;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (CryptographicException_t3687180084_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_014f;
		throw e;
	}

CATCH_014f:
	{ // begin catch(System.Security.Cryptography.CryptographicException)
		CspParameters_t309313264 * L_56 = (CspParameters_t309313264 *)il2cpp_codegen_object_new(CspParameters_t309313264_il2cpp_TypeInfo_var);
		CspParameters__ctor_m3804826267(L_56, /*hidden argument*/NULL);
		V_6 = L_56;
		CspParameters_t309313264 * L_57 = V_6;
		CspParameters_set_Flags_m3780635110(L_57, 1, /*hidden argument*/NULL);
		CspParameters_t309313264 * L_58 = V_6;
		RSACryptoServiceProvider_t742318033 * L_59 = (RSACryptoServiceProvider_t742318033 *)il2cpp_codegen_object_new(RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var);
		RSACryptoServiceProvider__ctor_m32080133(L_59, L_58, /*hidden argument*/NULL);
		V_5 = L_59;
		RSA_t2466814310 * L_60 = V_5;
		RSAParameters_t3219890992  L_61 = V_2;
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void System.Security.Cryptography.RSA::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_60, L_61);
		goto IL_0175;
	} // end catch (depth: 1)

IL_0175:
	{
		RSA_t2466814310 * L_62 = V_5;
		return L_62;
	}
}
// System.Security.Cryptography.DSA Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::DecodeDSA(System.Byte[],System.Security.Cryptography.DSAParameters)
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral501078110;
extern const uint32_t PrivateKeyInfo_DecodeDSA_m1682427249_MetadataUsageId;
extern "C"  DSA_t2466800856 * PrivateKeyInfo_DecodeDSA_m1682427249 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___privateKey0, DSAParameters_t3032565794  ___dsaParameters1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_DecodeDSA_m1682427249_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	DSA_t2466800856 * V_1 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___privateKey0;
		ASN1_t3752917378 * L_1 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t3752917378 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m442995239(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)2)))
		{
			goto IL_001e;
		}
	}
	{
		CryptographicException_t3687180084 * L_4 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_4, _stringLiteral501078110, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001e:
	{
		ASN1_t3752917378 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = ASN1_get_Value_m390067040(L_5, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_7 = PrivateKeyInfo_Normalize_m3523909062(NULL /*static, unused*/, L_6, ((int32_t)20), /*hidden argument*/NULL);
		(&___dsaParameters1)->set_X_6(L_7);
		DSA_t2466800856 * L_8 = DSA_Create_m2357499897(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_1 = L_8;
		DSA_t2466800856 * L_9 = V_1;
		DSAParameters_t3032565794  L_10 = ___dsaParameters1;
		VirtActionInvoker1< DSAParameters_t3032565794  >::Invoke(12 /* System.Void System.Security.Cryptography.DSA::ImportParameters(System.Security.Cryptography.DSAParameters) */, L_9, L_10);
		DSA_t2466800856 * L_11 = V_1;
		return L_11;
	}
}
// System.Void Mono.Security.Cryptography.RC4::.ctor()
extern Il2CppClass* RC4_t227523609_il2cpp_TypeInfo_var;
extern const uint32_t RC4__ctor_m3855683348_MetadataUsageId;
extern "C"  void RC4__ctor_m3855683348 (RC4_t227523609 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RC4__ctor_m3855683348_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		SymmetricAlgorithm__ctor_m3015042793(__this, /*hidden argument*/NULL);
		((SymmetricAlgorithm_t3097904804 *)__this)->set_KeySizeValue_2(((int32_t)128));
		((SymmetricAlgorithm_t3097904804 *)__this)->set_BlockSizeValue_0(((int32_t)64));
		int32_t L_0 = ((SymmetricAlgorithm_t3097904804 *)__this)->get_BlockSizeValue_0();
		((SymmetricAlgorithm_t3097904804 *)__this)->set_FeedbackSizeValue_6(L_0);
		IL2CPP_RUNTIME_CLASS_INIT(RC4_t227523609_il2cpp_TypeInfo_var);
		KeySizesU5BU5D_t1457372358* L_1 = ((RC4_t227523609_StaticFields*)RC4_t227523609_il2cpp_TypeInfo_var->static_fields)->get_s_legalBlockSizes_10();
		((SymmetricAlgorithm_t3097904804 *)__this)->set_LegalBlockSizesValue_4(L_1);
		KeySizesU5BU5D_t1457372358* L_2 = ((RC4_t227523609_StaticFields*)RC4_t227523609_il2cpp_TypeInfo_var->static_fields)->get_s_legalKeySizes_11();
		((SymmetricAlgorithm_t3097904804 *)__this)->set_LegalKeySizesValue_5(L_2);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RC4::.cctor()
extern Il2CppClass* KeySizesU5BU5D_t1457372358_il2cpp_TypeInfo_var;
extern Il2CppClass* KeySizes_t2106826975_il2cpp_TypeInfo_var;
extern Il2CppClass* RC4_t227523609_il2cpp_TypeInfo_var;
extern const uint32_t RC4__cctor_m3079970585_MetadataUsageId;
extern "C"  void RC4__cctor_m3079970585 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RC4__cctor_m3079970585_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		KeySizesU5BU5D_t1457372358* L_0 = ((KeySizesU5BU5D_t1457372358*)SZArrayNew(KeySizesU5BU5D_t1457372358_il2cpp_TypeInfo_var, (uint32_t)1));
		KeySizes_t2106826975 * L_1 = (KeySizes_t2106826975 *)il2cpp_codegen_object_new(KeySizes_t2106826975_il2cpp_TypeInfo_var);
		KeySizes__ctor_m428291391(L_1, ((int32_t)64), ((int32_t)64), 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_0, L_1);
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(0), (KeySizes_t2106826975 *)L_1);
		((RC4_t227523609_StaticFields*)RC4_t227523609_il2cpp_TypeInfo_var->static_fields)->set_s_legalBlockSizes_10(L_0);
		KeySizesU5BU5D_t1457372358* L_2 = ((KeySizesU5BU5D_t1457372358*)SZArrayNew(KeySizesU5BU5D_t1457372358_il2cpp_TypeInfo_var, (uint32_t)1));
		KeySizes_t2106826975 * L_3 = (KeySizes_t2106826975 *)il2cpp_codegen_object_new(KeySizes_t2106826975_il2cpp_TypeInfo_var);
		KeySizes__ctor_m428291391(L_3, ((int32_t)40), ((int32_t)2048), 8, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_2, L_3);
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(0), (KeySizes_t2106826975 *)L_3);
		((RC4_t227523609_StaticFields*)RC4_t227523609_il2cpp_TypeInfo_var->static_fields)->set_s_legalKeySizes_11(L_2);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.RC4::get_IV()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t RC4_get_IV_m3603717424_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RC4_get_IV_m3603717424 (RC4_t227523609 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RC4_get_IV_m3603717424_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		return ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0));
	}
}
// System.Void Mono.Security.Cryptography.RC4::set_IV(System.Byte[])
extern "C"  void RC4_set_IV_m2067006095 (RC4_t227523609 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::.ctor()
extern "C"  void RSAManaged__ctor_m3378736176 (RSAManaged_t3258726068 * __this, const MethodInfo* method)
{
	{
		RSAManaged__ctor_m3804256641(__this, ((int32_t)1024), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::.ctor(System.Int32)
extern Il2CppClass* KeySizesU5BU5D_t1457372358_il2cpp_TypeInfo_var;
extern Il2CppClass* KeySizes_t2106826975_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged__ctor_m3804256641_MetadataUsageId;
extern "C"  void RSAManaged__ctor_m3804256641 (RSAManaged_t3258726068 * __this, int32_t ___keySize0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged__ctor_m3804256641_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_keyBlinding_3((bool)1);
		RSA__ctor_m1717134245(__this, /*hidden argument*/NULL);
		((AsymmetricAlgorithm_t1241690687 *)__this)->set_LegalKeySizesValue_1(((KeySizesU5BU5D_t1457372358*)SZArrayNew(KeySizesU5BU5D_t1457372358_il2cpp_TypeInfo_var, (uint32_t)1)));
		KeySizesU5BU5D_t1457372358* L_0 = ((AsymmetricAlgorithm_t1241690687 *)__this)->get_LegalKeySizesValue_1();
		KeySizes_t2106826975 * L_1 = (KeySizes_t2106826975 *)il2cpp_codegen_object_new(KeySizes_t2106826975_il2cpp_TypeInfo_var);
		KeySizes__ctor_m428291391(L_1, ((int32_t)384), ((int32_t)16384), 8, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_0, L_1);
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(0), (KeySizes_t2106826975 *)L_1);
		int32_t L_2 = ___keySize0;
		AsymmetricAlgorithm_set_KeySize_m503039102(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::Finalize()
extern "C"  void RSAManaged_Finalize_m3473344050 (RSAManaged_t3258726068 * __this, const MethodInfo* method)
{
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		VirtActionInvoker1< bool >::Invoke(7 /* System.Void Mono.Security.Cryptography.RSAManaged::Dispose(System.Boolean) */, __this, (bool)0);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m3027285644(__this, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(12)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(12)
	{
		IL2CPP_JUMP_TBL(0x13, IL_0013)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::GenerateKeyPair()
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_GenerateKeyPair_m1998786226_MetadataUsageId;
extern "C"  void RSAManaged_GenerateKeyPair_m1998786226 (RSAManaged_t3258726068 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_GenerateKeyPair_m1998786226_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	uint32_t V_2 = 0;
	BigInteger_t3334373499 * V_3 = NULL;
	BigInteger_t3334373499 * V_4 = NULL;
	BigInteger_t3334373499 * V_5 = NULL;
	{
		int32_t L_0 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		V_0 = ((int32_t)((int32_t)((int32_t)((int32_t)L_0+(int32_t)1))>>(int32_t)1));
		int32_t L_1 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		int32_t L_2 = V_0;
		V_1 = ((int32_t)((int32_t)L_1-(int32_t)L_2));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_3 = BigInteger_op_Implicit_m638921272(NULL /*static, unused*/, ((int32_t)17), /*hidden argument*/NULL);
		__this->set_e_13(L_3);
		goto IL_004a;
	}

IL_0026:
	{
		int32_t L_4 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_5 = BigInteger_GeneratePseudoPrime_m323167868(NULL /*static, unused*/, L_4, /*hidden argument*/NULL);
		__this->set_p_7(L_5);
		BigInteger_t3334373499 * L_6 = __this->get_p_7();
		uint32_t L_7 = BigInteger_op_Modulus_m465134612(NULL /*static, unused*/, L_6, ((int32_t)17), /*hidden argument*/NULL);
		if ((((int32_t)L_7) == ((int32_t)1)))
		{
			goto IL_004a;
		}
	}
	{
		goto IL_004f;
	}

IL_004a:
	{
		goto IL_0026;
	}

IL_004f:
	{
		goto IL_00ec;
	}

IL_0054:
	{
		goto IL_0093;
	}

IL_0059:
	{
		int32_t L_8 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_9 = BigInteger_GeneratePseudoPrime_m323167868(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		__this->set_q_8(L_9);
		BigInteger_t3334373499 * L_10 = __this->get_q_8();
		uint32_t L_11 = BigInteger_op_Modulus_m465134612(NULL /*static, unused*/, L_10, ((int32_t)17), /*hidden argument*/NULL);
		if ((((int32_t)L_11) == ((int32_t)1)))
		{
			goto IL_0093;
		}
	}
	{
		BigInteger_t3334373499 * L_12 = __this->get_p_7();
		BigInteger_t3334373499 * L_13 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_14 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_12, L_13, /*hidden argument*/NULL);
		if (!L_14)
		{
			goto IL_0093;
		}
	}
	{
		goto IL_0098;
	}

IL_0093:
	{
		goto IL_0059;
	}

IL_0098:
	{
		BigInteger_t3334373499 * L_15 = __this->get_p_7();
		BigInteger_t3334373499 * L_16 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_17 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_15, L_16, /*hidden argument*/NULL);
		__this->set_n_12(L_17);
		BigInteger_t3334373499 * L_18 = __this->get_n_12();
		int32_t L_19 = BigInteger_BitCount_m3880753871(L_18, /*hidden argument*/NULL);
		int32_t L_20 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		if ((!(((uint32_t)L_19) == ((uint32_t)L_20))))
		{
			goto IL_00ca;
		}
	}
	{
		goto IL_00f1;
	}

IL_00ca:
	{
		BigInteger_t3334373499 * L_21 = __this->get_p_7();
		BigInteger_t3334373499 * L_22 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_23 = BigInteger_op_LessThan_m1693109759(NULL /*static, unused*/, L_21, L_22, /*hidden argument*/NULL);
		if (!L_23)
		{
			goto IL_00ec;
		}
	}
	{
		BigInteger_t3334373499 * L_24 = __this->get_q_8();
		__this->set_p_7(L_24);
	}

IL_00ec:
	{
		goto IL_0054;
	}

IL_00f1:
	{
		BigInteger_t3334373499 * L_25 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_26 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_27 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_25, L_26, /*hidden argument*/NULL);
		V_3 = L_27;
		BigInteger_t3334373499 * L_28 = __this->get_q_8();
		BigInteger_t3334373499 * L_29 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_30 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_28, L_29, /*hidden argument*/NULL);
		V_4 = L_30;
		BigInteger_t3334373499 * L_31 = V_3;
		BigInteger_t3334373499 * L_32 = V_4;
		BigInteger_t3334373499 * L_33 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_31, L_32, /*hidden argument*/NULL);
		V_5 = L_33;
		BigInteger_t3334373499 * L_34 = __this->get_e_13();
		BigInteger_t3334373499 * L_35 = V_5;
		BigInteger_t3334373499 * L_36 = BigInteger_ModInverse_m560616920(L_34, L_35, /*hidden argument*/NULL);
		__this->set_d_6(L_36);
		BigInteger_t3334373499 * L_37 = __this->get_d_6();
		BigInteger_t3334373499 * L_38 = V_3;
		BigInteger_t3334373499 * L_39 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_37, L_38, /*hidden argument*/NULL);
		__this->set_dp_9(L_39);
		BigInteger_t3334373499 * L_40 = __this->get_d_6();
		BigInteger_t3334373499 * L_41 = V_4;
		BigInteger_t3334373499 * L_42 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		__this->set_dq_10(L_42);
		BigInteger_t3334373499 * L_43 = __this->get_q_8();
		BigInteger_t3334373499 * L_44 = __this->get_p_7();
		BigInteger_t3334373499 * L_45 = BigInteger_ModInverse_m560616920(L_43, L_44, /*hidden argument*/NULL);
		__this->set_qInv_11(L_45);
		__this->set_keypairGenerated_4((bool)1);
		__this->set_isCRTpossible_2((bool)1);
		KeyGeneratedEventHandler_t2889700850 * L_46 = __this->get_KeyGenerated_14();
		if (!L_46)
		{
			goto IL_0195;
		}
	}
	{
		KeyGeneratedEventHandler_t2889700850 * L_47 = __this->get_KeyGenerated_14();
		KeyGeneratedEventHandler_Invoke_m1246442575(L_47, __this, (EventArgs_t2540831021 *)NULL, /*hidden argument*/NULL);
	}

IL_0195:
	{
		return;
	}
}
// System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize()
extern "C"  int32_t RSAManaged_get_KeySize_m3861517773 (RSAManaged_t3258726068 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		bool L_0 = __this->get_keypairGenerated_4();
		if (!L_0)
		{
			goto IL_0029;
		}
	}
	{
		BigInteger_t3334373499 * L_1 = __this->get_n_12();
		int32_t L_2 = BigInteger_BitCount_m3880753871(L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		int32_t L_3 = V_0;
		if (!((int32_t)((int32_t)L_3&(int32_t)7)))
		{
			goto IL_0027;
		}
	}
	{
		int32_t L_4 = V_0;
		int32_t L_5 = V_0;
		V_0 = ((int32_t)((int32_t)L_4+(int32_t)((int32_t)((int32_t)8-(int32_t)((int32_t)((int32_t)L_5&(int32_t)7))))));
	}

IL_0027:
	{
		int32_t L_6 = V_0;
		return L_6;
	}

IL_0029:
	{
		int32_t L_7 = AsymmetricAlgorithm_get_KeySize_m3282676997(__this, /*hidden argument*/NULL);
		return L_7;
	}
}
// System.Boolean Mono.Security.Cryptography.RSAManaged::get_PublicOnly()
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_get_PublicOnly_m3066955040_MetadataUsageId;
extern "C"  bool RSAManaged_get_PublicOnly_m3066955040 (RSAManaged_t3258726068 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_get_PublicOnly_m3066955040_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t G_B4_0 = 0;
	int32_t G_B6_0 = 0;
	{
		bool L_0 = __this->get_keypairGenerated_4();
		if (!L_0)
		{
			goto IL_002d;
		}
	}
	{
		BigInteger_t3334373499 * L_1 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_1, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_002a;
		}
	}
	{
		BigInteger_t3334373499 * L_3 = __this->get_n_12();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_4 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_3, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		G_B4_0 = ((int32_t)(L_4));
		goto IL_002b;
	}

IL_002a:
	{
		G_B4_0 = 1;
	}

IL_002b:
	{
		G_B6_0 = G_B4_0;
		goto IL_002e;
	}

IL_002d:
	{
		G_B6_0 = 0;
	}

IL_002e:
	{
		return (bool)G_B6_0;
	}
}
// System.Byte[] Mono.Security.Cryptography.RSAManaged::DecryptValue(System.Byte[])
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1970067010;
extern Il2CppCodeGenString* _stringLiteral1588507485;
extern const uint32_t RSAManaged_DecryptValue_m3745730427_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RSAManaged_DecryptValue_m3745730427 (RSAManaged_t3258726068 * __this, ByteU5BU5D_t4260760469* ___rgb0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_DecryptValue_m3745730427_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	BigInteger_t3334373499 * V_1 = NULL;
	BigInteger_t3334373499 * V_2 = NULL;
	BigInteger_t3334373499 * V_3 = NULL;
	BigInteger_t3334373499 * V_4 = NULL;
	BigInteger_t3334373499 * V_5 = NULL;
	ByteU5BU5D_t4260760469* V_6 = NULL;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		ObjectDisposedException_t1794727681 * L_1 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_1, _stringLiteral1970067010, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		bool L_2 = __this->get_keypairGenerated_4();
		if (L_2)
		{
			goto IL_0027;
		}
	}
	{
		RSAManaged_GenerateKeyPair_m1998786226(__this, /*hidden argument*/NULL);
	}

IL_0027:
	{
		ByteU5BU5D_t4260760469* L_3 = ___rgb0;
		BigInteger_t3334373499 * L_4 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_4, L_3, /*hidden argument*/NULL);
		V_0 = L_4;
		V_1 = (BigInteger_t3334373499 *)NULL;
		bool L_5 = __this->get_keyBlinding_3();
		if (!L_5)
		{
			goto IL_0070;
		}
	}
	{
		BigInteger_t3334373499 * L_6 = __this->get_n_12();
		int32_t L_7 = BigInteger_BitCount_m3880753871(L_6, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_8 = BigInteger_GenerateRandom_m1343108780(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		BigInteger_t3334373499 * L_9 = V_1;
		BigInteger_t3334373499 * L_10 = __this->get_e_13();
		BigInteger_t3334373499 * L_11 = __this->get_n_12();
		BigInteger_t3334373499 * L_12 = BigInteger_ModPow_m837755469(L_9, L_10, L_11, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_13 = V_0;
		BigInteger_t3334373499 * L_14 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_12, L_13, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_15 = __this->get_n_12();
		BigInteger_t3334373499 * L_16 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_14, L_15, /*hidden argument*/NULL);
		V_0 = L_16;
	}

IL_0070:
	{
		bool L_17 = __this->get_isCRTpossible_2();
		if (!L_17)
		{
			goto IL_012e;
		}
	}
	{
		BigInteger_t3334373499 * L_18 = V_0;
		BigInteger_t3334373499 * L_19 = __this->get_dp_9();
		BigInteger_t3334373499 * L_20 = __this->get_p_7();
		BigInteger_t3334373499 * L_21 = BigInteger_ModPow_m837755469(L_18, L_19, L_20, /*hidden argument*/NULL);
		V_3 = L_21;
		BigInteger_t3334373499 * L_22 = V_0;
		BigInteger_t3334373499 * L_23 = __this->get_dq_10();
		BigInteger_t3334373499 * L_24 = __this->get_q_8();
		BigInteger_t3334373499 * L_25 = BigInteger_ModPow_m837755469(L_22, L_23, L_24, /*hidden argument*/NULL);
		V_4 = L_25;
		BigInteger_t3334373499 * L_26 = V_4;
		BigInteger_t3334373499 * L_27 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_28 = BigInteger_op_GreaterThan_m3422164694(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_00f4;
		}
	}
	{
		BigInteger_t3334373499 * L_29 = __this->get_p_7();
		BigInteger_t3334373499 * L_30 = V_4;
		BigInteger_t3334373499 * L_31 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_32 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_30, L_31, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_33 = __this->get_qInv_11();
		BigInteger_t3334373499 * L_34 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_32, L_33, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_35 = __this->get_p_7();
		BigInteger_t3334373499 * L_36 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_34, L_35, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_37 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_29, L_36, /*hidden argument*/NULL);
		V_5 = L_37;
		BigInteger_t3334373499 * L_38 = V_4;
		BigInteger_t3334373499 * L_39 = __this->get_q_8();
		BigInteger_t3334373499 * L_40 = V_5;
		BigInteger_t3334373499 * L_41 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_39, L_40, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_42 = BigInteger_op_Addition_m1737862829(NULL /*static, unused*/, L_38, L_41, /*hidden argument*/NULL);
		V_2 = L_42;
		goto IL_0129;
	}

IL_00f4:
	{
		BigInteger_t3334373499 * L_43 = V_3;
		BigInteger_t3334373499 * L_44 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_45 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_43, L_44, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_46 = __this->get_qInv_11();
		BigInteger_t3334373499 * L_47 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_45, L_46, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_48 = __this->get_p_7();
		BigInteger_t3334373499 * L_49 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		V_5 = L_49;
		BigInteger_t3334373499 * L_50 = V_4;
		BigInteger_t3334373499 * L_51 = __this->get_q_8();
		BigInteger_t3334373499 * L_52 = V_5;
		BigInteger_t3334373499 * L_53 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_51, L_52, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_54 = BigInteger_op_Addition_m1737862829(NULL /*static, unused*/, L_50, L_53, /*hidden argument*/NULL);
		V_2 = L_54;
	}

IL_0129:
	{
		goto IL_0161;
	}

IL_012e:
	{
		bool L_55 = RSAManaged_get_PublicOnly_m3066955040(__this, /*hidden argument*/NULL);
		if (L_55)
		{
			goto IL_0151;
		}
	}
	{
		BigInteger_t3334373499 * L_56 = V_0;
		BigInteger_t3334373499 * L_57 = __this->get_d_6();
		BigInteger_t3334373499 * L_58 = __this->get_n_12();
		BigInteger_t3334373499 * L_59 = BigInteger_ModPow_m837755469(L_56, L_57, L_58, /*hidden argument*/NULL);
		V_2 = L_59;
		goto IL_0161;
	}

IL_0151:
	{
		String_t* L_60 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral1588507485, /*hidden argument*/NULL);
		CryptographicException_t3687180084 * L_61 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_61, L_60, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_61);
	}

IL_0161:
	{
		bool L_62 = __this->get_keyBlinding_3();
		if (!L_62)
		{
			goto IL_0190;
		}
	}
	{
		BigInteger_t3334373499 * L_63 = V_2;
		BigInteger_t3334373499 * L_64 = V_1;
		BigInteger_t3334373499 * L_65 = __this->get_n_12();
		BigInteger_t3334373499 * L_66 = BigInteger_ModInverse_m560616920(L_64, L_65, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_67 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_63, L_66, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_68 = __this->get_n_12();
		BigInteger_t3334373499 * L_69 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_67, L_68, /*hidden argument*/NULL);
		V_2 = L_69;
		BigInteger_t3334373499 * L_70 = V_1;
		BigInteger_Clear_m542683434(L_70, /*hidden argument*/NULL);
	}

IL_0190:
	{
		BigInteger_t3334373499 * L_71 = V_2;
		int32_t L_72 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		ByteU5BU5D_t4260760469* L_73 = RSAManaged_GetPaddedValue_m3945925723(__this, L_71, ((int32_t)((int32_t)L_72>>(int32_t)3)), /*hidden argument*/NULL);
		V_6 = L_73;
		BigInteger_t3334373499 * L_74 = V_0;
		BigInteger_Clear_m542683434(L_74, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_75 = V_2;
		BigInteger_Clear_m542683434(L_75, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_76 = V_6;
		return L_76;
	}
}
// System.Byte[] Mono.Security.Cryptography.RSAManaged::EncryptValue(System.Byte[])
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1902936104;
extern const uint32_t RSAManaged_EncryptValue_m691555411_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RSAManaged_EncryptValue_m691555411 (RSAManaged_t3258726068 * __this, ByteU5BU5D_t4260760469* ___rgb0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_EncryptValue_m691555411_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	BigInteger_t3334373499 * V_0 = NULL;
	BigInteger_t3334373499 * V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		ObjectDisposedException_t1794727681 * L_1 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_1, _stringLiteral1902936104, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		bool L_2 = __this->get_keypairGenerated_4();
		if (L_2)
		{
			goto IL_0027;
		}
	}
	{
		RSAManaged_GenerateKeyPair_m1998786226(__this, /*hidden argument*/NULL);
	}

IL_0027:
	{
		ByteU5BU5D_t4260760469* L_3 = ___rgb0;
		BigInteger_t3334373499 * L_4 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_4, L_3, /*hidden argument*/NULL);
		V_0 = L_4;
		BigInteger_t3334373499 * L_5 = V_0;
		BigInteger_t3334373499 * L_6 = __this->get_e_13();
		BigInteger_t3334373499 * L_7 = __this->get_n_12();
		BigInteger_t3334373499 * L_8 = BigInteger_ModPow_m837755469(L_5, L_6, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		BigInteger_t3334373499 * L_9 = V_1;
		int32_t L_10 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		ByteU5BU5D_t4260760469* L_11 = RSAManaged_GetPaddedValue_m3945925723(__this, L_9, ((int32_t)((int32_t)L_10>>(int32_t)3)), /*hidden argument*/NULL);
		V_2 = L_11;
		BigInteger_t3334373499 * L_12 = V_0;
		BigInteger_Clear_m542683434(L_12, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_13 = V_1;
		BigInteger_Clear_m542683434(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_14 = V_2;
		return L_14;
	}
}
// System.Security.Cryptography.RSAParameters Mono.Security.Cryptography.RSAManaged::ExportParameters(System.Boolean)
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAParameters_t3219890992_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1091995811;
extern Il2CppCodeGenString* _stringLiteral1468981864;
extern const uint32_t RSAManaged_ExportParameters_m447046473_MetadataUsageId;
extern "C"  RSAParameters_t3219890992  RSAManaged_ExportParameters_m447046473 (RSAManaged_t3258726068 * __this, bool ___includePrivateParameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ExportParameters_m447046473_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSAParameters_t3219890992  V_0;
	memset(&V_0, 0, sizeof(V_0));
	ByteU5BU5D_t4260760469* V_1 = NULL;
	int32_t V_2 = 0;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_001b;
		}
	}
	{
		String_t* L_1 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral1091995811, /*hidden argument*/NULL);
		ObjectDisposedException_t1794727681 * L_2 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_2, L_1, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001b:
	{
		bool L_3 = __this->get_keypairGenerated_4();
		if (L_3)
		{
			goto IL_002c;
		}
	}
	{
		RSAManaged_GenerateKeyPair_m1998786226(__this, /*hidden argument*/NULL);
	}

IL_002c:
	{
		Initobj (RSAParameters_t3219890992_il2cpp_TypeInfo_var, (&V_0));
		BigInteger_t3334373499 * L_4 = __this->get_e_13();
		ByteU5BU5D_t4260760469* L_5 = BigInteger_GetBytes_m561587716(L_4, /*hidden argument*/NULL);
		(&V_0)->set_Exponent_7(L_5);
		BigInteger_t3334373499 * L_6 = __this->get_n_12();
		ByteU5BU5D_t4260760469* L_7 = BigInteger_GetBytes_m561587716(L_6, /*hidden argument*/NULL);
		(&V_0)->set_Modulus_6(L_7);
		bool L_8 = ___includePrivateParameters0;
		if (!L_8)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t3334373499 * L_9 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_10 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_9, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_007a;
		}
	}
	{
		CryptographicException_t3687180084 * L_11 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_11, _stringLiteral1468981864, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_007a:
	{
		BigInteger_t3334373499 * L_12 = __this->get_d_6();
		ByteU5BU5D_t4260760469* L_13 = BigInteger_GetBytes_m561587716(L_12, /*hidden argument*/NULL);
		(&V_0)->set_D_2(L_13);
		ByteU5BU5D_t4260760469* L_14 = (&V_0)->get_D_2();
		ByteU5BU5D_t4260760469* L_15 = (&V_0)->get_Modulus_6();
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length))))) == ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_15)->max_length)))))))
		{
			goto IL_00de;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_16 = (&V_0)->get_Modulus_6();
		V_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))));
		ByteU5BU5D_t4260760469* L_17 = (&V_0)->get_D_2();
		ByteU5BU5D_t4260760469* L_18 = V_1;
		ByteU5BU5D_t4260760469* L_19 = V_1;
		ByteU5BU5D_t4260760469* L_20 = (&V_0)->get_D_2();
		ByteU5BU5D_t4260760469* L_21 = (&V_0)->get_D_2();
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_17, 0, (Il2CppArray *)(Il2CppArray *)L_18, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_19)->max_length))))-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))))), (((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_22 = V_1;
		(&V_0)->set_D_2(L_22);
	}

IL_00de:
	{
		BigInteger_t3334373499 * L_23 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_24 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_23, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_24)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t3334373499 * L_25 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_26 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_25, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_26)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t3334373499 * L_27 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_28 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_27, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t3334373499 * L_29 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_30 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_29, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_30)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t3334373499 * L_31 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_32 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_31, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_32)
		{
			goto IL_01a0;
		}
	}
	{
		int32_t L_33 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		V_2 = ((int32_t)((int32_t)L_33>>(int32_t)4));
		BigInteger_t3334373499 * L_34 = __this->get_p_7();
		int32_t L_35 = V_2;
		ByteU5BU5D_t4260760469* L_36 = RSAManaged_GetPaddedValue_m3945925723(__this, L_34, L_35, /*hidden argument*/NULL);
		(&V_0)->set_P_0(L_36);
		BigInteger_t3334373499 * L_37 = __this->get_q_8();
		int32_t L_38 = V_2;
		ByteU5BU5D_t4260760469* L_39 = RSAManaged_GetPaddedValue_m3945925723(__this, L_37, L_38, /*hidden argument*/NULL);
		(&V_0)->set_Q_1(L_39);
		BigInteger_t3334373499 * L_40 = __this->get_dp_9();
		int32_t L_41 = V_2;
		ByteU5BU5D_t4260760469* L_42 = RSAManaged_GetPaddedValue_m3945925723(__this, L_40, L_41, /*hidden argument*/NULL);
		(&V_0)->set_DP_3(L_42);
		BigInteger_t3334373499 * L_43 = __this->get_dq_10();
		int32_t L_44 = V_2;
		ByteU5BU5D_t4260760469* L_45 = RSAManaged_GetPaddedValue_m3945925723(__this, L_43, L_44, /*hidden argument*/NULL);
		(&V_0)->set_DQ_4(L_45);
		BigInteger_t3334373499 * L_46 = __this->get_qInv_11();
		int32_t L_47 = V_2;
		ByteU5BU5D_t4260760469* L_48 = RSAManaged_GetPaddedValue_m3945925723(__this, L_46, L_47, /*hidden argument*/NULL);
		(&V_0)->set_InverseQ_5(L_48);
	}

IL_01a0:
	{
		RSAParameters_t3219890992  L_49 = V_0;
		return L_49;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::ImportParameters(System.Security.Cryptography.RSAParameters)
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3687180084_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1091995811;
extern Il2CppCodeGenString* _stringLiteral3567465577;
extern Il2CppCodeGenString* _stringLiteral2651574397;
extern Il2CppCodeGenString* _stringLiteral964372506;
extern const uint32_t RSAManaged_ImportParameters_m3911092908_MetadataUsageId;
extern "C"  void RSAManaged_ImportParameters_m3911092908 (RSAManaged_t3258726068 * __this, RSAParameters_t3219890992  ___parameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ImportParameters_m3911092908_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	bool V_0 = false;
	bool V_1 = false;
	BigInteger_t3334373499 * V_2 = NULL;
	BigInteger_t3334373499 * V_3 = NULL;
	BigInteger_t3334373499 * V_4 = NULL;
	BigInteger_t3334373499 * V_5 = NULL;
	int32_t G_B22_0 = 0;
	RSAManaged_t3258726068 * G_B25_0 = NULL;
	RSAManaged_t3258726068 * G_B23_0 = NULL;
	RSAManaged_t3258726068 * G_B24_0 = NULL;
	int32_t G_B26_0 = 0;
	RSAManaged_t3258726068 * G_B26_1 = NULL;
	int32_t G_B35_0 = 0;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_001b;
		}
	}
	{
		String_t* L_1 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral1091995811, /*hidden argument*/NULL);
		ObjectDisposedException_t1794727681 * L_2 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_2, L_1, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001b:
	{
		ByteU5BU5D_t4260760469* L_3 = (&___parameters0)->get_Exponent_7();
		if (L_3)
		{
			goto IL_0037;
		}
	}
	{
		String_t* L_4 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral3567465577, /*hidden argument*/NULL);
		CryptographicException_t3687180084 * L_5 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_5, L_4, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0037:
	{
		ByteU5BU5D_t4260760469* L_6 = (&___parameters0)->get_Modulus_6();
		if (L_6)
		{
			goto IL_0053;
		}
	}
	{
		String_t* L_7 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral2651574397, /*hidden argument*/NULL);
		CryptographicException_t3687180084 * L_8 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_8, L_7, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_0053:
	{
		ByteU5BU5D_t4260760469* L_9 = (&___parameters0)->get_Exponent_7();
		BigInteger_t3334373499 * L_10 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_10, L_9, /*hidden argument*/NULL);
		__this->set_e_13(L_10);
		ByteU5BU5D_t4260760469* L_11 = (&___parameters0)->get_Modulus_6();
		BigInteger_t3334373499 * L_12 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_12, L_11, /*hidden argument*/NULL);
		__this->set_n_12(L_12);
		ByteU5BU5D_t4260760469* L_13 = (&___parameters0)->get_D_2();
		if (!L_13)
		{
			goto IL_0095;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_14 = (&___parameters0)->get_D_2();
		BigInteger_t3334373499 * L_15 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_15, L_14, /*hidden argument*/NULL);
		__this->set_d_6(L_15);
	}

IL_0095:
	{
		ByteU5BU5D_t4260760469* L_16 = (&___parameters0)->get_DP_3();
		if (!L_16)
		{
			goto IL_00b3;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_17 = (&___parameters0)->get_DP_3();
		BigInteger_t3334373499 * L_18 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_18, L_17, /*hidden argument*/NULL);
		__this->set_dp_9(L_18);
	}

IL_00b3:
	{
		ByteU5BU5D_t4260760469* L_19 = (&___parameters0)->get_DQ_4();
		if (!L_19)
		{
			goto IL_00d1;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_20 = (&___parameters0)->get_DQ_4();
		BigInteger_t3334373499 * L_21 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_21, L_20, /*hidden argument*/NULL);
		__this->set_dq_10(L_21);
	}

IL_00d1:
	{
		ByteU5BU5D_t4260760469* L_22 = (&___parameters0)->get_InverseQ_5();
		if (!L_22)
		{
			goto IL_00ef;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_23 = (&___parameters0)->get_InverseQ_5();
		BigInteger_t3334373499 * L_24 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_24, L_23, /*hidden argument*/NULL);
		__this->set_qInv_11(L_24);
	}

IL_00ef:
	{
		ByteU5BU5D_t4260760469* L_25 = (&___parameters0)->get_P_0();
		if (!L_25)
		{
			goto IL_010d;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_26 = (&___parameters0)->get_P_0();
		BigInteger_t3334373499 * L_27 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_27, L_26, /*hidden argument*/NULL);
		__this->set_p_7(L_27);
	}

IL_010d:
	{
		ByteU5BU5D_t4260760469* L_28 = (&___parameters0)->get_Q_1();
		if (!L_28)
		{
			goto IL_012b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_29 = (&___parameters0)->get_Q_1();
		BigInteger_t3334373499 * L_30 = (BigInteger_t3334373499 *)il2cpp_codegen_object_new(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2747162922(L_30, L_29, /*hidden argument*/NULL);
		__this->set_q_8(L_30);
	}

IL_012b:
	{
		__this->set_keypairGenerated_4((bool)1);
		BigInteger_t3334373499 * L_31 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_32 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_31, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_32)
		{
			goto IL_0162;
		}
	}
	{
		BigInteger_t3334373499 * L_33 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_34 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_33, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_34)
		{
			goto IL_0162;
		}
	}
	{
		BigInteger_t3334373499 * L_35 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_36 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_35, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		G_B22_0 = ((int32_t)(L_36));
		goto IL_0163;
	}

IL_0162:
	{
		G_B22_0 = 0;
	}

IL_0163:
	{
		V_0 = (bool)G_B22_0;
		bool L_37 = V_0;
		G_B23_0 = __this;
		if (!L_37)
		{
			G_B25_0 = __this;
			goto IL_018a;
		}
	}
	{
		BigInteger_t3334373499 * L_38 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_39 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_38, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		G_B24_0 = G_B23_0;
		if (!L_39)
		{
			G_B25_0 = G_B23_0;
			goto IL_018a;
		}
	}
	{
		BigInteger_t3334373499 * L_40 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_41 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_40, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		G_B26_0 = ((int32_t)(L_41));
		G_B26_1 = G_B24_0;
		goto IL_018b;
	}

IL_018a:
	{
		G_B26_0 = 0;
		G_B26_1 = G_B25_0;
	}

IL_018b:
	{
		G_B26_1->set_isCRTpossible_2((bool)G_B26_0);
		bool L_42 = V_0;
		if (L_42)
		{
			goto IL_0197;
		}
	}
	{
		return;
	}

IL_0197:
	{
		BigInteger_t3334373499 * L_43 = __this->get_n_12();
		BigInteger_t3334373499 * L_44 = __this->get_p_7();
		BigInteger_t3334373499 * L_45 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_46 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_44, L_45, /*hidden argument*/NULL);
		bool L_47 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_43, L_46, /*hidden argument*/NULL);
		V_1 = L_47;
		bool L_48 = V_1;
		if (!L_48)
		{
			goto IL_0265;
		}
	}
	{
		BigInteger_t3334373499 * L_49 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_50 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_51 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_49, L_50, /*hidden argument*/NULL);
		V_2 = L_51;
		BigInteger_t3334373499 * L_52 = __this->get_q_8();
		BigInteger_t3334373499 * L_53 = BigInteger_op_Implicit_m2620841043(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t3334373499 * L_54 = BigInteger_op_Subtraction_m3436814701(NULL /*static, unused*/, L_52, L_53, /*hidden argument*/NULL);
		V_3 = L_54;
		BigInteger_t3334373499 * L_55 = V_2;
		BigInteger_t3334373499 * L_56 = V_3;
		BigInteger_t3334373499 * L_57 = BigInteger_op_Multiply_m2896976517(NULL /*static, unused*/, L_55, L_56, /*hidden argument*/NULL);
		V_4 = L_57;
		BigInteger_t3334373499 * L_58 = __this->get_e_13();
		BigInteger_t3334373499 * L_59 = V_4;
		BigInteger_t3334373499 * L_60 = BigInteger_ModInverse_m560616920(L_58, L_59, /*hidden argument*/NULL);
		V_5 = L_60;
		BigInteger_t3334373499 * L_61 = __this->get_d_6();
		BigInteger_t3334373499 * L_62 = V_5;
		bool L_63 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_61, L_62, /*hidden argument*/NULL);
		V_1 = L_63;
		bool L_64 = V_1;
		if (L_64)
		{
			goto IL_0265;
		}
	}
	{
		bool L_65 = __this->get_isCRTpossible_2();
		if (!L_65)
		{
			goto IL_0265;
		}
	}
	{
		BigInteger_t3334373499 * L_66 = __this->get_dp_9();
		BigInteger_t3334373499 * L_67 = V_5;
		BigInteger_t3334373499 * L_68 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_69 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_67, L_68, /*hidden argument*/NULL);
		bool L_70 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_66, L_69, /*hidden argument*/NULL);
		if (!L_70)
		{
			goto IL_0263;
		}
	}
	{
		BigInteger_t3334373499 * L_71 = __this->get_dq_10();
		BigInteger_t3334373499 * L_72 = V_5;
		BigInteger_t3334373499 * L_73 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		BigInteger_t3334373499 * L_74 = BigInteger_op_Modulus_m2858145418(NULL /*static, unused*/, L_72, L_73, /*hidden argument*/NULL);
		bool L_75 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_71, L_74, /*hidden argument*/NULL);
		if (!L_75)
		{
			goto IL_0263;
		}
	}
	{
		BigInteger_t3334373499 * L_76 = __this->get_qInv_11();
		BigInteger_t3334373499 * L_77 = __this->get_q_8();
		BigInteger_t3334373499 * L_78 = __this->get_p_7();
		BigInteger_t3334373499 * L_79 = BigInteger_ModInverse_m560616920(L_77, L_78, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_80 = BigInteger_op_Equality_m1709618143(NULL /*static, unused*/, L_76, L_79, /*hidden argument*/NULL);
		G_B35_0 = ((int32_t)(L_80));
		goto IL_0264;
	}

IL_0263:
	{
		G_B35_0 = 0;
	}

IL_0264:
	{
		V_1 = (bool)G_B35_0;
	}

IL_0265:
	{
		bool L_81 = V_1;
		if (L_81)
		{
			goto IL_027b;
		}
	}
	{
		String_t* L_82 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral964372506, /*hidden argument*/NULL);
		CryptographicException_t3687180084 * L_83 = (CryptographicException_t3687180084 *)il2cpp_codegen_object_new(CryptographicException_t3687180084_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2400722889(L_83, L_82, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_83);
	}

IL_027b:
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::Dispose(System.Boolean)
extern Il2CppClass* BigInteger_t3334373499_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_Dispose_m2318860068_MetadataUsageId;
extern "C"  void RSAManaged_Dispose_m2318860068 (RSAManaged_t3258726068 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_Dispose_m2318860068_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_m_disposed_5();
		if (L_0)
		{
			goto IL_0129;
		}
	}
	{
		BigInteger_t3334373499 * L_1 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_1, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_2)
		{
			goto IL_002e;
		}
	}
	{
		BigInteger_t3334373499 * L_3 = __this->get_d_6();
		BigInteger_Clear_m542683434(L_3, /*hidden argument*/NULL);
		__this->set_d_6((BigInteger_t3334373499 *)NULL);
	}

IL_002e:
	{
		BigInteger_t3334373499 * L_4 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_4, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0051;
		}
	}
	{
		BigInteger_t3334373499 * L_6 = __this->get_p_7();
		BigInteger_Clear_m542683434(L_6, /*hidden argument*/NULL);
		__this->set_p_7((BigInteger_t3334373499 *)NULL);
	}

IL_0051:
	{
		BigInteger_t3334373499 * L_7 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_8 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_7, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_0074;
		}
	}
	{
		BigInteger_t3334373499 * L_9 = __this->get_q_8();
		BigInteger_Clear_m542683434(L_9, /*hidden argument*/NULL);
		__this->set_q_8((BigInteger_t3334373499 *)NULL);
	}

IL_0074:
	{
		BigInteger_t3334373499 * L_10 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_11 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_10, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_11)
		{
			goto IL_0097;
		}
	}
	{
		BigInteger_t3334373499 * L_12 = __this->get_dp_9();
		BigInteger_Clear_m542683434(L_12, /*hidden argument*/NULL);
		__this->set_dp_9((BigInteger_t3334373499 *)NULL);
	}

IL_0097:
	{
		BigInteger_t3334373499 * L_13 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_14 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_13, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_14)
		{
			goto IL_00ba;
		}
	}
	{
		BigInteger_t3334373499 * L_15 = __this->get_dq_10();
		BigInteger_Clear_m542683434(L_15, /*hidden argument*/NULL);
		__this->set_dq_10((BigInteger_t3334373499 *)NULL);
	}

IL_00ba:
	{
		BigInteger_t3334373499 * L_16 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_17 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_16, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_17)
		{
			goto IL_00dd;
		}
	}
	{
		BigInteger_t3334373499 * L_18 = __this->get_qInv_11();
		BigInteger_Clear_m542683434(L_18, /*hidden argument*/NULL);
		__this->set_qInv_11((BigInteger_t3334373499 *)NULL);
	}

IL_00dd:
	{
		bool L_19 = ___disposing0;
		if (!L_19)
		{
			goto IL_0129;
		}
	}
	{
		BigInteger_t3334373499 * L_20 = __this->get_e_13();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_21 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_20, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_21)
		{
			goto IL_0106;
		}
	}
	{
		BigInteger_t3334373499 * L_22 = __this->get_e_13();
		BigInteger_Clear_m542683434(L_22, /*hidden argument*/NULL);
		__this->set_e_13((BigInteger_t3334373499 *)NULL);
	}

IL_0106:
	{
		BigInteger_t3334373499 * L_23 = __this->get_n_12();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t3334373499_il2cpp_TypeInfo_var);
		bool L_24 = BigInteger_op_Inequality_m549511578(NULL /*static, unused*/, L_23, (BigInteger_t3334373499 *)NULL, /*hidden argument*/NULL);
		if (!L_24)
		{
			goto IL_0129;
		}
	}
	{
		BigInteger_t3334373499 * L_25 = __this->get_n_12();
		BigInteger_Clear_m542683434(L_25, /*hidden argument*/NULL);
		__this->set_n_12((BigInteger_t3334373499 *)NULL);
	}

IL_0129:
	{
		__this->set_m_disposed_5((bool)1);
		return;
	}
}
// System.String Mono.Security.Cryptography.RSAManaged::ToXmlString(System.Boolean)
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* Convert_t1363677321_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2942824488;
extern Il2CppCodeGenString* _stringLiteral2682285571;
extern Il2CppCodeGenString* _stringLiteral1503481402;
extern Il2CppCodeGenString* _stringLiteral3516333715;
extern Il2CppCodeGenString* _stringLiteral1333142844;
extern Il2CppCodeGenString* _stringLiteral60202;
extern Il2CppCodeGenString* _stringLiteral1835169;
extern Il2CppCodeGenString* _stringLiteral60233;
extern Il2CppCodeGenString* _stringLiteral1835200;
extern Il2CppCodeGenString* _stringLiteral1855350;
extern Il2CppCodeGenString* _stringLiteral56879327;
extern Il2CppCodeGenString* _stringLiteral1855381;
extern Il2CppCodeGenString* _stringLiteral56879358;
extern Il2CppCodeGenString* _stringLiteral1081113697;
extern Il2CppCodeGenString* _stringLiteral3192890122;
extern Il2CppCodeGenString* _stringLiteral59830;
extern Il2CppCodeGenString* _stringLiteral1834797;
extern Il2CppCodeGenString* _stringLiteral2193349855;
extern const uint32_t RSAManaged_ToXmlString_m2969901557_MetadataUsageId;
extern "C"  String_t* RSAManaged_ToXmlString_m2969901557 (RSAManaged_t3258726068 * __this, bool ___includePrivateParameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ToXmlString_m2969901557_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	StringBuilder_t243639308 * V_0 = NULL;
	RSAParameters_t3219890992  V_1;
	memset(&V_1, 0, sizeof(V_1));
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		StringBuilder_t243639308 * L_0 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m135953004(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		bool L_1 = ___includePrivateParameters0;
		RSAParameters_t3219890992  L_2 = VirtFuncInvoker1< RSAParameters_t3219890992 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters Mono.Security.Cryptography.RSAManaged::ExportParameters(System.Boolean) */, __this, L_1);
		V_1 = L_2;
	}

IL_000e:
	try
	{ // begin try (depth: 1)
		{
			StringBuilder_t243639308 * L_3 = V_0;
			StringBuilder_Append_m3898090075(L_3, _stringLiteral2942824488, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_4 = V_0;
			StringBuilder_Append_m3898090075(L_4, _stringLiteral2682285571, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_5 = V_0;
			ByteU5BU5D_t4260760469* L_6 = (&V_1)->get_Modulus_6();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_7 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_6, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_5, L_7, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_8 = V_0;
			StringBuilder_Append_m3898090075(L_8, _stringLiteral1503481402, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_9 = V_0;
			StringBuilder_Append_m3898090075(L_9, _stringLiteral3516333715, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_10 = V_0;
			ByteU5BU5D_t4260760469* L_11 = (&V_1)->get_Exponent_7();
			String_t* L_12 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_10, L_12, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_13 = V_0;
			StringBuilder_Append_m3898090075(L_13, _stringLiteral1333142844, /*hidden argument*/NULL);
			bool L_14 = ___includePrivateParameters0;
			if (!L_14)
			{
				goto IL_01b4;
			}
		}

IL_0076:
		{
			ByteU5BU5D_t4260760469* L_15 = (&V_1)->get_P_0();
			if (!L_15)
			{
				goto IL_00ad;
			}
		}

IL_0082:
		{
			StringBuilder_t243639308 * L_16 = V_0;
			StringBuilder_Append_m3898090075(L_16, _stringLiteral60202, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_17 = V_0;
			ByteU5BU5D_t4260760469* L_18 = (&V_1)->get_P_0();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_19 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_18, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_17, L_19, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_20 = V_0;
			StringBuilder_Append_m3898090075(L_20, _stringLiteral1835169, /*hidden argument*/NULL);
		}

IL_00ad:
		{
			ByteU5BU5D_t4260760469* L_21 = (&V_1)->get_Q_1();
			if (!L_21)
			{
				goto IL_00e4;
			}
		}

IL_00b9:
		{
			StringBuilder_t243639308 * L_22 = V_0;
			StringBuilder_Append_m3898090075(L_22, _stringLiteral60233, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_23 = V_0;
			ByteU5BU5D_t4260760469* L_24 = (&V_1)->get_Q_1();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_25 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_23, L_25, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_26 = V_0;
			StringBuilder_Append_m3898090075(L_26, _stringLiteral1835200, /*hidden argument*/NULL);
		}

IL_00e4:
		{
			ByteU5BU5D_t4260760469* L_27 = (&V_1)->get_DP_3();
			if (!L_27)
			{
				goto IL_011b;
			}
		}

IL_00f0:
		{
			StringBuilder_t243639308 * L_28 = V_0;
			StringBuilder_Append_m3898090075(L_28, _stringLiteral1855350, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_29 = V_0;
			ByteU5BU5D_t4260760469* L_30 = (&V_1)->get_DP_3();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_31 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_30, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_29, L_31, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_32 = V_0;
			StringBuilder_Append_m3898090075(L_32, _stringLiteral56879327, /*hidden argument*/NULL);
		}

IL_011b:
		{
			ByteU5BU5D_t4260760469* L_33 = (&V_1)->get_DQ_4();
			if (!L_33)
			{
				goto IL_0152;
			}
		}

IL_0127:
		{
			StringBuilder_t243639308 * L_34 = V_0;
			StringBuilder_Append_m3898090075(L_34, _stringLiteral1855381, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_35 = V_0;
			ByteU5BU5D_t4260760469* L_36 = (&V_1)->get_DQ_4();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_37 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_36, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_35, L_37, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_38 = V_0;
			StringBuilder_Append_m3898090075(L_38, _stringLiteral56879358, /*hidden argument*/NULL);
		}

IL_0152:
		{
			ByteU5BU5D_t4260760469* L_39 = (&V_1)->get_InverseQ_5();
			if (!L_39)
			{
				goto IL_0189;
			}
		}

IL_015e:
		{
			StringBuilder_t243639308 * L_40 = V_0;
			StringBuilder_Append_m3898090075(L_40, _stringLiteral1081113697, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_41 = V_0;
			ByteU5BU5D_t4260760469* L_42 = (&V_1)->get_InverseQ_5();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_43 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_42, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_41, L_43, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_44 = V_0;
			StringBuilder_Append_m3898090075(L_44, _stringLiteral3192890122, /*hidden argument*/NULL);
		}

IL_0189:
		{
			StringBuilder_t243639308 * L_45 = V_0;
			StringBuilder_Append_m3898090075(L_45, _stringLiteral59830, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_46 = V_0;
			ByteU5BU5D_t4260760469* L_47 = (&V_1)->get_D_2();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t1363677321_il2cpp_TypeInfo_var);
			String_t* L_48 = Convert_ToBase64String_m1841808901(NULL /*static, unused*/, L_47, /*hidden argument*/NULL);
			StringBuilder_Append_m3898090075(L_46, L_48, /*hidden argument*/NULL);
			StringBuilder_t243639308 * L_49 = V_0;
			StringBuilder_Append_m3898090075(L_49, _stringLiteral1834797, /*hidden argument*/NULL);
		}

IL_01b4:
		{
			StringBuilder_t243639308 * L_50 = V_0;
			StringBuilder_Append_m3898090075(L_50, _stringLiteral2193349855, /*hidden argument*/NULL);
			goto IL_0299;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Il2CppObject_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_01c5;
		throw e;
	}

CATCH_01c5:
	{ // begin catch(System.Object)
		{
			ByteU5BU5D_t4260760469* L_51 = (&V_1)->get_P_0();
			if (!L_51)
			{
				goto IL_01e8;
			}
		}

IL_01d2:
		{
			ByteU5BU5D_t4260760469* L_52 = (&V_1)->get_P_0();
			ByteU5BU5D_t4260760469* L_53 = (&V_1)->get_P_0();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_52, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_53)->max_length)))), /*hidden argument*/NULL);
		}

IL_01e8:
		{
			ByteU5BU5D_t4260760469* L_54 = (&V_1)->get_Q_1();
			if (!L_54)
			{
				goto IL_020a;
			}
		}

IL_01f4:
		{
			ByteU5BU5D_t4260760469* L_55 = (&V_1)->get_Q_1();
			ByteU5BU5D_t4260760469* L_56 = (&V_1)->get_Q_1();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_55, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_56)->max_length)))), /*hidden argument*/NULL);
		}

IL_020a:
		{
			ByteU5BU5D_t4260760469* L_57 = (&V_1)->get_DP_3();
			if (!L_57)
			{
				goto IL_022c;
			}
		}

IL_0216:
		{
			ByteU5BU5D_t4260760469* L_58 = (&V_1)->get_DP_3();
			ByteU5BU5D_t4260760469* L_59 = (&V_1)->get_DP_3();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_58, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_59)->max_length)))), /*hidden argument*/NULL);
		}

IL_022c:
		{
			ByteU5BU5D_t4260760469* L_60 = (&V_1)->get_DQ_4();
			if (!L_60)
			{
				goto IL_024e;
			}
		}

IL_0238:
		{
			ByteU5BU5D_t4260760469* L_61 = (&V_1)->get_DQ_4();
			ByteU5BU5D_t4260760469* L_62 = (&V_1)->get_DQ_4();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_61, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_62)->max_length)))), /*hidden argument*/NULL);
		}

IL_024e:
		{
			ByteU5BU5D_t4260760469* L_63 = (&V_1)->get_InverseQ_5();
			if (!L_63)
			{
				goto IL_0270;
			}
		}

IL_025a:
		{
			ByteU5BU5D_t4260760469* L_64 = (&V_1)->get_InverseQ_5();
			ByteU5BU5D_t4260760469* L_65 = (&V_1)->get_InverseQ_5();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_64, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_65)->max_length)))), /*hidden argument*/NULL);
		}

IL_0270:
		{
			ByteU5BU5D_t4260760469* L_66 = (&V_1)->get_D_2();
			if (!L_66)
			{
				goto IL_0292;
			}
		}

IL_027c:
		{
			ByteU5BU5D_t4260760469* L_67 = (&V_1)->get_D_2();
			ByteU5BU5D_t4260760469* L_68 = (&V_1)->get_D_2();
			Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_67, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_68)->max_length)))), /*hidden argument*/NULL);
		}

IL_0292:
		{
			IL2CPP_RAISE_MANAGED_EXCEPTION(__exception_local);
		}

IL_0294:
		{
			goto IL_0299;
		}
	} // end catch (depth: 1)

IL_0299:
	{
		StringBuilder_t243639308 * L_69 = V_0;
		String_t* L_70 = StringBuilder_ToString_m350379841(L_69, /*hidden argument*/NULL);
		return L_70;
	}
}
// System.Byte[] Mono.Security.Cryptography.RSAManaged::GetPaddedValue(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_GetPaddedValue_m3945925723_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RSAManaged_GetPaddedValue_m3945925723 (RSAManaged_t3258726068 * __this, BigInteger_t3334373499 * ___value0, int32_t ___length1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_GetPaddedValue_m3945925723_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		BigInteger_t3334373499 * L_0 = ___value0;
		ByteU5BU5D_t4260760469* L_1 = BigInteger_GetBytes_m561587716(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t4260760469* L_2 = V_0;
		int32_t L_3 = ___length1;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length))))) < ((int32_t)L_3)))
		{
			goto IL_0012;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_4 = V_0;
		return L_4;
	}

IL_0012:
	{
		int32_t L_5 = ___length1;
		V_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_5));
		ByteU5BU5D_t4260760469* L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = V_1;
		int32_t L_8 = ___length1;
		ByteU5BU5D_t4260760469* L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, 0, (Il2CppArray *)(Il2CppArray *)L_7, ((int32_t)((int32_t)L_8-(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_9)->max_length)))))), (((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = V_0;
		ByteU5BU5D_t4260760469* L_12 = V_0;
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = V_1;
		return L_13;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler::.ctor(System.Object,System.IntPtr)
extern "C"  void KeyGeneratedEventHandler__ctor_m3739847195 (KeyGeneratedEventHandler_t2889700850 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// System.Void Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler::Invoke(System.Object,System.EventArgs)
extern "C"  void KeyGeneratedEventHandler_Invoke_m1246442575 (KeyGeneratedEventHandler_t2889700850 * __this, Il2CppObject * ___sender0, EventArgs_t2540831021 * ___e1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		KeyGeneratedEventHandler_Invoke_m1246442575((KeyGeneratedEventHandler_t2889700850 *)__this->get_prev_9(),___sender0, ___e1, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef void (*FunctionPointerType) (Il2CppObject *, void* __this, Il2CppObject * ___sender0, EventArgs_t2540831021 * ___e1, const MethodInfo* method);
		((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___sender0, ___e1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef void (*FunctionPointerType) (void* __this, Il2CppObject * ___sender0, EventArgs_t2540831021 * ___e1, const MethodInfo* method);
		((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___sender0, ___e1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef void (*FunctionPointerType) (void* __this, EventArgs_t2540831021 * ___e1, const MethodInfo* method);
		((FunctionPointerType)__this->get_method_ptr_0())(___sender0, ___e1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler::BeginInvoke(System.Object,System.EventArgs,System.AsyncCallback,System.Object)
extern "C"  Il2CppObject * KeyGeneratedEventHandler_BeginInvoke_m452081622 (KeyGeneratedEventHandler_t2889700850 * __this, Il2CppObject * ___sender0, EventArgs_t2540831021 * ___e1, AsyncCallback_t1369114871 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___sender0;
	__d_args[1] = ___e1;
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback2, (Il2CppObject*)___object3);
}
// System.Void Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler::EndInvoke(System.IAsyncResult)
extern "C"  void KeyGeneratedEventHandler_EndInvoke_m162808235 (KeyGeneratedEventHandler_t2889700850 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor()
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo__ctor_m3875806349_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m3875806349 (ContentInfo_t3081670594 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m3875806349_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_0 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_0, ((int32_t)160), /*hidden argument*/NULL);
		__this->set_content_1(L_0);
		return;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor(System.String)
extern "C"  void ContentInfo__ctor_m521342869 (ContentInfo_t3081670594 * __this, String_t* ___oid0, const MethodInfo* method)
{
	{
		ContentInfo__ctor_m3875806349(__this, /*hidden argument*/NULL);
		String_t* L_0 = ___oid0;
		__this->set_contentType_0(L_0);
		return;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor(System.Byte[])
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo__ctor_m2758504540_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m2758504540 (ContentInfo_t3081670594 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m2758504540_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		ASN1_t3752917378 * L_1 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_1, L_0, /*hidden argument*/NULL);
		ContentInfo__ctor_m3021605653(__this, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor(Mono.Security.ASN1)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral631816702;
extern Il2CppCodeGenString* _stringLiteral1502641802;
extern Il2CppCodeGenString* _stringLiteral2848297776;
extern const uint32_t ContentInfo__ctor_m3021605653_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m3021605653 (ContentInfo_t3081670594 * __this, ASN1_t3752917378 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m3021605653_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_0 = ___asn10;
		uint8_t L_1 = ASN1_get_Tag_m442995239(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_002b;
		}
	}
	{
		ASN1_t3752917378 * L_2 = ___asn10;
		int32_t L_3 = ASN1_get_Count_m2214472120(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) >= ((int32_t)1)))
		{
			goto IL_0036;
		}
	}
	{
		ASN1_t3752917378 * L_4 = ___asn10;
		int32_t L_5 = ASN1_get_Count_m2214472120(L_4, /*hidden argument*/NULL);
		if ((((int32_t)L_5) <= ((int32_t)2)))
		{
			goto IL_0036;
		}
	}

IL_002b:
	{
		ArgumentException_t928607144 * L_6 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_6, _stringLiteral631816702, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0036:
	{
		ASN1_t3752917378 * L_7 = ___asn10;
		ASN1_t3752917378 * L_8 = ASN1_get_Item_m3727278260(L_7, 0, /*hidden argument*/NULL);
		uint8_t L_9 = ASN1_get_Tag_m442995239(L_8, /*hidden argument*/NULL);
		if ((((int32_t)L_9) == ((int32_t)6)))
		{
			goto IL_0053;
		}
	}
	{
		ArgumentException_t928607144 * L_10 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_10, _stringLiteral1502641802, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_0053:
	{
		ASN1_t3752917378 * L_11 = ___asn10;
		ASN1_t3752917378 * L_12 = ASN1_get_Item_m3727278260(L_11, 0, /*hidden argument*/NULL);
		String_t* L_13 = ASN1Convert_ToOid_m581448231(NULL /*static, unused*/, L_12, /*hidden argument*/NULL);
		__this->set_contentType_0(L_13);
		ASN1_t3752917378 * L_14 = ___asn10;
		int32_t L_15 = ASN1_get_Count_m2214472120(L_14, /*hidden argument*/NULL);
		if ((((int32_t)L_15) <= ((int32_t)1)))
		{
			goto IL_009f;
		}
	}
	{
		ASN1_t3752917378 * L_16 = ___asn10;
		ASN1_t3752917378 * L_17 = ASN1_get_Item_m3727278260(L_16, 1, /*hidden argument*/NULL);
		uint8_t L_18 = ASN1_get_Tag_m442995239(L_17, /*hidden argument*/NULL);
		if ((((int32_t)L_18) == ((int32_t)((int32_t)160))))
		{
			goto IL_0092;
		}
	}
	{
		ArgumentException_t928607144 * L_19 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_19, _stringLiteral2848297776, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_19);
	}

IL_0092:
	{
		ASN1_t3752917378 * L_20 = ___asn10;
		ASN1_t3752917378 * L_21 = ASN1_get_Item_m3727278260(L_20, 1, /*hidden argument*/NULL);
		__this->set_content_1(L_21);
	}

IL_009f:
	{
		return;
	}
}
// Mono.Security.ASN1 Mono.Security.PKCS7/ContentInfo::get_ASN1()
extern "C"  ASN1_t3752917378 * ContentInfo_get_ASN1_m2914115734 (ContentInfo_t3081670594 * __this, const MethodInfo* method)
{
	{
		ASN1_t3752917378 * L_0 = ContentInfo_GetASN1_m147164789(__this, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.ASN1 Mono.Security.PKCS7/ContentInfo::get_Content()
extern "C"  ASN1_t3752917378 * ContentInfo_get_Content_m2793987994 (ContentInfo_t3081670594 * __this, const MethodInfo* method)
{
	{
		ASN1_t3752917378 * L_0 = __this->get_content_1();
		return L_0;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::set_Content(Mono.Security.ASN1)
extern "C"  void ContentInfo_set_Content_m2661678287 (ContentInfo_t3081670594 * __this, ASN1_t3752917378 * ___value0, const MethodInfo* method)
{
	{
		ASN1_t3752917378 * L_0 = ___value0;
		__this->set_content_1(L_0);
		return;
	}
}
// System.String Mono.Security.PKCS7/ContentInfo::get_ContentType()
extern "C"  String_t* ContentInfo_get_ContentType_m3252099384 (ContentInfo_t3081670594 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = __this->get_contentType_0();
		return L_0;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::set_ContentType(System.String)
extern "C"  void ContentInfo_set_ContentType_m1664057857 (ContentInfo_t3081670594 * __this, String_t* ___value0, const MethodInfo* method)
{
	{
		String_t* L_0 = ___value0;
		__this->set_contentType_0(L_0);
		return;
	}
}
// Mono.Security.ASN1 Mono.Security.PKCS7/ContentInfo::GetASN1()
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo_GetASN1_m147164789_MetadataUsageId;
extern "C"  ASN1_t3752917378 * ContentInfo_GetASN1_m147164789 (ContentInfo_t3081670594 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo_GetASN1_m147164789_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	{
		ASN1_t3752917378 * L_0 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_0, ((int32_t)48), /*hidden argument*/NULL);
		V_0 = L_0;
		ASN1_t3752917378 * L_1 = V_0;
		String_t* L_2 = __this->get_contentType_0();
		ASN1_t3752917378 * L_3 = ASN1Convert_FromOid_m1663059922(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		ASN1_Add_m1424422628(L_1, L_3, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_4 = __this->get_content_1();
		if (!L_4)
		{
			goto IL_0043;
		}
	}
	{
		ASN1_t3752917378 * L_5 = __this->get_content_1();
		int32_t L_6 = ASN1_get_Count_m2214472120(L_5, /*hidden argument*/NULL);
		if ((((int32_t)L_6) <= ((int32_t)0)))
		{
			goto IL_0043;
		}
	}
	{
		ASN1_t3752917378 * L_7 = V_0;
		ASN1_t3752917378 * L_8 = __this->get_content_1();
		ASN1_Add_m1424422628(L_7, L_8, /*hidden argument*/NULL);
	}

IL_0043:
	{
		ASN1_t3752917378 * L_9 = V_0;
		return L_9;
	}
}
// System.Void Mono.Security.PKCS7/EncryptedData::.ctor()
extern "C"  void EncryptedData__ctor_m1149165926 (EncryptedData_t2709367817 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		__this->set__version_0(0);
		return;
	}
}
// System.Void Mono.Security.PKCS7/EncryptedData::.ctor(Mono.Security.ASN1)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppClass* ContentInfo_t3081670594_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1859749093;
extern Il2CppCodeGenString* _stringLiteral2248375183;
extern Il2CppCodeGenString* _stringLiteral2651845373;
extern Il2CppCodeGenString* _stringLiteral1096159682;
extern Il2CppCodeGenString* _stringLiteral1324068973;
extern Il2CppCodeGenString* _stringLiteral724352262;
extern const uint32_t EncryptedData__ctor_m794340270_MetadataUsageId;
extern "C"  void EncryptedData__ctor_m794340270 (EncryptedData_t2709367817 * __this, ASN1_t3752917378 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (EncryptedData__ctor_m794340270_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	ASN1_t3752917378 * V_1 = NULL;
	ASN1_t3752917378 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	{
		EncryptedData__ctor_m1149165926(__this, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_0 = ___asn10;
		uint8_t L_1 = ASN1_get_Tag_m442995239(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_001f;
		}
	}
	{
		ASN1_t3752917378 * L_2 = ___asn10;
		int32_t L_3 = ASN1_get_Count_m2214472120(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) >= ((int32_t)2)))
		{
			goto IL_002a;
		}
	}

IL_001f:
	{
		ArgumentException_t928607144 * L_4 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_4, _stringLiteral1859749093, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_002a:
	{
		ASN1_t3752917378 * L_5 = ___asn10;
		ASN1_t3752917378 * L_6 = ASN1_get_Item_m3727278260(L_5, 0, /*hidden argument*/NULL);
		uint8_t L_7 = ASN1_get_Tag_m442995239(L_6, /*hidden argument*/NULL);
		if ((((int32_t)L_7) == ((int32_t)2)))
		{
			goto IL_0047;
		}
	}
	{
		ArgumentException_t928607144 * L_8 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_8, _stringLiteral2248375183, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_0047:
	{
		ASN1_t3752917378 * L_9 = ___asn10;
		ASN1_t3752917378 * L_10 = ASN1_get_Item_m3727278260(L_9, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = ASN1_get_Value_m390067040(L_10, /*hidden argument*/NULL);
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
		__this->set__version_0(L_13);
		ASN1_t3752917378 * L_14 = ___asn10;
		ASN1_t3752917378 * L_15 = ASN1_get_Item_m3727278260(L_14, 1, /*hidden argument*/NULL);
		V_0 = L_15;
		ASN1_t3752917378 * L_16 = V_0;
		uint8_t L_17 = ASN1_get_Tag_m442995239(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) == ((int32_t)((int32_t)48))))
		{
			goto IL_007b;
		}
	}
	{
		ArgumentException_t928607144 * L_18 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_18, _stringLiteral2651845373, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_007b:
	{
		ASN1_t3752917378 * L_19 = V_0;
		ASN1_t3752917378 * L_20 = ASN1_get_Item_m3727278260(L_19, 0, /*hidden argument*/NULL);
		V_1 = L_20;
		ASN1_t3752917378 * L_21 = V_1;
		uint8_t L_22 = ASN1_get_Tag_m442995239(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)6)))
		{
			goto IL_009a;
		}
	}
	{
		ArgumentException_t928607144 * L_23 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_23, _stringLiteral1096159682, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_009a:
	{
		ASN1_t3752917378 * L_24 = V_1;
		String_t* L_25 = ASN1Convert_ToOid_m581448231(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		ContentInfo_t3081670594 * L_26 = (ContentInfo_t3081670594 *)il2cpp_codegen_object_new(ContentInfo_t3081670594_il2cpp_TypeInfo_var);
		ContentInfo__ctor_m521342869(L_26, L_25, /*hidden argument*/NULL);
		__this->set__content_1(L_26);
		ASN1_t3752917378 * L_27 = V_0;
		ASN1_t3752917378 * L_28 = ASN1_get_Item_m3727278260(L_27, 1, /*hidden argument*/NULL);
		V_2 = L_28;
		ASN1_t3752917378 * L_29 = V_2;
		uint8_t L_30 = ASN1_get_Tag_m442995239(L_29, /*hidden argument*/NULL);
		if ((((int32_t)L_30) == ((int32_t)((int32_t)48))))
		{
			goto IL_00cb;
		}
	}
	{
		ArgumentException_t928607144 * L_31 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_31, _stringLiteral1324068973, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_31);
	}

IL_00cb:
	{
		ASN1_t3752917378 * L_32 = V_2;
		ASN1_t3752917378 * L_33 = ASN1_get_Item_m3727278260(L_32, 0, /*hidden argument*/NULL);
		String_t* L_34 = ASN1Convert_ToOid_m581448231(NULL /*static, unused*/, L_33, /*hidden argument*/NULL);
		ContentInfo_t3081670594 * L_35 = (ContentInfo_t3081670594 *)il2cpp_codegen_object_new(ContentInfo_t3081670594_il2cpp_TypeInfo_var);
		ContentInfo__ctor_m521342869(L_35, L_34, /*hidden argument*/NULL);
		__this->set__encryptionAlgorithm_2(L_35);
		ContentInfo_t3081670594 * L_36 = __this->get__encryptionAlgorithm_2();
		ASN1_t3752917378 * L_37 = V_2;
		ASN1_t3752917378 * L_38 = ASN1_get_Item_m3727278260(L_37, 1, /*hidden argument*/NULL);
		ContentInfo_set_Content_m2661678287(L_36, L_38, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_39 = V_0;
		ASN1_t3752917378 * L_40 = ASN1_get_Item_m3727278260(L_39, 2, /*hidden argument*/NULL);
		V_3 = L_40;
		ASN1_t3752917378 * L_41 = V_3;
		uint8_t L_42 = ASN1_get_Tag_m442995239(L_41, /*hidden argument*/NULL);
		if ((((int32_t)L_42) == ((int32_t)((int32_t)128))))
		{
			goto IL_0117;
		}
	}
	{
		ArgumentException_t928607144 * L_43 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_43, _stringLiteral724352262, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_43);
	}

IL_0117:
	{
		ASN1_t3752917378 * L_44 = V_3;
		ByteU5BU5D_t4260760469* L_45 = ASN1_get_Value_m390067040(L_44, /*hidden argument*/NULL);
		__this->set__encrypted_3(L_45);
		return;
	}
}
// Mono.Security.PKCS7/ContentInfo Mono.Security.PKCS7/EncryptedData::get_EncryptionAlgorithm()
extern "C"  ContentInfo_t3081670594 * EncryptedData_get_EncryptionAlgorithm_m3999045305 (EncryptedData_t2709367817 * __this, const MethodInfo* method)
{
	{
		ContentInfo_t3081670594 * L_0 = __this->get__encryptionAlgorithm_2();
		return L_0;
	}
}
// System.Byte[] Mono.Security.PKCS7/EncryptedData::get_EncryptedContent()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedData_get_EncryptedContent_m2775206546_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* EncryptedData_get_EncryptedContent_m2775206546 (EncryptedData_t2709367817 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (EncryptedData_get_EncryptedContent_m2775206546_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__encrypted_3();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get__encrypted_3();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Protocol.Tls.Alert::.ctor(Mono.Security.Protocol.Tls.AlertDescription)
extern "C"  void Alert__ctor_m1050138762 (Alert_t2013630382 * __this, uint8_t ___description0, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		Alert_inferAlertLevel_m1028853718(__this, /*hidden argument*/NULL);
		uint8_t L_0 = ___description0;
		__this->set_description_1(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Alert::.ctor(Mono.Security.Protocol.Tls.AlertLevel,Mono.Security.Protocol.Tls.AlertDescription)
extern "C"  void Alert__ctor_m2712587944 (Alert_t2013630382 * __this, uint8_t ___level0, uint8_t ___description1, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		uint8_t L_0 = ___level0;
		__this->set_level_0(L_0);
		uint8_t L_1 = ___description1;
		__this->set_description_1(L_1);
		return;
	}
}
// Mono.Security.Protocol.Tls.AlertLevel Mono.Security.Protocol.Tls.Alert::get_Level()
extern "C"  uint8_t Alert_get_Level_m1997506166 (Alert_t2013630382 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_level_0();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.AlertDescription Mono.Security.Protocol.Tls.Alert::get_Description()
extern "C"  uint8_t Alert_get_Description_m3120128934 (Alert_t2013630382 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_description_1();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Alert::get_IsWarning()
extern "C"  bool Alert_get_IsWarning_m3635544347 (Alert_t2013630382 * __this, const MethodInfo* method)
{
	int32_t G_B3_0 = 0;
	{
		uint8_t L_0 = __this->get_level_0();
		if ((!(((uint32_t)L_0) == ((uint32_t)1))))
		{
			goto IL_0012;
		}
	}
	{
		G_B3_0 = 1;
		goto IL_0013;
	}

IL_0012:
	{
		G_B3_0 = 0;
	}

IL_0013:
	{
		return (bool)G_B3_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Alert::get_IsCloseNotify()
extern "C"  bool Alert_get_IsCloseNotify_m3620572320 (Alert_t2013630382 * __this, const MethodInfo* method)
{
	{
		bool L_0 = Alert_get_IsWarning_m3635544347(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0018;
		}
	}
	{
		uint8_t L_1 = __this->get_description_1();
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		return (bool)1;
	}

IL_0018:
	{
		return (bool)0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Alert::inferAlertLevel()
extern "C"  void Alert_inferAlertLevel_m1028853718 (Alert_t2013630382 * __this, const MethodInfo* method)
{
	uint8_t V_0 = 0;
	{
		uint8_t L_0 = __this->get_description_1();
		V_0 = L_0;
		uint8_t L_1 = V_0;
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 0)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 1)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 2)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 3)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 4)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 5)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 6)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 7)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 8)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 9)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 10)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 11)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 12)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 13)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 14)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 15)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 16)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 17)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 18)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 19)
		{
			goto IL_0064;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)40))) == 20)
		{
			goto IL_00c9;
		}
	}

IL_0064:
	{
		uint8_t L_2 = V_0;
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)20))) == 0)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)20))) == 1)
		{
			goto IL_00c9;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)20))) == 2)
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)70))))
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_4 = V_0;
		if ((((int32_t)L_4) == ((int32_t)((int32_t)71))))
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_5 = V_0;
		if ((((int32_t)L_5) == ((int32_t)0)))
		{
			goto IL_00bd;
		}
	}
	{
		uint8_t L_6 = V_0;
		if ((((int32_t)L_6) == ((int32_t)((int32_t)10))))
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_7 = V_0;
		if ((((int32_t)L_7) == ((int32_t)((int32_t)30))))
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_8 = V_0;
		if ((((int32_t)L_8) == ((int32_t)((int32_t)80))))
		{
			goto IL_00c9;
		}
	}
	{
		uint8_t L_9 = V_0;
		if ((((int32_t)L_9) == ((int32_t)((int32_t)90))))
		{
			goto IL_00bd;
		}
	}
	{
		uint8_t L_10 = V_0;
		if ((((int32_t)L_10) == ((int32_t)((int32_t)100))))
		{
			goto IL_00bd;
		}
	}
	{
		goto IL_00c9;
	}

IL_00bd:
	{
		__this->set_level_0(1);
		goto IL_00d5;
	}

IL_00c9:
	{
		__this->set_level_0(2);
		goto IL_00d5;
	}

IL_00d5:
	{
		return;
	}
}
// System.String Mono.Security.Protocol.Tls.Alert::GetAlertMessage(Mono.Security.Protocol.Tls.AlertDescription)
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern const uint32_t Alert_GetAlertMessage_m2724053422_MetadataUsageId;
extern "C"  String_t* Alert_GetAlertMessage_m2724053422 (Il2CppObject * __this /* static, unused */, uint8_t ___description0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Alert_GetAlertMessage_m2724053422_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		return _stringLiteral2394672362;
	}
}
// System.Void Mono.Security.Protocol.Tls.CertificateSelectionCallback::.ctor(System.Object,System.IntPtr)
extern "C"  void CertificateSelectionCallback__ctor_m2794002132 (CertificateSelectionCallback_t604475832 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.CertificateSelectionCallback::Invoke(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  X509Certificate_t3076817455 * CertificateSelectionCallback_Invoke_m1413516687 (CertificateSelectionCallback_t604475832 * __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateSelectionCallback_Invoke_m1413516687((CertificateSelectionCallback_t604475832 *)__this->get_prev_9(),___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef X509Certificate_t3076817455 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef X509Certificate_t3076817455 * (*FunctionPointerType) (void* __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef X509Certificate_t3076817455 * (*FunctionPointerType) (void* __this, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.CertificateSelectionCallback::BeginInvoke(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.AsyncCallback,System.Object)
extern "C"  Il2CppObject * CertificateSelectionCallback_BeginInvoke_m1304521025 (CertificateSelectionCallback_t604475832 * __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, AsyncCallback_t1369114871 * ___callback4, Il2CppObject * ___object5, const MethodInfo* method)
{
	void *__d_args[5] = {0};
	__d_args[0] = ___clientCertificates0;
	__d_args[1] = ___serverCertificate1;
	__d_args[2] = ___targetHost2;
	__d_args[3] = ___serverRequestedCertificates3;
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback4, (Il2CppObject*)___object5);
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.CertificateSelectionCallback::EndInvoke(System.IAsyncResult)
extern "C"  X509Certificate_t3076817455 * CertificateSelectionCallback_EndInvoke_m3027480361 (CertificateSelectionCallback_t604475832 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (X509Certificate_t3076817455 *)__result;
}
// System.Void Mono.Security.Protocol.Tls.CertificateValidationCallback::.ctor(System.Object,System.IntPtr)
extern "C"  void CertificateValidationCallback__ctor_m2692809593 (CertificateValidationCallback_t3090555431 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// System.Boolean Mono.Security.Protocol.Tls.CertificateValidationCallback::Invoke(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern "C"  bool CertificateValidationCallback_Invoke_m481730652 (CertificateValidationCallback_t3090555431 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateValidationCallback_Invoke_m481730652((CertificateValidationCallback_t3090555431 *)__this->get_prev_9(),___certificate0, ___certificateErrors1, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef bool (*FunctionPointerType) (Il2CppObject *, void* __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___certificate0, ___certificateErrors1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef bool (*FunctionPointerType) (void* __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___certificate0, ___certificateErrors1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef bool (*FunctionPointerType) (void* __this, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(___certificate0, ___certificateErrors1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.CertificateValidationCallback::BeginInvoke(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[],System.AsyncCallback,System.Object)
extern "C"  Il2CppObject * CertificateValidationCallback_BeginInvoke_m1580004723 (CertificateValidationCallback_t3090555431 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, AsyncCallback_t1369114871 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___certificate0;
	__d_args[1] = ___certificateErrors1;
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback2, (Il2CppObject*)___object3);
}
// System.Boolean Mono.Security.Protocol.Tls.CertificateValidationCallback::EndInvoke(System.IAsyncResult)
extern "C"  bool CertificateValidationCallback_EndInvoke_m2267930199 (CertificateValidationCallback_t3090555431 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return *(bool*)UnBox ((Il2CppCodeGenObject*)__result);
}
// System.Void Mono.Security.Protocol.Tls.CertificateValidationCallback2::.ctor(System.Object,System.IntPtr)
extern "C"  void CertificateValidationCallback2__ctor_m1854682743 (CertificateValidationCallback2_t3353735195 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.CertificateValidationCallback2::Invoke(Mono.Security.X509.X509CertificateCollection)
extern "C"  ValidationResult_t925859732 * CertificateValidationCallback2_Invoke_m4228010672 (CertificateValidationCallback2_t3353735195 * __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateValidationCallback2_Invoke_m4228010672((CertificateValidationCallback2_t3353735195 *)__this->get_prev_9(),___collection0, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef ValidationResult_t925859732 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___collection0,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef ValidationResult_t925859732 * (*FunctionPointerType) (void* __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___collection0,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef ValidationResult_t925859732 * (*FunctionPointerType) (void* __this, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(___collection0,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.CertificateValidationCallback2::BeginInvoke(Mono.Security.X509.X509CertificateCollection,System.AsyncCallback,System.Object)
extern "C"  Il2CppObject * CertificateValidationCallback2_BeginInvoke_m1231864174 (CertificateValidationCallback2_t3353735195 * __this, X509CertificateCollection_t4135795358 * ___collection0, AsyncCallback_t1369114871 * ___callback1, Il2CppObject * ___object2, const MethodInfo* method)
{
	void *__d_args[2] = {0};
	__d_args[0] = ___collection0;
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback1, (Il2CppObject*)___object2);
}
// Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.CertificateValidationCallback2::EndInvoke(System.IAsyncResult)
extern "C"  ValidationResult_t925859732 * CertificateValidationCallback2_EndInvoke_m2684174416 (CertificateValidationCallback2_t3353735195 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (ValidationResult_t925859732 *)__result;
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::.ctor(System.Int16,System.String,Mono.Security.Protocol.Tls.CipherAlgorithmType,Mono.Security.Protocol.Tls.HashAlgorithmType,Mono.Security.Protocol.Tls.ExchangeAlgorithmType,System.Boolean,System.Boolean,System.Byte,System.Byte,System.Int16,System.Byte,System.Byte)
extern "C"  void CipherSuite__ctor_m658209606 (CipherSuite_t580420223 * __this, int16_t ___code0, String_t* ___name1, int32_t ___cipherAlgorithmType2, int32_t ___hashAlgorithmType3, int32_t ___exchangeAlgorithmType4, bool ___exportable5, bool ___blockMode6, uint8_t ___keyMaterialSize7, uint8_t ___expandedKeyMaterialSize8, int16_t ___effectiveKeyBits9, uint8_t ___ivSize10, uint8_t ___blockSize11, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		int16_t L_0 = ___code0;
		__this->set_code_1(L_0);
		String_t* L_1 = ___name1;
		__this->set_name_2(L_1);
		int32_t L_2 = ___cipherAlgorithmType2;
		__this->set_cipherAlgorithmType_3(L_2);
		int32_t L_3 = ___hashAlgorithmType3;
		__this->set_hashAlgorithmType_4(L_3);
		int32_t L_4 = ___exchangeAlgorithmType4;
		__this->set_exchangeAlgorithmType_5(L_4);
		bool L_5 = ___exportable5;
		__this->set_isExportable_6(L_5);
		bool L_6 = ___blockMode6;
		if (!L_6)
		{
			goto IL_0041;
		}
	}
	{
		__this->set_cipherMode_7(1);
	}

IL_0041:
	{
		uint8_t L_7 = ___keyMaterialSize7;
		__this->set_keyMaterialSize_8(L_7);
		uint8_t L_8 = ___expandedKeyMaterialSize8;
		__this->set_expandedKeyMaterialSize_10(L_8);
		int16_t L_9 = ___effectiveKeyBits9;
		__this->set_effectiveKeyBits_11(L_9);
		uint8_t L_10 = ___ivSize10;
		__this->set_ivSize_12(L_10);
		uint8_t L_11 = ___blockSize11;
		__this->set_blockSize_13(L_11);
		uint8_t L_12 = __this->get_keyMaterialSize_8();
		int32_t L_13 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		uint8_t L_14 = __this->get_ivSize_12();
		__this->set_keyBlockSize_9(((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_12+(int32_t)L_13))+(int32_t)L_14))<<(int32_t)1)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::.cctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite__cctor_m2830170332_MetadataUsageId;
extern "C"  void CipherSuite__cctor_m2830170332 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite__cctor_m2830170332_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->set_EmptyArray_0(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)0)));
		return;
	}
}
// System.Security.Cryptography.ICryptoTransform Mono.Security.Protocol.Tls.CipherSuite::get_EncryptionCipher()
extern "C"  Il2CppObject * CipherSuite_get_EncryptionCipher_m3951497384 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		Il2CppObject * L_0 = __this->get_encryptionCipher_16();
		return L_0;
	}
}
// System.Security.Cryptography.ICryptoTransform Mono.Security.Protocol.Tls.CipherSuite::get_DecryptionCipher()
extern "C"  Il2CppObject * CipherSuite_get_DecryptionCipher_m1358717056 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		Il2CppObject * L_0 = __this->get_decryptionCipher_18();
		return L_0;
	}
}
// System.Security.Cryptography.KeyedHashAlgorithm Mono.Security.Protocol.Tls.CipherSuite::get_ClientHMAC()
extern "C"  KeyedHashAlgorithm_t1039941647 * CipherSuite_get_ClientHMAC_m3918386475 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		KeyedHashAlgorithm_t1039941647 * L_0 = __this->get_clientHMAC_19();
		return L_0;
	}
}
// System.Security.Cryptography.KeyedHashAlgorithm Mono.Security.Protocol.Tls.CipherSuite::get_ServerHMAC()
extern "C"  KeyedHashAlgorithm_t1039941647 * CipherSuite_get_ServerHMAC_m2966460067 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		KeyedHashAlgorithm_t1039941647 * L_0 = __this->get_serverHMAC_20();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.CipherAlgorithmType Mono.Security.Protocol.Tls.CipherSuite::get_CipherAlgorithmType()
extern "C"  int32_t CipherSuite_get_CipherAlgorithmType_m4289432549 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_cipherAlgorithmType_3();
		return L_0;
	}
}
// System.String Mono.Security.Protocol.Tls.CipherSuite::get_HashAlgorithmName()
extern Il2CppCodeGenString* _stringLiteral76158;
extern Il2CppCodeGenString* _stringLiteral2543909;
extern Il2CppCodeGenString* _stringLiteral2433880;
extern const uint32_t CipherSuite_get_HashAlgorithmName_m1304664079_MetadataUsageId;
extern "C"  String_t* CipherSuite_get_HashAlgorithmName_m1304664079 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_get_HashAlgorithmName_m1304664079_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get_hashAlgorithmType_4();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if (L_1 == 0)
		{
			goto IL_001e;
		}
		if (L_1 == 1)
		{
			goto IL_002a;
		}
		if (L_1 == 2)
		{
			goto IL_0024;
		}
	}
	{
		goto IL_002a;
	}

IL_001e:
	{
		return _stringLiteral76158;
	}

IL_0024:
	{
		return _stringLiteral2543909;
	}

IL_002a:
	{
		return _stringLiteral2433880;
	}
}
// Mono.Security.Protocol.Tls.HashAlgorithmType Mono.Security.Protocol.Tls.CipherSuite::get_HashAlgorithmType()
extern "C"  int32_t CipherSuite_get_HashAlgorithmType_m687406047 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_hashAlgorithmType_4();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuite::get_HashSize()
extern "C"  int32_t CipherSuite_get_HashSize_m2484224531 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get_hashAlgorithmType_4();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if (L_1 == 0)
		{
			goto IL_001e;
		}
		if (L_1 == 1)
		{
			goto IL_0024;
		}
		if (L_1 == 2)
		{
			goto IL_0021;
		}
	}
	{
		goto IL_0024;
	}

IL_001e:
	{
		return ((int32_t)16);
	}

IL_0021:
	{
		return ((int32_t)20);
	}

IL_0024:
	{
		return 0;
	}
}
// Mono.Security.Protocol.Tls.ExchangeAlgorithmType Mono.Security.Protocol.Tls.CipherSuite::get_ExchangeAlgorithmType()
extern "C"  int32_t CipherSuite_get_ExchangeAlgorithmType_m987153461 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_exchangeAlgorithmType_5();
		return L_0;
	}
}
// System.Security.Cryptography.CipherMode Mono.Security.Protocol.Tls.CipherSuite::get_CipherMode()
extern "C"  int32_t CipherSuite_get_CipherMode_m2092929468 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_cipherMode_7();
		return L_0;
	}
}
// System.Int16 Mono.Security.Protocol.Tls.CipherSuite::get_Code()
extern "C"  int16_t CipherSuite_get_Code_m3312642635 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int16_t L_0 = __this->get_code_1();
		return L_0;
	}
}
// System.String Mono.Security.Protocol.Tls.CipherSuite::get_Name()
extern "C"  String_t* CipherSuite_get_Name_m1995865258 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = __this->get_name_2();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuite::get_IsExportable()
extern "C"  bool CipherSuite_get_IsExportable_m534474210 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_isExportable_6();
		return L_0;
	}
}
// System.Byte Mono.Security.Protocol.Tls.CipherSuite::get_KeyMaterialSize()
extern "C"  uint8_t CipherSuite_get_KeyMaterialSize_m166819169 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_keyMaterialSize_8();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuite::get_KeyBlockSize()
extern "C"  int32_t CipherSuite_get_KeyBlockSize_m3692693747 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_keyBlockSize_9();
		return L_0;
	}
}
// System.Byte Mono.Security.Protocol.Tls.CipherSuite::get_ExpandedKeyMaterialSize()
extern "C"  uint8_t CipherSuite_get_ExpandedKeyMaterialSize_m2373093544 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_expandedKeyMaterialSize_10();
		return L_0;
	}
}
// System.Int16 Mono.Security.Protocol.Tls.CipherSuite::get_EffectiveKeyBits()
extern "C"  int16_t CipherSuite_get_EffectiveKeyBits_m1093264636 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		int16_t L_0 = __this->get_effectiveKeyBits_11();
		return L_0;
	}
}
// System.Byte Mono.Security.Protocol.Tls.CipherSuite::get_IvSize()
extern "C"  uint8_t CipherSuite_get_IvSize_m633403350 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_ivSize_12();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.Context Mono.Security.Protocol.Tls.CipherSuite::get_Context()
extern "C"  Context_t658806145 * CipherSuite_get_Context_m3949655367 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_14();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::set_Context(Mono.Security.Protocol.Tls.Context)
extern "C"  void CipherSuite_set_Context_m2407825304 (CipherSuite_t580420223 * __this, Context_t658806145 * ___value0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___value0;
		__this->set_context_14(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::Write(System.Byte[],System.Int32,System.Int16)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3275187347;
extern const uint32_t CipherSuite_Write_m920521461_MetadataUsageId;
extern "C"  void CipherSuite_Write_m920521461 (CipherSuite_t580420223 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___offset1, int16_t ___value2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Write_m920521461_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___offset1;
		ByteU5BU5D_t4260760469* L_1 = ___array0;
		if ((((int32_t)L_0) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))-(int32_t)2)))))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t928607144 * L_2 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_2, _stringLiteral3275187347, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0016:
	{
		ByteU5BU5D_t4260760469* L_3 = ___array0;
		int32_t L_4 = ___offset1;
		int16_t L_5 = ___value2;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(L_4), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_5>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_6 = ___array0;
		int32_t L_7 = ___offset1;
		int16_t L_8 = ___value2;
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_7+(int32_t)1))), (uint8_t)(((int32_t)((uint8_t)L_8))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::Write(System.Byte[],System.Int32,System.UInt64)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3275187347;
extern const uint32_t CipherSuite_Write_m3763647761_MetadataUsageId;
extern "C"  void CipherSuite_Write_m3763647761 (CipherSuite_t580420223 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___offset1, uint64_t ___value2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Write_m3763647761_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___offset1;
		ByteU5BU5D_t4260760469* L_1 = ___array0;
		if ((((int32_t)L_0) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))-(int32_t)8)))))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t928607144 * L_2 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_2, _stringLiteral3275187347, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0016:
	{
		ByteU5BU5D_t4260760469* L_3 = ___array0;
		int32_t L_4 = ___offset1;
		uint64_t L_5 = ___value2;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(L_4), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_5>>((int32_t)56)))))));
		ByteU5BU5D_t4260760469* L_6 = ___array0;
		int32_t L_7 = ___offset1;
		uint64_t L_8 = ___value2;
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_7+(int32_t)1))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_8>>((int32_t)48)))))));
		ByteU5BU5D_t4260760469* L_9 = ___array0;
		int32_t L_10 = ___offset1;
		uint64_t L_11 = ___value2;
		(L_9)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_10+(int32_t)2))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_11>>((int32_t)40)))))));
		ByteU5BU5D_t4260760469* L_12 = ___array0;
		int32_t L_13 = ___offset1;
		uint64_t L_14 = ___value2;
		(L_12)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_13+(int32_t)3))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_14>>((int32_t)32)))))));
		ByteU5BU5D_t4260760469* L_15 = ___array0;
		int32_t L_16 = ___offset1;
		uint64_t L_17 = ___value2;
		(L_15)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_16+(int32_t)4))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_17>>((int32_t)24)))))));
		ByteU5BU5D_t4260760469* L_18 = ___array0;
		int32_t L_19 = ___offset1;
		uint64_t L_20 = ___value2;
		(L_18)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_19+(int32_t)5))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_20>>((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_21 = ___array0;
		int32_t L_22 = ___offset1;
		uint64_t L_23 = ___value2;
		(L_21)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_22+(int32_t)6))), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_23>>8))))));
		ByteU5BU5D_t4260760469* L_24 = ___array0;
		int32_t L_25 = ___offset1;
		uint64_t L_26 = ___value2;
		(L_24)->SetAt(static_cast<il2cpp_array_size_t>(((int32_t)((int32_t)L_25+(int32_t)7))), (uint8_t)(((int32_t)((uint8_t)L_26))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::InitializeCipher()
extern "C"  void CipherSuite_InitializeCipher_m1046105646 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	{
		CipherSuite_createEncryptionCipher_m347042717(__this, /*hidden argument*/NULL);
		CipherSuite_createDecryptionCipher_m2049229685(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::EncryptRecord(System.Byte[],System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ICryptoTransform_t153068654_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_EncryptRecord_m1686609905_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* CipherSuite_EncryptRecord_m1686609905 (CipherSuite_t580420223 * __this, ByteU5BU5D_t4260760469* ___fragment0, ByteU5BU5D_t4260760469* ___mac1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_EncryptRecord_m1686609905_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___fragment0;
		ByteU5BU5D_t4260760469* L_1 = ___mac1;
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))));
		V_1 = 0;
		int32_t L_2 = CipherSuite_get_CipherMode_m2092929468(__this, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_2) == ((uint32_t)1))))
		{
			goto IL_003c;
		}
	}
	{
		int32_t L_3 = V_0;
		V_0 = ((int32_t)((int32_t)L_3+(int32_t)1));
		uint8_t L_4 = __this->get_blockSize_13();
		int32_t L_5 = V_0;
		uint8_t L_6 = __this->get_blockSize_13();
		V_1 = ((int32_t)((int32_t)L_4-(int32_t)((int32_t)((int32_t)L_5%(int32_t)L_6))));
		int32_t L_7 = V_1;
		uint8_t L_8 = __this->get_blockSize_13();
		if ((!(((uint32_t)L_7) == ((uint32_t)L_8))))
		{
			goto IL_0038;
		}
	}
	{
		V_1 = 0;
	}

IL_0038:
	{
		int32_t L_9 = V_0;
		int32_t L_10 = V_1;
		V_0 = ((int32_t)((int32_t)L_9+(int32_t)L_10));
	}

IL_003c:
	{
		int32_t L_11 = V_0;
		V_2 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_11));
		ByteU5BU5D_t4260760469* L_12 = ___fragment0;
		ByteU5BU5D_t4260760469* L_13 = V_2;
		ByteU5BU5D_t4260760469* L_14 = ___fragment0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_12, 0, (Il2CppArray *)(Il2CppArray *)L_13, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_15 = ___mac1;
		ByteU5BU5D_t4260760469* L_16 = V_2;
		ByteU5BU5D_t4260760469* L_17 = ___fragment0;
		ByteU5BU5D_t4260760469* L_18 = ___mac1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_15, 0, (Il2CppArray *)(Il2CppArray *)L_16, (((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length)))), (((int32_t)((int32_t)(((Il2CppArray *)L_18)->max_length)))), /*hidden argument*/NULL);
		int32_t L_19 = V_1;
		if ((((int32_t)L_19) <= ((int32_t)0)))
		{
			goto IL_008c;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_20 = ___fragment0;
		ByteU5BU5D_t4260760469* L_21 = ___mac1;
		V_3 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length))))+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length))))));
		int32_t L_22 = V_3;
		V_4 = L_22;
		goto IL_0080;
	}

IL_0074:
	{
		ByteU5BU5D_t4260760469* L_23 = V_2;
		int32_t L_24 = V_4;
		int32_t L_25 = V_1;
		(L_23)->SetAt(static_cast<il2cpp_array_size_t>(L_24), (uint8_t)(((int32_t)((uint8_t)L_25))));
		int32_t L_26 = V_4;
		V_4 = ((int32_t)((int32_t)L_26+(int32_t)1));
	}

IL_0080:
	{
		int32_t L_27 = V_4;
		int32_t L_28 = V_3;
		int32_t L_29 = V_1;
		if ((((int32_t)L_27) < ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_28+(int32_t)L_29))+(int32_t)1)))))
		{
			goto IL_0074;
		}
	}

IL_008c:
	{
		Il2CppObject * L_30 = CipherSuite_get_EncryptionCipher_m3951497384(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_31 = V_2;
		ByteU5BU5D_t4260760469* L_32 = V_2;
		ByteU5BU5D_t4260760469* L_33 = V_2;
		InterfaceFuncInvoker5< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t, ByteU5BU5D_t4260760469*, int32_t >::Invoke(1 /* System.Int32 System.Security.Cryptography.ICryptoTransform::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32) */, ICryptoTransform_t153068654_il2cpp_TypeInfo_var, L_30, L_31, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length)))), L_33, 0);
		ByteU5BU5D_t4260760469* L_34 = V_2;
		return L_34;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::DecryptRecord(System.Byte[],System.Byte[]&,System.Byte[]&)
extern Il2CppClass* ICryptoTransform_t153068654_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_DecryptRecord_m3553271804_MetadataUsageId;
extern "C"  void CipherSuite_DecryptRecord_m3553271804 (CipherSuite_t580420223 * __this, ByteU5BU5D_t4260760469* ___fragment0, ByteU5BU5D_t4260760469** ___dcrFragment1, ByteU5BU5D_t4260760469** ___dcrMAC2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_DecryptRecord_m3553271804_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		V_0 = 0;
		V_1 = 0;
		Il2CppObject * L_0 = CipherSuite_get_DecryptionCipher_m1358717056(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = ___fragment0;
		ByteU5BU5D_t4260760469* L_2 = ___fragment0;
		ByteU5BU5D_t4260760469* L_3 = ___fragment0;
		InterfaceFuncInvoker5< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t, ByteU5BU5D_t4260760469*, int32_t >::Invoke(1 /* System.Int32 System.Security.Cryptography.ICryptoTransform::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32) */, ICryptoTransform_t153068654_il2cpp_TypeInfo_var, L_0, L_1, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length)))), L_3, 0);
		int32_t L_4 = CipherSuite_get_CipherMode_m2092929468(__this, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_003f;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_5 = ___fragment0;
		ByteU5BU5D_t4260760469* L_6 = ___fragment0;
		int32_t L_7 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length))))-(int32_t)1));
		uint8_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		V_1 = L_8;
		ByteU5BU5D_t4260760469* L_9 = ___fragment0;
		int32_t L_10 = V_1;
		int32_t L_11 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		V_0 = ((int32_t)((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_9)->max_length))))-(int32_t)((int32_t)((int32_t)L_10+(int32_t)1))))-(int32_t)L_11));
		goto IL_004a;
	}

IL_003f:
	{
		ByteU5BU5D_t4260760469* L_12 = ___fragment0;
		int32_t L_13 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length))))-(int32_t)L_13));
	}

IL_004a:
	{
		ByteU5BU5D_t4260760469** L_14 = ___dcrFragment1;
		int32_t L_15 = V_0;
		*((Il2CppObject **)(L_14)) = (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_15));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_14), (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_15)));
		ByteU5BU5D_t4260760469** L_16 = ___dcrMAC2;
		int32_t L_17 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		*((Il2CppObject **)(L_16)) = (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_17));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_16), (Il2CppObject *)((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_17)));
		ByteU5BU5D_t4260760469* L_18 = ___fragment0;
		ByteU5BU5D_t4260760469** L_19 = ___dcrFragment1;
		ByteU5BU5D_t4260760469** L_20 = ___dcrFragment1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, 0, (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_19)), 0, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_20)))->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_21 = ___fragment0;
		ByteU5BU5D_t4260760469** L_22 = ___dcrFragment1;
		ByteU5BU5D_t4260760469** L_23 = ___dcrMAC2;
		ByteU5BU5D_t4260760469** L_24 = ___dcrMAC2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_21, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_22)))->max_length)))), (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_23)), 0, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t4260760469**)L_24)))->max_length)))), /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::CreatePremasterSecret()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_CreatePremasterSecret_m4245710238_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* CipherSuite_CreatePremasterSecret_m4245710238 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_CreatePremasterSecret_m4245710238_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		Context_t658806145 * L_0 = __this->get_context_14();
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		Context_t658806145 * L_1 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_2 = Context_GetSecureRandomBytes_m3225475755(L_1, ((int32_t)48), /*hidden argument*/NULL);
		V_1 = L_2;
		ByteU5BU5D_t4260760469* L_3 = V_1;
		ClientContext_t3745725366 * L_4 = V_0;
		int16_t L_5 = ClientContext_get_ClientHelloProtocol_m3083636780(L_4, /*hidden argument*/NULL);
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_5>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_6 = V_1;
		ClientContext_t3745725366 * L_7 = V_0;
		int16_t L_8 = ClientContext_get_ClientHelloProtocol_m3083636780(L_7, /*hidden argument*/NULL);
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)L_8))));
		ByteU5BU5D_t4260760469* L_9 = V_1;
		return L_9;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::PRF(System.Byte[],System.String,System.Byte[],System.Int32)
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t2012439129_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral76158;
extern Il2CppCodeGenString* _stringLiteral2543909;
extern const uint32_t CipherSuite_PRF_m4080641496_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* CipherSuite_PRF_m4080641496 (CipherSuite_t580420223 * __this, ByteU5BU5D_t4260760469* ___secret0, String_t* ___label1, ByteU5BU5D_t4260760469* ___data2, int32_t ___length3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_PRF_m4080641496_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	TlsStream_t89550253 * V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	ByteU5BU5D_t4260760469* V_5 = NULL;
	ByteU5BU5D_t4260760469* V_6 = NULL;
	ByteU5BU5D_t4260760469* V_7 = NULL;
	int32_t V_8 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___secret0;
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))>>(int32_t)1));
		ByteU5BU5D_t4260760469* L_1 = ___secret0;
		if ((!(((uint32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length))))&(int32_t)1))) == ((uint32_t)1))))
		{
			goto IL_0015;
		}
	}
	{
		int32_t L_2 = V_0;
		V_0 = ((int32_t)((int32_t)L_2+(int32_t)1));
	}

IL_0015:
	{
		TlsStream_t89550253 * L_3 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_3, /*hidden argument*/NULL);
		V_1 = L_3;
		TlsStream_t89550253 * L_4 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t2012439129_il2cpp_TypeInfo_var);
		Encoding_t2012439129 * L_5 = Encoding_get_ASCII_m1425378925(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_6 = ___label1;
		ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, String_t* >::Invoke(10 /* System.Byte[] System.Text.Encoding::GetBytes(System.String) */, L_5, L_6);
		TlsStream_Write_m106187721(L_4, L_7, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_8 = V_1;
		ByteU5BU5D_t4260760469* L_9 = ___data2;
		TlsStream_Write_m106187721(L_8, L_9, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_10 = V_1;
		ByteU5BU5D_t4260760469* L_11 = TlsStream_ToArray_m613486997(L_10, /*hidden argument*/NULL);
		V_2 = L_11;
		TlsStream_t89550253 * L_12 = V_1;
		TlsStream_Reset_m242376048(L_12, /*hidden argument*/NULL);
		int32_t L_13 = V_0;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_13));
		ByteU5BU5D_t4260760469* L_14 = ___secret0;
		ByteU5BU5D_t4260760469* L_15 = V_3;
		int32_t L_16 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_14, 0, (Il2CppArray *)(Il2CppArray *)L_15, 0, L_16, /*hidden argument*/NULL);
		int32_t L_17 = V_0;
		V_4 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_17));
		ByteU5BU5D_t4260760469* L_18 = ___secret0;
		ByteU5BU5D_t4260760469* L_19 = ___secret0;
		int32_t L_20 = V_0;
		ByteU5BU5D_t4260760469* L_21 = V_4;
		int32_t L_22 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_19)->max_length))))-(int32_t)L_20)), (Il2CppArray *)(Il2CppArray *)L_21, 0, L_22, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_23 = V_3;
		ByteU5BU5D_t4260760469* L_24 = V_2;
		int32_t L_25 = ___length3;
		ByteU5BU5D_t4260760469* L_26 = CipherSuite_Expand_m4170799558(__this, _stringLiteral76158, L_23, L_24, L_25, /*hidden argument*/NULL);
		V_5 = L_26;
		ByteU5BU5D_t4260760469* L_27 = V_4;
		ByteU5BU5D_t4260760469* L_28 = V_2;
		int32_t L_29 = ___length3;
		ByteU5BU5D_t4260760469* L_30 = CipherSuite_Expand_m4170799558(__this, _stringLiteral2543909, L_27, L_28, L_29, /*hidden argument*/NULL);
		V_6 = L_30;
		int32_t L_31 = ___length3;
		V_7 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_31));
		V_8 = 0;
		goto IL_00b3;
	}

IL_009c:
	{
		ByteU5BU5D_t4260760469* L_32 = V_7;
		int32_t L_33 = V_8;
		ByteU5BU5D_t4260760469* L_34 = V_5;
		int32_t L_35 = V_8;
		int32_t L_36 = L_35;
		uint8_t L_37 = (L_34)->GetAt(static_cast<il2cpp_array_size_t>(L_36));
		ByteU5BU5D_t4260760469* L_38 = V_6;
		int32_t L_39 = V_8;
		int32_t L_40 = L_39;
		uint8_t L_41 = (L_38)->GetAt(static_cast<il2cpp_array_size_t>(L_40));
		(L_32)->SetAt(static_cast<il2cpp_array_size_t>(L_33), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_37^(int32_t)L_41))))));
		int32_t L_42 = V_8;
		V_8 = ((int32_t)((int32_t)L_42+(int32_t)1));
	}

IL_00b3:
	{
		int32_t L_43 = V_8;
		ByteU5BU5D_t4260760469* L_44 = V_7;
		if ((((int32_t)L_43) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))))))
		{
			goto IL_009c;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_45 = V_7;
		return L_45;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::Expand(System.String,System.Byte[],System.Byte[],System.Int32)
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* HMAC_t2066897019_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5DU5BU5D_t2421305976_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral76158;
extern const uint32_t CipherSuite_Expand_m4170799558_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* CipherSuite_Expand_m4170799558 (CipherSuite_t580420223 * __this, String_t* ___hashName0, ByteU5BU5D_t4260760469* ___secret1, ByteU5BU5D_t4260760469* ___seed2, int32_t ___length3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Expand_m4170799558_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	HMAC_t2066897019 * V_2 = NULL;
	TlsStream_t89550253 * V_3 = NULL;
	ByteU5BU5DU5BU5D_t2421305976* V_4 = NULL;
	int32_t V_5 = 0;
	TlsStream_t89550253 * V_6 = NULL;
	ByteU5BU5D_t4260760469* V_7 = NULL;
	int32_t G_B3_0 = 0;
	{
		String_t* L_0 = ___hashName0;
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		bool L_1 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_0, _stringLiteral76158, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0017;
		}
	}
	{
		G_B3_0 = ((int32_t)16);
		goto IL_0019;
	}

IL_0017:
	{
		G_B3_0 = ((int32_t)20);
	}

IL_0019:
	{
		V_0 = G_B3_0;
		int32_t L_2 = ___length3;
		int32_t L_3 = V_0;
		V_1 = ((int32_t)((int32_t)L_2/(int32_t)L_3));
		int32_t L_4 = ___length3;
		int32_t L_5 = V_0;
		if ((((int32_t)((int32_t)((int32_t)L_4%(int32_t)L_5))) <= ((int32_t)0)))
		{
			goto IL_002d;
		}
	}
	{
		int32_t L_6 = V_1;
		V_1 = ((int32_t)((int32_t)L_6+(int32_t)1));
	}

IL_002d:
	{
		String_t* L_7 = ___hashName0;
		ByteU5BU5D_t4260760469* L_8 = ___secret1;
		HMAC_t2066897019 * L_9 = (HMAC_t2066897019 *)il2cpp_codegen_object_new(HMAC_t2066897019_il2cpp_TypeInfo_var);
		HMAC__ctor_m3969743837(L_9, L_7, L_8, /*hidden argument*/NULL);
		V_2 = L_9;
		TlsStream_t89550253 * L_10 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_10, /*hidden argument*/NULL);
		V_3 = L_10;
		int32_t L_11 = V_1;
		V_4 = ((ByteU5BU5DU5BU5D_t2421305976*)SZArrayNew(ByteU5BU5DU5BU5D_t2421305976_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)L_11+(int32_t)1))));
		ByteU5BU5DU5BU5D_t2421305976* L_12 = V_4;
		ByteU5BU5D_t4260760469* L_13 = ___seed2;
		ArrayElementTypeCheck (L_12, L_13);
		(L_12)->SetAt(static_cast<il2cpp_array_size_t>(0), (ByteU5BU5D_t4260760469*)L_13);
		V_5 = 1;
		goto IL_00c0;
	}

IL_0052:
	{
		TlsStream_t89550253 * L_14 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_14, /*hidden argument*/NULL);
		V_6 = L_14;
		HMAC_t2066897019 * L_15 = V_2;
		ByteU5BU5DU5BU5D_t2421305976* L_16 = V_4;
		int32_t L_17 = V_5;
		int32_t L_18 = ((int32_t)((int32_t)L_17-(int32_t)1));
		ByteU5BU5D_t4260760469* L_19 = (L_16)->GetAt(static_cast<il2cpp_array_size_t>(L_18));
		ByteU5BU5DU5BU5D_t2421305976* L_20 = V_4;
		int32_t L_21 = V_5;
		int32_t L_22 = ((int32_t)((int32_t)L_21-(int32_t)1));
		ByteU5BU5D_t4260760469* L_23 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_22));
		HashAlgorithm_TransformFinalBlock_m1193599374(L_15, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_23)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5DU5BU5D_t2421305976* L_24 = V_4;
		int32_t L_25 = V_5;
		HMAC_t2066897019 * L_26 = V_2;
		ByteU5BU5D_t4260760469* L_27 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_26);
		ArrayElementTypeCheck (L_24, L_27);
		(L_24)->SetAt(static_cast<il2cpp_array_size_t>(L_25), (ByteU5BU5D_t4260760469*)L_27);
		TlsStream_t89550253 * L_28 = V_6;
		ByteU5BU5DU5BU5D_t2421305976* L_29 = V_4;
		int32_t L_30 = V_5;
		int32_t L_31 = L_30;
		ByteU5BU5D_t4260760469* L_32 = (L_29)->GetAt(static_cast<il2cpp_array_size_t>(L_31));
		TlsStream_Write_m106187721(L_28, L_32, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_33 = V_6;
		ByteU5BU5D_t4260760469* L_34 = ___seed2;
		TlsStream_Write_m106187721(L_33, L_34, /*hidden argument*/NULL);
		HMAC_t2066897019 * L_35 = V_2;
		TlsStream_t89550253 * L_36 = V_6;
		ByteU5BU5D_t4260760469* L_37 = TlsStream_ToArray_m613486997(L_36, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_38 = V_6;
		int64_t L_39 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_38);
		HashAlgorithm_TransformFinalBlock_m1193599374(L_35, L_37, 0, (((int32_t)((int32_t)L_39))), /*hidden argument*/NULL);
		TlsStream_t89550253 * L_40 = V_3;
		HMAC_t2066897019 * L_41 = V_2;
		ByteU5BU5D_t4260760469* L_42 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_41);
		TlsStream_Write_m106187721(L_40, L_42, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_43 = V_6;
		TlsStream_Reset_m242376048(L_43, /*hidden argument*/NULL);
		int32_t L_44 = V_5;
		V_5 = ((int32_t)((int32_t)L_44+(int32_t)1));
	}

IL_00c0:
	{
		int32_t L_45 = V_5;
		int32_t L_46 = V_1;
		if ((((int32_t)L_45) <= ((int32_t)L_46)))
		{
			goto IL_0052;
		}
	}
	{
		int32_t L_47 = ___length3;
		V_7 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_47));
		TlsStream_t89550253 * L_48 = V_3;
		ByteU5BU5D_t4260760469* L_49 = TlsStream_ToArray_m613486997(L_48, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_50 = V_7;
		ByteU5BU5D_t4260760469* L_51 = V_7;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_49, 0, (Il2CppArray *)(Il2CppArray *)L_50, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_51)->max_length)))), /*hidden argument*/NULL);
		TlsStream_t89550253 * L_52 = V_3;
		TlsStream_Reset_m242376048(L_52, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_53 = V_7;
		return L_53;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::createEncryptionCipher()
extern Il2CppClass* DES_t2466800440_il2cpp_TypeInfo_var;
extern Il2CppClass* ARC4Managed_t1354014707_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* HMAC_t2066897019_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_createEncryptionCipher_m347042717_MetadataUsageId;
extern "C"  void CipherSuite_createEncryptionCipher_m347042717 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_createEncryptionCipher_m347042717_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get_cipherAlgorithmType_3();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if (L_1 == 0)
		{
			goto IL_002e;
		}
		if (L_1 == 1)
		{
			goto IL_007e;
		}
		if (L_1 == 2)
		{
			goto IL_003e;
		}
		if (L_1 == 3)
		{
			goto IL_004e;
		}
		if (L_1 == 4)
		{
			goto IL_006e;
		}
		if (L_1 == 5)
		{
			goto IL_007e;
		}
		if (L_1 == 6)
		{
			goto IL_005e;
		}
	}
	{
		goto IL_007e;
	}

IL_002e:
	{
		IL2CPP_RUNTIME_CLASS_INIT(DES_t2466800440_il2cpp_TypeInfo_var);
		DES_t2466800440 * L_2 = DES_Create_m3635864569(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_2);
		goto IL_007e;
	}

IL_003e:
	{
		RC2_t2466813799 * L_3 = RC2_Create_m1909558745(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_3);
		goto IL_007e;
	}

IL_004e:
	{
		ARC4Managed_t1354014707 * L_4 = (ARC4Managed_t1354014707 *)il2cpp_codegen_object_new(ARC4Managed_t1354014707_il2cpp_TypeInfo_var);
		ARC4Managed__ctor_m340859770(L_4, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_4);
		goto IL_007e;
	}

IL_005e:
	{
		TripleDES_t3018929210 * L_5 = TripleDES_Create_m1830328057(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_5);
		goto IL_007e;
	}

IL_006e:
	{
		Rijndael_t271969675 * L_6 = Rijndael_Create_m1196531453(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_6);
		goto IL_007e;
	}

IL_007e:
	{
		int32_t L_7 = __this->get_cipherMode_7();
		if ((!(((uint32_t)L_7) == ((uint32_t)1))))
		{
			goto IL_00cd;
		}
	}
	{
		SymmetricAlgorithm_t3097904804 * L_8 = __this->get_encryptionAlgorithm_15();
		int32_t L_9 = __this->get_cipherMode_7();
		VirtActionInvoker1< int32_t >::Invoke(17 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Mode(System.Security.Cryptography.CipherMode) */, L_8, L_9);
		SymmetricAlgorithm_t3097904804 * L_10 = __this->get_encryptionAlgorithm_15();
		VirtActionInvoker1< int32_t >::Invoke(19 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Padding(System.Security.Cryptography.PaddingMode) */, L_10, 1);
		SymmetricAlgorithm_t3097904804 * L_11 = __this->get_encryptionAlgorithm_15();
		uint8_t L_12 = __this->get_expandedKeyMaterialSize_10();
		VirtActionInvoker1< int32_t >::Invoke(14 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_KeySize(System.Int32) */, L_11, ((int32_t)((int32_t)L_12*(int32_t)8)));
		SymmetricAlgorithm_t3097904804 * L_13 = __this->get_encryptionAlgorithm_15();
		uint8_t L_14 = __this->get_blockSize_13();
		VirtActionInvoker1< int32_t >::Invoke(7 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_BlockSize(System.Int32) */, L_13, ((int32_t)((int32_t)L_14*(int32_t)8)));
	}

IL_00cd:
	{
		Context_t658806145 * L_15 = __this->get_context_14();
		if (!((ClientContext_t3745725366 *)IsInstClass(L_15, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_010e;
		}
	}
	{
		SymmetricAlgorithm_t3097904804 * L_16 = __this->get_encryptionAlgorithm_15();
		Context_t658806145 * L_17 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_18 = Context_get_ClientWriteKey_m2094953427(L_17, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_16, L_18);
		SymmetricAlgorithm_t3097904804 * L_19 = __this->get_encryptionAlgorithm_15();
		Context_t658806145 * L_20 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_21 = Context_get_ClientWriteIV_m621691963(L_20, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_19, L_21);
		goto IL_013a;
	}

IL_010e:
	{
		SymmetricAlgorithm_t3097904804 * L_22 = __this->get_encryptionAlgorithm_15();
		Context_t658806145 * L_23 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_24 = Context_get_ServerWriteKey_m2037627211(L_23, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_22, L_24);
		SymmetricAlgorithm_t3097904804 * L_25 = __this->get_encryptionAlgorithm_15();
		Context_t658806145 * L_26 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_27 = Context_get_ServerWriteIV_m1451126723(L_26, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_25, L_27);
	}

IL_013a:
	{
		SymmetricAlgorithm_t3097904804 * L_28 = __this->get_encryptionAlgorithm_15();
		Il2CppObject * L_29 = VirtFuncInvoker0< Il2CppObject * >::Invoke(22 /* System.Security.Cryptography.ICryptoTransform System.Security.Cryptography.SymmetricAlgorithm::CreateEncryptor() */, L_28);
		__this->set_encryptionCipher_16(L_29);
		Context_t658806145 * L_30 = __this->get_context_14();
		if (!((ClientContext_t3745725366 *)IsInstClass(L_30, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0181;
		}
	}
	{
		String_t* L_31 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_32 = __this->get_context_14();
		SecurityParameters_t2935569768 * L_33 = Context_get_Negotiating_m622190524(L_32, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_34 = SecurityParameters_get_ClientWriteMAC_m509205152(L_33, /*hidden argument*/NULL);
		HMAC_t2066897019 * L_35 = (HMAC_t2066897019 *)il2cpp_codegen_object_new(HMAC_t2066897019_il2cpp_TypeInfo_var);
		HMAC__ctor_m3969743837(L_35, L_31, L_34, /*hidden argument*/NULL);
		__this->set_clientHMAC_19(L_35);
		goto IL_01a2;
	}

IL_0181:
	{
		String_t* L_36 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_37 = __this->get_context_14();
		SecurityParameters_t2935569768 * L_38 = Context_get_Negotiating_m622190524(L_37, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_39 = SecurityParameters_get_ServerWriteMAC_m451878936(L_38, /*hidden argument*/NULL);
		HMAC_t2066897019 * L_40 = (HMAC_t2066897019 *)il2cpp_codegen_object_new(HMAC_t2066897019_il2cpp_TypeInfo_var);
		HMAC__ctor_m3969743837(L_40, L_36, L_39, /*hidden argument*/NULL);
		__this->set_serverHMAC_20(L_40);
	}

IL_01a2:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::createDecryptionCipher()
extern Il2CppClass* DES_t2466800440_il2cpp_TypeInfo_var;
extern Il2CppClass* ARC4Managed_t1354014707_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* HMAC_t2066897019_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_createDecryptionCipher_m2049229685_MetadataUsageId;
extern "C"  void CipherSuite_createDecryptionCipher_m2049229685 (CipherSuite_t580420223 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_createDecryptionCipher_m2049229685_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get_cipherAlgorithmType_3();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if (L_1 == 0)
		{
			goto IL_002e;
		}
		if (L_1 == 1)
		{
			goto IL_007e;
		}
		if (L_1 == 2)
		{
			goto IL_003e;
		}
		if (L_1 == 3)
		{
			goto IL_004e;
		}
		if (L_1 == 4)
		{
			goto IL_006e;
		}
		if (L_1 == 5)
		{
			goto IL_007e;
		}
		if (L_1 == 6)
		{
			goto IL_005e;
		}
	}
	{
		goto IL_007e;
	}

IL_002e:
	{
		IL2CPP_RUNTIME_CLASS_INIT(DES_t2466800440_il2cpp_TypeInfo_var);
		DES_t2466800440 * L_2 = DES_Create_m3635864569(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_2);
		goto IL_007e;
	}

IL_003e:
	{
		RC2_t2466813799 * L_3 = RC2_Create_m1909558745(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_3);
		goto IL_007e;
	}

IL_004e:
	{
		ARC4Managed_t1354014707 * L_4 = (ARC4Managed_t1354014707 *)il2cpp_codegen_object_new(ARC4Managed_t1354014707_il2cpp_TypeInfo_var);
		ARC4Managed__ctor_m340859770(L_4, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_4);
		goto IL_007e;
	}

IL_005e:
	{
		TripleDES_t3018929210 * L_5 = TripleDES_Create_m1830328057(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_5);
		goto IL_007e;
	}

IL_006e:
	{
		Rijndael_t271969675 * L_6 = Rijndael_Create_m1196531453(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_6);
		goto IL_007e;
	}

IL_007e:
	{
		int32_t L_7 = __this->get_cipherMode_7();
		if ((!(((uint32_t)L_7) == ((uint32_t)1))))
		{
			goto IL_00cd;
		}
	}
	{
		SymmetricAlgorithm_t3097904804 * L_8 = __this->get_decryptionAlgorithm_17();
		int32_t L_9 = __this->get_cipherMode_7();
		VirtActionInvoker1< int32_t >::Invoke(17 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Mode(System.Security.Cryptography.CipherMode) */, L_8, L_9);
		SymmetricAlgorithm_t3097904804 * L_10 = __this->get_decryptionAlgorithm_17();
		VirtActionInvoker1< int32_t >::Invoke(19 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Padding(System.Security.Cryptography.PaddingMode) */, L_10, 1);
		SymmetricAlgorithm_t3097904804 * L_11 = __this->get_decryptionAlgorithm_17();
		uint8_t L_12 = __this->get_expandedKeyMaterialSize_10();
		VirtActionInvoker1< int32_t >::Invoke(14 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_KeySize(System.Int32) */, L_11, ((int32_t)((int32_t)L_12*(int32_t)8)));
		SymmetricAlgorithm_t3097904804 * L_13 = __this->get_decryptionAlgorithm_17();
		uint8_t L_14 = __this->get_blockSize_13();
		VirtActionInvoker1< int32_t >::Invoke(7 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_BlockSize(System.Int32) */, L_13, ((int32_t)((int32_t)L_14*(int32_t)8)));
	}

IL_00cd:
	{
		Context_t658806145 * L_15 = __this->get_context_14();
		if (!((ClientContext_t3745725366 *)IsInstClass(L_15, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_010e;
		}
	}
	{
		SymmetricAlgorithm_t3097904804 * L_16 = __this->get_decryptionAlgorithm_17();
		Context_t658806145 * L_17 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_18 = Context_get_ServerWriteKey_m2037627211(L_17, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_16, L_18);
		SymmetricAlgorithm_t3097904804 * L_19 = __this->get_decryptionAlgorithm_17();
		Context_t658806145 * L_20 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_21 = Context_get_ServerWriteIV_m1451126723(L_20, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_19, L_21);
		goto IL_013a;
	}

IL_010e:
	{
		SymmetricAlgorithm_t3097904804 * L_22 = __this->get_decryptionAlgorithm_17();
		Context_t658806145 * L_23 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_24 = Context_get_ClientWriteKey_m2094953427(L_23, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_22, L_24);
		SymmetricAlgorithm_t3097904804 * L_25 = __this->get_decryptionAlgorithm_17();
		Context_t658806145 * L_26 = __this->get_context_14();
		ByteU5BU5D_t4260760469* L_27 = Context_get_ClientWriteIV_m621691963(L_26, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_25, L_27);
	}

IL_013a:
	{
		SymmetricAlgorithm_t3097904804 * L_28 = __this->get_decryptionAlgorithm_17();
		Il2CppObject * L_29 = VirtFuncInvoker0< Il2CppObject * >::Invoke(20 /* System.Security.Cryptography.ICryptoTransform System.Security.Cryptography.SymmetricAlgorithm::CreateDecryptor() */, L_28);
		__this->set_decryptionCipher_18(L_29);
		Context_t658806145 * L_30 = __this->get_context_14();
		if (!((ClientContext_t3745725366 *)IsInstClass(L_30, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0181;
		}
	}
	{
		String_t* L_31 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_32 = __this->get_context_14();
		SecurityParameters_t2935569768 * L_33 = Context_get_Negotiating_m622190524(L_32, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_34 = SecurityParameters_get_ServerWriteMAC_m451878936(L_33, /*hidden argument*/NULL);
		HMAC_t2066897019 * L_35 = (HMAC_t2066897019 *)il2cpp_codegen_object_new(HMAC_t2066897019_il2cpp_TypeInfo_var);
		HMAC__ctor_m3969743837(L_35, L_31, L_34, /*hidden argument*/NULL);
		__this->set_serverHMAC_20(L_35);
		goto IL_01a2;
	}

IL_0181:
	{
		String_t* L_36 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_37 = __this->get_context_14();
		SecurityParameters_t2935569768 * L_38 = Context_get_Negotiating_m622190524(L_37, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_39 = SecurityParameters_get_ClientWriteMAC_m509205152(L_38, /*hidden argument*/NULL);
		HMAC_t2066897019 * L_40 = (HMAC_t2066897019 *)il2cpp_codegen_object_new(HMAC_t2066897019_il2cpp_TypeInfo_var);
		HMAC__ctor_m3969743837(L_40, L_36, L_39, /*hidden argument*/NULL);
		__this->set_clientHMAC_19(L_40);
	}

IL_01a2:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::.ctor(Mono.Security.Protocol.Tls.SecurityProtocolType)
extern Il2CppClass* ArrayList_t3948406897_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection__ctor_m273269703_MetadataUsageId;
extern "C"  void CipherSuiteCollection__ctor_m273269703 (CipherSuiteCollection_t2487974013 * __this, int32_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection__ctor_m273269703_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		int32_t L_0 = ___protocol0;
		__this->set_protocol_1(L_0);
		ArrayList_t3948406897 * L_1 = (ArrayList_t3948406897 *)il2cpp_codegen_object_new(ArrayList_t3948406897_il2cpp_TypeInfo_var);
		ArrayList__ctor_m1878432947(L_1, /*hidden argument*/NULL);
		__this->set_cipherSuites_0(L_1);
		return;
	}
}
// System.Object Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.get_Item(System.Int32)
extern "C"  Il2CppObject * CipherSuiteCollection_System_Collections_IList_get_Item_m3319535496 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___index0;
		CipherSuite_t580420223 * L_1 = CipherSuiteCollection_get_Item_m3036376750(__this, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.set_Item(System.Int32,System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_set_Item_m4255989087_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_set_Item_m4255989087 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, Il2CppObject * ___value1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_set_Item_m4255989087_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___index0;
		Il2CppObject * L_1 = ___value1;
		CipherSuiteCollection_set_Item_m141821933(__this, L_0, ((CipherSuite_t580420223 *)CastclassClass(L_1, CipherSuite_t580420223_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.ICollection.get_IsSynchronized()
extern "C"  bool CipherSuiteCollection_System_Collections_ICollection_get_IsSynchronized_m3698127433 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(28 /* System.Boolean System.Collections.ArrayList::get_IsSynchronized() */, L_0);
		return L_1;
	}
}
// System.Object Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.ICollection.get_SyncRoot()
extern "C"  Il2CppObject * CipherSuiteCollection_System_Collections_ICollection_get_SyncRoot_m914076225 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = VirtFuncInvoker0< Il2CppObject * >::Invoke(29 /* System.Object System.Collections.ArrayList::get_SyncRoot() */, L_0);
		return L_1;
	}
}
// System.Collections.IEnumerator Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IEnumerable.GetEnumerator()
extern "C"  Il2CppObject * CipherSuiteCollection_System_Collections_IEnumerable_GetEnumerator_m1907853496 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = VirtFuncInvoker0< Il2CppObject * >::Invoke(43 /* System.Collections.IEnumerator System.Collections.ArrayList::GetEnumerator() */, L_0);
		return L_1;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Contains(System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Contains_m3495236659_MetadataUsageId;
extern "C"  bool CipherSuiteCollection_System_Collections_IList_Contains_m3495236659 (CipherSuiteCollection_t2487974013 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Contains_m3495236659_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = ___value0;
		bool L_2 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_0, ((CipherSuite_t580420223 *)IsInstClass(L_1, CipherSuite_t580420223_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.IndexOf(System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_IndexOf_m2797029265_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_System_Collections_IList_IndexOf_m2797029265 (CipherSuiteCollection_t2487974013 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_IndexOf_m2797029265_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = ___value0;
		int32_t L_2 = VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(33 /* System.Int32 System.Collections.ArrayList::IndexOf(System.Object) */, L_0, ((CipherSuite_t580420223 *)IsInstClass(L_1, CipherSuite_t580420223_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Insert(System.Int32,System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Insert_m414962568_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_Insert_m414962568 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, Il2CppObject * ___value1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Insert_m414962568_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = ___index0;
		Il2CppObject * L_2 = ___value1;
		VirtActionInvoker2< int32_t, Il2CppObject * >::Invoke(36 /* System.Void System.Collections.ArrayList::Insert(System.Int32,System.Object) */, L_0, L_1, ((CipherSuite_t580420223 *)IsInstClass(L_2, CipherSuite_t580420223_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Remove(System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Remove_m46053536_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_Remove_m46053536 (CipherSuiteCollection_t2487974013 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Remove_m46053536_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = ___value0;
		VirtActionInvoker1< Il2CppObject * >::Invoke(38 /* System.Void System.Collections.ArrayList::Remove(System.Object) */, L_0, ((CipherSuite_t580420223 *)IsInstClass(L_1, CipherSuite_t580420223_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.RemoveAt(System.Int32)
extern "C"  void CipherSuiteCollection_System_Collections_IList_RemoveAt_m3013015320 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = ___index0;
		VirtActionInvoker1< int32_t >::Invoke(39 /* System.Void System.Collections.ArrayList::RemoveAt(System.Int32) */, L_0, L_1);
		return;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Add(System.Object)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Add_m2526713273_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_System_Collections_IList_Add_m2526713273 (CipherSuiteCollection_t2487974013 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Add_m2526713273_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = ___value0;
		int32_t L_2 = VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_0, ((CipherSuite_t580420223 *)IsInstClass(L_1, CipherSuite_t580420223_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Item(System.String)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m95097157_MetadataUsageId;
extern "C"  CipherSuite_t580420223 * CipherSuiteCollection_get_Item_m95097157 (CipherSuiteCollection_t2487974013 * __this, String_t* ___name0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m95097157_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		String_t* L_1 = ___name0;
		int32_t L_2 = CipherSuiteCollection_IndexOf_m3646145168(__this, L_1, /*hidden argument*/NULL);
		Il2CppObject * L_3 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_0, L_2);
		return ((CipherSuite_t580420223 *)CastclassClass(L_3, CipherSuite_t580420223_il2cpp_TypeInfo_var));
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Item(System.Int32)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m3036376750_MetadataUsageId;
extern "C"  CipherSuite_t580420223 * CipherSuiteCollection_get_Item_m3036376750 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m3036376750_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = ___index0;
		Il2CppObject * L_2 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_0, L_1);
		return ((CipherSuite_t580420223 *)CastclassClass(L_2, CipherSuite_t580420223_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::set_Item(System.Int32,Mono.Security.Protocol.Tls.CipherSuite)
extern "C"  void CipherSuiteCollection_set_Item_m141821933 (CipherSuiteCollection_t2487974013 * __this, int32_t ___index0, CipherSuite_t580420223 * ___value1, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = ___index0;
		CipherSuite_t580420223 * L_2 = ___value1;
		VirtActionInvoker2< int32_t, Il2CppObject * >::Invoke(22 /* System.Void System.Collections.ArrayList::set_Item(System.Int32,System.Object) */, L_0, L_1, L_2);
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Item(System.Int16)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m3036374952_MetadataUsageId;
extern "C"  CipherSuite_t580420223 * CipherSuiteCollection_get_Item_m3036374952 (CipherSuiteCollection_t2487974013 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m3036374952_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int16_t L_1 = ___code0;
		int32_t L_2 = CipherSuiteCollection_IndexOf_m102883581(__this, L_1, /*hidden argument*/NULL);
		Il2CppObject * L_3 = VirtFuncInvoker1< Il2CppObject *, int32_t >::Invoke(21 /* System.Object System.Collections.ArrayList::get_Item(System.Int32) */, L_0, L_2);
		return ((CipherSuite_t580420223 *)CastclassClass(L_3, CipherSuite_t580420223_il2cpp_TypeInfo_var));
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Count()
extern "C"  int32_t CipherSuiteCollection_get_Count_m2086503695 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = VirtFuncInvoker0< int32_t >::Invoke(23 /* System.Int32 System.Collections.ArrayList::get_Count() */, L_0);
		return L_1;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::get_IsFixedSize()
extern "C"  bool CipherSuiteCollection_get_IsFixedSize_m2874798629 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(26 /* System.Boolean System.Collections.ArrayList::get_IsFixedSize() */, L_0);
		return L_1;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::get_IsReadOnly()
extern "C"  bool CipherSuiteCollection_get_IsReadOnly_m3871880244 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(27 /* System.Boolean System.Collections.ArrayList::get_IsReadOnly() */, L_0);
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::CopyTo(System.Array,System.Int32)
extern "C"  void CipherSuiteCollection_CopyTo_m2731497872 (CipherSuiteCollection_t2487974013 * __this, Il2CppArray * ___array0, int32_t ___index1, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppArray * L_1 = ___array0;
		int32_t L_2 = ___index1;
		VirtActionInvoker2< Il2CppArray *, int32_t >::Invoke(41 /* System.Void System.Collections.ArrayList::CopyTo(System.Array,System.Int32) */, L_0, L_1, L_2);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::Clear()
extern "C"  void CipherSuiteCollection_Clear_m2278434462 (CipherSuiteCollection_t2487974013 * __this, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		VirtActionInvoker0::Invoke(31 /* System.Void System.Collections.ArrayList::Clear() */, L_0);
		return;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::IndexOf(System.String)
extern Il2CppClass* IEnumerator_t3464575207_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t1423340799_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_IndexOf_m3646145168_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_IndexOf_m3646145168 (CipherSuiteCollection_t2487974013 * __this, String_t* ___name0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_IndexOf_m3646145168_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t580420223 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	int32_t V_3 = 0;
	Il2CppObject * V_4 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = 0;
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = VirtFuncInvoker0< Il2CppObject * >::Invoke(43 /* System.Collections.IEnumerator System.Collections.ArrayList::GetEnumerator() */, L_0);
		V_2 = L_1;
	}

IL_000e:
	try
	{ // begin try (depth: 1)
		{
			goto IL_003c;
		}

IL_0013:
		{
			Il2CppObject * L_2 = V_2;
			Il2CppObject * L_3 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.Collections.IEnumerator::get_Current() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_2);
			V_1 = ((CipherSuite_t580420223 *)CastclassClass(L_3, CipherSuite_t580420223_il2cpp_TypeInfo_var));
			CipherSuite_t580420223 * L_4 = V_1;
			String_t* L_5 = CipherSuite_get_Name_m1995865258(L_4, /*hidden argument*/NULL);
			String_t* L_6 = ___name0;
			bool L_7 = CipherSuiteCollection_cultureAwareCompare_m850129638(__this, L_5, L_6, /*hidden argument*/NULL);
			if (!L_7)
			{
				goto IL_0038;
			}
		}

IL_0031:
		{
			int32_t L_8 = V_0;
			V_3 = L_8;
			IL2CPP_LEAVE(0x63, FINALLY_004c);
		}

IL_0038:
		{
			int32_t L_9 = V_0;
			V_0 = ((int32_t)((int32_t)L_9+(int32_t)1));
		}

IL_003c:
		{
			Il2CppObject * L_10 = V_2;
			bool L_11 = InterfaceFuncInvoker0< bool >::Invoke(1 /* System.Boolean System.Collections.IEnumerator::MoveNext() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_10);
			if (L_11)
			{
				goto IL_0013;
			}
		}

IL_0047:
		{
			IL2CPP_LEAVE(0x61, FINALLY_004c);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_004c;
	}

FINALLY_004c:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_12 = V_2;
			V_4 = ((Il2CppObject *)IsInst(L_12, IDisposable_t1423340799_il2cpp_TypeInfo_var));
			Il2CppObject * L_13 = V_4;
			if (L_13)
			{
				goto IL_0059;
			}
		}

IL_0058:
		{
			IL2CPP_END_FINALLY(76)
		}

IL_0059:
		{
			Il2CppObject * L_14 = V_4;
			InterfaceActionInvoker0::Invoke(0 /* System.Void System.IDisposable::Dispose() */, IDisposable_t1423340799_il2cpp_TypeInfo_var, L_14);
			IL2CPP_END_FINALLY(76)
		}
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(76)
	{
		IL2CPP_JUMP_TBL(0x63, IL_0063)
		IL2CPP_JUMP_TBL(0x61, IL_0061)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0061:
	{
		return (-1);
	}

IL_0063:
	{
		int32_t L_15 = V_3;
		return L_15;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::IndexOf(System.Int16)
extern Il2CppClass* IEnumerator_t3464575207_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t1423340799_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_IndexOf_m102883581_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_IndexOf_m102883581 (CipherSuiteCollection_t2487974013 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_IndexOf_m102883581_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t580420223 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	int32_t V_3 = 0;
	Il2CppObject * V_4 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = 0;
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		Il2CppObject * L_1 = VirtFuncInvoker0< Il2CppObject * >::Invoke(43 /* System.Collections.IEnumerator System.Collections.ArrayList::GetEnumerator() */, L_0);
		V_2 = L_1;
	}

IL_000e:
	try
	{ // begin try (depth: 1)
		{
			goto IL_0036;
		}

IL_0013:
		{
			Il2CppObject * L_2 = V_2;
			Il2CppObject * L_3 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.Collections.IEnumerator::get_Current() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_2);
			V_1 = ((CipherSuite_t580420223 *)CastclassClass(L_3, CipherSuite_t580420223_il2cpp_TypeInfo_var));
			CipherSuite_t580420223 * L_4 = V_1;
			int16_t L_5 = CipherSuite_get_Code_m3312642635(L_4, /*hidden argument*/NULL);
			int16_t L_6 = ___code0;
			if ((!(((uint32_t)L_5) == ((uint32_t)L_6))))
			{
				goto IL_0032;
			}
		}

IL_002b:
		{
			int32_t L_7 = V_0;
			V_3 = L_7;
			IL2CPP_LEAVE(0x5D, FINALLY_0046);
		}

IL_0032:
		{
			int32_t L_8 = V_0;
			V_0 = ((int32_t)((int32_t)L_8+(int32_t)1));
		}

IL_0036:
		{
			Il2CppObject * L_9 = V_2;
			bool L_10 = InterfaceFuncInvoker0< bool >::Invoke(1 /* System.Boolean System.Collections.IEnumerator::MoveNext() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_9);
			if (L_10)
			{
				goto IL_0013;
			}
		}

IL_0041:
		{
			IL2CPP_LEAVE(0x5B, FINALLY_0046);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_0046;
	}

FINALLY_0046:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_11 = V_2;
			V_4 = ((Il2CppObject *)IsInst(L_11, IDisposable_t1423340799_il2cpp_TypeInfo_var));
			Il2CppObject * L_12 = V_4;
			if (L_12)
			{
				goto IL_0053;
			}
		}

IL_0052:
		{
			IL2CPP_END_FINALLY(70)
		}

IL_0053:
		{
			Il2CppObject * L_13 = V_4;
			InterfaceActionInvoker0::Invoke(0 /* System.Void System.IDisposable::Dispose() */, IDisposable_t1423340799_il2cpp_TypeInfo_var, L_13);
			IL2CPP_END_FINALLY(70)
		}
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(70)
	{
		IL2CPP_JUMP_TBL(0x5D, IL_005d)
		IL2CPP_JUMP_TBL(0x5B, IL_005b)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_005b:
	{
		return (-1);
	}

IL_005d:
	{
		int32_t L_14 = V_3;
		return L_14;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::Add(System.Int16,System.String,Mono.Security.Protocol.Tls.CipherAlgorithmType,Mono.Security.Protocol.Tls.HashAlgorithmType,Mono.Security.Protocol.Tls.ExchangeAlgorithmType,System.Boolean,System.Boolean,System.Byte,System.Byte,System.Int16,System.Byte,System.Byte)
extern Il2CppClass* TlsCipherSuite_t3923560144_il2cpp_TypeInfo_var;
extern Il2CppClass* SslCipherSuite_t1471718687_il2cpp_TypeInfo_var;
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral230754433;
extern const uint32_t CipherSuiteCollection_Add_m667539191_MetadataUsageId;
extern "C"  CipherSuite_t580420223 * CipherSuiteCollection_Add_m667539191 (CipherSuiteCollection_t2487974013 * __this, int16_t ___code0, String_t* ___name1, int32_t ___cipherType2, int32_t ___hashType3, int32_t ___exchangeType4, bool ___exportable5, bool ___blockMode6, uint8_t ___keyMaterialSize7, uint8_t ___expandedKeyMaterialSize8, int16_t ___effectiveKeyBytes9, uint8_t ___ivSize10, uint8_t ___blockSize11, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_Add_m667539191_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get_protocol_1();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)-1073741824))))
		{
			goto IL_0032;
		}
	}
	{
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)12))))
		{
			goto IL_0074;
		}
	}
	{
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_0053;
		}
	}
	{
		int32_t L_4 = V_0;
		if ((((int32_t)L_4) == ((int32_t)((int32_t)192))))
		{
			goto IL_0032;
		}
	}
	{
		goto IL_0074;
	}

IL_0032:
	{
		int16_t L_5 = ___code0;
		String_t* L_6 = ___name1;
		int32_t L_7 = ___cipherType2;
		int32_t L_8 = ___hashType3;
		int32_t L_9 = ___exchangeType4;
		bool L_10 = ___exportable5;
		bool L_11 = ___blockMode6;
		uint8_t L_12 = ___keyMaterialSize7;
		uint8_t L_13 = ___expandedKeyMaterialSize8;
		int16_t L_14 = ___effectiveKeyBytes9;
		uint8_t L_15 = ___ivSize10;
		uint8_t L_16 = ___blockSize11;
		TlsCipherSuite_t3923560144 * L_17 = (TlsCipherSuite_t3923560144 *)il2cpp_codegen_object_new(TlsCipherSuite_t3923560144_il2cpp_TypeInfo_var);
		TlsCipherSuite__ctor_m1139271371(L_17, L_5, L_6, L_7, L_8, L_9, L_10, L_11, L_12, L_13, L_14, L_15, L_16, /*hidden argument*/NULL);
		TlsCipherSuite_t3923560144 * L_18 = CipherSuiteCollection_add_m1902600707(__this, L_17, /*hidden argument*/NULL);
		return L_18;
	}

IL_0053:
	{
		int16_t L_19 = ___code0;
		String_t* L_20 = ___name1;
		int32_t L_21 = ___cipherType2;
		int32_t L_22 = ___hashType3;
		int32_t L_23 = ___exchangeType4;
		bool L_24 = ___exportable5;
		bool L_25 = ___blockMode6;
		uint8_t L_26 = ___keyMaterialSize7;
		uint8_t L_27 = ___expandedKeyMaterialSize8;
		int16_t L_28 = ___effectiveKeyBytes9;
		uint8_t L_29 = ___ivSize10;
		uint8_t L_30 = ___blockSize11;
		SslCipherSuite_t1471718687 * L_31 = (SslCipherSuite_t1471718687 *)il2cpp_codegen_object_new(SslCipherSuite_t1471718687_il2cpp_TypeInfo_var);
		SslCipherSuite__ctor_m1794847004(L_31, L_19, L_20, L_21, L_22, L_23, L_24, L_25, L_26, L_27, L_28, L_29, L_30, /*hidden argument*/NULL);
		SslCipherSuite_t1471718687 * L_32 = CipherSuiteCollection_add_m2351410469(__this, L_31, /*hidden argument*/NULL);
		return L_32;
	}

IL_0074:
	{
		NotSupportedException_t1732551818 * L_33 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_33, _stringLiteral230754433, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_33);
	}
}
// Mono.Security.Protocol.Tls.TlsCipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::add(Mono.Security.Protocol.Tls.TlsCipherSuite)
extern "C"  TlsCipherSuite_t3923560144 * CipherSuiteCollection_add_m1902600707 (CipherSuiteCollection_t2487974013 * __this, TlsCipherSuite_t3923560144 * ___cipherSuite0, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		TlsCipherSuite_t3923560144 * L_1 = ___cipherSuite0;
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_0, L_1);
		TlsCipherSuite_t3923560144 * L_2 = ___cipherSuite0;
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.SslCipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::add(Mono.Security.Protocol.Tls.SslCipherSuite)
extern "C"  SslCipherSuite_t1471718687 * CipherSuiteCollection_add_m2351410469 (CipherSuiteCollection_t2487974013 * __this, SslCipherSuite_t1471718687 * ___cipherSuite0, const MethodInfo* method)
{
	{
		ArrayList_t3948406897 * L_0 = __this->get_cipherSuites_0();
		SslCipherSuite_t1471718687 * L_1 = ___cipherSuite0;
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_0, L_1);
		SslCipherSuite_t1471718687 * L_2 = ___cipherSuite0;
		return L_2;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::cultureAwareCompare(System.String,System.String)
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_cultureAwareCompare_m850129638_MetadataUsageId;
extern "C"  bool CipherSuiteCollection_cultureAwareCompare_m850129638 (CipherSuiteCollection_t2487974013 * __this, String_t* ___strA0, String_t* ___strB1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_cultureAwareCompare_m850129638_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t G_B3_0 = 0;
	{
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_0 = CultureInfo_get_CurrentCulture_m2905498779(NULL /*static, unused*/, /*hidden argument*/NULL);
		CompareInfo_t1485490525 * L_1 = VirtFuncInvoker0< CompareInfo_t1485490525 * >::Invoke(11 /* System.Globalization.CompareInfo System.Globalization.CultureInfo::get_CompareInfo() */, L_0);
		String_t* L_2 = ___strA0;
		String_t* L_3 = ___strB1;
		int32_t L_4 = VirtFuncInvoker3< int32_t, String_t*, String_t*, int32_t >::Invoke(6 /* System.Int32 System.Globalization.CompareInfo::Compare(System.String,System.String,System.Globalization.CompareOptions) */, L_1, L_2, L_3, ((int32_t)25));
		if (L_4)
		{
			goto IL_001e;
		}
	}
	{
		G_B3_0 = 1;
		goto IL_001f;
	}

IL_001e:
	{
		G_B3_0 = 0;
	}

IL_001f:
	{
		return (bool)G_B3_0;
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.CipherSuiteFactory::GetSupportedCiphers(Mono.Security.Protocol.Tls.SecurityProtocolType)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3332579661;
extern const uint32_t CipherSuiteFactory_GetSupportedCiphers_m950549359_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2487974013 * CipherSuiteFactory_GetSupportedCiphers_m950549359 (Il2CppObject * __this /* static, unused */, int32_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetSupportedCiphers_m950549359_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = ___protocol0;
		V_0 = L_0;
		int32_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)-1073741824))))
		{
			goto IL_002d;
		}
	}
	{
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)12))))
		{
			goto IL_0039;
		}
	}
	{
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_0033;
		}
	}
	{
		int32_t L_4 = V_0;
		if ((((int32_t)L_4) == ((int32_t)((int32_t)192))))
		{
			goto IL_002d;
		}
	}
	{
		goto IL_0039;
	}

IL_002d:
	{
		CipherSuiteCollection_t2487974013 * L_5 = CipherSuiteFactory_GetTls1SupportedCiphers_m1864585473(NULL /*static, unused*/, /*hidden argument*/NULL);
		return L_5;
	}

IL_0033:
	{
		CipherSuiteCollection_t2487974013 * L_6 = CipherSuiteFactory_GetSsl3SupportedCiphers_m2259956690(NULL /*static, unused*/, /*hidden argument*/NULL);
		return L_6;
	}

IL_0039:
	{
		NotSupportedException_t1732551818 * L_7 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_7, _stringLiteral3332579661, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.CipherSuiteFactory::GetTls1SupportedCiphers()
extern Il2CppClass* CipherSuiteCollection_t2487974013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral909292095;
extern Il2CppCodeGenString* _stringLiteral3975842339;
extern Il2CppCodeGenString* _stringLiteral3689689998;
extern Il2CppCodeGenString* _stringLiteral3519577490;
extern Il2CppCodeGenString* _stringLiteral3519571588;
extern Il2CppCodeGenString* _stringLiteral1580974446;
extern Il2CppCodeGenString* _stringLiteral628665928;
extern Il2CppCodeGenString* _stringLiteral793381349;
extern Il2CppCodeGenString* _stringLiteral2142099759;
extern Il2CppCodeGenString* _stringLiteral662836205;
extern Il2CppCodeGenString* _stringLiteral827551626;
extern Il2CppCodeGenString* _stringLiteral2988367399;
extern Il2CppCodeGenString* _stringLiteral662842107;
extern const uint32_t CipherSuiteFactory_GetTls1SupportedCiphers_m1864585473_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2487974013 * CipherSuiteFactory_GetTls1SupportedCiphers_m1864585473 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetTls1SupportedCiphers_m1864585473_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	CipherSuiteCollection_t2487974013 * V_0 = NULL;
	{
		CipherSuiteCollection_t2487974013 * L_0 = (CipherSuiteCollection_t2487974013 *)il2cpp_codegen_object_new(CipherSuiteCollection_t2487974013_il2cpp_TypeInfo_var);
		CipherSuiteCollection__ctor_m273269703(L_0, ((int32_t)192), /*hidden argument*/NULL);
		V_0 = L_0;
		CipherSuiteCollection_t2487974013 * L_1 = V_0;
		CipherSuiteCollection_Add_m667539191(L_1, ((int32_t)53), _stringLiteral909292095, 4, 2, 3, (bool)0, (bool)1, ((int32_t)32), ((int32_t)32), ((int32_t)256), ((int32_t)16), ((int32_t)16), /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_2 = V_0;
		CipherSuiteCollection_Add_m667539191(L_2, ((int32_t)47), _stringLiteral3975842339, 4, 2, 3, (bool)0, (bool)1, ((int32_t)16), ((int32_t)16), ((int32_t)128), ((int32_t)16), ((int32_t)16), /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_3 = V_0;
		CipherSuiteCollection_Add_m667539191(L_3, ((int32_t)10), _stringLiteral3689689998, 6, 2, 3, (bool)0, (bool)1, ((int32_t)24), ((int32_t)24), ((int32_t)168), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_4 = V_0;
		CipherSuiteCollection_Add_m667539191(L_4, 5, _stringLiteral3519577490, 3, 2, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_5 = V_0;
		CipherSuiteCollection_Add_m667539191(L_5, 4, _stringLiteral3519571588, 3, 0, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_6 = V_0;
		CipherSuiteCollection_Add_m667539191(L_6, ((int32_t)9), _stringLiteral1580974446, 0, 2, 3, (bool)0, (bool)1, 8, 8, ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_7 = V_0;
		CipherSuiteCollection_Add_m667539191(L_7, 3, _stringLiteral628665928, 3, 0, 3, (bool)1, (bool)0, 5, ((int32_t)16), ((int32_t)40), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_8 = V_0;
		CipherSuiteCollection_Add_m667539191(L_8, 6, _stringLiteral793381349, 2, 0, 3, (bool)1, (bool)1, 5, ((int32_t)16), ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_9 = V_0;
		CipherSuiteCollection_Add_m667539191(L_9, 8, _stringLiteral2142099759, 0, 2, 3, (bool)1, (bool)1, 5, 8, ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_10 = V_0;
		CipherSuiteCollection_Add_m667539191(L_10, ((int32_t)96), _stringLiteral662836205, 3, 0, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_11 = V_0;
		CipherSuiteCollection_Add_m667539191(L_11, ((int32_t)97), _stringLiteral827551626, 2, 0, 3, (bool)1, (bool)1, 7, ((int32_t)16), ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_12 = V_0;
		CipherSuiteCollection_Add_m667539191(L_12, ((int32_t)98), _stringLiteral2988367399, 0, 2, 3, (bool)1, (bool)1, 8, 8, ((int32_t)64), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_13 = V_0;
		CipherSuiteCollection_Add_m667539191(L_13, ((int32_t)100), _stringLiteral662842107, 3, 2, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_14 = V_0;
		return L_14;
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.CipherSuiteFactory::GetSsl3SupportedCiphers()
extern Il2CppClass* CipherSuiteCollection_t2487974013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3383220814;
extern Il2CppCodeGenString* _stringLiteral3072068959;
extern Il2CppCodeGenString* _stringLiteral796525857;
extern Il2CppCodeGenString* _stringLiteral796519955;
extern Il2CppCodeGenString* _stringLiteral3152890109;
extern Il2CppCodeGenString* _stringLiteral2957250199;
extern Il2CppCodeGenString* _stringLiteral2847845044;
extern Il2CppCodeGenString* _stringLiteral684352128;
extern Il2CppCodeGenString* _stringLiteral2991420476;
extern Il2CppCodeGenString* _stringLiteral2882015321;
extern Il2CppCodeGenString* _stringLiteral747863798;
extern Il2CppCodeGenString* _stringLiteral2991426378;
extern const uint32_t CipherSuiteFactory_GetSsl3SupportedCiphers_m2259956690_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2487974013 * CipherSuiteFactory_GetSsl3SupportedCiphers_m2259956690 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetSsl3SupportedCiphers_m2259956690_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	CipherSuiteCollection_t2487974013 * V_0 = NULL;
	{
		CipherSuiteCollection_t2487974013 * L_0 = (CipherSuiteCollection_t2487974013 *)il2cpp_codegen_object_new(CipherSuiteCollection_t2487974013_il2cpp_TypeInfo_var);
		CipherSuiteCollection__ctor_m273269703(L_0, ((int32_t)48), /*hidden argument*/NULL);
		V_0 = L_0;
		CipherSuiteCollection_t2487974013 * L_1 = V_0;
		CipherSuiteCollection_Add_m667539191(L_1, ((int32_t)53), _stringLiteral3383220814, 4, 2, 3, (bool)0, (bool)1, ((int32_t)32), ((int32_t)32), ((int32_t)256), ((int32_t)16), ((int32_t)16), /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_2 = V_0;
		CipherSuiteCollection_Add_m667539191(L_2, ((int32_t)10), _stringLiteral3072068959, 6, 2, 3, (bool)0, (bool)1, ((int32_t)24), ((int32_t)24), ((int32_t)168), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_3 = V_0;
		CipherSuiteCollection_Add_m667539191(L_3, 5, _stringLiteral796525857, 3, 2, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_4 = V_0;
		CipherSuiteCollection_Add_m667539191(L_4, 4, _stringLiteral796519955, 3, 0, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_5 = V_0;
		CipherSuiteCollection_Add_m667539191(L_5, ((int32_t)9), _stringLiteral3152890109, 0, 2, 3, (bool)0, (bool)1, 8, 8, ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_6 = V_0;
		CipherSuiteCollection_Add_m667539191(L_6, 3, _stringLiteral2957250199, 3, 0, 3, (bool)1, (bool)0, 5, ((int32_t)16), ((int32_t)40), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_7 = V_0;
		CipherSuiteCollection_Add_m667539191(L_7, 6, _stringLiteral2847845044, 2, 0, 3, (bool)1, (bool)1, 5, ((int32_t)16), ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_8 = V_0;
		CipherSuiteCollection_Add_m667539191(L_8, 8, _stringLiteral684352128, 0, 2, 3, (bool)1, (bool)1, 5, 8, ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_9 = V_0;
		CipherSuiteCollection_Add_m667539191(L_9, ((int32_t)96), _stringLiteral2991420476, 3, 0, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_10 = V_0;
		CipherSuiteCollection_Add_m667539191(L_10, ((int32_t)97), _stringLiteral2882015321, 2, 0, 3, (bool)1, (bool)1, 7, ((int32_t)16), ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_11 = V_0;
		CipherSuiteCollection_Add_m667539191(L_11, ((int32_t)98), _stringLiteral747863798, 0, 2, 3, (bool)1, (bool)1, 8, 8, ((int32_t)64), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_12 = V_0;
		CipherSuiteCollection_Add_m667539191(L_12, ((int32_t)100), _stringLiteral2991426378, 3, 2, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_13 = V_0;
		return L_13;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientContext::.ctor(Mono.Security.Protocol.Tls.SslClientStream,Mono.Security.Protocol.Tls.SecurityProtocolType,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  void ClientContext__ctor_m483520879 (ClientContext_t3745725366 * __this, SslClientStream_t2101301545 * ___stream0, int32_t ___securityProtocolType1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___clientCertificates3, const MethodInfo* method)
{
	{
		int32_t L_0 = ___securityProtocolType1;
		Context__ctor_m2692561931(__this, L_0, /*hidden argument*/NULL);
		SslClientStream_t2101301545 * L_1 = ___stream0;
		__this->set_sslStream_30(L_1);
		TlsClientSettings_t3675869755 * L_2 = Context_get_ClientSettings_m4242530400(__this, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_3 = ___clientCertificates3;
		TlsClientSettings_set_Certificates_m2196533972(L_2, L_3, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_4 = Context_get_ClientSettings_m4242530400(__this, /*hidden argument*/NULL);
		String_t* L_5 = ___targetHost2;
		TlsClientSettings_set_TargetHost_m2074298781(L_4, L_5, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.Protocol.Tls.SslClientStream Mono.Security.Protocol.Tls.ClientContext::get_SslStream()
extern "C"  SslClientStream_t2101301545 * ClientContext_get_SslStream_m714880213 (ClientContext_t3745725366 * __this, const MethodInfo* method)
{
	{
		SslClientStream_t2101301545 * L_0 = __this->get_sslStream_30();
		return L_0;
	}
}
// System.Int16 Mono.Security.Protocol.Tls.ClientContext::get_ClientHelloProtocol()
extern "C"  int16_t ClientContext_get_ClientHelloProtocol_m3083636780 (ClientContext_t3745725366 * __this, const MethodInfo* method)
{
	{
		int16_t L_0 = __this->get_clientHelloProtocol_31();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientContext::set_ClientHelloProtocol(System.Int16)
extern "C"  void ClientContext_set_ClientHelloProtocol_m31446181 (ClientContext_t3745725366 * __this, int16_t ___value0, const MethodInfo* method)
{
	{
		int16_t L_0 = ___value0;
		__this->set_clientHelloProtocol_31(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientContext::Clear()
extern "C"  void ClientContext_Clear_m2709420165 (ClientContext_t3745725366 * __this, const MethodInfo* method)
{
	{
		__this->set_clientHelloProtocol_31(0);
		Context_Clear_m2073665242(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientRecordProtocol::.ctor(System.IO.Stream,Mono.Security.Protocol.Tls.ClientContext)
extern Il2CppClass* RecordProtocol_t1331996967_il2cpp_TypeInfo_var;
extern const uint32_t ClientRecordProtocol__ctor_m3035494461_MetadataUsageId;
extern "C"  void ClientRecordProtocol__ctor_m3035494461 (ClientRecordProtocol_t3260910930 * __this, Stream_t1561764144 * ___innerStream0, ClientContext_t3745725366 * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol__ctor_m3035494461_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Stream_t1561764144 * L_0 = ___innerStream0;
		ClientContext_t3745725366 * L_1 = ___context1;
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t1331996967_il2cpp_TypeInfo_var);
		RecordProtocol__ctor_m680122215(__this, L_0, L_1, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.ClientRecordProtocol::GetMessage(Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern "C"  HandshakeMessage_t2623608376 * ClientRecordProtocol_GetMessage_m2518248327 (ClientRecordProtocol_t3260910930 * __this, uint8_t ___type0, const MethodInfo* method)
{
	HandshakeMessage_t2623608376 * V_0 = NULL;
	{
		uint8_t L_0 = ___type0;
		HandshakeMessage_t2623608376 * L_1 = ClientRecordProtocol_createClientHandshakeMessage_m3433791085(__this, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		HandshakeMessage_t2623608376 * L_2 = V_0;
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientRecordProtocol::ProcessHandshakeMessage(Mono.Security.Protocol.Tls.TlsStream)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ClientRecordProtocol_ProcessHandshakeMessage_m3106137596_MetadataUsageId;
extern "C"  void ClientRecordProtocol_ProcessHandshakeMessage_m3106137596 (ClientRecordProtocol_t3260910930 * __this, TlsStream_t89550253 * ___handMsg0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_ProcessHandshakeMessage_m3106137596_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint8_t V_0 = 0;
	HandshakeMessage_t2623608376 * V_1 = NULL;
	int32_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	{
		TlsStream_t89550253 * L_0 = ___handMsg0;
		uint8_t L_1 = TlsStream_ReadByte_m4124498283(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		V_1 = (HandshakeMessage_t2623608376 *)NULL;
		TlsStream_t89550253 * L_2 = ___handMsg0;
		int32_t L_3 = TlsStream_ReadInt24_m64683956(L_2, /*hidden argument*/NULL);
		V_2 = L_3;
		V_3 = (ByteU5BU5D_t4260760469*)NULL;
		int32_t L_4 = V_2;
		if ((((int32_t)L_4) <= ((int32_t)0)))
		{
			goto IL_002a;
		}
	}
	{
		int32_t L_5 = V_2;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_5));
		TlsStream_t89550253 * L_6 = ___handMsg0;
		ByteU5BU5D_t4260760469* L_7 = V_3;
		int32_t L_8 = V_2;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 Mono.Security.Protocol.Tls.TlsStream::Read(System.Byte[],System.Int32,System.Int32) */, L_6, L_7, 0, L_8);
	}

IL_002a:
	{
		uint8_t L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = V_3;
		HandshakeMessage_t2623608376 * L_11 = ClientRecordProtocol_createServerHandshakeMessage_m2388742696(__this, L_9, L_10, /*hidden argument*/NULL);
		V_1 = L_11;
		HandshakeMessage_t2623608376 * L_12 = V_1;
		if (!L_12)
		{
			goto IL_003f;
		}
	}
	{
		HandshakeMessage_t2623608376 * L_13 = V_1;
		HandshakeMessage_Process_m1242505358(L_13, /*hidden argument*/NULL);
	}

IL_003f:
	{
		Context_t658806145 * L_14 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		uint8_t L_15 = V_0;
		Context_set_LastHandshakeMsg_m1436694014(L_14, L_15, /*hidden argument*/NULL);
		HandshakeMessage_t2623608376 * L_16 = V_1;
		if (!L_16)
		{
			goto IL_0095;
		}
	}
	{
		HandshakeMessage_t2623608376 * L_17 = V_1;
		VirtActionInvoker0::Invoke(26 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Update() */, L_17);
		Context_t658806145 * L_18 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_19 = Context_get_HandshakeMessages_m1457854885(L_18, /*hidden argument*/NULL);
		uint8_t L_20 = V_0;
		VirtActionInvoker1< uint8_t >::Invoke(19 /* System.Void System.IO.Stream::WriteByte(System.Byte) */, L_19, L_20);
		Context_t658806145 * L_21 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_22 = Context_get_HandshakeMessages_m1457854885(L_21, /*hidden argument*/NULL);
		int32_t L_23 = V_2;
		TlsStream_WriteInt24_m3944062020(L_22, L_23, /*hidden argument*/NULL);
		int32_t L_24 = V_2;
		if ((((int32_t)L_24) <= ((int32_t)0)))
		{
			goto IL_0095;
		}
	}
	{
		Context_t658806145 * L_25 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_26 = Context_get_HandshakeMessages_m1457854885(L_25, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_27 = V_3;
		ByteU5BU5D_t4260760469* L_28 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, L_26, L_27, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_28)->max_length)))));
	}

IL_0095:
	{
		return;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.ClientRecordProtocol::createClientHandshakeMessage(Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern Il2CppClass* TlsClientHello_t2038752746_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientCertificate_t617688751_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientKeyExchange_t3687755450_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientCertificateVerify_t4004312584_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3760597130_il2cpp_TypeInfo_var;
extern Il2CppClass* HandshakeType_t3359671455_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* InvalidOperationException_t1589641621_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2605768737;
extern const uint32_t ClientRecordProtocol_createClientHandshakeMessage_m3433791085_MetadataUsageId;
extern "C"  HandshakeMessage_t2623608376 * ClientRecordProtocol_createClientHandshakeMessage_m3433791085 (ClientRecordProtocol_t3260910930 * __this, uint8_t ___type0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_createClientHandshakeMessage_m3433791085_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint8_t V_0 = 0;
	{
		uint8_t L_0 = ___type0;
		V_0 = L_0;
		uint8_t L_1 = V_0;
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 0)
		{
			goto IL_005b;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 1)
		{
			goto IL_004f;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 2)
		{
			goto IL_0023;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 3)
		{
			goto IL_0023;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 4)
		{
			goto IL_0023;
		}
		if (((int32_t)((int32_t)L_1-(int32_t)((int32_t)15))) == 5)
		{
			goto IL_0067;
		}
	}

IL_0023:
	{
		uint8_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)1)))
		{
			goto IL_0037;
		}
	}
	{
		uint8_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)11))))
		{
			goto IL_0043;
		}
	}
	{
		goto IL_0073;
	}

IL_0037:
	{
		Context_t658806145 * L_4 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		TlsClientHello_t2038752746 * L_5 = (TlsClientHello_t2038752746 *)il2cpp_codegen_object_new(TlsClientHello_t2038752746_il2cpp_TypeInfo_var);
		TlsClientHello__ctor_m2164384861(L_5, L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0043:
	{
		Context_t658806145 * L_6 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		TlsClientCertificate_t617688751 * L_7 = (TlsClientCertificate_t617688751 *)il2cpp_codegen_object_new(TlsClientCertificate_t617688751_il2cpp_TypeInfo_var);
		TlsClientCertificate__ctor_m1023162040(L_7, L_6, /*hidden argument*/NULL);
		return L_7;
	}

IL_004f:
	{
		Context_t658806145 * L_8 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		TlsClientKeyExchange_t3687755450 * L_9 = (TlsClientKeyExchange_t3687755450 *)il2cpp_codegen_object_new(TlsClientKeyExchange_t3687755450_il2cpp_TypeInfo_var);
		TlsClientKeyExchange__ctor_m2125938125(L_9, L_8, /*hidden argument*/NULL);
		return L_9;
	}

IL_005b:
	{
		Context_t658806145 * L_10 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		TlsClientCertificateVerify_t4004312584 * L_11 = (TlsClientCertificateVerify_t4004312584 *)il2cpp_codegen_object_new(TlsClientCertificateVerify_t4004312584_il2cpp_TypeInfo_var);
		TlsClientCertificateVerify__ctor_m3006072319(L_11, L_10, /*hidden argument*/NULL);
		return L_11;
	}

IL_0067:
	{
		Context_t658806145 * L_12 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		TlsClientFinished_t3760597130 * L_13 = (TlsClientFinished_t3760597130 *)il2cpp_codegen_object_new(TlsClientFinished_t3760597130_il2cpp_TypeInfo_var);
		TlsClientFinished__ctor_m3204287283(L_13, L_12, /*hidden argument*/NULL);
		return L_13;
	}

IL_0073:
	{
		uint8_t L_14 = ___type0;
		uint8_t L_15 = L_14;
		Il2CppObject * L_16 = Box(HandshakeType_t3359671455_il2cpp_TypeInfo_var, &L_15);
		String_t* L_17 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Enum::ToString() */, (Enum_t2862688501 *)L_16);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_18 = String_Concat_m138640077(NULL /*static, unused*/, _stringLiteral2605768737, L_17, /*hidden argument*/NULL);
		InvalidOperationException_t1589641621 * L_19 = (InvalidOperationException_t1589641621 *)il2cpp_codegen_object_new(InvalidOperationException_t1589641621_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m1485483280(L_19, L_18, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_19);
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.ClientRecordProtocol::createServerHandshakeMessage(Mono.Security.Protocol.Tls.Handshake.HandshakeType,System.Byte[])
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerHello_t1453856114_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerCertificate_t3135543351_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerKeyExchange_t1910642754_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerCertificateRequest_t3188160136_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerHelloDone_t2604642324_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t3787353090_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppClass* HandshakeType_t3359671455_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1049894163;
extern const uint32_t ClientRecordProtocol_createServerHandshakeMessage_m2388742696_MetadataUsageId;
extern "C"  HandshakeMessage_t2623608376 * ClientRecordProtocol_createServerHandshakeMessage_m2388742696 (ClientRecordProtocol_t3260910930 * __this, uint8_t ___type0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_createServerHandshakeMessage_m2388742696_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	uint8_t V_1 = 0;
	{
		Context_t658806145 * L_0 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		uint8_t L_1 = ___type0;
		V_1 = L_1;
		uint8_t L_2 = V_1;
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 0)
		{
			goto IL_0086;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 1)
		{
			goto IL_0093;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 2)
		{
			goto IL_00a0;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 3)
		{
			goto IL_00ad;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 4)
		{
			goto IL_003f;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 5)
		{
			goto IL_003f;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 6)
		{
			goto IL_003f;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 7)
		{
			goto IL_003f;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 8)
		{
			goto IL_003f;
		}
		if (((int32_t)((int32_t)L_2-(int32_t)((int32_t)11))) == 9)
		{
			goto IL_00ba;
		}
	}

IL_003f:
	{
		uint8_t L_3 = V_1;
		if (L_3 == 0)
		{
			goto IL_0056;
		}
		if (L_3 == 1)
		{
			goto IL_00c7;
		}
		if (L_3 == 2)
		{
			goto IL_0079;
		}
	}
	{
		goto IL_00c7;
	}

IL_0056:
	{
		ClientContext_t3745725366 * L_4 = V_0;
		int32_t L_5 = Context_get_HandshakeState_m972066827(L_4, /*hidden argument*/NULL);
		if ((((int32_t)L_5) == ((int32_t)1)))
		{
			goto IL_006e;
		}
	}
	{
		ClientContext_t3745725366 * L_6 = V_0;
		Context_set_HandshakeState_m3428098438(L_6, 0, /*hidden argument*/NULL);
		goto IL_0077;
	}

IL_006e:
	{
		RecordProtocol_SendAlert_m1748450521(__this, 1, ((int32_t)100), /*hidden argument*/NULL);
	}

IL_0077:
	{
		return (HandshakeMessage_t2623608376 *)NULL;
	}

IL_0079:
	{
		Context_t658806145 * L_7 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_8 = ___buffer1;
		TlsServerHello_t1453856114 * L_9 = (TlsServerHello_t1453856114 *)il2cpp_codegen_object_new(TlsServerHello_t1453856114_il2cpp_TypeInfo_var);
		TlsServerHello__ctor_m567935000(L_9, L_7, L_8, /*hidden argument*/NULL);
		return L_9;
	}

IL_0086:
	{
		Context_t658806145 * L_10 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_11 = ___buffer1;
		TlsServerCertificate_t3135543351 * L_12 = (TlsServerCertificate_t3135543351 *)il2cpp_codegen_object_new(TlsServerCertificate_t3135543351_il2cpp_TypeInfo_var);
		TlsServerCertificate__ctor_m1168678195(L_12, L_10, L_11, /*hidden argument*/NULL);
		return L_12;
	}

IL_0093:
	{
		Context_t658806145 * L_13 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_14 = ___buffer1;
		TlsServerKeyExchange_t1910642754 * L_15 = (TlsServerKeyExchange_t1910642754 *)il2cpp_codegen_object_new(TlsServerKeyExchange_t1910642754_il2cpp_TypeInfo_var);
		TlsServerKeyExchange__ctor_m3272285064(L_15, L_13, L_14, /*hidden argument*/NULL);
		return L_15;
	}

IL_00a0:
	{
		Context_t658806145 * L_16 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_17 = ___buffer1;
		TlsServerCertificateRequest_t3188160136 * L_18 = (TlsServerCertificateRequest_t3188160136 *)il2cpp_codegen_object_new(TlsServerCertificateRequest_t3188160136_il2cpp_TypeInfo_var);
		TlsServerCertificateRequest__ctor_m2335652088(L_18, L_16, L_17, /*hidden argument*/NULL);
		return L_18;
	}

IL_00ad:
	{
		Context_t658806145 * L_19 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_20 = ___buffer1;
		TlsServerHelloDone_t2604642324 * L_21 = (TlsServerHelloDone_t2604642324 *)il2cpp_codegen_object_new(TlsServerHelloDone_t2604642324_il2cpp_TypeInfo_var);
		TlsServerHelloDone__ctor_m911934774(L_21, L_19, L_20, /*hidden argument*/NULL);
		return L_21;
	}

IL_00ba:
	{
		Context_t658806145 * L_22 = ((RecordProtocol_t1331996967 *)__this)->get_context_2();
		ByteU5BU5D_t4260760469* L_23 = ___buffer1;
		TlsServerFinished_t3787353090 * L_24 = (TlsServerFinished_t3787353090 *)il2cpp_codegen_object_new(TlsServerFinished_t3787353090_il2cpp_TypeInfo_var);
		TlsServerFinished__ctor_m3574461054(L_24, L_22, L_23, /*hidden argument*/NULL);
		return L_24;
	}

IL_00c7:
	{
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_25 = CultureInfo_get_CurrentUICulture_m1742589319(NULL /*static, unused*/, /*hidden argument*/NULL);
		ObjectU5BU5D_t1108656482* L_26 = ((ObjectU5BU5D_t1108656482*)SZArrayNew(ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var, (uint32_t)1));
		uint8_t L_27 = ___type0;
		uint8_t L_28 = L_27;
		Il2CppObject * L_29 = Box(HandshakeType_t3359671455_il2cpp_TypeInfo_var, &L_28);
		String_t* L_30 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Enum::ToString() */, (Enum_t2862688501 *)L_29);
		ArrayElementTypeCheck (L_26, L_30);
		(L_26)->SetAt(static_cast<il2cpp_array_size_t>(0), (Il2CppObject *)L_30);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_31 = String_Format_m3351777162(NULL /*static, unused*/, L_25, _stringLiteral1049894163, L_26, /*hidden argument*/NULL);
		TlsException_t1031360050 * L_32 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_32, ((int32_t)10), L_31, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_32);
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionCache::.cctor()
extern Il2CppClass* Hashtable_t1407064410_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache__cctor_m3222200124_MetadataUsageId;
extern "C"  void ClientSessionCache__cctor_m3222200124 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache__cctor_m3222200124_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Hashtable_t1407064410 * L_0 = (Hashtable_t1407064410 *)il2cpp_codegen_object_new(Hashtable_t1407064410_il2cpp_TypeInfo_var);
		Hashtable__ctor_m1514037738(L_0, /*hidden argument*/NULL);
		((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->set_cache_0(L_0);
		Il2CppObject * L_1 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_1, /*hidden argument*/NULL);
		((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->set_locker_1(L_1);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionCache::Add(System.String,System.Byte[])
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppClass* BitConverter_t1260277767_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_Add_m1176188661_MetadataUsageId;
extern "C"  void ClientSessionCache_Add_m1176188661 (Il2CppObject * __this /* static, unused */, String_t* ___host0, ByteU5BU5D_t4260760469* ___id1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_Add_m1176188661_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	String_t* V_1 = NULL;
	ClientSessionInfo_t1380030187 * V_2 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t4260760469* L_2 = ___id1;
			IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t1260277767_il2cpp_TypeInfo_var);
			String_t* L_3 = BitConverter_ToString_m1865594174(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
			V_1 = L_3;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			Hashtable_t1407064410 * L_4 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_5 = V_1;
			Il2CppObject * L_6 = VirtFuncInvoker1< Il2CppObject *, Il2CppObject * >::Invoke(22 /* System.Object System.Collections.Hashtable::get_Item(System.Object) */, L_4, L_5);
			V_2 = ((ClientSessionInfo_t1380030187 *)CastclassClass(L_6, ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var));
			ClientSessionInfo_t1380030187 * L_7 = V_2;
			if (L_7)
			{
				goto IL_0041;
			}
		}

IL_002a:
		{
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			Hashtable_t1407064410 * L_8 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_9 = V_1;
			String_t* L_10 = ___host0;
			ByteU5BU5D_t4260760469* L_11 = ___id1;
			ClientSessionInfo_t1380030187 * L_12 = (ClientSessionInfo_t1380030187 *)il2cpp_codegen_object_new(ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var);
			ClientSessionInfo__ctor_m3986042656(L_12, L_10, L_11, /*hidden argument*/NULL);
			VirtActionInvoker2< Il2CppObject *, Il2CppObject * >::Invoke(25 /* System.Void System.Collections.Hashtable::Add(System.Object,System.Object) */, L_8, L_9, L_12);
			goto IL_0080;
		}

IL_0041:
		{
			ClientSessionInfo_t1380030187 * L_13 = V_2;
			String_t* L_14 = ClientSessionInfo_get_HostName_m4285397854(L_13, /*hidden argument*/NULL);
			String_t* L_15 = ___host0;
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			bool L_16 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_14, L_15, /*hidden argument*/NULL);
			if (!L_16)
			{
				goto IL_005d;
			}
		}

IL_0052:
		{
			ClientSessionInfo_t1380030187 * L_17 = V_2;
			ClientSessionInfo_KeepAlive_m3111167147(L_17, /*hidden argument*/NULL);
			goto IL_0080;
		}

IL_005d:
		{
			ClientSessionInfo_t1380030187 * L_18 = V_2;
			ClientSessionInfo_Dispose_m1917892930(L_18, /*hidden argument*/NULL);
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			Hashtable_t1407064410 * L_19 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_20 = V_1;
			VirtActionInvoker1< Il2CppObject * >::Invoke(29 /* System.Void System.Collections.Hashtable::Remove(System.Object) */, L_19, L_20);
			Hashtable_t1407064410 * L_21 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_22 = V_1;
			String_t* L_23 = ___host0;
			ByteU5BU5D_t4260760469* L_24 = ___id1;
			ClientSessionInfo_t1380030187 * L_25 = (ClientSessionInfo_t1380030187 *)il2cpp_codegen_object_new(ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var);
			ClientSessionInfo__ctor_m3986042656(L_25, L_23, L_24, /*hidden argument*/NULL);
			VirtActionInvoker2< Il2CppObject *, Il2CppObject * >::Invoke(25 /* System.Void System.Collections.Hashtable::Add(System.Object,System.Object) */, L_21, L_22, L_25);
		}

IL_0080:
		{
			IL2CPP_LEAVE(0x8C, FINALLY_0085);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_0085;
	}

FINALLY_0085:
	{ // begin finally (depth: 1)
		Il2CppObject * L_26 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_26, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(133)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(133)
	{
		IL2CPP_JUMP_TBL(0x8C, IL_008c)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_008c:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.ClientSessionCache::FromHost(System.String)
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerable_t3464557803_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerator_t3464575207_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t1423340799_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_FromHost_m3499660871_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* ClientSessionCache_FromHost_m3499660871 (Il2CppObject * __this /* static, unused */, String_t* ___host0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_FromHost_m3499660871_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t1380030187 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	Il2CppObject * V_4 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			Hashtable_t1407064410 * L_2 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			Il2CppObject * L_3 = VirtFuncInvoker0< Il2CppObject * >::Invoke(21 /* System.Collections.ICollection System.Collections.Hashtable::get_Values() */, L_2);
			Il2CppObject * L_4 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Collections.IEnumerator System.Collections.IEnumerable::GetEnumerator() */, IEnumerable_t3464557803_il2cpp_TypeInfo_var, L_3);
			V_2 = L_4;
		}

IL_001c:
		try
		{ // begin try (depth: 2)
			{
				goto IL_005b;
			}

IL_0021:
			{
				Il2CppObject * L_5 = V_2;
				Il2CppObject * L_6 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.Collections.IEnumerator::get_Current() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_5);
				V_1 = ((ClientSessionInfo_t1380030187 *)CastclassClass(L_6, ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var));
				ClientSessionInfo_t1380030187 * L_7 = V_1;
				String_t* L_8 = ClientSessionInfo_get_HostName_m4285397854(L_7, /*hidden argument*/NULL);
				String_t* L_9 = ___host0;
				IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
				bool L_10 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
				if (!L_10)
				{
					goto IL_005b;
				}
			}

IL_003e:
			{
				ClientSessionInfo_t1380030187 * L_11 = V_1;
				bool L_12 = ClientSessionInfo_get_Valid_m3298602216(L_11, /*hidden argument*/NULL);
				if (!L_12)
				{
					goto IL_005b;
				}
			}

IL_0049:
			{
				ClientSessionInfo_t1380030187 * L_13 = V_1;
				ClientSessionInfo_KeepAlive_m3111167147(L_13, /*hidden argument*/NULL);
				ClientSessionInfo_t1380030187 * L_14 = V_1;
				ByteU5BU5D_t4260760469* L_15 = ClientSessionInfo_get_Id_m277031725(L_14, /*hidden argument*/NULL);
				V_3 = L_15;
				IL2CPP_LEAVE(0x93, FINALLY_006b);
			}

IL_005b:
			{
				Il2CppObject * L_16 = V_2;
				bool L_17 = InterfaceFuncInvoker0< bool >::Invoke(1 /* System.Boolean System.Collections.IEnumerator::MoveNext() */, IEnumerator_t3464575207_il2cpp_TypeInfo_var, L_16);
				if (L_17)
				{
					goto IL_0021;
				}
			}

IL_0066:
			{
				IL2CPP_LEAVE(0x80, FINALLY_006b);
			}
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_006b;
		}

FINALLY_006b:
		{ // begin finally (depth: 2)
			{
				Il2CppObject * L_18 = V_2;
				V_4 = ((Il2CppObject *)IsInst(L_18, IDisposable_t1423340799_il2cpp_TypeInfo_var));
				Il2CppObject * L_19 = V_4;
				if (L_19)
				{
					goto IL_0078;
				}
			}

IL_0077:
			{
				IL2CPP_END_FINALLY(107)
			}

IL_0078:
			{
				Il2CppObject * L_20 = V_4;
				InterfaceActionInvoker0::Invoke(0 /* System.Void System.IDisposable::Dispose() */, IDisposable_t1423340799_il2cpp_TypeInfo_var, L_20);
				IL2CPP_END_FINALLY(107)
			}
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(107)
		{
			IL2CPP_END_CLEANUP(0x93, FINALLY_008c);
			IL2CPP_JUMP_TBL(0x80, IL_0080)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_0080:
		{
			V_3 = (ByteU5BU5D_t4260760469*)NULL;
			IL2CPP_LEAVE(0x93, FINALLY_008c);
		}

IL_0087:
		{
			; // IL_0087: leave IL_0093
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_008c;
	}

FINALLY_008c:
	{ // begin finally (depth: 1)
		Il2CppObject * L_21 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_21, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(140)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(140)
	{
		IL2CPP_JUMP_TBL(0x93, IL_0093)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0093:
	{
		ByteU5BU5D_t4260760469* L_22 = V_3;
		return L_22;
	}
}
// Mono.Security.Protocol.Tls.ClientSessionInfo Mono.Security.Protocol.Tls.ClientSessionCache::FromContext(Mono.Security.Protocol.Tls.Context,System.Boolean)
extern Il2CppClass* BitConverter_t1260277767_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_FromContext_m1274339950_MetadataUsageId;
extern "C"  ClientSessionInfo_t1380030187 * ClientSessionCache_FromContext_m1274339950 (Il2CppObject * __this /* static, unused */, Context_t658806145 * ___context0, bool ___checkValidity1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_FromContext_m1274339950_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	String_t* V_1 = NULL;
	ClientSessionInfo_t1380030187 * V_2 = NULL;
	{
		Context_t658806145 * L_0 = ___context0;
		if (L_0)
		{
			goto IL_0008;
		}
	}
	{
		return (ClientSessionInfo_t1380030187 *)NULL;
	}

IL_0008:
	{
		Context_t658806145 * L_1 = ___context0;
		ByteU5BU5D_t4260760469* L_2 = Context_get_SessionId_m1237865483(L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ByteU5BU5D_t4260760469* L_3 = V_0;
		if (!L_3)
		{
			goto IL_001d;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_4 = V_0;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))
		{
			goto IL_001f;
		}
	}

IL_001d:
	{
		return (ClientSessionInfo_t1380030187 *)NULL;
	}

IL_001f:
	{
		ByteU5BU5D_t4260760469* L_5 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t1260277767_il2cpp_TypeInfo_var);
		String_t* L_6 = BitConverter_ToString_m1865594174(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		V_1 = L_6;
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Hashtable_t1407064410 * L_7 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
		String_t* L_8 = V_1;
		Il2CppObject * L_9 = VirtFuncInvoker1< Il2CppObject *, Il2CppObject * >::Invoke(22 /* System.Object System.Collections.Hashtable::get_Item(System.Object) */, L_7, L_8);
		V_2 = ((ClientSessionInfo_t1380030187 *)CastclassClass(L_9, ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var));
		ClientSessionInfo_t1380030187 * L_10 = V_2;
		if (L_10)
		{
			goto IL_003f;
		}
	}
	{
		return (ClientSessionInfo_t1380030187 *)NULL;
	}

IL_003f:
	{
		Context_t658806145 * L_11 = ___context0;
		TlsClientSettings_t3675869755 * L_12 = Context_get_ClientSettings_m4242530400(L_11, /*hidden argument*/NULL);
		String_t* L_13 = TlsClientSettings_get_TargetHost_m4152838452(L_12, /*hidden argument*/NULL);
		ClientSessionInfo_t1380030187 * L_14 = V_2;
		String_t* L_15 = ClientSessionInfo_get_HostName_m4285397854(L_14, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		bool L_16 = String_op_Inequality_m2125462205(NULL /*static, unused*/, L_13, L_15, /*hidden argument*/NULL);
		if (!L_16)
		{
			goto IL_005c;
		}
	}
	{
		return (ClientSessionInfo_t1380030187 *)NULL;
	}

IL_005c:
	{
		bool L_17 = ___checkValidity1;
		if (!L_17)
		{
			goto IL_0080;
		}
	}
	{
		ClientSessionInfo_t1380030187 * L_18 = V_2;
		bool L_19 = ClientSessionInfo_get_Valid_m3298602216(L_18, /*hidden argument*/NULL);
		if (L_19)
		{
			goto IL_0080;
		}
	}
	{
		ClientSessionInfo_t1380030187 * L_20 = V_2;
		ClientSessionInfo_Dispose_m1917892930(L_20, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Hashtable_t1407064410 * L_21 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
		String_t* L_22 = V_1;
		VirtActionInvoker1< Il2CppObject * >::Invoke(29 /* System.Void System.Collections.Hashtable::Remove(System.Object) */, L_21, L_22);
		return (ClientSessionInfo_t1380030187 *)NULL;
	}

IL_0080:
	{
		ClientSessionInfo_t1380030187 * L_23 = V_2;
		return L_23;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ClientSessionCache::SetContextInCache(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_SetContextInCache_m1823103460_MetadataUsageId;
extern "C"  bool ClientSessionCache_SetContextInCache_m1823103460 (Il2CppObject * __this /* static, unused */, Context_t658806145 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_SetContextInCache_m1823103460_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t1380030187 * V_1 = NULL;
	bool V_2 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			Context_t658806145 * L_2 = ___context0;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			ClientSessionInfo_t1380030187 * L_3 = ClientSessionCache_FromContext_m1274339950(NULL /*static, unused*/, L_2, (bool)0, /*hidden argument*/NULL);
			V_1 = L_3;
			ClientSessionInfo_t1380030187 * L_4 = V_1;
			if (L_4)
			{
				goto IL_0021;
			}
		}

IL_001a:
		{
			V_2 = (bool)0;
			IL2CPP_LEAVE(0x41, FINALLY_003a);
		}

IL_0021:
		{
			ClientSessionInfo_t1380030187 * L_5 = V_1;
			Context_t658806145 * L_6 = ___context0;
			ClientSessionInfo_GetContext_m4271145743(L_5, L_6, /*hidden argument*/NULL);
			ClientSessionInfo_t1380030187 * L_7 = V_1;
			ClientSessionInfo_KeepAlive_m3111167147(L_7, /*hidden argument*/NULL);
			V_2 = (bool)1;
			IL2CPP_LEAVE(0x41, FINALLY_003a);
		}

IL_0035:
		{
			; // IL_0035: leave IL_0041
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_003a;
	}

FINALLY_003a:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(58)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(58)
	{
		IL2CPP_JUMP_TBL(0x41, IL_0041)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0041:
	{
		bool L_9 = V_2;
		return L_9;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ClientSessionCache::SetContextFromCache(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_SetContextFromCache_m2249085247_MetadataUsageId;
extern "C"  bool ClientSessionCache_SetContextFromCache_m2249085247 (Il2CppObject * __this /* static, unused */, Context_t658806145 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_SetContextFromCache_m2249085247_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t1380030187 * V_1 = NULL;
	bool V_2 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t1861128725_StaticFields*)ClientSessionCache_t1861128725_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			Context_t658806145 * L_2 = ___context0;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
			ClientSessionInfo_t1380030187 * L_3 = ClientSessionCache_FromContext_m1274339950(NULL /*static, unused*/, L_2, (bool)1, /*hidden argument*/NULL);
			V_1 = L_3;
			ClientSessionInfo_t1380030187 * L_4 = V_1;
			if (L_4)
			{
				goto IL_0021;
			}
		}

IL_001a:
		{
			V_2 = (bool)0;
			IL2CPP_LEAVE(0x41, FINALLY_003a);
		}

IL_0021:
		{
			ClientSessionInfo_t1380030187 * L_5 = V_1;
			Context_t658806145 * L_6 = ___context0;
			ClientSessionInfo_SetContext_m2955880067(L_5, L_6, /*hidden argument*/NULL);
			ClientSessionInfo_t1380030187 * L_7 = V_1;
			ClientSessionInfo_KeepAlive_m3111167147(L_7, /*hidden argument*/NULL);
			V_2 = (bool)1;
			IL2CPP_LEAVE(0x41, FINALLY_003a);
		}

IL_0035:
		{
			; // IL_0035: leave IL_0041
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_003a;
	}

FINALLY_003a:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(58)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(58)
	{
		IL2CPP_JUMP_TBL(0x41, IL_0041)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0041:
	{
		bool L_9 = V_2;
		return L_9;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::.ctor(System.String,System.Byte[])
extern "C"  void ClientSessionInfo__ctor_m3986042656 (ClientSessionInfo_t1380030187 * __this, String_t* ___hostname0, ByteU5BU5D_t4260760469* ___id1, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		String_t* L_0 = ___hostname0;
		__this->set_host_3(L_0);
		ByteU5BU5D_t4260760469* L_1 = ___id1;
		__this->set_sid_4(L_1);
		ClientSessionInfo_KeepAlive_m3111167147(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::.cctor()
extern Il2CppClass* ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral95884443;
extern const uint32_t ClientSessionInfo__cctor_m1522715144_MetadataUsageId;
extern "C"  void ClientSessionInfo__cctor_m1522715144 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo__cctor_m1522715144_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		String_t* L_0 = Environment_GetEnvironmentVariable_m3419218304(NULL /*static, unused*/, _stringLiteral95884443, /*hidden argument*/NULL);
		V_0 = L_0;
		String_t* L_1 = V_0;
		if (L_1)
		{
			goto IL_0020;
		}
	}
	{
		((ClientSessionInfo_t1380030187_StaticFields*)ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var->static_fields)->set_ValidityInterval_0(((int32_t)180));
		goto IL_0040;
	}

IL_0020:
	try
	{ // begin try (depth: 1)
		String_t* L_2 = V_0;
		int32_t L_3 = Int32_Parse_m3837759498(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		((ClientSessionInfo_t1380030187_StaticFields*)ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var->static_fields)->set_ValidityInterval_0(L_3);
		goto IL_0040;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Il2CppObject_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0030;
		throw e;
	}

CATCH_0030:
	{ // begin catch(System.Object)
		((ClientSessionInfo_t1380030187_StaticFields*)ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var->static_fields)->set_ValidityInterval_0(((int32_t)180));
		goto IL_0040;
	} // end catch (depth: 1)

IL_0040:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::Finalize()
extern "C"  void ClientSessionInfo_Finalize_m2580870141 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		ClientSessionInfo_Dispose_m3809547065(__this, (bool)0, /*hidden argument*/NULL);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m3027285644(__this, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(12)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(12)
	{
		IL2CPP_JUMP_TBL(0x13, IL_0013)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0013:
	{
		return;
	}
}
// System.String Mono.Security.Protocol.Tls.ClientSessionInfo::get_HostName()
extern "C"  String_t* ClientSessionInfo_get_HostName_m4285397854 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = __this->get_host_3();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.ClientSessionInfo::get_Id()
extern "C"  ByteU5BU5D_t4260760469* ClientSessionInfo_get_Id_m277031725 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_sid_4();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ClientSessionInfo::get_Valid()
extern Il2CppClass* DateTime_t4283661327_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_get_Valid_m3298602216_MetadataUsageId;
extern "C"  bool ClientSessionInfo_get_Valid_m3298602216 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_get_Valid_m3298602216_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t G_B3_0 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_masterSecret_5();
		if (!L_0)
		{
			goto IL_001d;
		}
	}
	{
		DateTime_t4283661327  L_1 = __this->get_validuntil_2();
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t4283661327_il2cpp_TypeInfo_var);
		DateTime_t4283661327  L_2 = DateTime_get_UtcNow_m685282732(NULL /*static, unused*/, /*hidden argument*/NULL);
		bool L_3 = DateTime_op_GreaterThan_m3846016869(NULL /*static, unused*/, L_1, L_2, /*hidden argument*/NULL);
		G_B3_0 = ((int32_t)(L_3));
		goto IL_001e;
	}

IL_001d:
	{
		G_B3_0 = 0;
	}

IL_001e:
	{
		return (bool)G_B3_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::GetContext(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_GetContext_m4271145743_MetadataUsageId;
extern "C"  void ClientSessionInfo_GetContext_m4271145743 (ClientSessionInfo_t1380030187 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_GetContext_m4271145743_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ClientSessionInfo_CheckDisposed_m3528977776(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = Context_get_MasterSecret_m2040743066(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_2 = ___context0;
		ByteU5BU5D_t4260760469* L_3 = Context_get_MasterSecret_m2040743066(L_2, /*hidden argument*/NULL);
		Il2CppObject * L_4 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_3, /*hidden argument*/NULL);
		__this->set_masterSecret_5(((ByteU5BU5D_t4260760469*)Castclass(L_4, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)));
	}

IL_0027:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::SetContext(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_SetContext_m2955880067_MetadataUsageId;
extern "C"  void ClientSessionInfo_SetContext_m2955880067 (ClientSessionInfo_t1380030187 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_SetContext_m2955880067_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ClientSessionInfo_CheckDisposed_m3528977776(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = __this->get_masterSecret_5();
		if (!L_0)
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_1 = ___context0;
		ByteU5BU5D_t4260760469* L_2 = __this->get_masterSecret_5();
		Il2CppObject * L_3 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_2, /*hidden argument*/NULL);
		Context_set_MasterSecret_m748730085(L_1, ((ByteU5BU5D_t4260760469*)Castclass(L_3, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
	}

IL_0027:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::KeepAlive()
extern Il2CppClass* DateTime_t4283661327_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_KeepAlive_m3111167147_MetadataUsageId;
extern "C"  void ClientSessionInfo_KeepAlive_m3111167147 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_KeepAlive_m3111167147_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	DateTime_t4283661327  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		ClientSessionInfo_CheckDisposed_m3528977776(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t4283661327_il2cpp_TypeInfo_var);
		DateTime_t4283661327  L_0 = DateTime_get_UtcNow_m685282732(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var);
		int32_t L_1 = ((ClientSessionInfo_t1380030187_StaticFields*)ClientSessionInfo_t1380030187_il2cpp_TypeInfo_var->static_fields)->get_ValidityInterval_0();
		DateTime_t4283661327  L_2 = DateTime_AddSeconds_m2515640243((&V_0), (((double)((double)L_1))), /*hidden argument*/NULL);
		__this->set_validuntil_2(L_2);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::Dispose()
extern "C"  void ClientSessionInfo_Dispose_m1917892930 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	{
		ClientSessionInfo_Dispose_m3809547065(__this, (bool)1, /*hidden argument*/NULL);
		GC_SuppressFinalize_m1160635446(NULL /*static, unused*/, __this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::Dispose(System.Boolean)
extern Il2CppClass* DateTime_t4283661327_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_Dispose_m3809547065_MetadataUsageId;
extern "C"  void ClientSessionInfo_Dispose_m3809547065 (ClientSessionInfo_t1380030187 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_Dispose_m3809547065_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_disposed_1();
		if (L_0)
		{
			goto IL_004a;
		}
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t4283661327_il2cpp_TypeInfo_var);
		DateTime_t4283661327  L_1 = ((DateTime_t4283661327_StaticFields*)DateTime_t4283661327_il2cpp_TypeInfo_var->static_fields)->get_MinValue_3();
		__this->set_validuntil_2(L_1);
		__this->set_host_3((String_t*)NULL);
		__this->set_sid_4((ByteU5BU5D_t4260760469*)NULL);
		ByteU5BU5D_t4260760469* L_2 = __this->get_masterSecret_5();
		if (!L_2)
		{
			goto IL_004a;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_3 = __this->get_masterSecret_5();
		ByteU5BU5D_t4260760469* L_4 = __this->get_masterSecret_5();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_3, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))), /*hidden argument*/NULL);
		__this->set_masterSecret_5((ByteU5BU5D_t4260760469*)NULL);
	}

IL_004a:
	{
		__this->set_disposed_1((bool)1);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::CheckDisposed()
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3380291974;
extern const uint32_t ClientSessionInfo_CheckDisposed_m3528977776_MetadataUsageId;
extern "C"  void ClientSessionInfo_CheckDisposed_m3528977776 (ClientSessionInfo_t1380030187 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_CheckDisposed_m3528977776_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	{
		bool L_0 = __this->get_disposed_1();
		if (!L_0)
		{
			goto IL_001d;
		}
	}
	{
		String_t* L_1 = Locale_GetText_m4086560262(NULL /*static, unused*/, _stringLiteral3380291974, /*hidden argument*/NULL);
		V_0 = L_1;
		String_t* L_2 = V_0;
		ObjectDisposedException_t1794727681 * L_3 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_3, L_2, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_001d:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::.ctor(Mono.Security.Protocol.Tls.SecurityProtocolType)
extern Il2CppClass* TlsServerSettings_t3702625715_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientSettings_t3675869755_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern const uint32_t Context__ctor_m2692561931_MetadataUsageId;
extern "C"  void Context__ctor_m2692561931 (Context_t658806145 * __this, int32_t ___securityProtocolType0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context__ctor_m2692561931_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		int32_t L_0 = ___securityProtocolType0;
		Context_set_SecurityProtocol_m848973232(__this, L_0, /*hidden argument*/NULL);
		__this->set_compressionMethod_2(0);
		TlsServerSettings_t3702625715 * L_1 = (TlsServerSettings_t3702625715 *)il2cpp_codegen_object_new(TlsServerSettings_t3702625715_il2cpp_TypeInfo_var);
		TlsServerSettings__ctor_m1004039293(L_1, /*hidden argument*/NULL);
		__this->set_serverSettings_3(L_1);
		TlsClientSettings_t3675869755 * L_2 = (TlsClientSettings_t3675869755 *)il2cpp_codegen_object_new(TlsClientSettings_t3675869755_il2cpp_TypeInfo_var);
		TlsClientSettings__ctor_m929581301(L_2, /*hidden argument*/NULL);
		__this->set_clientSettings_4(L_2);
		TlsStream_t89550253 * L_3 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_3, /*hidden argument*/NULL);
		__this->set_handshakeMessages_27(L_3);
		__this->set_sessionId_1((ByteU5BU5D_t4260760469*)NULL);
		__this->set_handshakeState_11(0);
		RandomNumberGenerator_t1757673517 * L_4 = RandomNumberGenerator_Create_m2029084057(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_random_28(L_4);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Context::get_AbbreviatedHandshake()
extern "C"  bool Context_get_AbbreviatedHandshake_m3621257066 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_abbreviatedHandshake_12();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_AbbreviatedHandshake(System.Boolean)
extern "C"  void Context_set_AbbreviatedHandshake_m66679943 (Context_t658806145 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_abbreviatedHandshake_12(L_0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Context::get_ProtocolNegotiated()
extern "C"  bool Context_get_ProtocolNegotiated_m2137079082 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_protocolNegotiated_15();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ProtocolNegotiated(System.Boolean)
extern "C"  void Context_set_ProtocolNegotiated_m2979902407 (Context_t658806145 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_protocolNegotiated_15(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.SecurityProtocolType Mono.Security.Protocol.Tls.Context::get_SecurityProtocol()
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3332579661;
extern const uint32_t Context_get_SecurityProtocol_m2457665585_MetadataUsageId;
extern "C"  int32_t Context_get_SecurityProtocol_m2457665585 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_get_SecurityProtocol_m2457665585_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = __this->get_securityProtocol_0();
		if ((((int32_t)((int32_t)((int32_t)L_0&(int32_t)((int32_t)192)))) == ((int32_t)((int32_t)192))))
		{
			goto IL_002c;
		}
	}
	{
		int32_t L_1 = __this->get_securityProtocol_0();
		if ((!(((uint32_t)((int32_t)((int32_t)L_1&(int32_t)((int32_t)-1073741824)))) == ((uint32_t)((int32_t)-1073741824)))))
		{
			goto IL_0032;
		}
	}

IL_002c:
	{
		return (int32_t)(((int32_t)192));
	}

IL_0032:
	{
		int32_t L_2 = __this->get_securityProtocol_0();
		if ((!(((uint32_t)((int32_t)((int32_t)L_2&(int32_t)((int32_t)48)))) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_0045;
		}
	}
	{
		return (int32_t)(((int32_t)48));
	}

IL_0045:
	{
		NotSupportedException_t1732551818 * L_3 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_3, _stringLiteral3332579661, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_SecurityProtocol(Mono.Security.Protocol.Tls.SecurityProtocolType)
extern "C"  void Context_set_SecurityProtocol_m848973232 (Context_t658806145 * __this, int32_t ___value0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___value0;
		__this->set_securityProtocol_0(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.SecurityProtocolType Mono.Security.Protocol.Tls.Context::get_SecurityProtocolFlags()
extern "C"  int32_t Context_get_SecurityProtocolFlags_m1914144888 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_securityProtocol_0();
		return L_0;
	}
}
// System.Int16 Mono.Security.Protocol.Tls.Context::get_Protocol()
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3332579661;
extern const uint32_t Context_get_Protocol_m775713592_MetadataUsageId;
extern "C"  int16_t Context_get_Protocol_m775713592 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Protocol_m775713592_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = Context_get_SecurityProtocol_m2457665585(__this, /*hidden argument*/NULL);
		V_0 = L_0;
		int32_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)-1073741824))))
		{
			goto IL_0032;
		}
	}
	{
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)12))))
		{
			goto IL_003e;
		}
	}
	{
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_0038;
		}
	}
	{
		int32_t L_4 = V_0;
		if ((((int32_t)L_4) == ((int32_t)((int32_t)192))))
		{
			goto IL_0032;
		}
	}
	{
		goto IL_003e;
	}

IL_0032:
	{
		return ((int32_t)769);
	}

IL_0038:
	{
		return ((int32_t)768);
	}

IL_003e:
	{
		NotSupportedException_t1732551818 * L_5 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_5, _stringLiteral3332579661, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_SessionId()
extern "C"  ByteU5BU5D_t4260760469* Context_get_SessionId_m1237865483 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_sessionId_1();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_SessionId(System.Byte[])
extern "C"  void Context_set_SessionId_m3092121576 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_sessionId_1(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.SecurityCompressionType Mono.Security.Protocol.Tls.Context::get_CompressionMethod()
extern "C"  int32_t Context_get_CompressionMethod_m487253678 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_compressionMethod_2();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_CompressionMethod(Mono.Security.Protocol.Tls.SecurityCompressionType)
extern "C"  void Context_set_CompressionMethod_m3462049341 (Context_t658806145 * __this, int32_t ___value0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___value0;
		__this->set_compressionMethod_2(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.TlsServerSettings Mono.Security.Protocol.Tls.Context::get_ServerSettings()
extern "C"  TlsServerSettings_t3702625715 * Context_get_ServerSettings_m4010613088 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		TlsServerSettings_t3702625715 * L_0 = __this->get_serverSettings_3();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.TlsClientSettings Mono.Security.Protocol.Tls.Context::get_ClientSettings()
extern "C"  TlsClientSettings_t3675869755 * Context_get_ClientSettings_m4242530400 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		TlsClientSettings_t3675869755 * L_0 = __this->get_clientSettings_4();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeType Mono.Security.Protocol.Tls.Context::get_LastHandshakeMsg()
extern "C"  uint8_t Context_get_LastHandshakeMsg_m1576961185 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_lastHandshakeMsg_10();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_LastHandshakeMsg(Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern "C"  void Context_set_LastHandshakeMsg_m1436694014 (Context_t658806145 * __this, uint8_t ___value0, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___value0;
		__this->set_lastHandshakeMsg_10(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.HandshakeState Mono.Security.Protocol.Tls.Context::get_HandshakeState()
extern "C"  int32_t Context_get_HandshakeState_m972066827 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_handshakeState_11();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_HandshakeState(Mono.Security.Protocol.Tls.HandshakeState)
extern "C"  void Context_set_HandshakeState_m3428098438 (Context_t658806145 * __this, int32_t ___value0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___value0;
		__this->set_handshakeState_11(L_0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Context::get_ReceivedConnectionEnd()
extern "C"  bool Context_get_ReceivedConnectionEnd_m731026834 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_receivedConnectionEnd_13();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ReceivedConnectionEnd(System.Boolean)
extern "C"  void Context_set_ReceivedConnectionEnd_m1502103331 (Context_t658806145 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_receivedConnectionEnd_13(L_0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Context::get_SentConnectionEnd()
extern "C"  bool Context_get_SentConnectionEnd_m1343643003 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_sentConnectionEnd_14();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_SentConnectionEnd(System.Boolean)
extern "C"  void Context_set_SentConnectionEnd_m2988269644 (Context_t658806145 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_sentConnectionEnd_14(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.Context::get_SupportedCiphers()
extern "C"  CipherSuiteCollection_t2487974013 * Context_get_SupportedCiphers_m2251752138 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		CipherSuiteCollection_t2487974013 * L_0 = __this->get_supportedCiphers_9();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_SupportedCiphers(Mono.Security.Protocol.Tls.CipherSuiteCollection)
extern "C"  void Context_set_SupportedCiphers_m2658500263 (Context_t658806145 * __this, CipherSuiteCollection_t2487974013 * ___value0, const MethodInfo* method)
{
	{
		CipherSuiteCollection_t2487974013 * L_0 = ___value0;
		__this->set_supportedCiphers_9(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.TlsStream Mono.Security.Protocol.Tls.Context::get_HandshakeMessages()
extern "C"  TlsStream_t89550253 * Context_get_HandshakeMessages_m1457854885 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		TlsStream_t89550253 * L_0 = __this->get_handshakeMessages_27();
		return L_0;
	}
}
// System.UInt64 Mono.Security.Protocol.Tls.Context::get_WriteSequenceNumber()
extern "C"  uint64_t Context_get_WriteSequenceNumber_m2425723185 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		uint64_t L_0 = __this->get_writeSequenceNumber_16();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_WriteSequenceNumber(System.UInt64)
extern "C"  void Context_set_WriteSequenceNumber_m970670722 (Context_t658806145 * __this, uint64_t ___value0, const MethodInfo* method)
{
	{
		uint64_t L_0 = ___value0;
		__this->set_writeSequenceNumber_16(L_0);
		return;
	}
}
// System.UInt64 Mono.Security.Protocol.Tls.Context::get_ReadSequenceNumber()
extern "C"  uint64_t Context_get_ReadSequenceNumber_m1306012538 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		uint64_t L_0 = __this->get_readSequenceNumber_17();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ReadSequenceNumber(System.UInt64)
extern "C"  void Context_set_ReadSequenceNumber_m3107900585 (Context_t658806145 * __this, uint64_t ___value0, const MethodInfo* method)
{
	{
		uint64_t L_0 = ___value0;
		__this->set_readSequenceNumber_17(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ClientRandom()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ClientRandom_m1978397270 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_clientRandom_18();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ClientRandom(System.Byte[])
extern "C"  void Context_set_ClientRandom_m628701865 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_clientRandom_18(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerRandom()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ServerRandom_m2005153230 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_serverRandom_19();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ServerRandom(System.Byte[])
extern "C"  void Context_set_ServerRandom_m1721522737 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_serverRandom_19(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_RandomCS()
extern "C"  ByteU5BU5D_t4260760469* Context_get_RandomCS_m1402706075 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_randomCS_20();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_RandomCS(System.Byte[])
extern "C"  void Context_set_RandomCS_m2386417540 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_randomCS_20(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_RandomSC()
extern "C"  ByteU5BU5D_t4260760469* Context_get_RandomSC_m1403167355 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_randomSC_21();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_RandomSC(System.Byte[])
extern "C"  void Context_set_RandomSC_m2143148452 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_randomSC_21(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_MasterSecret()
extern "C"  ByteU5BU5D_t4260760469* Context_get_MasterSecret_m2040743066 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_masterSecret_22();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_MasterSecret(System.Byte[])
extern "C"  void Context_set_MasterSecret_m748730085 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_masterSecret_22(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ClientWriteKey()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ClientWriteKey_m2094953427 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_clientWriteKey_23();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ClientWriteKey(System.Byte[])
extern "C"  void Context_set_ClientWriteKey_m409290444 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_clientWriteKey_23(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerWriteKey()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ServerWriteKey_m2037627211 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_serverWriteKey_24();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ServerWriteKey(System.Byte[])
extern "C"  void Context_set_ServerWriteKey_m2638128212 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_serverWriteKey_24(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ClientWriteIV()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ClientWriteIV_m621691963 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_clientWriteIV_25();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ClientWriteIV(System.Byte[])
extern "C"  void Context_set_ClientWriteIV_m3933057208 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_clientWriteIV_25(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerWriteIV()
extern "C"  ByteU5BU5D_t4260760469* Context_get_ServerWriteIV_m1451126723 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_serverWriteIV_26();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_ServerWriteIV(System.Byte[])
extern "C"  void Context_set_ServerWriteIV_m3450765872 (Context_t658806145 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_serverWriteIV_26(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.RecordProtocol Mono.Security.Protocol.Tls.Context::get_RecordProtocol()
extern "C"  RecordProtocol_t1331996967 * Context_get_RecordProtocol_m3223396139 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		RecordProtocol_t1331996967 * L_0 = __this->get_recordProtocol_29();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::set_RecordProtocol(Mono.Security.Protocol.Tls.RecordProtocol)
extern "C"  void Context_set_RecordProtocol_m1649539496 (Context_t658806145 * __this, RecordProtocol_t1331996967 * ___value0, const MethodInfo* method)
{
	{
		RecordProtocol_t1331996967 * L_0 = ___value0;
		__this->set_recordProtocol_29(L_0);
		return;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.Context::GetUnixTime()
extern Il2CppClass* DateTime_t4283661327_il2cpp_TypeInfo_var;
extern const uint32_t Context_GetUnixTime_m545141264_MetadataUsageId;
extern "C"  int32_t Context_GetUnixTime_m545141264 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_GetUnixTime_m545141264_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	DateTime_t4283661327  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t4283661327_il2cpp_TypeInfo_var);
		DateTime_t4283661327  L_0 = DateTime_get_UtcNow_m685282732(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		int64_t L_1 = DateTime_get_Ticks_m386468226((&V_0), /*hidden argument*/NULL);
		return (((int32_t)((int32_t)((int64_t)((int64_t)((int64_t)((int64_t)L_1-(int64_t)((int64_t)621355968000000000LL)))/(int64_t)(((int64_t)((int64_t)((int32_t)10000000)))))))));
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::GetSecureRandomBytes(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t Context_GetSecureRandomBytes_m3225475755_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* Context_GetSecureRandomBytes_m3225475755 (Context_t658806145 * __this, int32_t ___count0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_GetSecureRandomBytes_m3225475755_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		int32_t L_0 = ___count0;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_0));
		RandomNumberGenerator_t1757673517 * L_1 = __this->get_random_28();
		ByteU5BU5D_t4260760469* L_2 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(5 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetNonZeroBytes(System.Byte[]) */, L_1, L_2);
		ByteU5BU5D_t4260760469* L_3 = V_0;
		return L_3;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::Clear()
extern Il2CppClass* TlsServerSettings_t3702625715_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientSettings_t3675869755_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern const uint32_t Context_Clear_m2073665242_MetadataUsageId;
extern "C"  void Context_Clear_m2073665242 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_Clear_m2073665242_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_compressionMethod_2(0);
		TlsServerSettings_t3702625715 * L_0 = (TlsServerSettings_t3702625715 *)il2cpp_codegen_object_new(TlsServerSettings_t3702625715_il2cpp_TypeInfo_var);
		TlsServerSettings__ctor_m1004039293(L_0, /*hidden argument*/NULL);
		__this->set_serverSettings_3(L_0);
		TlsClientSettings_t3675869755 * L_1 = (TlsClientSettings_t3675869755 *)il2cpp_codegen_object_new(TlsClientSettings_t3675869755_il2cpp_TypeInfo_var);
		TlsClientSettings__ctor_m929581301(L_1, /*hidden argument*/NULL);
		__this->set_clientSettings_4(L_1);
		TlsStream_t89550253 * L_2 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_2, /*hidden argument*/NULL);
		__this->set_handshakeMessages_27(L_2);
		__this->set_sessionId_1((ByteU5BU5D_t4260760469*)NULL);
		__this->set_handshakeState_11(0);
		VirtActionInvoker0::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.Context::ClearKeyInfo() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::ClearKeyInfo()
extern "C"  void Context_ClearKeyInfo_m2273078613 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_masterSecret_22();
		if (!L_0)
		{
			goto IL_0026;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_masterSecret_22();
		ByteU5BU5D_t4260760469* L_2 = __this->get_masterSecret_22();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length)))), /*hidden argument*/NULL);
		__this->set_masterSecret_22((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0026:
	{
		ByteU5BU5D_t4260760469* L_3 = __this->get_clientRandom_18();
		if (!L_3)
		{
			goto IL_004c;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_4 = __this->get_clientRandom_18();
		ByteU5BU5D_t4260760469* L_5 = __this->get_clientRandom_18();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_4, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))), /*hidden argument*/NULL);
		__this->set_clientRandom_18((ByteU5BU5D_t4260760469*)NULL);
	}

IL_004c:
	{
		ByteU5BU5D_t4260760469* L_6 = __this->get_serverRandom_19();
		if (!L_6)
		{
			goto IL_0072;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_7 = __this->get_serverRandom_19();
		ByteU5BU5D_t4260760469* L_8 = __this->get_serverRandom_19();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), /*hidden argument*/NULL);
		__this->set_serverRandom_19((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0072:
	{
		ByteU5BU5D_t4260760469* L_9 = __this->get_randomCS_20();
		if (!L_9)
		{
			goto IL_0098;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_10 = __this->get_randomCS_20();
		ByteU5BU5D_t4260760469* L_11 = __this->get_randomCS_20();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), /*hidden argument*/NULL);
		__this->set_randomCS_20((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0098:
	{
		ByteU5BU5D_t4260760469* L_12 = __this->get_randomSC_21();
		if (!L_12)
		{
			goto IL_00be;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_13 = __this->get_randomSC_21();
		ByteU5BU5D_t4260760469* L_14 = __this->get_randomSC_21();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_13, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))), /*hidden argument*/NULL);
		__this->set_randomSC_21((ByteU5BU5D_t4260760469*)NULL);
	}

IL_00be:
	{
		ByteU5BU5D_t4260760469* L_15 = __this->get_clientWriteKey_23();
		if (!L_15)
		{
			goto IL_00e4;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_16 = __this->get_clientWriteKey_23();
		ByteU5BU5D_t4260760469* L_17 = __this->get_clientWriteKey_23();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_16, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length)))), /*hidden argument*/NULL);
		__this->set_clientWriteKey_23((ByteU5BU5D_t4260760469*)NULL);
	}

IL_00e4:
	{
		ByteU5BU5D_t4260760469* L_18 = __this->get_clientWriteIV_25();
		if (!L_18)
		{
			goto IL_010a;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_19 = __this->get_clientWriteIV_25();
		ByteU5BU5D_t4260760469* L_20 = __this->get_clientWriteIV_25();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))), /*hidden argument*/NULL);
		__this->set_clientWriteIV_25((ByteU5BU5D_t4260760469*)NULL);
	}

IL_010a:
	{
		ByteU5BU5D_t4260760469* L_21 = __this->get_serverWriteKey_24();
		if (!L_21)
		{
			goto IL_0130;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_22 = __this->get_serverWriteKey_24();
		ByteU5BU5D_t4260760469* L_23 = __this->get_serverWriteKey_24();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_22, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_23)->max_length)))), /*hidden argument*/NULL);
		__this->set_serverWriteKey_24((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0130:
	{
		ByteU5BU5D_t4260760469* L_24 = __this->get_serverWriteIV_26();
		if (!L_24)
		{
			goto IL_0156;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_25 = __this->get_serverWriteIV_26();
		ByteU5BU5D_t4260760469* L_26 = __this->get_serverWriteIV_26();
		Array_Clear_m2499577033(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_25, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_26)->max_length)))), /*hidden argument*/NULL);
		__this->set_serverWriteIV_26((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0156:
	{
		TlsStream_t89550253 * L_27 = __this->get_handshakeMessages_27();
		TlsStream_Reset_m242376048(L_27, /*hidden argument*/NULL);
		int32_t L_28 = __this->get_securityProtocol_0();
		if ((((int32_t)L_28) == ((int32_t)((int32_t)48))))
		{
			goto IL_016e;
		}
	}

IL_016e:
	{
		return;
	}
}
// Mono.Security.Protocol.Tls.SecurityProtocolType Mono.Security.Protocol.Tls.Context::DecodeProtocolCode(System.Int16)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3332579661;
extern const uint32_t Context_DecodeProtocolCode_m1937919790_MetadataUsageId;
extern "C"  int32_t Context_DecodeProtocolCode_m1937919790 (Context_t658806145 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_DecodeProtocolCode_m1937919790_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int16_t V_0 = 0;
	{
		int16_t L_0 = ___code0;
		V_0 = L_0;
		int16_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)768))))
		{
			goto IL_0023;
		}
	}
	{
		int16_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)769))))
		{
			goto IL_001d;
		}
	}
	{
		goto IL_0026;
	}

IL_001d:
	{
		return (int32_t)(((int32_t)192));
	}

IL_0023:
	{
		return (int32_t)(((int32_t)48));
	}

IL_0026:
	{
		NotSupportedException_t1732551818 * L_3 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_3, _stringLiteral3332579661, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::ChangeProtocol(System.Int16)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3335441199;
extern const uint32_t Context_ChangeProtocol_m460386024_MetadataUsageId;
extern "C"  void Context_ChangeProtocol_m460386024 (Context_t658806145 * __this, int16_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_ChangeProtocol_m460386024_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int16_t L_0 = ___protocol0;
		int32_t L_1 = Context_DecodeProtocolCode_m1937919790(__this, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		int32_t L_3 = Context_get_SecurityProtocolFlags_m1914144888(__this, /*hidden argument*/NULL);
		int32_t L_4 = V_0;
		if ((((int32_t)((int32_t)((int32_t)L_2&(int32_t)L_3))) == ((int32_t)L_4)))
		{
			goto IL_002c;
		}
	}
	{
		int32_t L_5 = Context_get_SecurityProtocolFlags_m1914144888(__this, /*hidden argument*/NULL);
		if ((!(((uint32_t)((int32_t)((int32_t)L_5&(int32_t)((int32_t)-1073741824)))) == ((uint32_t)((int32_t)-1073741824)))))
		{
			goto IL_0056;
		}
	}

IL_002c:
	{
		int32_t L_6 = V_0;
		Context_set_SecurityProtocol_m848973232(__this, L_6, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_7 = Context_get_SupportedCiphers_m2251752138(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_Clear_m2278434462(L_7, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m2658500263(__this, (CipherSuiteCollection_t2487974013 *)NULL, /*hidden argument*/NULL);
		int32_t L_8 = V_0;
		CipherSuiteCollection_t2487974013 * L_9 = CipherSuiteFactory_GetSupportedCiphers_m950549359(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m2658500263(__this, L_9, /*hidden argument*/NULL);
		goto IL_0063;
	}

IL_0056:
	{
		TlsException_t1031360050 * L_10 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_10, ((int32_t)70), _stringLiteral3335441199, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_0063:
	{
		return;
	}
}
// Mono.Security.Protocol.Tls.SecurityParameters Mono.Security.Protocol.Tls.Context::get_Current()
extern Il2CppClass* SecurityParameters_t2935569768_il2cpp_TypeInfo_var;
extern const uint32_t Context_get_Current_m2247657978_MetadataUsageId;
extern "C"  SecurityParameters_t2935569768 * Context_get_Current_m2247657978 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Current_m2247657978_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		SecurityParameters_t2935569768 * L_0 = __this->get_current_5();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		SecurityParameters_t2935569768 * L_1 = (SecurityParameters_t2935569768 *)il2cpp_codegen_object_new(SecurityParameters_t2935569768_il2cpp_TypeInfo_var);
		SecurityParameters__ctor_m711073950(L_1, /*hidden argument*/NULL);
		__this->set_current_5(L_1);
	}

IL_0016:
	{
		SecurityParameters_t2935569768 * L_2 = __this->get_current_5();
		CipherSuite_t580420223 * L_3 = SecurityParameters_get_Cipher_m2063042602(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0037;
		}
	}
	{
		SecurityParameters_t2935569768 * L_4 = __this->get_current_5();
		CipherSuite_t580420223 * L_5 = SecurityParameters_get_Cipher_m2063042602(L_4, /*hidden argument*/NULL);
		CipherSuite_set_Context_m2407825304(L_5, __this, /*hidden argument*/NULL);
	}

IL_0037:
	{
		SecurityParameters_t2935569768 * L_6 = __this->get_current_5();
		return L_6;
	}
}
// Mono.Security.Protocol.Tls.SecurityParameters Mono.Security.Protocol.Tls.Context::get_Negotiating()
extern Il2CppClass* SecurityParameters_t2935569768_il2cpp_TypeInfo_var;
extern const uint32_t Context_get_Negotiating_m622190524_MetadataUsageId;
extern "C"  SecurityParameters_t2935569768 * Context_get_Negotiating_m622190524 (Context_t658806145 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Negotiating_m622190524_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		SecurityParameters_t2935569768 * L_0 = __this->get_negotiating_6();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		SecurityParameters_t2935569768 * L_1 = (SecurityParameters_t2935569768 *)il2cpp_codegen_object_new(SecurityParameters_t2935569768_il2cpp_TypeInfo_var);
		SecurityParameters__ctor_m711073950(L_1, /*hidden argument*/NULL);
		__this->set_negotiating_6(L_1);
	}

IL_0016:
	{
		SecurityParameters_t2935569768 * L_2 = __this->get_negotiating_6();
		CipherSuite_t580420223 * L_3 = SecurityParameters_get_Cipher_m2063042602(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0037;
		}
	}
	{
		SecurityParameters_t2935569768 * L_4 = __this->get_negotiating_6();
		CipherSuite_t580420223 * L_5 = SecurityParameters_get_Cipher_m2063042602(L_4, /*hidden argument*/NULL);
		CipherSuite_set_Context_m2407825304(L_5, __this, /*hidden argument*/NULL);
	}

IL_0037:
	{
		SecurityParameters_t2935569768 * L_6 = __this->get_negotiating_6();
		return L_6;
	}
}
// Mono.Security.Protocol.Tls.SecurityParameters Mono.Security.Protocol.Tls.Context::get_Read()
extern "C"  SecurityParameters_t2935569768 * Context_get_Read_m3694946135 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		SecurityParameters_t2935569768 * L_0 = __this->get_read_7();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.SecurityParameters Mono.Security.Protocol.Tls.Context::get_Write()
extern "C"  SecurityParameters_t2935569768 * Context_get_Write_m3396834016 (Context_t658806145 * __this, const MethodInfo* method)
{
	{
		SecurityParameters_t2935569768 * L_0 = __this->get_write_8();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::StartSwitchingSecurityParameters(System.Boolean)
extern "C"  void Context_StartSwitchingSecurityParameters_m271202242 (Context_t658806145 * __this, bool ___client0, const MethodInfo* method)
{
	{
		bool L_0 = ___client0;
		if (!L_0)
		{
			goto IL_0023;
		}
	}
	{
		SecurityParameters_t2935569768 * L_1 = __this->get_negotiating_6();
		__this->set_write_8(L_1);
		SecurityParameters_t2935569768 * L_2 = __this->get_current_5();
		__this->set_read_7(L_2);
		goto IL_003b;
	}

IL_0023:
	{
		SecurityParameters_t2935569768 * L_3 = __this->get_negotiating_6();
		__this->set_read_7(L_3);
		SecurityParameters_t2935569768 * L_4 = __this->get_current_5();
		__this->set_write_8(L_4);
	}

IL_003b:
	{
		SecurityParameters_t2935569768 * L_5 = __this->get_negotiating_6();
		__this->set_current_5(L_5);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::EndSwitchingSecurityParameters(System.Boolean)
extern "C"  void Context_EndSwitchingSecurityParameters_m284941993 (Context_t658806145 * __this, bool ___client0, const MethodInfo* method)
{
	SecurityParameters_t2935569768 * V_0 = NULL;
	{
		bool L_0 = ___client0;
		if (!L_0)
		{
			goto IL_001e;
		}
	}
	{
		SecurityParameters_t2935569768 * L_1 = __this->get_read_7();
		V_0 = L_1;
		SecurityParameters_t2935569768 * L_2 = __this->get_current_5();
		__this->set_read_7(L_2);
		goto IL_0031;
	}

IL_001e:
	{
		SecurityParameters_t2935569768 * L_3 = __this->get_write_8();
		V_0 = L_3;
		SecurityParameters_t2935569768 * L_4 = __this->get_current_5();
		__this->set_write_8(L_4);
	}

IL_0031:
	{
		SecurityParameters_t2935569768 * L_5 = V_0;
		if (!L_5)
		{
			goto IL_003d;
		}
	}
	{
		SecurityParameters_t2935569768 * L_6 = V_0;
		SecurityParameters_Clear_m2412174537(L_6, /*hidden argument*/NULL);
	}

IL_003d:
	{
		SecurityParameters_t2935569768 * L_7 = V_0;
		__this->set_negotiating_6(L_7);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::.ctor(Mono.Security.Protocol.Tls.Context)
extern "C"  void TlsClientCertificate__ctor_m1023162040 (TlsClientCertificate_t617688751 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		HandshakeMessage__ctor_m1474937626(__this, L_0, ((int32_t)11), /*hidden argument*/NULL);
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::get_ClientCertificate()
extern "C"  X509Certificate_t3076817455 * TlsClientCertificate_get_ClientCertificate_m681521287 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_clientCertSelected_9();
		if (L_0)
		{
			goto IL_0018;
		}
	}
	{
		TlsClientCertificate_GetClientCertificate_m468855481(__this, /*hidden argument*/NULL);
		__this->set_clientCertSelected_9((bool)1);
	}

IL_0018:
	{
		X509Certificate_t3076817455 * L_1 = __this->get_clientCert_10();
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::Update()
extern "C"  void TlsClientCertificate_Update_m3395913260 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::GetClientCertificate()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t3076817455_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_GetClientCertificate_m468855481_MetadataUsageId;
extern "C"  void TlsClientCertificate_GetClientCertificate_m468855481 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_GetClientCertificate_m468855481_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		ClientContext_t3745725366 * L_1 = V_0;
		TlsClientSettings_t3675869755 * L_2 = Context_get_ClientSettings_m4242530400(L_1, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_3 = TlsClientSettings_get_Certificates_m3576351313(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0084;
		}
	}
	{
		ClientContext_t3745725366 * L_4 = V_0;
		TlsClientSettings_t3675869755 * L_5 = Context_get_ClientSettings_m4242530400(L_4, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_6 = TlsClientSettings_get_Certificates_m3576351313(L_5, /*hidden argument*/NULL);
		int32_t L_7 = CollectionBase_get_Count_m313265901(L_6, /*hidden argument*/NULL);
		if ((((int32_t)L_7) <= ((int32_t)0)))
		{
			goto IL_0084;
		}
	}
	{
		ClientContext_t3745725366 * L_8 = V_0;
		SslClientStream_t2101301545 * L_9 = ClientContext_get_SslStream_m714880213(L_8, /*hidden argument*/NULL);
		Context_t658806145 * L_10 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_11 = Context_get_ClientSettings_m4242530400(L_10, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_12 = TlsClientSettings_get_Certificates_m3576351313(L_11, /*hidden argument*/NULL);
		Context_t658806145 * L_13 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_14 = Context_get_ServerSettings_m4010613088(L_13, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_15 = TlsServerSettings_get_Certificates_m2110079385(L_14, /*hidden argument*/NULL);
		X509Certificate_t1623369440 * L_16 = X509CertificateCollection_get_Item_m1107000690(L_15, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_17 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_16);
		X509Certificate_t3076817455 * L_18 = (X509Certificate_t3076817455 *)il2cpp_codegen_object_new(X509Certificate_t3076817455_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m3185150413(L_18, L_17, /*hidden argument*/NULL);
		Context_t658806145 * L_19 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_20 = Context_get_ClientSettings_m4242530400(L_19, /*hidden argument*/NULL);
		String_t* L_21 = TlsClientSettings_get_TargetHost_m4152838452(L_20, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_22 = SslClientStream_RaiseClientCertificateSelection_m4278211596(L_9, L_12, L_18, L_21, (X509CertificateCollection_t3220522733 *)NULL, /*hidden argument*/NULL);
		__this->set_clientCert_10(L_22);
	}

IL_0084:
	{
		ClientContext_t3745725366 * L_23 = V_0;
		TlsClientSettings_t3675869755 * L_24 = Context_get_ClientSettings_m4242530400(L_23, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_25 = __this->get_clientCert_10();
		TlsClientSettings_set_ClientCertificate_m1801603000(L_24, L_25, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::SendCertificates()
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_SendCertificates_m1671707015_MetadataUsageId;
extern "C"  void TlsClientCertificate_SendCertificates_m1671707015 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_SendCertificates_m1671707015_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	X509Certificate_t3076817455 * V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		TlsStream_t89550253 * L_0 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		X509Certificate_t3076817455 * L_1 = TlsClientCertificate_get_ClientCertificate_m681521287(__this, /*hidden argument*/NULL);
		V_1 = L_1;
		goto IL_0031;
	}

IL_0012:
	{
		X509Certificate_t3076817455 * L_2 = V_1;
		ByteU5BU5D_t4260760469* L_3 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_2);
		V_2 = L_3;
		TlsStream_t89550253 * L_4 = V_0;
		ByteU5BU5D_t4260760469* L_5 = V_2;
		TlsStream_WriteInt24_m3944062020(L_4, (((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))), /*hidden argument*/NULL);
		TlsStream_t89550253 * L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = V_2;
		TlsStream_Write_m106187721(L_6, L_7, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_8 = V_1;
		X509Certificate_t3076817455 * L_9 = TlsClientCertificate_FindParentCertificate_m4055579138(__this, L_8, /*hidden argument*/NULL);
		V_1 = L_9;
	}

IL_0031:
	{
		X509Certificate_t3076817455 * L_10 = V_1;
		if (L_10)
		{
			goto IL_0012;
		}
	}
	{
		TlsStream_t89550253 * L_11 = V_0;
		int64_t L_12 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_11);
		TlsStream_WriteInt24_m3944062020(__this, (((int32_t)((int32_t)L_12))), /*hidden argument*/NULL);
		TlsStream_t89550253 * L_13 = V_0;
		ByteU5BU5D_t4260760469* L_14 = TlsStream_ToArray_m613486997(L_13, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(__this, L_14, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::ProcessAsSsl3()
extern "C"  void TlsClientCertificate_ProcessAsSsl3_m2390374503 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = TlsClientCertificate_get_ClientCertificate_m681521287(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		TlsClientCertificate_SendCertificates_m1671707015(__this, /*hidden argument*/NULL);
		goto IL_0016;
	}

IL_0016:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::ProcessAsTls1()
extern "C"  void TlsClientCertificate_ProcessAsTls1_m2412745622 (TlsClientCertificate_t617688751 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = TlsClientCertificate_get_ClientCertificate_m681521287(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		TlsClientCertificate_SendCertificates_m1671707015(__this, /*hidden argument*/NULL);
		goto IL_001d;
	}

IL_0016:
	{
		TlsStream_WriteInt24_m3944062020(__this, 0, /*hidden argument*/NULL);
	}

IL_001d:
	{
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::FindParentCertificate(System.Security.Cryptography.X509Certificates.X509Certificate)
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t1423340799_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_FindParentCertificate_m4055579138_MetadataUsageId;
extern "C"  X509Certificate_t3076817455 * TlsClientCertificate_FindParentCertificate_m4055579138 (TlsClientCertificate_t617688751 * __this, X509Certificate_t3076817455 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_FindParentCertificate_m4055579138_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	X509Certificate_t3076817455 * V_0 = NULL;
	X509CertificateEnumerator_t3573322844 * V_1 = NULL;
	X509Certificate_t3076817455 * V_2 = NULL;
	Il2CppObject * V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		X509Certificate_t3076817455 * L_0 = ___cert0;
		String_t* L_1 = VirtFuncInvoker0< String_t* >::Invoke(12 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetName() */, L_0);
		X509Certificate_t3076817455 * L_2 = ___cert0;
		String_t* L_3 = VirtFuncInvoker0< String_t* >::Invoke(11 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetIssuerName() */, L_2);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		bool L_4 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_1, L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0018;
		}
	}
	{
		return (X509Certificate_t3076817455 *)NULL;
	}

IL_0018:
	{
		Context_t658806145 * L_5 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_6 = Context_get_ClientSettings_m4242530400(L_5, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_7 = TlsClientSettings_get_Certificates_m3576351313(L_6, /*hidden argument*/NULL);
		X509CertificateEnumerator_t3573322844 * L_8 = X509CertificateCollection_GetEnumerator_m1418993187(L_7, /*hidden argument*/NULL);
		V_1 = L_8;
	}

IL_002e:
	try
	{ // begin try (depth: 1)
		{
			goto IL_0057;
		}

IL_0033:
		{
			X509CertificateEnumerator_t3573322844 * L_9 = V_1;
			X509Certificate_t3076817455 * L_10 = X509CertificateEnumerator_get_Current_m49822583(L_9, /*hidden argument*/NULL);
			V_0 = L_10;
			X509Certificate_t3076817455 * L_11 = ___cert0;
			String_t* L_12 = VirtFuncInvoker0< String_t* >::Invoke(12 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetName() */, L_11);
			X509Certificate_t3076817455 * L_13 = ___cert0;
			String_t* L_14 = VirtFuncInvoker0< String_t* >::Invoke(11 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetIssuerName() */, L_13);
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			bool L_15 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_12, L_14, /*hidden argument*/NULL);
			if (!L_15)
			{
				goto IL_0057;
			}
		}

IL_0050:
		{
			X509Certificate_t3076817455 * L_16 = V_0;
			V_2 = L_16;
			IL2CPP_LEAVE(0x7B, FINALLY_0067);
		}

IL_0057:
		{
			X509CertificateEnumerator_t3573322844 * L_17 = V_1;
			bool L_18 = X509CertificateEnumerator_MoveNext_m1871957220(L_17, /*hidden argument*/NULL);
			if (L_18)
			{
				goto IL_0033;
			}
		}

IL_0062:
		{
			IL2CPP_LEAVE(0x79, FINALLY_0067);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_0067;
	}

FINALLY_0067:
	{ // begin finally (depth: 1)
		{
			X509CertificateEnumerator_t3573322844 * L_19 = V_1;
			V_3 = ((Il2CppObject *)IsInst(L_19, IDisposable_t1423340799_il2cpp_TypeInfo_var));
			Il2CppObject * L_20 = V_3;
			if (L_20)
			{
				goto IL_0072;
			}
		}

IL_0071:
		{
			IL2CPP_END_FINALLY(103)
		}

IL_0072:
		{
			Il2CppObject * L_21 = V_3;
			InterfaceActionInvoker0::Invoke(0 /* System.Void System.IDisposable::Dispose() */, IDisposable_t1423340799_il2cpp_TypeInfo_var, L_21);
			IL2CPP_END_FINALLY(103)
		}
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(103)
	{
		IL2CPP_JUMP_TBL(0x7B, IL_007b)
		IL2CPP_JUMP_TBL(0x79, IL_0079)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0079:
	{
		return (X509Certificate_t3076817455 *)NULL;
	}

IL_007b:
	{
		X509Certificate_t3076817455 * L_22 = V_2;
		return L_22;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::.ctor(Mono.Security.Protocol.Tls.Context)
extern "C"  void TlsClientCertificateVerify__ctor_m3006072319 (TlsClientCertificateVerify_t4004312584 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		HandshakeMessage__ctor_m1474937626(__this, L_0, ((int32_t)15), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::Update()
extern "C"  void TlsClientCertificateVerify_Update_m1777063429 (TlsClientCertificateVerify_t4004312584 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::ProcessAsSsl3()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var;
extern Il2CppClass* RSA_t2466814310_il2cpp_TypeInfo_var;
extern Il2CppClass* NotImplementedException_t1912495542_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1948421306;
extern const uint32_t TlsClientCertificateVerify_ProcessAsSsl3_m1668289134_MetadataUsageId;
extern "C"  void TlsClientCertificateVerify_ProcessAsSsl3_m1668289134 (TlsClientCertificateVerify_t4004312584 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_ProcessAsSsl3_m1668289134_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	AsymmetricAlgorithm_t1241690687 * V_0 = NULL;
	ClientContext_t3745725366 * V_1 = NULL;
	SslHandshakeHash_t3344762007 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	RSA_t2466814310 * V_4 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (AsymmetricAlgorithm_t1241690687 *)NULL;
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_1 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		ClientContext_t3745725366 * L_1 = V_1;
		SslClientStream_t2101301545 * L_2 = ClientContext_get_SslStream_m714880213(L_1, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_3 = V_1;
		TlsClientSettings_t3675869755 * L_4 = Context_get_ClientSettings_m4242530400(L_3, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_5 = TlsClientSettings_get_ClientCertificate_m1621563643(L_4, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_6 = V_1;
		TlsClientSettings_t3675869755 * L_7 = Context_get_ClientSettings_m4242530400(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m4152838452(L_7, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t1241690687 * L_9 = SslClientStream_RaisePrivateKeySelection_m3264140164(L_2, L_5, L_8, /*hidden argument*/NULL);
		V_0 = L_9;
		AsymmetricAlgorithm_t1241690687 * L_10 = V_0;
		if (L_10)
		{
			goto IL_0043;
		}
	}
	{
		TlsException_t1031360050 * L_11 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_11, ((int32_t)90), _stringLiteral1948421306, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0043:
	{
		ClientContext_t3745725366 * L_12 = V_1;
		ByteU5BU5D_t4260760469* L_13 = Context_get_MasterSecret_m2040743066(L_12, /*hidden argument*/NULL);
		SslHandshakeHash_t3344762007 * L_14 = (SslHandshakeHash_t3344762007 *)il2cpp_codegen_object_new(SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1720849178(L_14, L_13, /*hidden argument*/NULL);
		V_2 = L_14;
		SslHandshakeHash_t3344762007 * L_15 = V_2;
		ClientContext_t3745725366 * L_16 = V_1;
		TlsStream_t89550253 * L_17 = Context_get_HandshakeMessages_m1457854885(L_16, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_18 = TlsStream_ToArray_m613486997(L_17, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_19 = V_1;
		TlsStream_t89550253 * L_20 = Context_get_HandshakeMessages_m1457854885(L_19, /*hidden argument*/NULL);
		int64_t L_21 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_20);
		HashAlgorithm_TransformFinalBlock_m1193599374(L_15, L_18, 0, (((int32_t)((int32_t)L_21))), /*hidden argument*/NULL);
		V_3 = (ByteU5BU5D_t4260760469*)NULL;
		AsymmetricAlgorithm_t1241690687 * L_22 = V_0;
		if (((RSACryptoServiceProvider_t742318033 *)IsInstSealed(L_22, RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var)))
		{
			goto IL_0093;
		}
	}

IL_007b:
	try
	{ // begin try (depth: 1)
		SslHandshakeHash_t3344762007 * L_23 = V_2;
		AsymmetricAlgorithm_t1241690687 * L_24 = V_0;
		ByteU5BU5D_t4260760469* L_25 = SslHandshakeHash_CreateSignature_m1753519462(L_23, ((RSA_t2466814310 *)CastclassClass(L_24, RSA_t2466814310_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_3 = L_25;
		goto IL_0093;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (NotImplementedException_t1912495542_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_008d;
		throw e;
	}

CATCH_008d:
	{ // begin catch(System.NotImplementedException)
		goto IL_0093;
	} // end catch (depth: 1)

IL_0093:
	{
		ByteU5BU5D_t4260760469* L_26 = V_3;
		if (L_26)
		{
			goto IL_00b0;
		}
	}
	{
		AsymmetricAlgorithm_t1241690687 * L_27 = V_0;
		RSA_t2466814310 * L_28 = TlsClientCertificateVerify_getClientCertRSA_m3586152660(__this, ((RSA_t2466814310 *)CastclassClass(L_27, RSA_t2466814310_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_4 = L_28;
		SslHandshakeHash_t3344762007 * L_29 = V_2;
		RSA_t2466814310 * L_30 = V_4;
		ByteU5BU5D_t4260760469* L_31 = SslHandshakeHash_CreateSignature_m1753519462(L_29, L_30, /*hidden argument*/NULL);
		V_3 = L_31;
	}

IL_00b0:
	{
		ByteU5BU5D_t4260760469* L_32 = V_3;
		TlsStream_Write_m3380208203(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length))))))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_33 = V_3;
		ByteU5BU5D_t4260760469* L_34 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_33, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_34)->max_length)))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::ProcessAsTls1()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var;
extern Il2CppClass* RSA_t2466814310_il2cpp_TypeInfo_var;
extern Il2CppClass* NotImplementedException_t1912495542_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1948421306;
extern const uint32_t TlsClientCertificateVerify_ProcessAsTls1_m1690660253_MetadataUsageId;
extern "C"  void TlsClientCertificateVerify_ProcessAsTls1_m1690660253 (TlsClientCertificateVerify_t4004312584 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_ProcessAsTls1_m1690660253_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	AsymmetricAlgorithm_t1241690687 * V_0 = NULL;
	ClientContext_t3745725366 * V_1 = NULL;
	MD5SHA1_t3104883481 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	RSA_t2466814310 * V_4 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (AsymmetricAlgorithm_t1241690687 *)NULL;
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_1 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		ClientContext_t3745725366 * L_1 = V_1;
		SslClientStream_t2101301545 * L_2 = ClientContext_get_SslStream_m714880213(L_1, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_3 = V_1;
		TlsClientSettings_t3675869755 * L_4 = Context_get_ClientSettings_m4242530400(L_3, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_5 = TlsClientSettings_get_ClientCertificate_m1621563643(L_4, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_6 = V_1;
		TlsClientSettings_t3675869755 * L_7 = Context_get_ClientSettings_m4242530400(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m4152838452(L_7, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t1241690687 * L_9 = SslClientStream_RaisePrivateKeySelection_m3264140164(L_2, L_5, L_8, /*hidden argument*/NULL);
		V_0 = L_9;
		AsymmetricAlgorithm_t1241690687 * L_10 = V_0;
		if (L_10)
		{
			goto IL_0043;
		}
	}
	{
		TlsException_t1031360050 * L_11 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_11, ((int32_t)90), _stringLiteral1948421306, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0043:
	{
		MD5SHA1_t3104883481 * L_12 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_12, /*hidden argument*/NULL);
		V_2 = L_12;
		MD5SHA1_t3104883481 * L_13 = V_2;
		ClientContext_t3745725366 * L_14 = V_1;
		TlsStream_t89550253 * L_15 = Context_get_HandshakeMessages_m1457854885(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_16 = TlsStream_ToArray_m613486997(L_15, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_17 = V_1;
		TlsStream_t89550253 * L_18 = Context_get_HandshakeMessages_m1457854885(L_17, /*hidden argument*/NULL);
		int64_t L_19 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_18);
		HashAlgorithm_ComputeHash_m2755161132(L_13, L_16, 0, (((int32_t)((int32_t)L_19))), /*hidden argument*/NULL);
		V_3 = (ByteU5BU5D_t4260760469*)NULL;
		AsymmetricAlgorithm_t1241690687 * L_20 = V_0;
		if (((RSACryptoServiceProvider_t742318033 *)IsInstSealed(L_20, RSACryptoServiceProvider_t742318033_il2cpp_TypeInfo_var)))
		{
			goto IL_008d;
		}
	}

IL_0075:
	try
	{ // begin try (depth: 1)
		MD5SHA1_t3104883481 * L_21 = V_2;
		AsymmetricAlgorithm_t1241690687 * L_22 = V_0;
		ByteU5BU5D_t4260760469* L_23 = MD5SHA1_CreateSignature_m1164435223(L_21, ((RSA_t2466814310 *)CastclassClass(L_22, RSA_t2466814310_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_3 = L_23;
		goto IL_008d;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (NotImplementedException_t1912495542_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0087;
		throw e;
	}

CATCH_0087:
	{ // begin catch(System.NotImplementedException)
		goto IL_008d;
	} // end catch (depth: 1)

IL_008d:
	{
		ByteU5BU5D_t4260760469* L_24 = V_3;
		if (L_24)
		{
			goto IL_00aa;
		}
	}
	{
		AsymmetricAlgorithm_t1241690687 * L_25 = V_0;
		RSA_t2466814310 * L_26 = TlsClientCertificateVerify_getClientCertRSA_m3586152660(__this, ((RSA_t2466814310 *)CastclassClass(L_25, RSA_t2466814310_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_4 = L_26;
		MD5SHA1_t3104883481 * L_27 = V_2;
		RSA_t2466814310 * L_28 = V_4;
		ByteU5BU5D_t4260760469* L_29 = MD5SHA1_CreateSignature_m1164435223(L_27, L_28, /*hidden argument*/NULL);
		V_3 = L_29;
	}

IL_00aa:
	{
		ByteU5BU5D_t4260760469* L_30 = V_3;
		TlsStream_Write_m3380208203(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length))))))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_31 = V_3;
		ByteU5BU5D_t4260760469* L_32 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_31, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length)))));
		return;
	}
}
// System.Security.Cryptography.RSA Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::getClientCertRSA(System.Security.Cryptography.RSA)
extern Il2CppClass* RSAParameters_t3219890992_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAManaged_t3258726068_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificateVerify_getClientCertRSA_m3586152660_MetadataUsageId;
extern "C"  RSA_t2466814310 * TlsClientCertificateVerify_getClientCertRSA_m3586152660 (TlsClientCertificateVerify_t4004312584 * __this, RSA_t2466814310 * ___privKey0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_getClientCertRSA_m3586152660_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSAParameters_t3219890992  V_0;
	memset(&V_0, 0, sizeof(V_0));
	RSAParameters_t3219890992  V_1;
	memset(&V_1, 0, sizeof(V_1));
	ASN1_t3752917378 * V_2 = NULL;
	ASN1_t3752917378 * V_3 = NULL;
	ASN1_t3752917378 * V_4 = NULL;
	int32_t V_5 = 0;
	RSAManaged_t3258726068 * V_6 = NULL;
	{
		Initobj (RSAParameters_t3219890992_il2cpp_TypeInfo_var, (&V_0));
		RSA_t2466814310 * L_0 = ___privKey0;
		RSAParameters_t3219890992  L_1 = VirtFuncInvoker1< RSAParameters_t3219890992 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_0, (bool)1);
		V_1 = L_1;
		Context_t658806145 * L_2 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_3 = Context_get_ClientSettings_m4242530400(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_4 = TlsClientSettings_get_Certificates_m3576351313(L_3, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_5 = X509CertificateCollection_get_Item_m2960635298(L_4, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_6 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(13 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetPublicKey() */, L_5);
		ASN1_t3752917378 * L_7 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_7, L_6, /*hidden argument*/NULL);
		V_2 = L_7;
		ASN1_t3752917378 * L_8 = V_2;
		ASN1_t3752917378 * L_9 = ASN1_get_Item_m3727278260(L_8, 0, /*hidden argument*/NULL);
		V_3 = L_9;
		ASN1_t3752917378 * L_10 = V_3;
		if (!L_10)
		{
			goto IL_004b;
		}
	}
	{
		ASN1_t3752917378 * L_11 = V_3;
		uint8_t L_12 = ASN1_get_Tag_m442995239(L_11, /*hidden argument*/NULL);
		if ((((int32_t)L_12) == ((int32_t)2)))
		{
			goto IL_004d;
		}
	}

IL_004b:
	{
		return (RSA_t2466814310 *)NULL;
	}

IL_004d:
	{
		ASN1_t3752917378 * L_13 = V_2;
		ASN1_t3752917378 * L_14 = ASN1_get_Item_m3727278260(L_13, 1, /*hidden argument*/NULL);
		V_4 = L_14;
		ASN1_t3752917378 * L_15 = V_4;
		uint8_t L_16 = ASN1_get_Tag_m442995239(L_15, /*hidden argument*/NULL);
		if ((((int32_t)L_16) == ((int32_t)2)))
		{
			goto IL_0065;
		}
	}
	{
		return (RSA_t2466814310 *)NULL;
	}

IL_0065:
	{
		ASN1_t3752917378 * L_17 = V_3;
		ByteU5BU5D_t4260760469* L_18 = ASN1_get_Value_m390067040(L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_19 = TlsClientCertificateVerify_getUnsignedBigInteger_m1216540004(__this, L_18, /*hidden argument*/NULL);
		(&V_0)->set_Modulus_6(L_19);
		ASN1_t3752917378 * L_20 = V_4;
		ByteU5BU5D_t4260760469* L_21 = ASN1_get_Value_m390067040(L_20, /*hidden argument*/NULL);
		(&V_0)->set_Exponent_7(L_21);
		ByteU5BU5D_t4260760469* L_22 = (&V_1)->get_D_2();
		(&V_0)->set_D_2(L_22);
		ByteU5BU5D_t4260760469* L_23 = (&V_1)->get_DP_3();
		(&V_0)->set_DP_3(L_23);
		ByteU5BU5D_t4260760469* L_24 = (&V_1)->get_DQ_4();
		(&V_0)->set_DQ_4(L_24);
		ByteU5BU5D_t4260760469* L_25 = (&V_1)->get_InverseQ_5();
		(&V_0)->set_InverseQ_5(L_25);
		ByteU5BU5D_t4260760469* L_26 = (&V_1)->get_P_0();
		(&V_0)->set_P_0(L_26);
		ByteU5BU5D_t4260760469* L_27 = (&V_1)->get_Q_1();
		(&V_0)->set_Q_1(L_27);
		ByteU5BU5D_t4260760469* L_28 = (&V_0)->get_Modulus_6();
		V_5 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_28)->max_length))))<<(int32_t)3));
		int32_t L_29 = V_5;
		RSAManaged_t3258726068 * L_30 = (RSAManaged_t3258726068 *)il2cpp_codegen_object_new(RSAManaged_t3258726068_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m3804256641(L_30, L_29, /*hidden argument*/NULL);
		V_6 = L_30;
		RSAManaged_t3258726068 * L_31 = V_6;
		RSAParameters_t3219890992  L_32 = V_0;
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void Mono.Security.Cryptography.RSAManaged::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_31, L_32);
		RSAManaged_t3258726068 * L_33 = V_6;
		return L_33;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::getUnsignedBigInteger(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificateVerify_getUnsignedBigInteger_m1216540004_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* TlsClientCertificateVerify_getUnsignedBigInteger_m1216540004 (TlsClientCertificateVerify_t4004312584 * __this, ByteU5BU5D_t4260760469* ___integer0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_getUnsignedBigInteger_m1216540004_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___integer0;
		int32_t L_1 = 0;
		uint8_t L_2 = (L_0)->GetAt(static_cast<il2cpp_array_size_t>(L_1));
		if (L_2)
		{
			goto IL_0021;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_3 = ___integer0;
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length))))-(int32_t)1));
		int32_t L_4 = V_0;
		V_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_4));
		ByteU5BU5D_t4260760469* L_5 = ___integer0;
		ByteU5BU5D_t4260760469* L_6 = V_1;
		int32_t L_7 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_5, 1, (Il2CppArray *)(Il2CppArray *)L_6, 0, L_7, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_8 = V_1;
		return L_8;
	}

IL_0021:
	{
		ByteU5BU5D_t4260760469* L_9 = ___integer0;
		return L_9;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::.ctor(Mono.Security.Protocol.Tls.Context)
extern "C"  void TlsClientFinished__ctor_m3204287283 (TlsClientFinished_t3760597130 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		HandshakeMessage__ctor_m1474937626(__this, L_0, ((int32_t)20), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::.cctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3760597130_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D21_13_FieldInfo_var;
extern const uint32_t TlsClientFinished__cctor_m3258319601_MetadataUsageId;
extern "C"  void TlsClientFinished__cctor_m3258319601 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished__cctor_m3258319601_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D21_13_FieldInfo_var), /*hidden argument*/NULL);
		((TlsClientFinished_t3760597130_StaticFields*)TlsClientFinished_t3760597130_il2cpp_TypeInfo_var->static_fields)->set_Ssl3Marker_9(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::Update()
extern "C"  void TlsClientFinished_Update_m1172310609 (TlsClientFinished_t3760597130 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::ProcessAsSsl3()
extern Il2CppClass* SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3760597130_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientFinished_ProcessAsSsl3_m2163388578_MetadataUsageId;
extern "C"  void TlsClientFinished_ProcessAsSsl3_m2163388578 (TlsClientFinished_t3760597130 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished_ProcessAsSsl3_m2163388578_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = Context_get_MasterSecret_m2040743066(L_0, /*hidden argument*/NULL);
		SslHandshakeHash_t3344762007 * L_2 = (SslHandshakeHash_t3344762007 *)il2cpp_codegen_object_new(SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1720849178(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Context_t658806145 * L_3 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_4 = Context_get_HandshakeMessages_m1457854885(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = TlsStream_ToArray_m613486997(L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		HashAlgorithm_t532578791 * L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = V_1;
		ByteU5BU5D_t4260760469* L_8 = V_1;
		ByteU5BU5D_t4260760469* L_9 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), L_9, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_10 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(TlsClientFinished_t3760597130_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_11 = ((TlsClientFinished_t3760597130_StaticFields*)TlsClientFinished_t3760597130_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t4260760469* L_12 = ((TlsClientFinished_t3760597130_StaticFields*)TlsClientFinished_t3760597130_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t4260760469* L_13 = ((TlsClientFinished_t3760597130_StaticFields*)TlsClientFinished_t3760597130_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		HashAlgorithm_TransformBlock_m3829135048(L_10, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), L_13, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_14 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_15 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_14, L_15, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_16 = V_0;
		ByteU5BU5D_t4260760469* L_17 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_16);
		TlsStream_Write_m106187721(__this, L_17, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::ProcessAsTls1()
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4063346983;
extern const uint32_t TlsClientFinished_ProcessAsTls1_m2185759697_MetadataUsageId;
extern "C"  void TlsClientFinished_ProcessAsTls1_m2185759697 (TlsClientFinished_t3760597130 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished_ProcessAsTls1_m2185759697_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		MD5SHA1_t3104883481 * L_0 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		Context_t658806145 * L_1 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_2 = Context_get_HandshakeMessages_m1457854885(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = TlsStream_ToArray_m613486997(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		HashAlgorithm_t532578791 * L_4 = V_0;
		ByteU5BU5D_t4260760469* L_5 = V_1;
		ByteU5BU5D_t4260760469* L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = HashAlgorithm_ComputeHash_m2755161132(L_4, L_5, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length)))), /*hidden argument*/NULL);
		V_2 = L_7;
		Context_t658806145 * L_8 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_9 = Context_get_Write_m3396834016(L_8, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_10 = SecurityParameters_get_Cipher_m2063042602(L_9, /*hidden argument*/NULL);
		Context_t658806145 * L_11 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_12 = Context_get_MasterSecret_m2040743066(L_11, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = V_2;
		ByteU5BU5D_t4260760469* L_14 = CipherSuite_PRF_m4080641496(L_10, L_12, _stringLiteral4063346983, L_13, ((int32_t)12), /*hidden argument*/NULL);
		TlsStream_Write_m106187721(__this, L_14, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::.ctor(Mono.Security.Protocol.Tls.Context)
extern "C"  void TlsClientHello__ctor_m2164384861 (TlsClientHello_t2038752746 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		HandshakeMessage__ctor_m1474937626(__this, L_0, 1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::Update()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientHello_Update_m22199271_MetadataUsageId;
extern "C"  void TlsClientHello_Update_m22199271 (TlsClientHello_t2038752746 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientHello_Update_m22199271_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_1 = V_0;
		ByteU5BU5D_t4260760469* L_2 = __this->get_random_9();
		Context_set_ClientRandom_m628701865(L_1, L_2, /*hidden argument*/NULL);
		ClientContext_t3745725366 * L_3 = V_0;
		Context_t658806145 * L_4 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int16_t L_5 = Context_get_Protocol_m775713592(L_4, /*hidden argument*/NULL);
		ClientContext_set_ClientHelloProtocol_m31446181(L_3, L_5, /*hidden argument*/NULL);
		__this->set_random_9((ByteU5BU5D_t4260760469*)NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::ProcessAsSsl3()
extern "C"  void TlsClientHello_ProcessAsSsl3_m4013369932 (TlsClientHello_t2038752746 * __this, const MethodInfo* method)
{
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::ProcessAsTls1() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::ProcessAsTls1()
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientHello_ProcessAsTls1_m4035741051_MetadataUsageId;
extern "C"  void TlsClientHello_ProcessAsTls1_m4035741051 (TlsClientHello_t2038752746 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientHello_ProcessAsTls1_m4035741051_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int16_t L_1 = Context_get_Protocol_m775713592(L_0, /*hidden argument*/NULL);
		TlsStream_Write_m3380208203(__this, L_1, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_2 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_2, /*hidden argument*/NULL);
		V_0 = L_2;
		TlsStream_t89550253 * L_3 = V_0;
		Context_t658806145 * L_4 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_5 = Context_GetUnixTime_m545141264(L_4, /*hidden argument*/NULL);
		TlsStream_Write_m3380210001(L_3, L_5, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_6 = V_0;
		Context_t658806145 * L_7 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_8 = Context_GetSecureRandomBytes_m3225475755(L_7, ((int32_t)28), /*hidden argument*/NULL);
		TlsStream_Write_m106187721(L_6, L_8, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = TlsStream_ToArray_m613486997(L_9, /*hidden argument*/NULL);
		__this->set_random_9(L_10);
		TlsStream_t89550253 * L_11 = V_0;
		TlsStream_Reset_m242376048(L_11, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_12 = __this->get_random_9();
		TlsStream_Write_m106187721(__this, L_12, /*hidden argument*/NULL);
		Context_t658806145 * L_13 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_14 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_15 = Context_get_ClientSettings_m4242530400(L_14, /*hidden argument*/NULL);
		String_t* L_16 = TlsClientSettings_get_TargetHost_m4152838452(L_15, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_17 = ClientSessionCache_FromHost_m3499660871(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
		Context_set_SessionId_m3092121576(L_13, L_17, /*hidden argument*/NULL);
		Context_t658806145 * L_18 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_19 = Context_get_SessionId_m1237865483(L_18, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00c6;
		}
	}
	{
		Context_t658806145 * L_20 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_21 = Context_get_SessionId_m1237865483(L_20, /*hidden argument*/NULL);
		TlsStream_Write_m1211282283(__this, (((int32_t)((uint8_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length))))))), /*hidden argument*/NULL);
		Context_t658806145 * L_22 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_23 = Context_get_SessionId_m1237865483(L_22, /*hidden argument*/NULL);
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_23)->max_length))))) <= ((int32_t)0)))
		{
			goto IL_00c1;
		}
	}
	{
		Context_t658806145 * L_24 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_25 = Context_get_SessionId_m1237865483(L_24, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(__this, L_25, /*hidden argument*/NULL);
	}

IL_00c1:
	{
		goto IL_00cd;
	}

IL_00c6:
	{
		TlsStream_Write_m1211282283(__this, 0, /*hidden argument*/NULL);
	}

IL_00cd:
	{
		Context_t658806145 * L_26 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_27 = Context_get_SupportedCiphers_m2251752138(L_26, /*hidden argument*/NULL);
		int32_t L_28 = CipherSuiteCollection_get_Count_m2086503695(L_27, /*hidden argument*/NULL);
		TlsStream_Write_m3380208203(__this, (((int16_t)((int16_t)((int32_t)((int32_t)L_28*(int32_t)2))))), /*hidden argument*/NULL);
		V_1 = 0;
		goto IL_010d;
	}

IL_00ed:
	{
		Context_t658806145 * L_29 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_30 = Context_get_SupportedCiphers_m2251752138(L_29, /*hidden argument*/NULL);
		int32_t L_31 = V_1;
		CipherSuite_t580420223 * L_32 = CipherSuiteCollection_get_Item_m3036376750(L_30, L_31, /*hidden argument*/NULL);
		int16_t L_33 = CipherSuite_get_Code_m3312642635(L_32, /*hidden argument*/NULL);
		TlsStream_Write_m3380208203(__this, L_33, /*hidden argument*/NULL);
		int32_t L_34 = V_1;
		V_1 = ((int32_t)((int32_t)L_34+(int32_t)1));
	}

IL_010d:
	{
		int32_t L_35 = V_1;
		Context_t658806145 * L_36 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_37 = Context_get_SupportedCiphers_m2251752138(L_36, /*hidden argument*/NULL);
		int32_t L_38 = CipherSuiteCollection_get_Count_m2086503695(L_37, /*hidden argument*/NULL);
		if ((((int32_t)L_35) < ((int32_t)L_38)))
		{
			goto IL_00ed;
		}
	}
	{
		TlsStream_Write_m1211282283(__this, 1, /*hidden argument*/NULL);
		Context_t658806145 * L_39 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_40 = Context_get_CompressionMethod_m487253678(L_39, /*hidden argument*/NULL);
		TlsStream_Write_m1211282283(__this, (((int32_t)((uint8_t)L_40))), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::.ctor(Mono.Security.Protocol.Tls.Context)
extern "C"  void TlsClientKeyExchange__ctor_m2125938125 (TlsClientKeyExchange_t3687755450 * __this, Context_t658806145 * ___context0, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		HandshakeMessage__ctor_m1474937626(__this, L_0, ((int32_t)16), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::ProcessAsSsl3()
extern "C"  void TlsClientKeyExchange_ProcessAsSsl3_m1953591228 (TlsClientKeyExchange_t3687755450 * __this, const MethodInfo* method)
{
	{
		TlsClientKeyExchange_ProcessCommon_m4047558437(__this, (bool)0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::ProcessAsTls1()
extern "C"  void TlsClientKeyExchange_ProcessAsTls1_m1975962347 (TlsClientKeyExchange_t3687755450 * __this, const MethodInfo* method)
{
	{
		TlsClientKeyExchange_ProcessCommon_m4047558437(__this, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::ProcessCommon(System.Boolean)
extern Il2CppClass* RSAManaged_t3258726068_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAPKCS1KeyExchangeFormatter_t1037641210_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientKeyExchange_ProcessCommon_m4047558437_MetadataUsageId;
extern "C"  void TlsClientKeyExchange_ProcessCommon_m4047558437 (TlsClientKeyExchange_t3687755450 * __this, bool ___sendLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientKeyExchange_ProcessCommon_m4047558437_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	RSA_t2466814310 * V_1 = NULL;
	RSAPKCS1KeyExchangeFormatter_t1037641210 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_1 = Context_get_Negotiating_m622190524(L_0, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_2 = SecurityParameters_get_Cipher_m2063042602(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = CipherSuite_CreatePremasterSecret_m4245710238(L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		V_1 = (RSA_t2466814310 *)NULL;
		Context_t658806145 * L_4 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_5 = Context_get_ServerSettings_m4010613088(L_4, /*hidden argument*/NULL);
		bool L_6 = TlsServerSettings_get_ServerKeyExchange_m635755587(L_5, /*hidden argument*/NULL);
		if (!L_6)
		{
			goto IL_004e;
		}
	}
	{
		RSAManaged_t3258726068 * L_7 = (RSAManaged_t3258726068 *)il2cpp_codegen_object_new(RSAManaged_t3258726068_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m3378736176(L_7, /*hidden argument*/NULL);
		V_1 = L_7;
		RSA_t2466814310 * L_8 = V_1;
		Context_t658806145 * L_9 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_10 = Context_get_ServerSettings_m4010613088(L_9, /*hidden argument*/NULL);
		RSAParameters_t3219890992  L_11 = TlsServerSettings_get_RsaParameters_m2649016060(L_10, /*hidden argument*/NULL);
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void System.Security.Cryptography.RSA::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_8, L_11);
		goto IL_005f;
	}

IL_004e:
	{
		Context_t658806145 * L_12 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_13 = Context_get_ServerSettings_m4010613088(L_12, /*hidden argument*/NULL);
		RSA_t2466814310 * L_14 = TlsServerSettings_get_CertificateRSA_m2184825443(L_13, /*hidden argument*/NULL);
		V_1 = L_14;
	}

IL_005f:
	{
		RSA_t2466814310 * L_15 = V_1;
		RSAPKCS1KeyExchangeFormatter_t1037641210 * L_16 = (RSAPKCS1KeyExchangeFormatter_t1037641210 *)il2cpp_codegen_object_new(RSAPKCS1KeyExchangeFormatter_t1037641210_il2cpp_TypeInfo_var);
		RSAPKCS1KeyExchangeFormatter__ctor_m2849280717(L_16, L_15, /*hidden argument*/NULL);
		V_2 = L_16;
		RSAPKCS1KeyExchangeFormatter_t1037641210 * L_17 = V_2;
		ByteU5BU5D_t4260760469* L_18 = V_0;
		ByteU5BU5D_t4260760469* L_19 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter::CreateKeyExchange(System.Byte[]) */, L_17, L_18);
		V_3 = L_19;
		bool L_20 = ___sendLength0;
		if (!L_20)
		{
			goto IL_007e;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_21 = V_3;
		TlsStream_Write_m3380208203(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length))))))), /*hidden argument*/NULL);
	}

IL_007e:
	{
		ByteU5BU5D_t4260760469* L_22 = V_3;
		TlsStream_Write_m106187721(__this, L_22, /*hidden argument*/NULL);
		Context_t658806145 * L_23 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_24 = Context_get_Negotiating_m622190524(L_23, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_25 = SecurityParameters_get_Cipher_m2063042602(L_24, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_26 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t4260760469* >::Invoke(6 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeMasterSecret(System.Byte[]) */, L_25, L_26);
		Context_t658806145 * L_27 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_28 = Context_get_Negotiating_m622190524(L_27, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_29 = SecurityParameters_get_Cipher_m2063042602(L_28, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(7 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeKeys() */, L_29);
		RSA_t2466814310 * L_30 = V_1;
		AsymmetricAlgorithm_Clear_m3464408343(L_30, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerCertificate__ctor_m1168678195 (TlsServerCertificate_t3135543351 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, ((int32_t)11), L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::Update()
extern "C"  void TlsServerCertificate_Update_m193766836 (TlsServerCertificate_t3135543351 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_1 = Context_get_ServerSettings_m4010613088(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_2 = __this->get_certificates_9();
		TlsServerSettings_set_Certificates_m3296554870(L_1, L_2, /*hidden argument*/NULL);
		Context_t658806145 * L_3 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_4 = Context_get_ServerSettings_m4010613088(L_3, /*hidden argument*/NULL);
		TlsServerSettings_UpdateCertificateRSA_m2131580665(L_4, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::ProcessAsSsl3()
extern "C"  void TlsServerCertificate_ProcessAsSsl3_m3288731615 (TlsServerCertificate_t3135543351 * __this, const MethodInfo* method)
{
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::ProcessAsTls1() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::ProcessAsTls1()
extern Il2CppClass* X509CertificateCollection_t4135795358_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t1623369440_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificate_ProcessAsTls1_m3311102734_MetadataUsageId;
extern "C"  void TlsServerCertificate_ProcessAsTls1_m3311102734 (TlsServerCertificate_t3135543351 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_ProcessAsTls1_m3311102734_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	X509Certificate_t1623369440 * V_4 = NULL;
	{
		X509CertificateCollection_t4135795358 * L_0 = (X509CertificateCollection_t4135795358 *)il2cpp_codegen_object_new(X509CertificateCollection_t4135795358_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m2517521230(L_0, /*hidden argument*/NULL);
		__this->set_certificates_9(L_0);
		V_0 = 0;
		int32_t L_1 = TlsStream_ReadInt24_m64683956(__this, /*hidden argument*/NULL);
		V_1 = L_1;
		goto IL_004d;
	}

IL_0019:
	{
		int32_t L_2 = TlsStream_ReadInt24_m64683956(__this, /*hidden argument*/NULL);
		V_2 = L_2;
		int32_t L_3 = V_0;
		V_0 = ((int32_t)((int32_t)L_3+(int32_t)3));
		int32_t L_4 = V_2;
		if ((((int32_t)L_4) <= ((int32_t)0)))
		{
			goto IL_004d;
		}
	}
	{
		int32_t L_5 = V_2;
		ByteU5BU5D_t4260760469* L_6 = TlsStream_ReadBytes_m3691381117(__this, L_5, /*hidden argument*/NULL);
		V_3 = L_6;
		ByteU5BU5D_t4260760469* L_7 = V_3;
		X509Certificate_t1623369440 * L_8 = (X509Certificate_t1623369440 *)il2cpp_codegen_object_new(X509Certificate_t1623369440_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m1688356825(L_8, L_7, /*hidden argument*/NULL);
		V_4 = L_8;
		X509CertificateCollection_t4135795358 * L_9 = __this->get_certificates_9();
		X509Certificate_t1623369440 * L_10 = V_4;
		X509CertificateCollection_Add_m1585739833(L_9, L_10, /*hidden argument*/NULL);
		int32_t L_11 = V_0;
		int32_t L_12 = V_2;
		V_0 = ((int32_t)((int32_t)L_11+(int32_t)L_12));
	}

IL_004d:
	{
		int32_t L_13 = V_0;
		int32_t L_14 = V_1;
		if ((((int32_t)L_13) < ((int32_t)L_14)))
		{
			goto IL_0019;
		}
	}
	{
		X509CertificateCollection_t4135795358 * L_15 = __this->get_certificates_9();
		TlsServerCertificate_validateCertificates_m3450033811(__this, L_15, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::checkCertificateUsage(Mono.Security.X509.X509Certificate)
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* KeyUsageExtension_t723947275_il2cpp_TypeInfo_var;
extern Il2CppClass* ExtendedKeyUsageExtension_t3095953362_il2cpp_TypeInfo_var;
extern Il2CppClass* NetscapeCertTypeExtension_t3510265670_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3839369846;
extern Il2CppCodeGenString* _stringLiteral3839369910;
extern Il2CppCodeGenString* _stringLiteral767056352;
extern Il2CppCodeGenString* _stringLiteral4224480558;
extern Il2CppCodeGenString* _stringLiteral4224477675;
extern const uint32_t TlsServerCertificate_checkCertificateUsage_m810534703_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkCertificateUsage_m810534703 (TlsServerCertificate_t3135543351 * __this, X509Certificate_t1623369440 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkCertificateUsage_m810534703_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	int32_t V_1 = 0;
	KeyUsageExtension_t723947275 * V_2 = NULL;
	ExtendedKeyUsageExtension_t3095953362 * V_3 = NULL;
	X509Extension_t4211806920 * V_4 = NULL;
	NetscapeCertTypeExtension_t3510265670 * V_5 = NULL;
	int32_t V_6 = 0;
	int32_t G_B19_0 = 0;
	int32_t G_B26_0 = 0;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		X509Certificate_t1623369440 * L_1 = ___cert0;
		int32_t L_2 = X509Certificate_get_Version_m1452122189(L_1, /*hidden argument*/NULL);
		if ((((int32_t)L_2) >= ((int32_t)3)))
		{
			goto IL_001a;
		}
	}
	{
		return (bool)1;
	}

IL_001a:
	{
		V_1 = 0;
		ClientContext_t3745725366 * L_3 = V_0;
		SecurityParameters_t2935569768 * L_4 = Context_get_Negotiating_m622190524(L_3, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_5 = SecurityParameters_get_Cipher_m2063042602(L_4, /*hidden argument*/NULL);
		int32_t L_6 = CipherSuite_get_ExchangeAlgorithmType_m987153461(L_5, /*hidden argument*/NULL);
		V_6 = L_6;
		int32_t L_7 = V_6;
		if (L_7 == 0)
		{
			goto IL_0061;
		}
		if (L_7 == 1)
		{
			goto IL_0068;
		}
		if (L_7 == 2)
		{
			goto IL_006a;
		}
		if (L_7 == 3)
		{
			goto IL_0059;
		}
		if (L_7 == 4)
		{
			goto IL_004e;
		}
	}
	{
		goto IL_006a;
	}

IL_004e:
	{
		V_1 = ((int32_t)128);
		goto IL_006a;
	}

IL_0059:
	{
		V_1 = ((int32_t)32);
		goto IL_006a;
	}

IL_0061:
	{
		V_1 = 8;
		goto IL_006a;
	}

IL_0068:
	{
		return (bool)0;
	}

IL_006a:
	{
		V_2 = (KeyUsageExtension_t723947275 *)NULL;
		V_3 = (ExtendedKeyUsageExtension_t3095953362 *)NULL;
		X509Certificate_t1623369440 * L_8 = ___cert0;
		X509ExtensionCollection_t3703825542 * L_9 = X509Certificate_get_Extensions_m577630462(L_8, /*hidden argument*/NULL);
		X509Extension_t4211806920 * L_10 = X509ExtensionCollection_get_Item_m2008681985(L_9, _stringLiteral3839369846, /*hidden argument*/NULL);
		V_4 = L_10;
		X509Extension_t4211806920 * L_11 = V_4;
		if (!L_11)
		{
			goto IL_008f;
		}
	}
	{
		X509Extension_t4211806920 * L_12 = V_4;
		KeyUsageExtension_t723947275 * L_13 = (KeyUsageExtension_t723947275 *)il2cpp_codegen_object_new(KeyUsageExtension_t723947275_il2cpp_TypeInfo_var);
		KeyUsageExtension__ctor_m2614086738(L_13, L_12, /*hidden argument*/NULL);
		V_2 = L_13;
	}

IL_008f:
	{
		X509Certificate_t1623369440 * L_14 = ___cert0;
		X509ExtensionCollection_t3703825542 * L_15 = X509Certificate_get_Extensions_m577630462(L_14, /*hidden argument*/NULL);
		X509Extension_t4211806920 * L_16 = X509ExtensionCollection_get_Item_m2008681985(L_15, _stringLiteral3839369910, /*hidden argument*/NULL);
		V_4 = L_16;
		X509Extension_t4211806920 * L_17 = V_4;
		if (!L_17)
		{
			goto IL_00b0;
		}
	}
	{
		X509Extension_t4211806920 * L_18 = V_4;
		ExtendedKeyUsageExtension_t3095953362 * L_19 = (ExtendedKeyUsageExtension_t3095953362 *)il2cpp_codegen_object_new(ExtendedKeyUsageExtension_t3095953362_il2cpp_TypeInfo_var);
		ExtendedKeyUsageExtension__ctor_m2456177771(L_19, L_18, /*hidden argument*/NULL);
		V_3 = L_19;
	}

IL_00b0:
	{
		KeyUsageExtension_t723947275 * L_20 = V_2;
		if (!L_20)
		{
			goto IL_00f3;
		}
	}
	{
		ExtendedKeyUsageExtension_t3095953362 * L_21 = V_3;
		if (!L_21)
		{
			goto IL_00f3;
		}
	}
	{
		KeyUsageExtension_t723947275 * L_22 = V_2;
		int32_t L_23 = V_1;
		bool L_24 = KeyUsageExtension_Support_m2695467029(L_22, L_23, /*hidden argument*/NULL);
		if (L_24)
		{
			goto IL_00ca;
		}
	}
	{
		return (bool)0;
	}

IL_00ca:
	{
		ExtendedKeyUsageExtension_t3095953362 * L_25 = V_3;
		ArrayList_t3948406897 * L_26 = ExtendedKeyUsageExtension_get_KeyPurpose_m1025837013(L_25, /*hidden argument*/NULL);
		bool L_27 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_26, _stringLiteral767056352);
		if (L_27)
		{
			goto IL_00f1;
		}
	}
	{
		ExtendedKeyUsageExtension_t3095953362 * L_28 = V_3;
		ArrayList_t3948406897 * L_29 = ExtendedKeyUsageExtension_get_KeyPurpose_m1025837013(L_28, /*hidden argument*/NULL);
		bool L_30 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_29, _stringLiteral4224480558);
		G_B19_0 = ((int32_t)(L_30));
		goto IL_00f2;
	}

IL_00f1:
	{
		G_B19_0 = 1;
	}

IL_00f2:
	{
		return (bool)G_B19_0;
	}

IL_00f3:
	{
		KeyUsageExtension_t723947275 * L_31 = V_2;
		if (!L_31)
		{
			goto IL_0101;
		}
	}
	{
		KeyUsageExtension_t723947275 * L_32 = V_2;
		int32_t L_33 = V_1;
		bool L_34 = KeyUsageExtension_Support_m2695467029(L_32, L_33, /*hidden argument*/NULL);
		return L_34;
	}

IL_0101:
	{
		ExtendedKeyUsageExtension_t3095953362 * L_35 = V_3;
		if (!L_35)
		{
			goto IL_0130;
		}
	}
	{
		ExtendedKeyUsageExtension_t3095953362 * L_36 = V_3;
		ArrayList_t3948406897 * L_37 = ExtendedKeyUsageExtension_get_KeyPurpose_m1025837013(L_36, /*hidden argument*/NULL);
		bool L_38 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_37, _stringLiteral767056352);
		if (L_38)
		{
			goto IL_012e;
		}
	}
	{
		ExtendedKeyUsageExtension_t3095953362 * L_39 = V_3;
		ArrayList_t3948406897 * L_40 = ExtendedKeyUsageExtension_get_KeyPurpose_m1025837013(L_39, /*hidden argument*/NULL);
		bool L_41 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_40, _stringLiteral4224480558);
		G_B26_0 = ((int32_t)(L_41));
		goto IL_012f;
	}

IL_012e:
	{
		G_B26_0 = 1;
	}

IL_012f:
	{
		return (bool)G_B26_0;
	}

IL_0130:
	{
		X509Certificate_t1623369440 * L_42 = ___cert0;
		X509ExtensionCollection_t3703825542 * L_43 = X509Certificate_get_Extensions_m577630462(L_42, /*hidden argument*/NULL);
		X509Extension_t4211806920 * L_44 = X509ExtensionCollection_get_Item_m2008681985(L_43, _stringLiteral4224477675, /*hidden argument*/NULL);
		V_4 = L_44;
		X509Extension_t4211806920 * L_45 = V_4;
		if (!L_45)
		{
			goto IL_015c;
		}
	}
	{
		X509Extension_t4211806920 * L_46 = V_4;
		NetscapeCertTypeExtension_t3510265670 * L_47 = (NetscapeCertTypeExtension_t3510265670 *)il2cpp_codegen_object_new(NetscapeCertTypeExtension_t3510265670_il2cpp_TypeInfo_var);
		NetscapeCertTypeExtension__ctor_m3785381751(L_47, L_46, /*hidden argument*/NULL);
		V_5 = L_47;
		NetscapeCertTypeExtension_t3510265670 * L_48 = V_5;
		bool L_49 = NetscapeCertTypeExtension_Support_m1416151043(L_48, ((int32_t)64), /*hidden argument*/NULL);
		return L_49;
	}

IL_015c:
	{
		return (bool)1;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::validateCertificates(Mono.Security.X509.X509CertificateCollection)
extern const Il2CppType* Int32_t1153838500_0_0_0_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* Int64_t1153838595_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t3076817455_il2cpp_TypeInfo_var;
extern Il2CppClass* ArrayList_t3948406897_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32_t1153838500_il2cpp_TypeInfo_var;
extern Il2CppClass* X509CertificateCollection_t4135795358_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Chain_t2146754505_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* Type_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32U5BU5D_t3230847821_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3201084482;
extern Il2CppCodeGenString* _stringLiteral1229053321;
extern Il2CppCodeGenString* _stringLiteral3633508578;
extern const uint32_t TlsServerCertificate_validateCertificates_m3450033811_MetadataUsageId;
extern "C"  void TlsServerCertificate_validateCertificates_m3450033811 (TlsServerCertificate_t3135543351 * __this, X509CertificateCollection_t4135795358 * ___certificates0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_validateCertificates_m3450033811_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	uint8_t V_1 = 0;
	ValidationResult_t925859732 * V_2 = NULL;
	int64_t V_3 = 0;
	String_t* V_4 = NULL;
	X509Certificate_t1623369440 * V_5 = NULL;
	X509Certificate_t3076817455 * V_6 = NULL;
	ArrayList_t3948406897 * V_7 = NULL;
	X509CertificateCollection_t4135795358 * V_8 = NULL;
	X509Chain_t2146754505 * V_9 = NULL;
	bool V_10 = false;
	Int32U5BU5D_t3230847821* V_11 = NULL;
	int64_t V_12 = 0;
	int32_t V_13 = 0;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		V_1 = ((int32_t)42);
		ClientContext_t3745725366 * L_1 = V_0;
		SslClientStream_t2101301545 * L_2 = ClientContext_get_SslStream_m714880213(L_1, /*hidden argument*/NULL);
		bool L_3 = VirtFuncInvoker0< bool >::Invoke(29 /* System.Boolean Mono.Security.Protocol.Tls.SslClientStream::get_HaveRemoteValidation2Callback() */, L_2);
		if (!L_3)
		{
			goto IL_00b4;
		}
	}
	{
		ClientContext_t3745725366 * L_4 = V_0;
		SslClientStream_t2101301545 * L_5 = ClientContext_get_SslStream_m714880213(L_4, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_6 = ___certificates0;
		ValidationResult_t925859732 * L_7 = VirtFuncInvoker1< ValidationResult_t925859732 *, X509CertificateCollection_t4135795358 * >::Invoke(32 /* Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.SslClientStream::RaiseServerCertificateValidation2(Mono.Security.X509.X509CertificateCollection) */, L_5, L_6);
		V_2 = L_7;
		ValidationResult_t925859732 * L_8 = V_2;
		bool L_9 = ValidationResult_get_Trusted_m3614004972(L_8, /*hidden argument*/NULL);
		if (!L_9)
		{
			goto IL_0038;
		}
	}
	{
		return;
	}

IL_0038:
	{
		ValidationResult_t925859732 * L_10 = V_2;
		int32_t L_11 = ValidationResult_get_ErrorCode_m4021319972(L_10, /*hidden argument*/NULL);
		V_3 = (((int64_t)((int64_t)L_11)));
		int64_t L_12 = V_3;
		V_12 = L_12;
		int64_t L_13 = V_12;
		if ((((int64_t)L_13) == ((int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)((int32_t)-2146762487))))))))))
		{
			goto IL_007f;
		}
	}
	{
		int64_t L_14 = V_12;
		if ((((int64_t)L_14) == ((int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)((int32_t)-2146762486))))))))))
		{
			goto IL_0077;
		}
	}
	{
		int64_t L_15 = V_12;
		if ((((int64_t)L_15) == ((int64_t)(((int64_t)((uint64_t)(((uint32_t)((uint32_t)((int32_t)-2146762495))))))))))
		{
			goto IL_006f;
		}
	}
	{
		goto IL_0087;
	}

IL_006f:
	{
		V_1 = ((int32_t)45);
		goto IL_008f;
	}

IL_0077:
	{
		V_1 = ((int32_t)48);
		goto IL_008f;
	}

IL_007f:
	{
		V_1 = ((int32_t)48);
		goto IL_008f;
	}

IL_0087:
	{
		V_1 = ((int32_t)46);
		goto IL_008f;
	}

IL_008f:
	{
		int64_t L_16 = V_3;
		int64_t L_17 = L_16;
		Il2CppObject * L_18 = Box(Int64_t1153838595_il2cpp_TypeInfo_var, &L_17);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_19 = String_Format_m2471250780(NULL /*static, unused*/, _stringLiteral3201084482, L_18, /*hidden argument*/NULL);
		V_4 = L_19;
		uint8_t L_20 = V_1;
		String_t* L_21 = V_4;
		String_t* L_22 = String_Concat_m138640077(NULL /*static, unused*/, _stringLiteral1229053321, L_21, /*hidden argument*/NULL);
		TlsException_t1031360050 * L_23 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_23, L_20, L_22, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_00b4:
	{
		X509CertificateCollection_t4135795358 * L_24 = ___certificates0;
		X509Certificate_t1623369440 * L_25 = X509CertificateCollection_get_Item_m1107000690(L_24, 0, /*hidden argument*/NULL);
		V_5 = L_25;
		X509Certificate_t1623369440 * L_26 = V_5;
		ByteU5BU5D_t4260760469* L_27 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_26);
		X509Certificate_t3076817455 * L_28 = (X509Certificate_t3076817455 *)il2cpp_codegen_object_new(X509Certificate_t3076817455_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m3185150413(L_28, L_27, /*hidden argument*/NULL);
		V_6 = L_28;
		ArrayList_t3948406897 * L_29 = (ArrayList_t3948406897 *)il2cpp_codegen_object_new(ArrayList_t3948406897_il2cpp_TypeInfo_var);
		ArrayList__ctor_m1878432947(L_29, /*hidden argument*/NULL);
		V_7 = L_29;
		X509Certificate_t1623369440 * L_30 = V_5;
		bool L_31 = TlsServerCertificate_checkCertificateUsage_m810534703(__this, L_30, /*hidden argument*/NULL);
		if (L_31)
		{
			goto IL_00f1;
		}
	}
	{
		ArrayList_t3948406897 * L_32 = V_7;
		int32_t L_33 = ((int32_t)-2146762490);
		Il2CppObject * L_34 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_33);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_32, L_34);
	}

IL_00f1:
	{
		X509Certificate_t1623369440 * L_35 = V_5;
		bool L_36 = TlsServerCertificate_checkServerIdentity_m2567428742(__this, L_35, /*hidden argument*/NULL);
		if (L_36)
		{
			goto IL_0110;
		}
	}
	{
		ArrayList_t3948406897 * L_37 = V_7;
		int32_t L_38 = ((int32_t)-2146762481);
		Il2CppObject * L_39 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_38);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_37, L_39);
	}

IL_0110:
	{
		X509CertificateCollection_t4135795358 * L_40 = ___certificates0;
		X509CertificateCollection_t4135795358 * L_41 = (X509CertificateCollection_t4135795358 *)il2cpp_codegen_object_new(X509CertificateCollection_t4135795358_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m1273937252(L_41, L_40, /*hidden argument*/NULL);
		V_8 = L_41;
		X509CertificateCollection_t4135795358 * L_42 = V_8;
		X509Certificate_t1623369440 * L_43 = V_5;
		X509CertificateCollection_Remove_m2746334158(L_42, L_43, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_44 = V_8;
		X509Chain_t2146754505 * L_45 = (X509Chain_t2146754505 *)il2cpp_codegen_object_new(X509Chain_t2146754505_il2cpp_TypeInfo_var);
		X509Chain__ctor_m2818311608(L_45, L_44, /*hidden argument*/NULL);
		V_9 = L_45;
		V_10 = (bool)0;
	}

IL_012d:
	try
	{ // begin try (depth: 1)
		X509Chain_t2146754505 * L_46 = V_9;
		X509Certificate_t1623369440 * L_47 = V_5;
		bool L_48 = X509Chain_Build_m2539190260(L_46, L_47, /*hidden argument*/NULL);
		V_10 = L_48;
		goto IL_0146;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_013d;
		throw e;
	}

CATCH_013d:
	{ // begin catch(System.Exception)
		V_10 = (bool)0;
		goto IL_0146;
	} // end catch (depth: 1)

IL_0146:
	{
		bool L_49 = V_10;
		if (L_49)
		{
			goto IL_0243;
		}
	}
	{
		X509Chain_t2146754505 * L_50 = V_9;
		int32_t L_51 = X509Chain_get_Status_m4000836433(L_50, /*hidden argument*/NULL);
		V_13 = L_51;
		int32_t L_52 = V_13;
		if ((((int32_t)L_52) == ((int32_t)1)))
		{
			goto IL_01d9;
		}
	}
	{
		int32_t L_53 = V_13;
		if ((((int32_t)L_53) == ((int32_t)2)))
		{
			goto IL_01c2;
		}
	}
	{
		int32_t L_54 = V_13;
		if ((((int32_t)L_54) == ((int32_t)8)))
		{
			goto IL_01ab;
		}
	}
	{
		int32_t L_55 = V_13;
		if ((((int32_t)L_55) == ((int32_t)((int32_t)32))))
		{
			goto IL_020d;
		}
	}
	{
		int32_t L_56 = V_13;
		if ((((int32_t)L_56) == ((int32_t)((int32_t)1024))))
		{
			goto IL_0194;
		}
	}
	{
		int32_t L_57 = V_13;
		if ((((int32_t)L_57) == ((int32_t)((int32_t)65536))))
		{
			goto IL_01f3;
		}
	}
	{
		goto IL_0227;
	}

IL_0194:
	{
		ArrayList_t3948406897 * L_58 = V_7;
		int32_t L_59 = ((int32_t)-2146869223);
		Il2CppObject * L_60 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_59);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_58, L_60);
		goto IL_0243;
	}

IL_01ab:
	{
		ArrayList_t3948406897 * L_61 = V_7;
		int32_t L_62 = ((int32_t)-2146869232);
		Il2CppObject * L_63 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_62);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_61, L_63);
		goto IL_0243;
	}

IL_01c2:
	{
		ArrayList_t3948406897 * L_64 = V_7;
		int32_t L_65 = ((int32_t)-2146762494);
		Il2CppObject * L_66 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_65);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_64, L_66);
		goto IL_0243;
	}

IL_01d9:
	{
		V_1 = ((int32_t)45);
		ArrayList_t3948406897 * L_67 = V_7;
		int32_t L_68 = ((int32_t)-2146762495);
		Il2CppObject * L_69 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_68);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_67, L_69);
		goto IL_0243;
	}

IL_01f3:
	{
		V_1 = ((int32_t)48);
		ArrayList_t3948406897 * L_70 = V_7;
		int32_t L_71 = ((int32_t)-2146762486);
		Il2CppObject * L_72 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_71);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_70, L_72);
		goto IL_0243;
	}

IL_020d:
	{
		V_1 = ((int32_t)48);
		ArrayList_t3948406897 * L_73 = V_7;
		int32_t L_74 = ((int32_t)-2146762487);
		Il2CppObject * L_75 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_74);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_73, L_75);
		goto IL_0243;
	}

IL_0227:
	{
		V_1 = ((int32_t)46);
		ArrayList_t3948406897 * L_76 = V_7;
		X509Chain_t2146754505 * L_77 = V_9;
		int32_t L_78 = X509Chain_get_Status_m4000836433(L_77, /*hidden argument*/NULL);
		int32_t L_79 = ((int32_t)L_78);
		Il2CppObject * L_80 = Box(Int32_t1153838500_il2cpp_TypeInfo_var, &L_79);
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_76, L_80);
		goto IL_0243;
	}

IL_0243:
	{
		ArrayList_t3948406897 * L_81 = V_7;
		IL2CPP_RUNTIME_CLASS_INIT(Type_t_il2cpp_TypeInfo_var);
		Type_t * L_82 = Type_GetTypeFromHandle_m3806905434(NULL /*static, unused*/, LoadTypeToken(Int32_t1153838500_0_0_0_var), /*hidden argument*/NULL);
		Il2CppArray * L_83 = VirtFuncInvoker1< Il2CppArray *, Type_t * >::Invoke(48 /* System.Array System.Collections.ArrayList::ToArray(System.Type) */, L_81, L_82);
		V_11 = ((Int32U5BU5D_t3230847821*)Castclass(L_83, Int32U5BU5D_t3230847821_il2cpp_TypeInfo_var));
		ClientContext_t3745725366 * L_84 = V_0;
		SslClientStream_t2101301545 * L_85 = ClientContext_get_SslStream_m714880213(L_84, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_86 = V_6;
		Int32U5BU5D_t3230847821* L_87 = V_11;
		bool L_88 = VirtFuncInvoker2< bool, X509Certificate_t3076817455 *, Int32U5BU5D_t3230847821* >::Invoke(31 /* System.Boolean Mono.Security.Protocol.Tls.SslClientStream::RaiseServerCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[]) */, L_85, L_86, L_87);
		if (L_88)
		{
			goto IL_027b;
		}
	}
	{
		uint8_t L_89 = V_1;
		TlsException_t1031360050 * L_90 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_90, L_89, _stringLiteral3633508578, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_90);
	}

IL_027b:
	{
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::checkServerIdentity(Mono.Security.X509.X509Certificate)
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* SubjectAltNameExtension_t3859801861_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3839369848;
extern const uint32_t TlsServerCertificate_checkServerIdentity_m2567428742_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkServerIdentity_m2567428742 (TlsServerCertificate_t3135543351 * __this, X509Certificate_t1623369440 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkServerIdentity_m2567428742_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	String_t* V_1 = NULL;
	X509Extension_t4211806920 * V_2 = NULL;
	SubjectAltNameExtension_t3859801861 * V_3 = NULL;
	String_t* V_4 = NULL;
	StringU5BU5D_t4054002952* V_5 = NULL;
	int32_t V_6 = 0;
	String_t* V_7 = NULL;
	StringU5BU5D_t4054002952* V_8 = NULL;
	int32_t V_9 = 0;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		ClientContext_t3745725366 * L_1 = V_0;
		TlsClientSettings_t3675869755 * L_2 = Context_get_ClientSettings_m4242530400(L_1, /*hidden argument*/NULL);
		String_t* L_3 = TlsClientSettings_get_TargetHost_m4152838452(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		X509Certificate_t1623369440 * L_4 = ___cert0;
		X509ExtensionCollection_t3703825542 * L_5 = X509Certificate_get_Extensions_m577630462(L_4, /*hidden argument*/NULL);
		X509Extension_t4211806920 * L_6 = X509ExtensionCollection_get_Item_m2008681985(L_5, _stringLiteral3839369848, /*hidden argument*/NULL);
		V_2 = L_6;
		X509Extension_t4211806920 * L_7 = V_2;
		if (!L_7)
		{
			goto IL_00a4;
		}
	}
	{
		X509Extension_t4211806920 * L_8 = V_2;
		SubjectAltNameExtension_t3859801861 * L_9 = (SubjectAltNameExtension_t3859801861 *)il2cpp_codegen_object_new(SubjectAltNameExtension_t3859801861_il2cpp_TypeInfo_var);
		SubjectAltNameExtension__ctor_m607242584(L_9, L_8, /*hidden argument*/NULL);
		V_3 = L_9;
		SubjectAltNameExtension_t3859801861 * L_10 = V_3;
		StringU5BU5D_t4054002952* L_11 = SubjectAltNameExtension_get_DNSNames_m3652648031(L_10, /*hidden argument*/NULL);
		V_5 = L_11;
		V_6 = 0;
		goto IL_0062;
	}

IL_0046:
	{
		StringU5BU5D_t4054002952* L_12 = V_5;
		int32_t L_13 = V_6;
		int32_t L_14 = L_13;
		String_t* L_15 = (L_12)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		V_4 = L_15;
		String_t* L_16 = V_1;
		String_t* L_17 = V_4;
		bool L_18 = TlsServerCertificate_Match_m265784176(NULL /*static, unused*/, L_16, L_17, /*hidden argument*/NULL);
		if (!L_18)
		{
			goto IL_005c;
		}
	}
	{
		return (bool)1;
	}

IL_005c:
	{
		int32_t L_19 = V_6;
		V_6 = ((int32_t)((int32_t)L_19+(int32_t)1));
	}

IL_0062:
	{
		int32_t L_20 = V_6;
		StringU5BU5D_t4054002952* L_21 = V_5;
		if ((((int32_t)L_20) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))))))
		{
			goto IL_0046;
		}
	}
	{
		SubjectAltNameExtension_t3859801861 * L_22 = V_3;
		StringU5BU5D_t4054002952* L_23 = SubjectAltNameExtension_get_IPAddresses_m3152105661(L_22, /*hidden argument*/NULL);
		V_8 = L_23;
		V_9 = 0;
		goto IL_0099;
	}

IL_007d:
	{
		StringU5BU5D_t4054002952* L_24 = V_8;
		int32_t L_25 = V_9;
		int32_t L_26 = L_25;
		String_t* L_27 = (L_24)->GetAt(static_cast<il2cpp_array_size_t>(L_26));
		V_7 = L_27;
		String_t* L_28 = V_7;
		String_t* L_29 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		bool L_30 = String_op_Equality_m1260523650(NULL /*static, unused*/, L_28, L_29, /*hidden argument*/NULL);
		if (!L_30)
		{
			goto IL_0093;
		}
	}
	{
		return (bool)1;
	}

IL_0093:
	{
		int32_t L_31 = V_9;
		V_9 = ((int32_t)((int32_t)L_31+(int32_t)1));
	}

IL_0099:
	{
		int32_t L_32 = V_9;
		StringU5BU5D_t4054002952* L_33 = V_8;
		if ((((int32_t)L_32) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_33)->max_length)))))))
		{
			goto IL_007d;
		}
	}

IL_00a4:
	{
		X509Certificate_t1623369440 * L_34 = ___cert0;
		String_t* L_35 = VirtFuncInvoker0< String_t* >::Invoke(16 /* System.String Mono.Security.X509.X509Certificate::get_SubjectName() */, L_34);
		bool L_36 = TlsServerCertificate_checkDomainName_m205565698(__this, L_35, /*hidden argument*/NULL);
		return L_36;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::checkDomainName(System.String)
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Regex_t2161232213_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3436426173;
extern const uint32_t TlsServerCertificate_checkDomainName_m205565698_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkDomainName_m205565698 (TlsServerCertificate_t3135543351 * __this, String_t* ___subjectName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkDomainName_m205565698_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ClientContext_t3745725366 * V_0 = NULL;
	String_t* V_1 = NULL;
	Regex_t2161232213 * V_2 = NULL;
	MatchCollection_t3437694865 * V_3 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3745725366 *)CastclassClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var));
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_1 = ((String_t_StaticFields*)String_t_il2cpp_TypeInfo_var->static_fields)->get_Empty_2();
		V_1 = L_1;
		Regex_t2161232213 * L_2 = (Regex_t2161232213 *)il2cpp_codegen_object_new(Regex_t2161232213_il2cpp_TypeInfo_var);
		Regex__ctor_m2980635200(L_2, _stringLiteral3436426173, /*hidden argument*/NULL);
		V_2 = L_2;
		Regex_t2161232213 * L_3 = V_2;
		String_t* L_4 = ___subjectName0;
		MatchCollection_t3437694865 * L_5 = Regex_Matches_m3092142232(L_3, L_4, /*hidden argument*/NULL);
		V_3 = L_5;
		MatchCollection_t3437694865 * L_6 = V_3;
		int32_t L_7 = MatchCollection_get_Count_m4071817434(L_6, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_7) == ((uint32_t)1))))
		{
			goto IL_005f;
		}
	}
	{
		MatchCollection_t3437694865 * L_8 = V_3;
		Match_t2156507859 * L_9 = VirtFuncInvoker1< Match_t2156507859 *, int32_t >::Invoke(9 /* System.Text.RegularExpressions.Match System.Text.RegularExpressions.MatchCollection::get_Item(System.Int32) */, L_8, 0);
		bool L_10 = Group_get_Success_m3627958764(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005f;
		}
	}
	{
		MatchCollection_t3437694865 * L_11 = V_3;
		Match_t2156507859 * L_12 = VirtFuncInvoker1< Match_t2156507859 *, int32_t >::Invoke(9 /* System.Text.RegularExpressions.Match System.Text.RegularExpressions.MatchCollection::get_Item(System.Int32) */, L_11, 0);
		GroupCollection_t982584267 * L_13 = VirtFuncInvoker0< GroupCollection_t982584267 * >::Invoke(4 /* System.Text.RegularExpressions.GroupCollection System.Text.RegularExpressions.Match::get_Groups() */, L_12);
		Group_t2151468941 * L_14 = GroupCollection_get_Item_m3306908978(L_13, 1, /*hidden argument*/NULL);
		String_t* L_15 = Capture_get_Value_m2353629574(L_14, /*hidden argument*/NULL);
		String_t* L_16 = String_ToString_m1382284457(L_15, /*hidden argument*/NULL);
		V_1 = L_16;
	}

IL_005f:
	{
		ClientContext_t3745725366 * L_17 = V_0;
		TlsClientSettings_t3675869755 * L_18 = Context_get_ClientSettings_m4242530400(L_17, /*hidden argument*/NULL);
		String_t* L_19 = TlsClientSettings_get_TargetHost_m4152838452(L_18, /*hidden argument*/NULL);
		String_t* L_20 = V_1;
		bool L_21 = TlsServerCertificate_Match_m265784176(NULL /*static, unused*/, L_19, L_20, /*hidden argument*/NULL);
		return L_21;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::Match(System.String,System.String)
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificate_Match_m265784176_MetadataUsageId;
extern "C"  bool TlsServerCertificate_Match_m265784176 (Il2CppObject * __this /* static, unused */, String_t* ___hostname0, String_t* ___pattern1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_Match_m265784176_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	String_t* V_2 = NULL;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	String_t* V_5 = NULL;
	int32_t G_B15_0 = 0;
	{
		String_t* L_0 = ___pattern1;
		int32_t L_1 = String_IndexOf_m2775210486(L_0, ((int32_t)42), /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		if ((!(((uint32_t)L_2) == ((uint32_t)(-1)))))
		{
			goto IL_0021;
		}
	}
	{
		String_t* L_3 = ___hostname0;
		String_t* L_4 = ___pattern1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_5 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_6 = String_Compare_m279494420(NULL /*static, unused*/, L_3, L_4, (bool)1, L_5, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_6) == ((int32_t)0))? 1 : 0);
	}

IL_0021:
	{
		int32_t L_7 = V_0;
		String_t* L_8 = ___pattern1;
		int32_t L_9 = String_get_Length_m2979997331(L_8, /*hidden argument*/NULL);
		if ((((int32_t)L_7) == ((int32_t)((int32_t)((int32_t)L_9-(int32_t)1)))))
		{
			goto IL_0041;
		}
	}
	{
		String_t* L_10 = ___pattern1;
		int32_t L_11 = V_0;
		Il2CppChar L_12 = String_get_Chars_m3015341861(L_10, ((int32_t)((int32_t)L_11+(int32_t)1)), /*hidden argument*/NULL);
		if ((((int32_t)L_12) == ((int32_t)((int32_t)46))))
		{
			goto IL_0041;
		}
	}
	{
		return (bool)0;
	}

IL_0041:
	{
		String_t* L_13 = ___pattern1;
		int32_t L_14 = V_0;
		int32_t L_15 = String_IndexOf_m204546721(L_13, ((int32_t)42), ((int32_t)((int32_t)L_14+(int32_t)1)), /*hidden argument*/NULL);
		V_1 = L_15;
		int32_t L_16 = V_1;
		if ((((int32_t)L_16) == ((int32_t)(-1))))
		{
			goto IL_0056;
		}
	}
	{
		return (bool)0;
	}

IL_0056:
	{
		String_t* L_17 = ___pattern1;
		int32_t L_18 = V_0;
		String_t* L_19 = String_Substring_m2809233063(L_17, ((int32_t)((int32_t)L_18+(int32_t)1)), /*hidden argument*/NULL);
		V_2 = L_19;
		String_t* L_20 = ___hostname0;
		int32_t L_21 = String_get_Length_m2979997331(L_20, /*hidden argument*/NULL);
		String_t* L_22 = V_2;
		int32_t L_23 = String_get_Length_m2979997331(L_22, /*hidden argument*/NULL);
		V_3 = ((int32_t)((int32_t)L_21-(int32_t)L_23));
		int32_t L_24 = V_3;
		if ((((int32_t)L_24) > ((int32_t)0)))
		{
			goto IL_0077;
		}
	}
	{
		return (bool)0;
	}

IL_0077:
	{
		String_t* L_25 = ___hostname0;
		int32_t L_26 = V_3;
		String_t* L_27 = V_2;
		String_t* L_28 = V_2;
		int32_t L_29 = String_get_Length_m2979997331(L_28, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_30 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_31 = String_Compare_m3930467693(NULL /*static, unused*/, L_25, L_26, L_27, 0, L_29, (bool)1, L_30, /*hidden argument*/NULL);
		if (!L_31)
		{
			goto IL_0093;
		}
	}
	{
		return (bool)0;
	}

IL_0093:
	{
		int32_t L_32 = V_0;
		if (L_32)
		{
			goto IL_00c3;
		}
	}
	{
		String_t* L_33 = ___hostname0;
		int32_t L_34 = String_IndexOf_m2775210486(L_33, ((int32_t)46), /*hidden argument*/NULL);
		V_4 = L_34;
		int32_t L_35 = V_4;
		if ((((int32_t)L_35) == ((int32_t)(-1))))
		{
			goto IL_00c1;
		}
	}
	{
		int32_t L_36 = V_4;
		String_t* L_37 = ___hostname0;
		int32_t L_38 = String_get_Length_m2979997331(L_37, /*hidden argument*/NULL);
		String_t* L_39 = V_2;
		int32_t L_40 = String_get_Length_m2979997331(L_39, /*hidden argument*/NULL);
		G_B15_0 = ((((int32_t)((((int32_t)L_36) < ((int32_t)((int32_t)((int32_t)L_38-(int32_t)L_40))))? 1 : 0)) == ((int32_t)0))? 1 : 0);
		goto IL_00c2;
	}

IL_00c1:
	{
		G_B15_0 = 1;
	}

IL_00c2:
	{
		return (bool)G_B15_0;
	}

IL_00c3:
	{
		String_t* L_41 = ___pattern1;
		int32_t L_42 = V_0;
		String_t* L_43 = String_Substring_m675079568(L_41, 0, L_42, /*hidden argument*/NULL);
		V_5 = L_43;
		String_t* L_44 = ___hostname0;
		String_t* L_45 = V_5;
		String_t* L_46 = V_5;
		int32_t L_47 = String_get_Length_m2979997331(L_46, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_48 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_49 = String_Compare_m3930467693(NULL /*static, unused*/, L_44, 0, L_45, 0, L_47, (bool)1, L_48, /*hidden argument*/NULL);
		return (bool)((((int32_t)L_49) == ((int32_t)0))? 1 : 0);
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerCertificateRequest__ctor_m2335652088 (TlsServerCertificateRequest_t3188160136 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, ((int32_t)13), L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::Update()
extern "C"  void TlsServerCertificateRequest_Update_m2299446415 (TlsServerCertificateRequest_t3188160136 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_1 = Context_get_ServerSettings_m4010613088(L_0, /*hidden argument*/NULL);
		ClientCertificateTypeU5BU5D_t2297606589* L_2 = __this->get_certificateTypes_9();
		TlsServerSettings_set_CertificateTypes_m2445254267(L_1, L_2, /*hidden argument*/NULL);
		Context_t658806145 * L_3 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_4 = Context_get_ServerSettings_m4010613088(L_3, /*hidden argument*/NULL);
		StringU5BU5D_t4054002952* L_5 = __this->get_distinguisedNames_10();
		TlsServerSettings_set_DistinguisedNames_m3842714172(L_4, L_5, /*hidden argument*/NULL);
		Context_t658806145 * L_6 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_7 = Context_get_ServerSettings_m4010613088(L_6, /*hidden argument*/NULL);
		TlsServerSettings_set_CertificateRequest_m3309749971(L_7, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::ProcessAsSsl3()
extern "C"  void TlsServerCertificateRequest_ProcessAsSsl3_m2972161188 (TlsServerCertificateRequest_t3188160136 * __this, const MethodInfo* method)
{
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::ProcessAsTls1() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::ProcessAsTls1()
extern Il2CppClass* ClientCertificateTypeU5BU5D_t2297606589_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* StringU5BU5D_t4054002952_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t2012439129_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificateRequest_ProcessAsTls1_m2994532307_MetadataUsageId;
extern "C"  void TlsServerCertificateRequest_ProcessAsTls1_m2994532307 (TlsServerCertificateRequest_t3188160136 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificateRequest_ProcessAsTls1_m2994532307_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ASN1_t3752917378 * V_2 = NULL;
	int32_t V_3 = 0;
	ASN1_t3752917378 * V_4 = NULL;
	{
		uint8_t L_0 = TlsStream_ReadByte_m4124498283(__this, /*hidden argument*/NULL);
		V_0 = L_0;
		int32_t L_1 = V_0;
		__this->set_certificateTypes_9(((ClientCertificateTypeU5BU5D_t2297606589*)SZArrayNew(ClientCertificateTypeU5BU5D_t2297606589_il2cpp_TypeInfo_var, (uint32_t)L_1)));
		V_1 = 0;
		goto IL_002c;
	}

IL_001a:
	{
		ClientCertificateTypeU5BU5D_t2297606589* L_2 = __this->get_certificateTypes_9();
		int32_t L_3 = V_1;
		uint8_t L_4 = TlsStream_ReadByte_m4124498283(__this, /*hidden argument*/NULL);
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(L_3), (int32_t)L_4);
		int32_t L_5 = V_1;
		V_1 = ((int32_t)((int32_t)L_5+(int32_t)1));
	}

IL_002c:
	{
		int32_t L_6 = V_1;
		int32_t L_7 = V_0;
		if ((((int32_t)L_6) < ((int32_t)L_7)))
		{
			goto IL_001a;
		}
	}
	{
		int16_t L_8 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_00aa;
		}
	}
	{
		int16_t L_9 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_10 = TlsStream_ReadBytes_m3691381117(__this, L_9, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_11 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_11, L_10, /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t3752917378 * L_12 = V_2;
		int32_t L_13 = ASN1_get_Count_m2214472120(L_12, /*hidden argument*/NULL);
		__this->set_distinguisedNames_10(((StringU5BU5D_t4054002952*)SZArrayNew(StringU5BU5D_t4054002952_il2cpp_TypeInfo_var, (uint32_t)L_13)));
		V_3 = 0;
		goto IL_009e;
	}

IL_0068:
	{
		ASN1_t3752917378 * L_14 = V_2;
		int32_t L_15 = V_3;
		ASN1_t3752917378 * L_16 = ASN1_get_Item_m3727278260(L_14, L_15, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_17 = ASN1_get_Value_m390067040(L_16, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_18 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_18, L_17, /*hidden argument*/NULL);
		V_4 = L_18;
		StringU5BU5D_t4054002952* L_19 = __this->get_distinguisedNames_10();
		int32_t L_20 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t2012439129_il2cpp_TypeInfo_var);
		Encoding_t2012439129 * L_21 = Encoding_get_UTF8_m619558519(NULL /*static, unused*/, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_22 = V_4;
		ASN1_t3752917378 * L_23 = ASN1_get_Item_m3727278260(L_22, 1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_24 = ASN1_get_Value_m390067040(L_23, /*hidden argument*/NULL);
		String_t* L_25 = VirtFuncInvoker1< String_t*, ByteU5BU5D_t4260760469* >::Invoke(22 /* System.String System.Text.Encoding::GetString(System.Byte[]) */, L_21, L_24);
		ArrayElementTypeCheck (L_19, L_25);
		(L_19)->SetAt(static_cast<il2cpp_array_size_t>(L_20), (String_t*)L_25);
		int32_t L_26 = V_3;
		V_3 = ((int32_t)((int32_t)L_26+(int32_t)1));
	}

IL_009e:
	{
		int32_t L_27 = V_3;
		ASN1_t3752917378 * L_28 = V_2;
		int32_t L_29 = ASN1_get_Count_m2214472120(L_28, /*hidden argument*/NULL);
		if ((((int32_t)L_27) < ((int32_t)L_29)))
		{
			goto IL_0068;
		}
	}

IL_00aa:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerFinished__ctor_m3574461054 (TlsServerFinished_t3787353090 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, ((int32_t)20), L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::.cctor()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t3787353090_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D22_14_FieldInfo_var;
extern const uint32_t TlsServerFinished__cctor_m1271550057_MetadataUsageId;
extern "C"  void TlsServerFinished__cctor_m1271550057 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished__cctor_m1271550057_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4));
		RuntimeHelpers_InitializeArray_m2058365049(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t3053238935____U24U24fieldU2D22_14_FieldInfo_var), /*hidden argument*/NULL);
		((TlsServerFinished_t3787353090_StaticFields*)TlsServerFinished_t3787353090_il2cpp_TypeInfo_var->static_fields)->set_Ssl3Marker_9(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::Update()
extern "C"  void TlsServerFinished_Update_m3480508361 (TlsServerFinished_t3787353090 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		Context_set_HandshakeState_m3428098438(L_0, 2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::ProcessAsSsl3()
extern Il2CppClass* SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t3787353090_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4256965714;
extern const uint32_t TlsServerFinished_ProcessAsSsl3_m887802922_MetadataUsageId;
extern "C"  void TlsServerFinished_ProcessAsSsl3_m887802922 (TlsServerFinished_t3787353090 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished_ProcessAsSsl3_m887802922_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = Context_get_MasterSecret_m2040743066(L_0, /*hidden argument*/NULL);
		SslHandshakeHash_t3344762007 * L_2 = (SslHandshakeHash_t3344762007 *)il2cpp_codegen_object_new(SslHandshakeHash_t3344762007_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1720849178(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Context_t658806145 * L_3 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_4 = Context_get_HandshakeMessages_m1457854885(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = TlsStream_ToArray_m613486997(L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		HashAlgorithm_t532578791 * L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = V_1;
		ByteU5BU5D_t4260760469* L_8 = V_1;
		ByteU5BU5D_t4260760469* L_9 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), L_9, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_10 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(TlsServerFinished_t3787353090_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_11 = ((TlsServerFinished_t3787353090_StaticFields*)TlsServerFinished_t3787353090_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t4260760469* L_12 = ((TlsServerFinished_t3787353090_StaticFields*)TlsServerFinished_t3787353090_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t4260760469* L_13 = ((TlsServerFinished_t3787353090_StaticFields*)TlsServerFinished_t3787353090_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		HashAlgorithm_TransformBlock_m3829135048(L_10, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), L_13, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_14 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_15 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_14, L_15, 0, 0, /*hidden argument*/NULL);
		int64_t L_16 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, __this);
		ByteU5BU5D_t4260760469* L_17 = TlsStream_ReadBytes_m3691381117(__this, (((int32_t)((int32_t)L_16))), /*hidden argument*/NULL);
		V_2 = L_17;
		HashAlgorithm_t532578791 * L_18 = V_0;
		ByteU5BU5D_t4260760469* L_19 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_18);
		V_3 = L_19;
		ByteU5BU5D_t4260760469* L_20 = V_3;
		ByteU5BU5D_t4260760469* L_21 = V_2;
		bool L_22 = HandshakeMessage_Compare_m1246403066(NULL /*static, unused*/, L_20, L_21, /*hidden argument*/NULL);
		if (L_22)
		{
			goto IL_0086;
		}
	}
	{
		TlsException_t1031360050 * L_23 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_23, ((int32_t)71), _stringLiteral4256965714, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_0086:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::ProcessAsTls1()
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral597814447;
extern Il2CppCodeGenString* _stringLiteral4256965714;
extern const uint32_t TlsServerFinished_ProcessAsTls1_m910174041_MetadataUsageId;
extern "C"  void TlsServerFinished_ProcessAsTls1_m910174041 (TlsServerFinished_t3787353090 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished_ProcessAsTls1_m910174041_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	HashAlgorithm_t532578791 * V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	{
		int64_t L_0 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, __this);
		ByteU5BU5D_t4260760469* L_1 = TlsStream_ReadBytes_m3691381117(__this, (((int32_t)((int32_t)L_0))), /*hidden argument*/NULL);
		V_0 = L_1;
		MD5SHA1_t3104883481 * L_2 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_2, /*hidden argument*/NULL);
		V_1 = L_2;
		Context_t658806145 * L_3 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_4 = Context_get_HandshakeMessages_m1457854885(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = TlsStream_ToArray_m613486997(L_4, /*hidden argument*/NULL);
		V_2 = L_5;
		HashAlgorithm_t532578791 * L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = V_2;
		ByteU5BU5D_t4260760469* L_8 = V_2;
		ByteU5BU5D_t4260760469* L_9 = HashAlgorithm_ComputeHash_m2755161132(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), /*hidden argument*/NULL);
		V_3 = L_9;
		Context_t658806145 * L_10 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_11 = Context_get_Current_m2247657978(L_10, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_12 = SecurityParameters_get_Cipher_m2063042602(L_11, /*hidden argument*/NULL);
		Context_t658806145 * L_13 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_14 = Context_get_MasterSecret_m2040743066(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_15 = V_3;
		ByteU5BU5D_t4260760469* L_16 = CipherSuite_PRF_m4080641496(L_12, L_14, _stringLiteral597814447, L_15, ((int32_t)12), /*hidden argument*/NULL);
		V_4 = L_16;
		ByteU5BU5D_t4260760469* L_17 = V_4;
		ByteU5BU5D_t4260760469* L_18 = V_0;
		bool L_19 = HandshakeMessage_Compare_m1246403066(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		if (L_19)
		{
			goto IL_0073;
		}
	}
	{
		TlsException_t1031360050 * L_20 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m1800218670(L_20, _stringLiteral4256965714, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_20);
	}

IL_0073:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerHello__ctor_m567935000 (TlsServerHello_t1453856114 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, 2, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::Update()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerHello_Update_m621158767_MetadataUsageId;
extern "C"  void TlsServerHello_Update_m621158767 (TlsServerHello_t1453856114 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_Update_m621158767_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = __this->get_sessionId_11();
		Context_set_SessionId_m3092121576(L_0, L_1, /*hidden argument*/NULL);
		Context_t658806145 * L_2 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = __this->get_random_10();
		Context_set_ServerRandom_m1721522737(L_2, L_3, /*hidden argument*/NULL);
		Context_t658806145 * L_4 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_5 = Context_get_Negotiating_m622190524(L_4, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_6 = __this->get_cipherSuite_12();
		SecurityParameters_set_Cipher_m1888356967(L_5, L_6, /*hidden argument*/NULL);
		Context_t658806145 * L_7 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_8 = __this->get_compressionMethod_9();
		Context_set_CompressionMethod_m3462049341(L_7, L_8, /*hidden argument*/NULL);
		Context_t658806145 * L_9 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		Context_set_ProtocolNegotiated_m2979902407(L_9, (bool)1, /*hidden argument*/NULL);
		Context_t658806145 * L_10 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = Context_get_ClientRandom_m1978397270(L_10, /*hidden argument*/NULL);
		V_0 = (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length))));
		Context_t658806145 * L_12 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = Context_get_ServerRandom_m2005153230(L_12, /*hidden argument*/NULL);
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length))));
		int32_t L_14 = V_0;
		int32_t L_15 = V_1;
		V_2 = ((int32_t)((int32_t)L_14+(int32_t)L_15));
		int32_t L_16 = V_2;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_16));
		Context_t658806145 * L_17 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_18 = Context_get_ClientRandom_m1978397270(L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_19 = V_3;
		int32_t L_20 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, 0, (Il2CppArray *)(Il2CppArray *)L_19, 0, L_20, /*hidden argument*/NULL);
		Context_t658806145 * L_21 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_22 = Context_get_ServerRandom_m2005153230(L_21, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_23 = V_3;
		int32_t L_24 = V_0;
		int32_t L_25 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_22, 0, (Il2CppArray *)(Il2CppArray *)L_23, L_24, L_25, /*hidden argument*/NULL);
		Context_t658806145 * L_26 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_27 = V_3;
		Context_set_RandomCS_m2386417540(L_26, L_27, /*hidden argument*/NULL);
		int32_t L_28 = V_2;
		V_4 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_28));
		Context_t658806145 * L_29 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_30 = Context_get_ServerRandom_m2005153230(L_29, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_31 = V_4;
		int32_t L_32 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_30, 0, (Il2CppArray *)(Il2CppArray *)L_31, 0, L_32, /*hidden argument*/NULL);
		Context_t658806145 * L_33 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_34 = Context_get_ClientRandom_m1978397270(L_33, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_35 = V_4;
		int32_t L_36 = V_1;
		int32_t L_37 = V_0;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_34, 0, (Il2CppArray *)(Il2CppArray *)L_35, L_36, L_37, /*hidden argument*/NULL);
		Context_t658806145 * L_38 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_39 = V_4;
		Context_set_RandomSC_m2143148452(L_38, L_39, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::ProcessAsSsl3()
extern "C"  void TlsServerHello_ProcessAsSsl3_m3531078596 (TlsServerHello_t1453856114 * __this, const MethodInfo* method)
{
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::ProcessAsTls1() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::ProcessAsTls1()
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3037247502;
extern const uint32_t TlsServerHello_ProcessAsTls1_m3553449715_MetadataUsageId;
extern "C"  void TlsServerHello_ProcessAsTls1_m3553449715 (TlsServerHello_t1453856114 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_ProcessAsTls1_m3553449715_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int16_t V_1 = 0;
	{
		int16_t L_0 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		TlsServerHello_processProtocol_m3684387598(__this, L_0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = TlsStream_ReadBytes_m3691381117(__this, ((int32_t)32), /*hidden argument*/NULL);
		__this->set_random_10(L_1);
		uint8_t L_2 = TlsStream_ReadByte_m4124498283(__this, /*hidden argument*/NULL);
		V_0 = L_2;
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) <= ((int32_t)0)))
		{
			goto IL_0076;
		}
	}
	{
		int32_t L_4 = V_0;
		ByteU5BU5D_t4260760469* L_5 = TlsStream_ReadBytes_m3691381117(__this, L_4, /*hidden argument*/NULL);
		__this->set_sessionId_11(L_5);
		Context_t658806145 * L_6 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsClientSettings_t3675869755 * L_7 = Context_get_ClientSettings_m4242530400(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m4152838452(L_7, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_9 = __this->get_sessionId_11();
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		ClientSessionCache_Add_m1176188661(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		Context_t658806145 * L_10 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = __this->get_sessionId_11();
		Context_t658806145 * L_12 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = Context_get_SessionId_m1237865483(L_12, /*hidden argument*/NULL);
		bool L_14 = HandshakeMessage_Compare_m1246403066(NULL /*static, unused*/, L_11, L_13, /*hidden argument*/NULL);
		Context_set_AbbreviatedHandshake_m66679943(L_10, L_14, /*hidden argument*/NULL);
		goto IL_0082;
	}

IL_0076:
	{
		Context_t658806145 * L_15 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		Context_set_AbbreviatedHandshake_m66679943(L_15, (bool)0, /*hidden argument*/NULL);
	}

IL_0082:
	{
		int16_t L_16 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		V_1 = L_16;
		Context_t658806145 * L_17 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_18 = Context_get_SupportedCiphers_m2251752138(L_17, /*hidden argument*/NULL);
		int16_t L_19 = V_1;
		int32_t L_20 = CipherSuiteCollection_IndexOf_m102883581(L_18, L_19, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_20) == ((uint32_t)(-1)))))
		{
			goto IL_00ad;
		}
	}
	{
		TlsException_t1031360050 * L_21 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_21, ((int32_t)71), _stringLiteral3037247502, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_21);
	}

IL_00ad:
	{
		Context_t658806145 * L_22 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_23 = Context_get_SupportedCiphers_m2251752138(L_22, /*hidden argument*/NULL);
		int16_t L_24 = V_1;
		CipherSuite_t580420223 * L_25 = CipherSuiteCollection_get_Item_m3036374952(L_23, L_24, /*hidden argument*/NULL);
		__this->set_cipherSuite_12(L_25);
		uint8_t L_26 = TlsStream_ReadByte_m4124498283(__this, /*hidden argument*/NULL);
		__this->set_compressionMethod_9(L_26);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::processProtocol(System.Int16)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3335441199;
extern const uint32_t TlsServerHello_processProtocol_m3684387598_MetadataUsageId;
extern "C"  void TlsServerHello_processProtocol_m3684387598 (TlsServerHello_t1453856114 * __this, int16_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_processProtocol_m3684387598_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int16_t L_1 = ___protocol0;
		int32_t L_2 = Context_DecodeProtocolCode_m1937919790(L_0, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		int32_t L_3 = V_0;
		Context_t658806145 * L_4 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_5 = Context_get_SecurityProtocolFlags_m1914144888(L_4, /*hidden argument*/NULL);
		int32_t L_6 = V_0;
		if ((((int32_t)((int32_t)((int32_t)L_3&(int32_t)L_5))) == ((int32_t)L_6)))
		{
			goto IL_003b;
		}
	}
	{
		Context_t658806145 * L_7 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_8 = Context_get_SecurityProtocolFlags_m1914144888(L_7, /*hidden argument*/NULL);
		if ((!(((uint32_t)((int32_t)((int32_t)L_8&(int32_t)((int32_t)-1073741824)))) == ((uint32_t)((int32_t)-1073741824)))))
		{
			goto IL_0079;
		}
	}

IL_003b:
	{
		Context_t658806145 * L_9 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_10 = V_0;
		Context_set_SecurityProtocol_m848973232(L_9, L_10, /*hidden argument*/NULL);
		Context_t658806145 * L_11 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_12 = Context_get_SupportedCiphers_m2251752138(L_11, /*hidden argument*/NULL);
		CipherSuiteCollection_Clear_m2278434462(L_12, /*hidden argument*/NULL);
		Context_t658806145 * L_13 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m2658500263(L_13, (CipherSuiteCollection_t2487974013 *)NULL, /*hidden argument*/NULL);
		Context_t658806145 * L_14 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_15 = V_0;
		CipherSuiteCollection_t2487974013 * L_16 = CipherSuiteFactory_GetSupportedCiphers_m950549359(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m2658500263(L_14, L_16, /*hidden argument*/NULL);
		goto IL_0086;
	}

IL_0079:
	{
		TlsException_t1031360050 * L_17 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_17, ((int32_t)70), _stringLiteral3335441199, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_17);
	}

IL_0086:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerHelloDone__ctor_m911934774 (TlsServerHelloDone_t2604642324 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, ((int32_t)14), L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone::ProcessAsSsl3()
extern "C"  void TlsServerHelloDone_ProcessAsSsl3_m3691706082 (TlsServerHelloDone_t2604642324 * __this, const MethodInfo* method)
{
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone::ProcessAsTls1()
extern "C"  void TlsServerHelloDone_ProcessAsTls1_m3714077201 (TlsServerHelloDone_t2604642324 * __this, const MethodInfo* method)
{
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::.ctor(Mono.Security.Protocol.Tls.Context,System.Byte[])
extern "C"  void TlsServerKeyExchange__ctor_m3272285064 (TlsServerKeyExchange_t1910642754 * __this, Context_t658806145 * ___context0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer1;
		HandshakeMessage__ctor_m2754795165(__this, L_0, ((int32_t)12), L_1, /*hidden argument*/NULL);
		TlsServerKeyExchange_verifySignature_m61991115(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::Update()
extern "C"  void TlsServerKeyExchange_Update_m2843595775 (TlsServerKeyExchange_t1910642754 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m566705900(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_1 = Context_get_ServerSettings_m4010613088(L_0, /*hidden argument*/NULL);
		TlsServerSettings_set_ServerKeyExchange_m1327105940(L_1, (bool)1, /*hidden argument*/NULL);
		Context_t658806145 * L_2 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_3 = Context_get_ServerSettings_m4010613088(L_2, /*hidden argument*/NULL);
		RSAParameters_t3219890992  L_4 = __this->get_rsaParams_9();
		TlsServerSettings_set_RsaParameters_m1298390193(L_3, L_4, /*hidden argument*/NULL);
		Context_t658806145 * L_5 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_6 = Context_get_ServerSettings_m4010613088(L_5, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_7 = __this->get_signedParams_10();
		TlsServerSettings_set_SignedParams_m1629591715(L_6, L_7, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::ProcessAsSsl3()
extern "C"  void TlsServerKeyExchange_ProcessAsSsl3_m2851948340 (TlsServerKeyExchange_t1910642754 * __this, const MethodInfo* method)
{
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::ProcessAsTls1() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::ProcessAsTls1()
extern Il2CppClass* RSAParameters_t3219890992_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerKeyExchange_ProcessAsTls1_m2874319459_MetadataUsageId;
extern "C"  void TlsServerKeyExchange_ProcessAsTls1_m2874319459 (TlsServerKeyExchange_t1910642754 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerKeyExchange_ProcessAsTls1_m2874319459_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSAParameters_t3219890992  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		Initobj (RSAParameters_t3219890992_il2cpp_TypeInfo_var, (&V_0));
		RSAParameters_t3219890992  L_0 = V_0;
		__this->set_rsaParams_9(L_0);
		RSAParameters_t3219890992 * L_1 = __this->get_address_of_rsaParams_9();
		int16_t L_2 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = TlsStream_ReadBytes_m3691381117(__this, L_2, /*hidden argument*/NULL);
		L_1->set_Modulus_6(L_3);
		RSAParameters_t3219890992 * L_4 = __this->get_address_of_rsaParams_9();
		int16_t L_5 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_6 = TlsStream_ReadBytes_m3691381117(__this, L_5, /*hidden argument*/NULL);
		L_4->set_Exponent_7(L_6);
		int16_t L_7 = TlsStream_ReadInt16_m3059078429(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_8 = TlsStream_ReadBytes_m3691381117(__this, L_7, /*hidden argument*/NULL);
		__this->set_signedParams_10(L_8);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::verifySignature()
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3655638485;
extern const uint32_t TlsServerKeyExchange_verifySignature_m61991115_MetadataUsageId;
extern "C"  void TlsServerKeyExchange_verifySignature_m61991115 (TlsServerKeyExchange_t1910642754 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerKeyExchange_verifySignature_m61991115_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	MD5SHA1_t3104883481 * V_0 = NULL;
	int32_t V_1 = 0;
	TlsStream_t89550253 * V_2 = NULL;
	bool V_3 = false;
	{
		MD5SHA1_t3104883481 * L_0 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		RSAParameters_t3219890992 * L_1 = __this->get_address_of_rsaParams_9();
		ByteU5BU5D_t4260760469* L_2 = L_1->get_Modulus_6();
		RSAParameters_t3219890992 * L_3 = __this->get_address_of_rsaParams_9();
		ByteU5BU5D_t4260760469* L_4 = L_3->get_Exponent_7();
		V_1 = ((int32_t)((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length))))+(int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length))))))+(int32_t)4));
		TlsStream_t89550253 * L_5 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_5, /*hidden argument*/NULL);
		V_2 = L_5;
		TlsStream_t89550253 * L_6 = V_2;
		Context_t658806145 * L_7 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_8 = Context_get_RandomCS_m1402706075(L_7, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(L_6, L_8, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_9 = V_2;
		ByteU5BU5D_t4260760469* L_10 = TlsStream_ToArray_m613486997(__this, /*hidden argument*/NULL);
		int32_t L_11 = V_1;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, L_9, L_10, 0, L_11);
		MD5SHA1_t3104883481 * L_12 = V_0;
		TlsStream_t89550253 * L_13 = V_2;
		ByteU5BU5D_t4260760469* L_14 = TlsStream_ToArray_m613486997(L_13, /*hidden argument*/NULL);
		HashAlgorithm_ComputeHash_m1325366732(L_12, L_14, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_15 = V_2;
		TlsStream_Reset_m242376048(L_15, /*hidden argument*/NULL);
		MD5SHA1_t3104883481 * L_16 = V_0;
		Context_t658806145 * L_17 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		TlsServerSettings_t3702625715 * L_18 = Context_get_ServerSettings_m4010613088(L_17, /*hidden argument*/NULL);
		RSA_t2466814310 * L_19 = TlsServerSettings_get_CertificateRSA_m2184825443(L_18, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_20 = __this->get_signedParams_10();
		bool L_21 = MD5SHA1_VerifySignature_m3462577241(L_16, L_19, L_20, /*hidden argument*/NULL);
		V_3 = L_21;
		bool L_22 = V_3;
		if (L_22)
		{
			goto IL_008c;
		}
	}
	{
		TlsException_t1031360050 * L_23 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_23, ((int32_t)50), _stringLiteral3655638485, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_008c:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::.ctor(Mono.Security.Protocol.Tls.Context,Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern "C"  void HandshakeMessage__ctor_m1474937626 (HandshakeMessage_t2623608376 * __this, Context_t658806145 * ___context0, uint8_t ___handshakeType1, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ___context0;
		uint8_t L_1 = ___handshakeType1;
		HandshakeMessage__ctor_m3955100159(__this, L_0, L_1, ((int32_t)22), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::.ctor(Mono.Security.Protocol.Tls.Context,Mono.Security.Protocol.Tls.Handshake.HandshakeType,Mono.Security.Protocol.Tls.ContentType)
extern "C"  void HandshakeMessage__ctor_m3955100159 (HandshakeMessage_t2623608376 * __this, Context_t658806145 * ___context0, uint8_t ___handshakeType1, uint8_t ___contentType2, const MethodInfo* method)
{
	{
		TlsStream__ctor_m2595943107(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_0 = ___context0;
		__this->set_context_5(L_0);
		uint8_t L_1 = ___handshakeType1;
		__this->set_handshakeType_6(L_1);
		uint8_t L_2 = ___contentType2;
		__this->set_contentType_7(L_2);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::.ctor(Mono.Security.Protocol.Tls.Context,Mono.Security.Protocol.Tls.Handshake.HandshakeType,System.Byte[])
extern "C"  void HandshakeMessage__ctor_m2754795165 (HandshakeMessage_t2623608376 * __this, Context_t658806145 * ___context0, uint8_t ___handshakeType1, ByteU5BU5D_t4260760469* ___data2, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___data2;
		TlsStream__ctor_m868803046(__this, L_0, /*hidden argument*/NULL);
		Context_t658806145 * L_1 = ___context0;
		__this->set_context_5(L_1);
		uint8_t L_2 = ___handshakeType1;
		__this->set_handshakeType_6(L_2);
		return;
	}
}
// Mono.Security.Protocol.Tls.Context Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::get_Context()
extern "C"  Context_t658806145 * HandshakeMessage_get_Context_m3519080307 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeType Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::get_HandshakeType()
extern "C"  uint8_t HandshakeMessage_get_HandshakeType_m1324026282 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_handshakeType_6();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.ContentType Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::get_ContentType()
extern "C"  uint8_t HandshakeMessage_get_ContentType_m3318987123 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	{
		uint8_t L_0 = __this->get_contentType_7();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Process()
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3332579661;
extern const uint32_t HandshakeMessage_Process_m1242505358_MetadataUsageId;
extern "C"  void HandshakeMessage_Process_m1242505358 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HandshakeMessage_Process_m1242505358_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		Context_t658806145 * L_0 = HandshakeMessage_get_Context_m3519080307(__this, /*hidden argument*/NULL);
		int32_t L_1 = Context_get_SecurityProtocol_m2457665585(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)-1073741824))))
		{
			goto IL_0037;
		}
	}
	{
		int32_t L_3 = V_0;
		if ((((int32_t)L_3) == ((int32_t)((int32_t)12))))
		{
			goto IL_004d;
		}
	}
	{
		int32_t L_4 = V_0;
		if ((((int32_t)L_4) == ((int32_t)((int32_t)48))))
		{
			goto IL_0042;
		}
	}
	{
		int32_t L_5 = V_0;
		if ((((int32_t)L_5) == ((int32_t)((int32_t)192))))
		{
			goto IL_0037;
		}
	}
	{
		goto IL_004d;
	}

IL_0037:
	{
		VirtActionInvoker0::Invoke(24 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::ProcessAsTls1() */, __this);
		goto IL_0058;
	}

IL_0042:
	{
		VirtActionInvoker0::Invoke(25 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::ProcessAsSsl3() */, __this);
		goto IL_0058;
	}

IL_004d:
	{
		NotSupportedException_t1732551818 * L_6 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m133757637(L_6, _stringLiteral3332579661, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0058:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Update()
extern "C"  void HandshakeMessage_Update_m566705900 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	{
		bool L_0 = VirtFuncInvoker0< bool >::Invoke(7 /* System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_CanWrite() */, __this);
		if (!L_0)
		{
			goto IL_0045;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_cache_8();
		if (L_1)
		{
			goto IL_0022;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_2 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(27 /* System.Byte[] Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::EncodeMessage() */, __this);
		__this->set_cache_8(L_2);
	}

IL_0022:
	{
		Context_t658806145 * L_3 = __this->get_context_5();
		TlsStream_t89550253 * L_4 = Context_get_HandshakeMessages_m1457854885(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = __this->get_cache_8();
		TlsStream_Write_m106187721(L_4, L_5, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(__this, /*hidden argument*/NULL);
		__this->set_cache_8((ByteU5BU5D_t4260760469*)NULL);
	}

IL_0045:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::EncodeMessage()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t HandshakeMessage_EncodeMessage_m1406146266_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* HandshakeMessage_EncodeMessage_m1406146266 (HandshakeMessage_t2623608376 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HandshakeMessage_EncodeMessage_m1406146266_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	int32_t V_1 = 0;
	{
		__this->set_cache_8((ByteU5BU5D_t4260760469*)NULL);
		bool L_0 = VirtFuncInvoker0< bool >::Invoke(7 /* System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_CanWrite() */, __this);
		if (!L_0)
		{
			goto IL_006b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = TlsStream_ToArray_m613486997(__this, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t4260760469* L_2 = V_0;
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length))));
		int32_t L_3 = V_1;
		__this->set_cache_8(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4+(int32_t)L_3)))));
		ByteU5BU5D_t4260760469* L_4 = __this->get_cache_8();
		uint8_t L_5 = HandshakeMessage_get_HandshakeType_m1324026282(__this, /*hidden argument*/NULL);
		(L_4)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_5);
		ByteU5BU5D_t4260760469* L_6 = __this->get_cache_8();
		int32_t L_7 = V_1;
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_7>>(int32_t)((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_8 = __this->get_cache_8();
		int32_t L_9 = V_1;
		(L_8)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_9>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_10 = __this->get_cache_8();
		int32_t L_11 = V_1;
		(L_10)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)L_11))));
		ByteU5BU5D_t4260760469* L_12 = V_0;
		ByteU5BU5D_t4260760469* L_13 = __this->get_cache_8();
		int32_t L_14 = V_1;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_12, 0, (Il2CppArray *)(Il2CppArray *)L_13, 4, L_14, /*hidden argument*/NULL);
	}

IL_006b:
	{
		ByteU5BU5D_t4260760469* L_15 = __this->get_cache_8();
		return L_15;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Compare(System.Byte[],System.Byte[])
extern "C"  bool HandshakeMessage_Compare_m1246403066 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t4260760469* ___buffer10, ByteU5BU5D_t4260760469* ___buffer21, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___buffer10;
		if (!L_0)
		{
			goto IL_000c;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = ___buffer21;
		if (L_1)
		{
			goto IL_000e;
		}
	}

IL_000c:
	{
		return (bool)0;
	}

IL_000e:
	{
		ByteU5BU5D_t4260760469* L_2 = ___buffer10;
		ByteU5BU5D_t4260760469* L_3 = ___buffer21;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length))))) == ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))))))
		{
			goto IL_001b;
		}
	}
	{
		return (bool)0;
	}

IL_001b:
	{
		V_0 = 0;
		goto IL_0033;
	}

IL_0022:
	{
		ByteU5BU5D_t4260760469* L_4 = ___buffer10;
		int32_t L_5 = V_0;
		int32_t L_6 = L_5;
		uint8_t L_7 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_6));
		ByteU5BU5D_t4260760469* L_8 = ___buffer21;
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint8_t L_11 = (L_8)->GetAt(static_cast<il2cpp_array_size_t>(L_10));
		if ((((int32_t)L_7) == ((int32_t)L_11)))
		{
			goto IL_002f;
		}
	}
	{
		return (bool)0;
	}

IL_002f:
	{
		int32_t L_12 = V_0;
		V_0 = ((int32_t)((int32_t)L_12+(int32_t)1));
	}

IL_0033:
	{
		int32_t L_13 = V_0;
		ByteU5BU5D_t4260760469* L_14 = ___buffer10;
		if ((((int32_t)L_13) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))))))
		{
			goto IL_0022;
		}
	}
	{
		return (bool)1;
	}
}
// System.Void Mono.Security.Protocol.Tls.HttpsClientStream::.ctor(System.IO.Stream,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Net.HttpWebRequest,System.Byte[])
extern Il2CppClass* ServicePointManager_t165502476_il2cpp_TypeInfo_var;
extern Il2CppClass* HttpsClientStream_t25214728_il2cpp_TypeInfo_var;
extern Il2CppClass* CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var;
extern Il2CppClass* PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var;
extern const MethodInfo* HttpsClientStream_U3CHttpsClientStreamU3Em__0_m3456026544_MethodInfo_var;
extern const MethodInfo* HttpsClientStream_U3CHttpsClientStreamU3Em__1_m3849503321_MethodInfo_var;
extern const uint32_t HttpsClientStream__ctor_m1831138033_MetadataUsageId;
extern "C"  void HttpsClientStream__ctor_m1831138033 (HttpsClientStream_t25214728 * __this, Stream_t1561764144 * ___stream0, X509CertificateCollection_t3220522733 * ___clientCertificates1, HttpWebRequest_t3949036893 * ___request2, ByteU5BU5D_t4260760469* ___buffer3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream__ctor_m1831138033_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HttpsClientStream_t25214728 * G_B4_0 = NULL;
	HttpsClientStream_t25214728 * G_B3_0 = NULL;
	HttpsClientStream_t25214728 * G_B6_0 = NULL;
	HttpsClientStream_t25214728 * G_B5_0 = NULL;
	{
		Stream_t1561764144 * L_0 = ___stream0;
		HttpWebRequest_t3949036893 * L_1 = ___request2;
		Uri_t1116831938 * L_2 = HttpWebRequest_get_Address_m3157794738(L_1, /*hidden argument*/NULL);
		String_t* L_3 = Uri_get_Host_m1446697833(L_2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t165502476_il2cpp_TypeInfo_var);
		int32_t L_4 = ServicePointManager_get_SecurityProtocol_m2377079580(NULL /*static, unused*/, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_5 = ___clientCertificates1;
		SslClientStream__ctor_m2883483309(__this, L_0, L_3, (bool)0, L_4, L_5, /*hidden argument*/NULL);
		HttpWebRequest_t3949036893 * L_6 = ___request2;
		__this->set__request_20(L_6);
		__this->set__status_21(0);
		ByteU5BU5D_t4260760469* L_7 = ___buffer3;
		if (!L_7)
		{
			goto IL_0040;
		}
	}
	{
		Stream_t1561764144 * L_8 = SslClientStream_get_InputBuffer_m4205110840(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_9 = ___buffer3;
		ByteU5BU5D_t4260760469* L_10 = ___buffer3;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.Stream::Write(System.Byte[],System.Int32,System.Int32) */, L_8, L_9, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length)))));
	}

IL_0040:
	{
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t165502476_il2cpp_TypeInfo_var);
		bool L_11 = ServicePointManager_get_CheckCertificateRevocationList_m2088706324(NULL /*static, unused*/, /*hidden argument*/NULL);
		SslStreamBase_set_CheckCertRevocationStatus_m2461874581(__this, L_11, /*hidden argument*/NULL);
		CertificateSelectionCallback_t604475832 * L_12 = ((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache2_22();
		G_B3_0 = __this;
		if (L_12)
		{
			G_B4_0 = __this;
			goto IL_0064;
		}
	}
	{
		IntPtr_t L_13;
		L_13.set_m_value_0((void*)(void*)HttpsClientStream_U3CHttpsClientStreamU3Em__0_m3456026544_MethodInfo_var);
		CertificateSelectionCallback_t604475832 * L_14 = (CertificateSelectionCallback_t604475832 *)il2cpp_codegen_object_new(CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var);
		CertificateSelectionCallback__ctor_m2794002132(L_14, NULL, L_13, /*hidden argument*/NULL);
		((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__amU24cache2_22(L_14);
		G_B4_0 = G_B3_0;
	}

IL_0064:
	{
		CertificateSelectionCallback_t604475832 * L_15 = ((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache2_22();
		SslClientStream_add_ClientCertSelection_m3598639054(G_B4_0, L_15, /*hidden argument*/NULL);
		PrivateKeySelectionCallback_t3559239239 * L_16 = ((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache3_23();
		G_B5_0 = __this;
		if (L_16)
		{
			G_B6_0 = __this;
			goto IL_0087;
		}
	}
	{
		IntPtr_t L_17;
		L_17.set_m_value_0((void*)(void*)HttpsClientStream_U3CHttpsClientStreamU3Em__1_m3849503321_MethodInfo_var);
		PrivateKeySelectionCallback_t3559239239 * L_18 = (PrivateKeySelectionCallback_t3559239239 *)il2cpp_codegen_object_new(PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var);
		PrivateKeySelectionCallback__ctor_m3708014169(L_18, NULL, L_17, /*hidden argument*/NULL);
		((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__amU24cache3_23(L_18);
		G_B6_0 = G_B5_0;
	}

IL_0087:
	{
		PrivateKeySelectionCallback_t3559239239 * L_19 = ((HttpsClientStream_t25214728_StaticFields*)HttpsClientStream_t25214728_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache3_23();
		SslClientStream_add_PrivateKeySelection_m3756271176(G_B6_0, L_19, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.HttpsClientStream::get_TrustFailure()
extern "C"  bool HttpsClientStream_get_TrustFailure_m1743569637 (HttpsClientStream_t25214728 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		int32_t L_0 = __this->get__status_21();
		V_0 = L_0;
		int32_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)-2146762487))))
		{
			goto IL_0022;
		}
	}
	{
		int32_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)((int32_t)-2146762486))))
		{
			goto IL_0022;
		}
	}
	{
		goto IL_0024;
	}

IL_0022:
	{
		return (bool)1;
	}

IL_0024:
	{
		return (bool)0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.HttpsClientStream::RaiseServerCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern Il2CppClass* ServicePointManager_t165502476_il2cpp_TypeInfo_var;
extern Il2CppClass* ICertificatePolicy_t4188978778_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate2_t160474609_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Chain_t1111884825_il2cpp_TypeInfo_var;
extern const uint32_t HttpsClientStream_RaiseServerCertificateValidation_m1414843622_MetadataUsageId;
extern "C"  bool HttpsClientStream_RaiseServerCertificateValidation_m1414843622 (HttpsClientStream_t25214728 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream_RaiseServerCertificateValidation_m1414843622_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	bool V_0 = false;
	ServicePoint_t4193060341 * V_1 = NULL;
	bool V_2 = false;
	RemoteCertificateValidationCallback_t1894914657 * V_3 = NULL;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	Int32U5BU5D_t3230847821* V_6 = NULL;
	int32_t V_7 = 0;
	X509Certificate2_t160474609 * V_8 = NULL;
	X509Chain_t1111884825 * V_9 = NULL;
	HttpsClientStream_t25214728 * G_B2_0 = NULL;
	HttpsClientStream_t25214728 * G_B1_0 = NULL;
	int32_t G_B3_0 = 0;
	HttpsClientStream_t25214728 * G_B3_1 = NULL;
	{
		Int32U5BU5D_t3230847821* L_0 = ___certificateErrors1;
		V_0 = (bool)((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))) > ((int32_t)0))? 1 : 0);
		bool L_1 = V_0;
		G_B1_0 = __this;
		if (!L_1)
		{
			G_B2_0 = __this;
			goto IL_0016;
		}
	}
	{
		Int32U5BU5D_t3230847821* L_2 = ___certificateErrors1;
		int32_t L_3 = 0;
		int32_t L_4 = (L_2)->GetAt(static_cast<il2cpp_array_size_t>(L_3));
		G_B3_0 = L_4;
		G_B3_1 = G_B1_0;
		goto IL_0017;
	}

IL_0016:
	{
		G_B3_0 = 0;
		G_B3_1 = G_B2_0;
	}

IL_0017:
	{
		G_B3_1->set__status_21(G_B3_0);
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t165502476_il2cpp_TypeInfo_var);
		Il2CppObject * L_5 = ServicePointManager_get_CertificatePolicy_m2939782421(NULL /*static, unused*/, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0055;
		}
	}
	{
		HttpWebRequest_t3949036893 * L_6 = __this->get__request_20();
		ServicePoint_t4193060341 * L_7 = HttpWebRequest_get_ServicePoint_m146133801(L_6, /*hidden argument*/NULL);
		V_1 = L_7;
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t165502476_il2cpp_TypeInfo_var);
		Il2CppObject * L_8 = ServicePointManager_get_CertificatePolicy_m2939782421(NULL /*static, unused*/, /*hidden argument*/NULL);
		ServicePoint_t4193060341 * L_9 = V_1;
		X509Certificate_t3076817455 * L_10 = ___certificate0;
		HttpWebRequest_t3949036893 * L_11 = __this->get__request_20();
		int32_t L_12 = __this->get__status_21();
		bool L_13 = InterfaceFuncInvoker4< bool, ServicePoint_t4193060341 *, X509Certificate_t3076817455 *, WebRequest_t51806901 *, int32_t >::Invoke(0 /* System.Boolean System.Net.ICertificatePolicy::CheckValidationResult(System.Net.ServicePoint,System.Security.Cryptography.X509Certificates.X509Certificate,System.Net.WebRequest,System.Int32) */, ICertificatePolicy_t4188978778_il2cpp_TypeInfo_var, L_8, L_9, L_10, L_11, L_12);
		V_2 = L_13;
		bool L_14 = V_2;
		if (L_14)
		{
			goto IL_0053;
		}
	}
	{
		return (bool)0;
	}

IL_0053:
	{
		V_0 = (bool)1;
	}

IL_0055:
	{
		bool L_15 = VirtFuncInvoker0< bool >::Invoke(29 /* System.Boolean Mono.Security.Protocol.Tls.SslClientStream::get_HaveRemoteValidation2Callback() */, __this);
		if (!L_15)
		{
			goto IL_0062;
		}
	}
	{
		bool L_16 = V_0;
		return L_16;
	}

IL_0062:
	{
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t165502476_il2cpp_TypeInfo_var);
		RemoteCertificateValidationCallback_t1894914657 * L_17 = ServicePointManager_get_ServerCertificateValidationCallback_m258265119(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_3 = L_17;
		RemoteCertificateValidationCallback_t1894914657 * L_18 = V_3;
		if (!L_18)
		{
			goto IL_0103;
		}
	}
	{
		V_4 = 0;
		Int32U5BU5D_t3230847821* L_19 = ___certificateErrors1;
		V_6 = L_19;
		V_7 = 0;
		goto IL_00bd;
	}

IL_007c:
	{
		Int32U5BU5D_t3230847821* L_20 = V_6;
		int32_t L_21 = V_7;
		int32_t L_22 = L_21;
		int32_t L_23 = (L_20)->GetAt(static_cast<il2cpp_array_size_t>(L_22));
		V_5 = L_23;
		int32_t L_24 = V_5;
		if ((!(((uint32_t)L_24) == ((uint32_t)((int32_t)-2146762490)))))
		{
			goto IL_009a;
		}
	}
	{
		int32_t L_25 = V_4;
		V_4 = ((int32_t)((int32_t)L_25|(int32_t)1));
		goto IL_00b7;
	}

IL_009a:
	{
		int32_t L_26 = V_5;
		if ((!(((uint32_t)L_26) == ((uint32_t)((int32_t)-2146762481)))))
		{
			goto IL_00b1;
		}
	}
	{
		int32_t L_27 = V_4;
		V_4 = ((int32_t)((int32_t)L_27|(int32_t)2));
		goto IL_00b7;
	}

IL_00b1:
	{
		int32_t L_28 = V_4;
		V_4 = ((int32_t)((int32_t)L_28|(int32_t)4));
	}

IL_00b7:
	{
		int32_t L_29 = V_7;
		V_7 = ((int32_t)((int32_t)L_29+(int32_t)1));
	}

IL_00bd:
	{
		int32_t L_30 = V_7;
		Int32U5BU5D_t3230847821* L_31 = V_6;
		if ((((int32_t)L_30) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))))))
		{
			goto IL_007c;
		}
	}
	{
		X509Certificate_t3076817455 * L_32 = ___certificate0;
		ByteU5BU5D_t4260760469* L_33 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_32);
		X509Certificate2_t160474609 * L_34 = (X509Certificate2_t160474609 *)il2cpp_codegen_object_new(X509Certificate2_t160474609_il2cpp_TypeInfo_var);
		X509Certificate2__ctor_m2334802535(L_34, L_33, /*hidden argument*/NULL);
		V_8 = L_34;
		X509Chain_t1111884825 * L_35 = (X509Chain_t1111884825 *)il2cpp_codegen_object_new(X509Chain_t1111884825_il2cpp_TypeInfo_var);
		X509Chain__ctor_m440780008(L_35, /*hidden argument*/NULL);
		V_9 = L_35;
		X509Chain_t1111884825 * L_36 = V_9;
		X509Certificate2_t160474609 * L_37 = V_8;
		bool L_38 = X509Chain_Build_m417178512(L_36, L_37, /*hidden argument*/NULL);
		if (L_38)
		{
			goto IL_00f0;
		}
	}
	{
		int32_t L_39 = V_4;
		V_4 = ((int32_t)((int32_t)L_39|(int32_t)4));
	}

IL_00f0:
	{
		RemoteCertificateValidationCallback_t1894914657 * L_40 = V_3;
		HttpWebRequest_t3949036893 * L_41 = __this->get__request_20();
		X509Certificate2_t160474609 * L_42 = V_8;
		X509Chain_t1111884825 * L_43 = V_9;
		int32_t L_44 = V_4;
		bool L_45 = RemoteCertificateValidationCallback_Invoke_m2321994438(L_40, L_41, L_42, L_43, L_44, /*hidden argument*/NULL);
		return L_45;
	}

IL_0103:
	{
		bool L_46 = V_0;
		return L_46;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.HttpsClientStream::<HttpsClientStream>m__0(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  X509Certificate_t3076817455 * HttpsClientStream_U3CHttpsClientStreamU3Em__0_m3456026544 (Il2CppObject * __this /* static, unused */, X509CertificateCollection_t3220522733 * ___clientCerts0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	X509Certificate_t3076817455 * G_B4_0 = NULL;
	{
		X509CertificateCollection_t3220522733 * L_0 = ___clientCerts0;
		if (!L_0)
		{
			goto IL_0011;
		}
	}
	{
		X509CertificateCollection_t3220522733 * L_1 = ___clientCerts0;
		int32_t L_2 = CollectionBase_get_Count_m313265901(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_0017;
		}
	}

IL_0011:
	{
		G_B4_0 = ((X509Certificate_t3076817455 *)(NULL));
		goto IL_001e;
	}

IL_0017:
	{
		X509CertificateCollection_t3220522733 * L_3 = ___clientCerts0;
		X509Certificate_t3076817455 * L_4 = X509CertificateCollection_get_Item_m2960635298(L_3, 0, /*hidden argument*/NULL);
		G_B4_0 = L_4;
	}

IL_001e:
	{
		return G_B4_0;
	}
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.HttpsClientStream::<HttpsClientStream>m__1(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern Il2CppClass* X509Certificate2_t160474609_il2cpp_TypeInfo_var;
extern const uint32_t HttpsClientStream_U3CHttpsClientStreamU3Em__1_m3849503321_MetadataUsageId;
extern "C"  AsymmetricAlgorithm_t1241690687 * HttpsClientStream_U3CHttpsClientStreamU3Em__1_m3849503321 (Il2CppObject * __this /* static, unused */, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream_U3CHttpsClientStreamU3Em__1_m3849503321_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	X509Certificate2_t160474609 * V_0 = NULL;
	AsymmetricAlgorithm_t1241690687 * G_B3_0 = NULL;
	{
		X509Certificate_t3076817455 * L_0 = ___certificate0;
		V_0 = ((X509Certificate2_t160474609 *)IsInstClass(L_0, X509Certificate2_t160474609_il2cpp_TypeInfo_var));
		X509Certificate2_t160474609 * L_1 = V_0;
		if (L_1)
		{
			goto IL_0013;
		}
	}
	{
		G_B3_0 = ((AsymmetricAlgorithm_t1241690687 *)(NULL));
		goto IL_0019;
	}

IL_0013:
	{
		X509Certificate2_t160474609 * L_2 = V_0;
		AsymmetricAlgorithm_t1241690687 * L_3 = X509Certificate2_get_PrivateKey_m2043008864(L_2, /*hidden argument*/NULL);
		G_B3_0 = L_3;
	}

IL_0019:
	{
		return G_B3_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.PrivateKeySelectionCallback::.ctor(System.Object,System.IntPtr)
extern "C"  void PrivateKeySelectionCallback__ctor_m3708014169 (PrivateKeySelectionCallback_t3559239239 * __this, Il2CppObject * ___object0, IntPtr_t ___method1, const MethodInfo* method)
{
	__this->set_method_ptr_0((Il2CppMethodPointer)((MethodInfo*)___method1.get_m_value_0())->methodPointer);
	__this->set_method_3(___method1);
	__this->set_m_target_2(___object0);
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.PrivateKeySelectionCallback::Invoke(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern "C"  AsymmetricAlgorithm_t1241690687 * PrivateKeySelectionCallback_Invoke_m2835982706 (PrivateKeySelectionCallback_t3559239239 * __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		PrivateKeySelectionCallback_Invoke_m2835982706((PrivateKeySelectionCallback_t3559239239 *)__this->get_prev_9(),___certificate0, ___targetHost1, method);
	}
	il2cpp_codegen_raise_execution_engine_exception_if_method_is_not_found((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	bool ___methodIsStatic = MethodIsStatic((MethodInfo*)(__this->get_method_3().get_m_value_0()));
	if (__this->get_m_target_2() != NULL && ___methodIsStatic)
	{
		typedef AsymmetricAlgorithm_t1241690687 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,il2cpp_codegen_get_delegate_this(__this),___certificate0, ___targetHost1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef AsymmetricAlgorithm_t1241690687 * (*FunctionPointerType) (void* __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(il2cpp_codegen_get_delegate_this(__this),___certificate0, ___targetHost1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef AsymmetricAlgorithm_t1241690687 * (*FunctionPointerType) (void* __this, String_t* ___targetHost1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(___certificate0, ___targetHost1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.PrivateKeySelectionCallback::BeginInvoke(System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.AsyncCallback,System.Object)
extern "C"  Il2CppObject * PrivateKeySelectionCallback_BeginInvoke_m1098601792 (PrivateKeySelectionCallback_t3559239239 * __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, AsyncCallback_t1369114871 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___certificate0;
	__d_args[1] = ___targetHost1;
	return (Il2CppObject *)il2cpp_delegate_begin_invoke((Il2CppDelegate*)__this, __d_args, (Il2CppDelegate*)___callback2, (Il2CppObject*)___object3);
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.PrivateKeySelectionCallback::EndInvoke(System.IAsyncResult)
extern "C"  AsymmetricAlgorithm_t1241690687 * PrivateKeySelectionCallback_EndInvoke_m2034230778 (PrivateKeySelectionCallback_t3559239239 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (AsymmetricAlgorithm_t1241690687 *)__result;
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::.ctor(System.IO.Stream,Mono.Security.Protocol.Tls.Context)
extern "C"  void RecordProtocol__ctor_m680122215 (RecordProtocol_t1331996967 * __this, Stream_t1561764144 * ___innerStream0, Context_t658806145 * ___context1, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		Stream_t1561764144 * L_0 = ___innerStream0;
		__this->set_innerStream_1(L_0);
		Context_t658806145 * L_1 = ___context1;
		__this->set_context_2(L_1);
		Context_t658806145 * L_2 = __this->get_context_2();
		Context_set_RecordProtocol_m1649539496(L_2, __this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::.cctor()
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t1331996967_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol__cctor_m1295387214_MetadataUsageId;
extern "C"  void RecordProtocol__cctor_m1295387214 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol__cctor_m1295387214_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ManualResetEvent_t924017833 * L_0 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m927697317(L_0, (bool)1, /*hidden argument*/NULL);
		((RecordProtocol_t1331996967_StaticFields*)RecordProtocol_t1331996967_il2cpp_TypeInfo_var->static_fields)->set_record_processing_0(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.Context Mono.Security.Protocol.Tls.RecordProtocol::get_Context()
extern "C"  Context_t658806145 * RecordProtocol_get_Context_m1960772337 (RecordProtocol_t1331996967 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_2();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern "C"  void RecordProtocol_SendRecord_m2691441258 (RecordProtocol_t1331996967 * __this, uint8_t ___type0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		uint8_t L_0 = ___type0;
		Il2CppObject * L_1 = RecordProtocol_BeginSendRecord_m4074660131(__this, L_0, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		RecordProtocol_EndSendRecord_m1779126194(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessChangeCipherSpec()
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ProcessChangeCipherSpec_m1060708066_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessChangeCipherSpec_m1060708066 (RecordProtocol_t1331996967 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessChangeCipherSpec_m1060708066_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Context_t658806145 * V_0 = NULL;
	{
		Context_t658806145 * L_0 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		V_0 = L_0;
		Context_t658806145 * L_1 = V_0;
		Context_set_ReadSequenceNumber_m3107900585(L_1, (((int64_t)((int64_t)0))), /*hidden argument*/NULL);
		Context_t658806145 * L_2 = V_0;
		if (!((ClientContext_t3745725366 *)IsInstClass(L_2, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0026;
		}
	}
	{
		Context_t658806145 * L_3 = V_0;
		Context_EndSwitchingSecurityParameters_m284941993(L_3, (bool)1, /*hidden argument*/NULL);
		goto IL_002d;
	}

IL_0026:
	{
		Context_t658806145 * L_4 = V_0;
		Context_StartSwitchingSecurityParameters_m271202242(L_4, (bool)0, /*hidden argument*/NULL);
	}

IL_002d:
	{
		return;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.RecordProtocol::GetMessage(Mono.Security.Protocol.Tls.Handshake.HandshakeType)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_GetMessage_m2989532828_MetadataUsageId;
extern "C"  HandshakeMessage_t2623608376 * RecordProtocol_GetMessage_m2989532828 (RecordProtocol_t1331996967 * __this, uint8_t ___type0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_GetMessage_m2989532828_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.RecordProtocol::BeginReceiveRecord(System.IO.Stream,System.AsyncCallback,System.Object)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t1331996967_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern const MethodInfo* RecordProtocol_InternalReceiveRecordCallback_m1163093802_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral4141154361;
extern const uint32_t RecordProtocol_BeginReceiveRecord_m2484464879_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginReceiveRecord_m2484464879 (RecordProtocol_t1331996967 * __this, Stream_t1561764144 * ___record0, AsyncCallback_t1369114871 * ___callback1, Il2CppObject * ___state2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginReceiveRecord_m2484464879_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	ReceiveRecordAsyncResult_t4254633253 * V_1 = NULL;
	{
		Context_t658806145 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_ReceivedConnectionEnd_m731026834(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t1031360050 * L_2 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_2, ((int32_t)80), _stringLiteral4141154361, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t1331996967_il2cpp_TypeInfo_var);
		ManualResetEvent_t924017833 * L_3 = ((RecordProtocol_t1331996967_StaticFields*)RecordProtocol_t1331996967_il2cpp_TypeInfo_var->static_fields)->get_record_processing_0();
		EventWaitHandle_Reset_m330657435(L_3, /*hidden argument*/NULL);
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)1));
		AsyncCallback_t1369114871 * L_4 = ___callback1;
		Il2CppObject * L_5 = ___state2;
		ByteU5BU5D_t4260760469* L_6 = V_0;
		Stream_t1561764144 * L_7 = ___record0;
		ReceiveRecordAsyncResult_t4254633253 * L_8 = (ReceiveRecordAsyncResult_t4254633253 *)il2cpp_codegen_object_new(ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var);
		ReceiveRecordAsyncResult__ctor_m2998582075(L_8, L_4, L_5, L_6, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		Stream_t1561764144 * L_9 = ___record0;
		ReceiveRecordAsyncResult_t4254633253 * L_10 = V_1;
		ByteU5BU5D_t4260760469* L_11 = ReceiveRecordAsyncResult_get_InitialBuffer_m2778078946(L_10, /*hidden argument*/NULL);
		ReceiveRecordAsyncResult_t4254633253 * L_12 = V_1;
		ByteU5BU5D_t4260760469* L_13 = ReceiveRecordAsyncResult_get_InitialBuffer_m2778078946(L_12, /*hidden argument*/NULL);
		IntPtr_t L_14;
		L_14.set_m_value_0((void*)(void*)RecordProtocol_InternalReceiveRecordCallback_m1163093802_MethodInfo_var);
		AsyncCallback_t1369114871 * L_15 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
		AsyncCallback__ctor_m1986959762(L_15, __this, L_14, /*hidden argument*/NULL);
		ReceiveRecordAsyncResult_t4254633253 * L_16 = V_1;
		VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t4260760469*, int32_t, int32_t, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(20 /* System.IAsyncResult System.IO.Stream::BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) */, L_9, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))), L_15, L_16);
		ReceiveRecordAsyncResult_t4254633253 * L_17 = V_1;
		return L_17;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::InternalReceiveRecordCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral170463323;
extern const uint32_t RecordProtocol_InternalReceiveRecordCallback_m1163093802_MetadataUsageId;
extern "C"  void RecordProtocol_InternalReceiveRecordCallback_m1163093802 (RecordProtocol_t1331996967 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_InternalReceiveRecordCallback_m1163093802_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ReceiveRecordAsyncResult_t4254633253 * V_0 = NULL;
	Stream_t1561764144 * V_1 = NULL;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	uint8_t V_4 = 0;
	ByteU5BU5D_t4260760469* V_5 = NULL;
	TlsStream_t89550253 * V_6 = NULL;
	Exception_t3991598821 * V_7 = NULL;
	uint8_t V_8 = 0;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = ___asyncResult0;
		Il2CppObject * L_1 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.IAsyncResult::get_AsyncState() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_0);
		V_0 = ((ReceiveRecordAsyncResult_t4254633253 *)IsInstClass(L_1, ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var));
		ReceiveRecordAsyncResult_t4254633253 * L_2 = V_0;
		Stream_t1561764144 * L_3 = ReceiveRecordAsyncResult_get_Record_m871815161(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
	}

IL_0013:
	try
	{ // begin try (depth: 1)
		{
			ReceiveRecordAsyncResult_t4254633253 * L_4 = V_0;
			Stream_t1561764144 * L_5 = ReceiveRecordAsyncResult_get_Record_m871815161(L_4, /*hidden argument*/NULL);
			Il2CppObject * L_6 = ___asyncResult0;
			int32_t L_7 = VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(22 /* System.Int32 System.IO.Stream::EndRead(System.IAsyncResult) */, L_5, L_6);
			V_2 = L_7;
			int32_t L_8 = V_2;
			if (L_8)
			{
				goto IL_0032;
			}
		}

IL_0026:
		{
			ReceiveRecordAsyncResult_t4254633253 * L_9 = V_0;
			ReceiveRecordAsyncResult_SetComplete_m652335805(L_9, (ByteU5BU5D_t4260760469*)(ByteU5BU5D_t4260760469*)NULL, /*hidden argument*/NULL);
			goto IL_0180;
		}

IL_0032:
		{
			ReceiveRecordAsyncResult_t4254633253 * L_10 = V_0;
			ByteU5BU5D_t4260760469* L_11 = ReceiveRecordAsyncResult_get_InitialBuffer_m2778078946(L_10, /*hidden argument*/NULL);
			int32_t L_12 = 0;
			uint8_t L_13 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
			V_3 = L_13;
			Context_t658806145 * L_14 = __this->get_context_2();
			Context_set_LastHandshakeMsg_m1436694014(L_14, 1, /*hidden argument*/NULL);
			int32_t L_15 = V_3;
			V_4 = (((int32_t)((uint8_t)L_15)));
			int32_t L_16 = V_3;
			Stream_t1561764144 * L_17 = V_1;
			ByteU5BU5D_t4260760469* L_18 = RecordProtocol_ReadRecordBuffer_m1367596554(__this, L_16, L_17, /*hidden argument*/NULL);
			V_5 = L_18;
			ByteU5BU5D_t4260760469* L_19 = V_5;
			if (L_19)
			{
				goto IL_0068;
			}
		}

IL_005c:
		{
			ReceiveRecordAsyncResult_t4254633253 * L_20 = V_0;
			ReceiveRecordAsyncResult_SetComplete_m652335805(L_20, (ByteU5BU5D_t4260760469*)(ByteU5BU5D_t4260760469*)NULL, /*hidden argument*/NULL);
			goto IL_0180;
		}

IL_0068:
		{
			uint8_t L_21 = V_4;
			if ((!(((uint32_t)L_21) == ((uint32_t)((int32_t)21)))))
			{
				goto IL_0080;
			}
		}

IL_0071:
		{
			ByteU5BU5D_t4260760469* L_22 = V_5;
			if ((!(((uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length))))) == ((uint32_t)2))))
			{
				goto IL_0080;
			}
		}

IL_007b:
		{
			goto IL_00b1;
		}

IL_0080:
		{
			Context_t658806145 * L_23 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			SecurityParameters_t2935569768 * L_24 = Context_get_Read_m3694946135(L_23, /*hidden argument*/NULL);
			if (!L_24)
			{
				goto IL_00b1;
			}
		}

IL_0090:
		{
			Context_t658806145 * L_25 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			SecurityParameters_t2935569768 * L_26 = Context_get_Read_m3694946135(L_25, /*hidden argument*/NULL);
			CipherSuite_t580420223 * L_27 = SecurityParameters_get_Cipher_m2063042602(L_26, /*hidden argument*/NULL);
			if (!L_27)
			{
				goto IL_00b1;
			}
		}

IL_00a5:
		{
			uint8_t L_28 = V_4;
			ByteU5BU5D_t4260760469* L_29 = V_5;
			ByteU5BU5D_t4260760469* L_30 = RecordProtocol_decryptRecordFragment_m3106472171(__this, L_28, L_29, /*hidden argument*/NULL);
			V_5 = L_30;
		}

IL_00b1:
		{
			uint8_t L_31 = V_4;
			V_8 = L_31;
			uint8_t L_32 = V_8;
			if (((int32_t)((int32_t)L_32-(int32_t)((int32_t)20))) == 0)
			{
				goto IL_0109;
			}
			if (((int32_t)((int32_t)L_32-(int32_t)((int32_t)20))) == 1)
			{
				goto IL_00e0;
			}
			if (((int32_t)((int32_t)L_32-(int32_t)((int32_t)20))) == 2)
			{
				goto IL_0119;
			}
			if (((int32_t)((int32_t)L_32-(int32_t)((int32_t)20))) == 3)
			{
				goto IL_0114;
			}
		}

IL_00cf:
		{
			uint8_t L_33 = V_8;
			if ((((int32_t)L_33) == ((int32_t)((int32_t)128))))
			{
				goto IL_0140;
			}
		}

IL_00db:
		{
			goto IL_0157;
		}

IL_00e0:
		{
			ByteU5BU5D_t4260760469* L_34 = V_5;
			int32_t L_35 = 0;
			uint8_t L_36 = (L_34)->GetAt(static_cast<il2cpp_array_size_t>(L_35));
			ByteU5BU5D_t4260760469* L_37 = V_5;
			int32_t L_38 = 1;
			uint8_t L_39 = (L_37)->GetAt(static_cast<il2cpp_array_size_t>(L_38));
			RecordProtocol_ProcessAlert_m4015528952(__this, L_36, L_39, /*hidden argument*/NULL);
			Stream_t1561764144 * L_40 = V_1;
			bool L_41 = VirtFuncInvoker0< bool >::Invoke(6 /* System.Boolean System.IO.Stream::get_CanSeek() */, L_40);
			if (!L_41)
			{
				goto IL_0101;
			}
		}

IL_00f9:
		{
			Stream_t1561764144 * L_42 = V_1;
			VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.Stream::SetLength(System.Int64) */, L_42, (((int64_t)((int64_t)0))));
		}

IL_0101:
		{
			V_5 = (ByteU5BU5D_t4260760469*)NULL;
			goto IL_0164;
		}

IL_0109:
		{
			VirtActionInvoker0::Invoke(6 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessChangeCipherSpec() */, __this);
			goto IL_0164;
		}

IL_0114:
		{
			goto IL_0164;
		}

IL_0119:
		{
			ByteU5BU5D_t4260760469* L_43 = V_5;
			TlsStream_t89550253 * L_44 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
			TlsStream__ctor_m868803046(L_44, L_43, /*hidden argument*/NULL);
			V_6 = L_44;
			goto IL_012f;
		}

IL_0127:
		{
			TlsStream_t89550253 * L_45 = V_6;
			VirtActionInvoker1< TlsStream_t89550253 * >::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessHandshakeMessage(Mono.Security.Protocol.Tls.TlsStream) */, __this, L_45);
		}

IL_012f:
		{
			TlsStream_t89550253 * L_46 = V_6;
			bool L_47 = TlsStream_get_EOF_m3756372902(L_46, /*hidden argument*/NULL);
			if (!L_47)
			{
				goto IL_0127;
			}
		}

IL_013b:
		{
			goto IL_0164;
		}

IL_0140:
		{
			Context_t658806145 * L_48 = __this->get_context_2();
			TlsStream_t89550253 * L_49 = Context_get_HandshakeMessages_m1457854885(L_48, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_50 = V_5;
			TlsStream_Write_m106187721(L_49, L_50, /*hidden argument*/NULL);
			goto IL_0164;
		}

IL_0157:
		{
			TlsException_t1031360050 * L_51 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
			TlsException__ctor_m761809044(L_51, ((int32_t)10), _stringLiteral170463323, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_51);
		}

IL_0164:
		{
			ReceiveRecordAsyncResult_t4254633253 * L_52 = V_0;
			ByteU5BU5D_t4260760469* L_53 = V_5;
			ReceiveRecordAsyncResult_SetComplete_m652335805(L_52, L_53, /*hidden argument*/NULL);
			goto IL_0180;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0171;
		throw e;
	}

CATCH_0171:
	{ // begin catch(System.Exception)
		V_7 = ((Exception_t3991598821 *)__exception_local);
		ReceiveRecordAsyncResult_t4254633253 * L_54 = V_0;
		Exception_t3991598821 * L_55 = V_7;
		ReceiveRecordAsyncResult_SetComplete_m1288331580(L_54, L_55, /*hidden argument*/NULL);
		goto IL_0180;
	} // end catch (depth: 1)

IL_0180:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::EndReceiveRecord(System.IAsyncResult)
extern Il2CppClass* ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t1331996967_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3646818754;
extern const uint32_t RecordProtocol_EndReceiveRecord_m2844703599_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_EndReceiveRecord_m2844703599 (RecordProtocol_t1331996967 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EndReceiveRecord_m2844703599_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ReceiveRecordAsyncResult_t4254633253 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((ReceiveRecordAsyncResult_t4254633253 *)IsInstClass(L_0, ReceiveRecordAsyncResult_t4254633253_il2cpp_TypeInfo_var));
		ReceiveRecordAsyncResult_t4254633253 * L_1 = V_0;
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		ArgumentException_t928607144 * L_2 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_2, _stringLiteral3646818754, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0018:
	{
		ReceiveRecordAsyncResult_t4254633253 * L_3 = V_0;
		bool L_4 = ReceiveRecordAsyncResult_get_IsCompleted_m736891099(L_3, /*hidden argument*/NULL);
		if (L_4)
		{
			goto IL_002f;
		}
	}
	{
		ReceiveRecordAsyncResult_t4254633253 * L_5 = V_0;
		WaitHandle_t1661568373 * L_6 = ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1089809952(L_5, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_6);
	}

IL_002f:
	{
		ReceiveRecordAsyncResult_t4254633253 * L_7 = V_0;
		bool L_8 = ReceiveRecordAsyncResult_get_CompletedWithError_m3317022751(L_7, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_0041;
		}
	}
	{
		ReceiveRecordAsyncResult_t4254633253 * L_9 = V_0;
		Exception_t3991598821 * L_10 = ReceiveRecordAsyncResult_get_AsyncException_m3323094132(L_9, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_0041:
	{
		ReceiveRecordAsyncResult_t4254633253 * L_11 = V_0;
		ByteU5BU5D_t4260760469* L_12 = ReceiveRecordAsyncResult_get_ResultingBuffer_m3820567043(L_11, /*hidden argument*/NULL);
		V_1 = L_12;
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t1331996967_il2cpp_TypeInfo_var);
		ManualResetEvent_t924017833 * L_13 = ((RecordProtocol_t1331996967_StaticFields*)RecordProtocol_t1331996967_il2cpp_TypeInfo_var->static_fields)->get_record_processing_0();
		EventWaitHandle_Set_m224730030(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_14 = V_1;
		return L_14;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReceiveRecord(System.IO.Stream)
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_ReceiveRecord_m1131958450 (RecordProtocol_t1331996967 * __this, Stream_t1561764144 * ___record0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		Stream_t1561764144 * L_0 = ___record0;
		Il2CppObject * L_1 = RecordProtocol_BeginReceiveRecord_m2484464879(__this, L_0, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		ByteU5BU5D_t4260760469* L_3 = RecordProtocol_EndReceiveRecord_m2844703599(__this, L_2, /*hidden argument*/NULL);
		return L_3;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReadRecordBuffer(System.Int32,System.IO.Stream)
extern const Il2CppType* ContentType_t2370127397_0_0_0_var;
extern Il2CppClass* Type_t_il2cpp_TypeInfo_var;
extern Il2CppClass* ContentType_t2370127397_il2cpp_TypeInfo_var;
extern Il2CppClass* Enum_t2862688501_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ReadRecordBuffer_m1367596554_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_ReadRecordBuffer_m1367596554 (RecordProtocol_t1331996967 * __this, int32_t ___contentType0, Stream_t1561764144 * ___record1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadRecordBuffer_m1367596554_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = ___contentType0;
		V_0 = L_0;
		int32_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)((int32_t)128))))
		{
			goto IL_0012;
		}
	}
	{
		goto IL_001a;
	}

IL_0012:
	{
		Stream_t1561764144 * L_2 = ___record1;
		ByteU5BU5D_t4260760469* L_3 = RecordProtocol_ReadClientHelloV2_m4124663563(__this, L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_001a:
	{
		IL2CPP_RUNTIME_CLASS_INIT(Type_t_il2cpp_TypeInfo_var);
		Type_t * L_4 = Type_GetTypeFromHandle_m3806905434(NULL /*static, unused*/, LoadTypeToken(ContentType_t2370127397_0_0_0_var), /*hidden argument*/NULL);
		int32_t L_5 = ___contentType0;
		uint8_t L_6 = ((uint8_t)(((int32_t)((uint8_t)L_5))));
		Il2CppObject * L_7 = Box(ContentType_t2370127397_il2cpp_TypeInfo_var, &L_6);
		IL2CPP_RUNTIME_CLASS_INIT(Enum_t2862688501_il2cpp_TypeInfo_var);
		bool L_8 = Enum_IsDefined_m2781598580(NULL /*static, unused*/, L_4, L_7, /*hidden argument*/NULL);
		if (L_8)
		{
			goto IL_003d;
		}
	}
	{
		TlsException_t1031360050 * L_9 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m314055256(L_9, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003d:
	{
		Stream_t1561764144 * L_10 = ___record1;
		ByteU5BU5D_t4260760469* L_11 = RecordProtocol_ReadStandardRecordBuffer_m1386517462(__this, L_10, /*hidden argument*/NULL);
		return L_11;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReadClientHelloV2(System.IO.Stream)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ReadClientHelloV2_m4124663563_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_ReadClientHelloV2_m4124663563 (RecordProtocol_t1331996967 * __this, Stream_t1561764144 * ___record0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadClientHelloV2_m4124663563_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	int32_t V_6 = 0;
	int32_t V_7 = 0;
	ByteU5BU5D_t4260760469* V_8 = NULL;
	ByteU5BU5D_t4260760469* V_9 = NULL;
	ByteU5BU5D_t4260760469* V_10 = NULL;
	int32_t G_B8_0 = 0;
	{
		Stream_t1561764144 * L_0 = ___record0;
		int32_t L_1 = VirtFuncInvoker0< int32_t >::Invoke(15 /* System.Int32 System.IO.Stream::ReadByte() */, L_0);
		V_0 = L_1;
		Stream_t1561764144 * L_2 = ___record0;
		bool L_3 = VirtFuncInvoker0< bool >::Invoke(6 /* System.Boolean System.IO.Stream::get_CanSeek() */, L_2);
		if (!L_3)
		{
			goto IL_0023;
		}
	}
	{
		int32_t L_4 = V_0;
		Stream_t1561764144 * L_5 = ___record0;
		int64_t L_6 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.Stream::get_Length() */, L_5);
		if ((((int64_t)(((int64_t)((int64_t)((int32_t)((int32_t)L_4+(int32_t)1)))))) <= ((int64_t)L_6)))
		{
			goto IL_0023;
		}
	}
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}

IL_0023:
	{
		int32_t L_7 = V_0;
		V_1 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_7));
		Stream_t1561764144 * L_8 = ___record0;
		ByteU5BU5D_t4260760469* L_9 = V_1;
		int32_t L_10 = V_0;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.Stream::Read(System.Byte[],System.Int32,System.Int32) */, L_8, L_9, 0, L_10);
		ByteU5BU5D_t4260760469* L_11 = V_1;
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAt(static_cast<il2cpp_array_size_t>(L_12));
		V_2 = L_13;
		int32_t L_14 = V_2;
		if ((((int32_t)L_14) == ((int32_t)1)))
		{
			goto IL_0047;
		}
	}
	{
		TlsException_t1031360050 * L_15 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m314055256(L_15, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_15);
	}

IL_0047:
	{
		ByteU5BU5D_t4260760469* L_16 = V_1;
		int32_t L_17 = 1;
		uint8_t L_18 = (L_16)->GetAt(static_cast<il2cpp_array_size_t>(L_17));
		ByteU5BU5D_t4260760469* L_19 = V_1;
		int32_t L_20 = 2;
		uint8_t L_21 = (L_19)->GetAt(static_cast<il2cpp_array_size_t>(L_20));
		V_3 = ((int32_t)((int32_t)((int32_t)((int32_t)L_18<<(int32_t)8))|(int32_t)L_21));
		ByteU5BU5D_t4260760469* L_22 = V_1;
		int32_t L_23 = 3;
		uint8_t L_24 = (L_22)->GetAt(static_cast<il2cpp_array_size_t>(L_23));
		ByteU5BU5D_t4260760469* L_25 = V_1;
		int32_t L_26 = 4;
		uint8_t L_27 = (L_25)->GetAt(static_cast<il2cpp_array_size_t>(L_26));
		V_4 = ((int32_t)((int32_t)((int32_t)((int32_t)L_24<<(int32_t)8))|(int32_t)L_27));
		ByteU5BU5D_t4260760469* L_28 = V_1;
		int32_t L_29 = 5;
		uint8_t L_30 = (L_28)->GetAt(static_cast<il2cpp_array_size_t>(L_29));
		ByteU5BU5D_t4260760469* L_31 = V_1;
		int32_t L_32 = 6;
		uint8_t L_33 = (L_31)->GetAt(static_cast<il2cpp_array_size_t>(L_32));
		V_5 = ((int32_t)((int32_t)((int32_t)((int32_t)L_30<<(int32_t)8))|(int32_t)L_33));
		ByteU5BU5D_t4260760469* L_34 = V_1;
		int32_t L_35 = 7;
		uint8_t L_36 = (L_34)->GetAt(static_cast<il2cpp_array_size_t>(L_35));
		ByteU5BU5D_t4260760469* L_37 = V_1;
		int32_t L_38 = 8;
		uint8_t L_39 = (L_37)->GetAt(static_cast<il2cpp_array_size_t>(L_38));
		V_6 = ((int32_t)((int32_t)((int32_t)((int32_t)L_36<<(int32_t)8))|(int32_t)L_39));
		int32_t L_40 = V_6;
		if ((((int32_t)L_40) <= ((int32_t)((int32_t)32))))
		{
			goto IL_0082;
		}
	}
	{
		G_B8_0 = ((int32_t)32);
		goto IL_0084;
	}

IL_0082:
	{
		int32_t L_41 = V_6;
		G_B8_0 = L_41;
	}

IL_0084:
	{
		V_7 = G_B8_0;
		int32_t L_42 = V_4;
		V_8 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_42));
		ByteU5BU5D_t4260760469* L_43 = V_1;
		ByteU5BU5D_t4260760469* L_44 = V_8;
		int32_t L_45 = V_4;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_43, ((int32_t)9), (Il2CppArray *)(Il2CppArray *)L_44, 0, L_45, /*hidden argument*/NULL);
		int32_t L_46 = V_5;
		V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_46));
		ByteU5BU5D_t4260760469* L_47 = V_1;
		int32_t L_48 = V_4;
		ByteU5BU5D_t4260760469* L_49 = V_9;
		int32_t L_50 = V_5;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_47, ((int32_t)((int32_t)((int32_t)9)+(int32_t)L_48)), (Il2CppArray *)(Il2CppArray *)L_49, 0, L_50, /*hidden argument*/NULL);
		int32_t L_51 = V_6;
		V_10 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_51));
		ByteU5BU5D_t4260760469* L_52 = V_1;
		int32_t L_53 = V_4;
		int32_t L_54 = V_5;
		ByteU5BU5D_t4260760469* L_55 = V_10;
		int32_t L_56 = V_6;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_52, ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)9)+(int32_t)L_53))+(int32_t)L_54)), (Il2CppArray *)(Il2CppArray *)L_55, 0, L_56, /*hidden argument*/NULL);
		int32_t L_57 = V_6;
		if ((((int32_t)L_57) < ((int32_t)((int32_t)16))))
		{
			goto IL_00ea;
		}
	}
	{
		int32_t L_58 = V_4;
		if (!L_58)
		{
			goto IL_00ea;
		}
	}
	{
		int32_t L_59 = V_4;
		if (!((int32_t)((int32_t)L_59%(int32_t)3)))
		{
			goto IL_00f2;
		}
	}

IL_00ea:
	{
		TlsException_t1031360050 * L_60 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m314055256(L_60, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_60);
	}

IL_00f2:
	{
		ByteU5BU5D_t4260760469* L_61 = V_9;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_61)->max_length))))) <= ((int32_t)0)))
		{
			goto IL_0109;
		}
	}
	{
		Context_t658806145 * L_62 = __this->get_context_2();
		ByteU5BU5D_t4260760469* L_63 = V_9;
		Context_set_SessionId_m3092121576(L_62, L_63, /*hidden argument*/NULL);
	}

IL_0109:
	{
		Context_t658806145 * L_64 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		int32_t L_65 = V_3;
		Context_ChangeProtocol_m460386024(L_64, (((int16_t)((int16_t)L_65))), /*hidden argument*/NULL);
		Context_t658806145 * L_66 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		int32_t L_67 = Context_get_SecurityProtocol_m2457665585(L_66, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_68 = V_8;
		RecordProtocol_ProcessCipherSpecV2Buffer_m572218255(__this, L_67, L_68, /*hidden argument*/NULL);
		Context_t658806145 * L_69 = __this->get_context_2();
		Context_set_ClientRandom_m628701865(L_69, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)32))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_70 = V_10;
		ByteU5BU5D_t4260760469* L_71 = V_10;
		int32_t L_72 = V_7;
		Context_t658806145 * L_73 = __this->get_context_2();
		ByteU5BU5D_t4260760469* L_74 = Context_get_ClientRandom_m1978397270(L_73, /*hidden argument*/NULL);
		int32_t L_75 = V_7;
		int32_t L_76 = V_7;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_70, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_71)->max_length))))-(int32_t)L_72)), (Il2CppArray *)(Il2CppArray *)L_74, ((int32_t)((int32_t)((int32_t)32)-(int32_t)L_75)), L_76, /*hidden argument*/NULL);
		Context_t658806145 * L_77 = __this->get_context_2();
		Context_set_LastHandshakeMsg_m1436694014(L_77, 1, /*hidden argument*/NULL);
		Context_t658806145 * L_78 = __this->get_context_2();
		Context_set_ProtocolNegotiated_m2979902407(L_78, (bool)1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_79 = V_1;
		return L_79;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReadStandardRecordBuffer(System.IO.Stream)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2920643731;
extern Il2CppCodeGenString* _stringLiteral1732316971;
extern Il2CppCodeGenString* _stringLiteral1337225684;
extern const uint32_t RecordProtocol_ReadStandardRecordBuffer_m1386517462_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_ReadStandardRecordBuffer_m1386517462 (RecordProtocol_t1331996967 * __this, Stream_t1561764144 * ___record0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadStandardRecordBuffer_m1386517462_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	int16_t V_1 = 0;
	int16_t V_2 = 0;
	int32_t V_3 = 0;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	int32_t V_5 = 0;
	{
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4));
		Stream_t1561764144 * L_0 = ___record0;
		ByteU5BU5D_t4260760469* L_1 = V_0;
		int32_t L_2 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.Stream::Read(System.Byte[],System.Int32,System.Int32) */, L_0, L_1, 0, 4);
		if ((((int32_t)L_2) == ((int32_t)4)))
		{
			goto IL_0021;
		}
	}
	{
		TlsException_t1031360050 * L_3 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m1800218670(L_3, _stringLiteral2920643731, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0021:
	{
		ByteU5BU5D_t4260760469* L_4 = V_0;
		int32_t L_5 = 0;
		uint8_t L_6 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t4260760469* L_7 = V_0;
		int32_t L_8 = 1;
		uint8_t L_9 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_8));
		V_1 = (((int16_t)((int16_t)((int32_t)((int32_t)((int32_t)((int32_t)L_6<<(int32_t)8))|(int32_t)L_9)))));
		ByteU5BU5D_t4260760469* L_10 = V_0;
		int32_t L_11 = 2;
		uint8_t L_12 = (L_10)->GetAt(static_cast<il2cpp_array_size_t>(L_11));
		ByteU5BU5D_t4260760469* L_13 = V_0;
		int32_t L_14 = 3;
		uint8_t L_15 = (L_13)->GetAt(static_cast<il2cpp_array_size_t>(L_14));
		V_2 = (((int16_t)((int16_t)((int32_t)((int32_t)((int32_t)((int32_t)L_12<<(int32_t)8))|(int32_t)L_15)))));
		Stream_t1561764144 * L_16 = ___record0;
		bool L_17 = VirtFuncInvoker0< bool >::Invoke(6 /* System.Boolean System.IO.Stream::get_CanSeek() */, L_16);
		if (!L_17)
		{
			goto IL_0053;
		}
	}
	{
		int16_t L_18 = V_2;
		Stream_t1561764144 * L_19 = ___record0;
		int64_t L_20 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.Stream::get_Length() */, L_19);
		if ((((int64_t)(((int64_t)((int64_t)((int32_t)((int32_t)L_18+(int32_t)5)))))) <= ((int64_t)L_20)))
		{
			goto IL_0053;
		}
	}
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}

IL_0053:
	{
		V_3 = 0;
		int16_t L_21 = V_2;
		V_4 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_21));
		goto IL_008b;
	}

IL_0062:
	{
		Stream_t1561764144 * L_22 = ___record0;
		ByteU5BU5D_t4260760469* L_23 = V_4;
		int32_t L_24 = V_3;
		ByteU5BU5D_t4260760469* L_25 = V_4;
		int32_t L_26 = V_3;
		int32_t L_27 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.Stream::Read(System.Byte[],System.Int32,System.Int32) */, L_22, L_23, L_24, ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_25)->max_length))))-(int32_t)L_26)));
		V_5 = L_27;
		int32_t L_28 = V_5;
		if (L_28)
		{
			goto IL_0086;
		}
	}
	{
		TlsException_t1031360050 * L_29 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_29, 0, _stringLiteral1732316971, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_29);
	}

IL_0086:
	{
		int32_t L_30 = V_3;
		int32_t L_31 = V_5;
		V_3 = ((int32_t)((int32_t)L_30+(int32_t)L_31));
	}

IL_008b:
	{
		int32_t L_32 = V_3;
		int16_t L_33 = V_2;
		if ((!(((uint32_t)L_32) == ((uint32_t)L_33))))
		{
			goto IL_0062;
		}
	}
	{
		int16_t L_34 = V_1;
		Context_t658806145 * L_35 = __this->get_context_2();
		int16_t L_36 = Context_get_Protocol_m775713592(L_35, /*hidden argument*/NULL);
		if ((((int32_t)L_34) == ((int32_t)L_36)))
		{
			goto IL_00c0;
		}
	}
	{
		Context_t658806145 * L_37 = __this->get_context_2();
		bool L_38 = Context_get_ProtocolNegotiated_m2137079082(L_37, /*hidden argument*/NULL);
		if (!L_38)
		{
			goto IL_00c0;
		}
	}
	{
		TlsException_t1031360050 * L_39 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_39, ((int32_t)70), _stringLiteral1337225684, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_39);
	}

IL_00c0:
	{
		ByteU5BU5D_t4260760469* L_40 = V_4;
		return L_40;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessAlert(Mono.Security.Protocol.Tls.AlertLevel,Mono.Security.Protocol.Tls.AlertDescription)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ProcessAlert_m4015528952_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessAlert_m4015528952 (RecordProtocol_t1331996967 * __this, uint8_t ___alertLevel0, uint8_t ___alertDesc1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessAlert_m4015528952_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint8_t V_0 = 0;
	uint8_t V_1 = 0;
	{
		uint8_t L_0 = ___alertLevel0;
		V_0 = L_0;
		uint8_t L_1 = V_0;
		if ((((int32_t)L_1) == ((int32_t)1)))
		{
			goto IL_001d;
		}
	}
	{
		uint8_t L_2 = V_0;
		if ((((int32_t)L_2) == ((int32_t)2)))
		{
			goto IL_0015;
		}
	}
	{
		goto IL_001d;
	}

IL_0015:
	{
		uint8_t L_3 = ___alertLevel0;
		uint8_t L_4 = ___alertDesc1;
		TlsException_t1031360050 * L_5 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m1532839414(L_5, L_3, L_4, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_001d:
	{
		uint8_t L_6 = ___alertDesc1;
		V_1 = L_6;
		uint8_t L_7 = V_1;
		if ((((int32_t)L_7) == ((int32_t)0)))
		{
			goto IL_002b;
		}
	}
	{
		goto IL_003c;
	}

IL_002b:
	{
		Context_t658806145 * L_8 = __this->get_context_2();
		Context_set_ReceivedConnectionEnd_m1502103331(L_8, (bool)1, /*hidden argument*/NULL);
		goto IL_003c;
	}

IL_003c:
	{
		goto IL_0041;
	}

IL_0041:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendAlert(Mono.Security.Protocol.Tls.AlertDescription)
extern Il2CppClass* Alert_t2013630382_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m2514944891_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m2514944891 (RecordProtocol_t1331996967 * __this, uint8_t ___description0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m2514944891_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		uint8_t L_0 = ___description0;
		Alert_t2013630382 * L_1 = (Alert_t2013630382 *)il2cpp_codegen_object_new(Alert_t2013630382_il2cpp_TypeInfo_var);
		Alert__ctor_m1050138762(L_1, L_0, /*hidden argument*/NULL);
		RecordProtocol_SendAlert_m1661652283(__this, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendAlert(Mono.Security.Protocol.Tls.AlertLevel,Mono.Security.Protocol.Tls.AlertDescription)
extern Il2CppClass* Alert_t2013630382_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m1748450521_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m1748450521 (RecordProtocol_t1331996967 * __this, uint8_t ___level0, uint8_t ___description1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m1748450521_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		uint8_t L_0 = ___level0;
		uint8_t L_1 = ___description1;
		Alert_t2013630382 * L_2 = (Alert_t2013630382 *)il2cpp_codegen_object_new(Alert_t2013630382_il2cpp_TypeInfo_var);
		Alert__ctor_m2712587944(L_2, L_0, L_1, /*hidden argument*/NULL);
		RecordProtocol_SendAlert_m1661652283(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendAlert(Mono.Security.Protocol.Tls.Alert)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m1661652283_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m1661652283 (RecordProtocol_t1331996967 * __this, Alert_t2013630382 * ___alert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m1661652283_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	uint8_t V_0 = 0;
	uint8_t V_1 = 0;
	bool V_2 = false;
	{
		Alert_t2013630382 * L_0 = ___alert0;
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		V_0 = 2;
		V_1 = ((int32_t)80);
		V_2 = (bool)1;
		goto IL_0027;
	}

IL_0012:
	{
		Alert_t2013630382 * L_1 = ___alert0;
		uint8_t L_2 = Alert_get_Level_m1997506166(L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Alert_t2013630382 * L_3 = ___alert0;
		uint8_t L_4 = Alert_get_Description_m3120128934(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		Alert_t2013630382 * L_5 = ___alert0;
		bool L_6 = Alert_get_IsCloseNotify_m3620572320(L_5, /*hidden argument*/NULL);
		V_2 = L_6;
	}

IL_0027:
	{
		ByteU5BU5D_t4260760469* L_7 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)2));
		uint8_t L_8 = V_0;
		(L_7)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_8);
		ByteU5BU5D_t4260760469* L_9 = L_7;
		uint8_t L_10 = V_1;
		(L_9)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)L_10);
		RecordProtocol_SendRecord_m1964683252(__this, ((int32_t)21), L_9, /*hidden argument*/NULL);
		bool L_11 = V_2;
		if (!L_11)
		{
			goto IL_004f;
		}
	}
	{
		Context_t658806145 * L_12 = __this->get_context_2();
		Context_set_SentConnectionEnd_m2988269644(L_12, (bool)1, /*hidden argument*/NULL);
	}

IL_004f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendChangeCipherSpec()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendChangeCipherSpec_m1492403331_MetadataUsageId;
extern "C"  void RecordProtocol_SendChangeCipherSpec_m1492403331 (RecordProtocol_t1331996967 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendChangeCipherSpec_m1492403331_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Context_t658806145 * V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)1));
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)1);
		RecordProtocol_SendRecord_m1964683252(__this, ((int32_t)20), L_0, /*hidden argument*/NULL);
		Context_t658806145 * L_1 = __this->get_context_2();
		V_0 = L_1;
		Context_t658806145 * L_2 = V_0;
		Context_set_WriteSequenceNumber_m970670722(L_2, (((int64_t)((int64_t)0))), /*hidden argument*/NULL);
		Context_t658806145 * L_3 = V_0;
		if (!((ClientContext_t3745725366 *)IsInstClass(L_3, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0038;
		}
	}
	{
		Context_t658806145 * L_4 = V_0;
		Context_StartSwitchingSecurityParameters_m271202242(L_4, (bool)1, /*hidden argument*/NULL);
		goto IL_003f;
	}

IL_0038:
	{
		Context_t658806145 * L_5 = V_0;
		Context_EndSwitchingSecurityParameters_m284941993(L_5, (bool)0, /*hidden argument*/NULL);
	}

IL_003f:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.RecordProtocol::BeginSendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType,System.AsyncCallback,System.Object)
extern Il2CppClass* SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern const MethodInfo* RecordProtocol_InternalSendRecordCallback_m396863619_MethodInfo_var;
extern const uint32_t RecordProtocol_BeginSendRecord_m4074660131_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginSendRecord_m4074660131 (RecordProtocol_t1331996967 * __this, uint8_t ___handshakeType0, AsyncCallback_t1369114871 * ___callback1, Il2CppObject * ___state2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginSendRecord_m4074660131_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HandshakeMessage_t2623608376 * V_0 = NULL;
	SendRecordAsyncResult_t3836770528 * V_1 = NULL;
	{
		uint8_t L_0 = ___handshakeType0;
		HandshakeMessage_t2623608376 * L_1 = VirtFuncInvoker1< HandshakeMessage_t2623608376 *, uint8_t >::Invoke(7 /* Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.RecordProtocol::GetMessage(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, __this, L_0);
		V_0 = L_1;
		HandshakeMessage_t2623608376 * L_2 = V_0;
		HandshakeMessage_Process_m1242505358(L_2, /*hidden argument*/NULL);
		AsyncCallback_t1369114871 * L_3 = ___callback1;
		Il2CppObject * L_4 = ___state2;
		HandshakeMessage_t2623608376 * L_5 = V_0;
		SendRecordAsyncResult_t3836770528 * L_6 = (SendRecordAsyncResult_t3836770528 *)il2cpp_codegen_object_new(SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var);
		SendRecordAsyncResult__ctor_m1199829305(L_6, L_3, L_4, L_5, /*hidden argument*/NULL);
		V_1 = L_6;
		HandshakeMessage_t2623608376 * L_7 = V_0;
		uint8_t L_8 = HandshakeMessage_get_ContentType_m3318987123(L_7, /*hidden argument*/NULL);
		HandshakeMessage_t2623608376 * L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(27 /* System.Byte[] Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::EncodeMessage() */, L_9);
		IntPtr_t L_11;
		L_11.set_m_value_0((void*)(void*)RecordProtocol_InternalSendRecordCallback_m396863619_MethodInfo_var);
		AsyncCallback_t1369114871 * L_12 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
		AsyncCallback__ctor_m1986959762(L_12, __this, L_11, /*hidden argument*/NULL);
		SendRecordAsyncResult_t3836770528 * L_13 = V_1;
		RecordProtocol_BeginSendRecord_m284507289(__this, L_8, L_10, L_12, L_13, /*hidden argument*/NULL);
		SendRecordAsyncResult_t3836770528 * L_14 = V_1;
		return L_14;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::InternalSendRecordCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_InternalSendRecordCallback_m396863619_MetadataUsageId;
extern "C"  void RecordProtocol_InternalSendRecordCallback_m396863619 (RecordProtocol_t1331996967 * __this, Il2CppObject * ___ar0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_InternalSendRecordCallback_m396863619_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	SendRecordAsyncResult_t3836770528 * V_0 = NULL;
	Exception_t3991598821 * V_1 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = ___ar0;
		Il2CppObject * L_1 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.IAsyncResult::get_AsyncState() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_0);
		V_0 = ((SendRecordAsyncResult_t3836770528 *)IsInstClass(L_1, SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var));
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		Il2CppObject * L_2 = ___ar0;
		RecordProtocol_EndSendRecord_m1779126194(__this, L_2, /*hidden argument*/NULL);
		SendRecordAsyncResult_t3836770528 * L_3 = V_0;
		HandshakeMessage_t2623608376 * L_4 = SendRecordAsyncResult_get_Message_m2765274544(L_3, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(26 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Update() */, L_4);
		SendRecordAsyncResult_t3836770528 * L_5 = V_0;
		HandshakeMessage_t2623608376 * L_6 = SendRecordAsyncResult_get_Message_m2765274544(L_5, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(L_6, /*hidden argument*/NULL);
		SendRecordAsyncResult_t3836770528 * L_7 = V_0;
		SendRecordAsyncResult_SetComplete_m1807552551(L_7, /*hidden argument*/NULL);
		goto IL_0041;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0034;
		throw e;
	}

CATCH_0034:
	{ // begin catch(System.Exception)
		V_1 = ((Exception_t3991598821 *)__exception_local);
		SendRecordAsyncResult_t3836770528 * L_8 = V_0;
		Exception_t3991598821 * L_9 = V_1;
		SendRecordAsyncResult_SetComplete_m323449559(L_8, L_9, /*hidden argument*/NULL);
		goto IL_0041;
	} // end catch (depth: 1)

IL_0041:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.RecordProtocol::BeginSendRecord(Mono.Security.Protocol.Tls.ContentType,System.Byte[],System.AsyncCallback,System.Object)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4141154361;
extern const uint32_t RecordProtocol_BeginSendRecord_m284507289_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginSendRecord_m284507289 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___recordData1, AsyncCallback_t1369114871 * ___callback2, Il2CppObject * ___state3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginSendRecord_m284507289_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		Context_t658806145 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_SentConnectionEnd_m1343643003(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t1031360050 * L_2 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_2, ((int32_t)80), _stringLiteral4141154361, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		uint8_t L_3 = ___contentType0;
		ByteU5BU5D_t4260760469* L_4 = ___recordData1;
		ByteU5BU5D_t4260760469* L_5 = RecordProtocol_EncodeRecord_m3527606936(__this, L_3, L_4, /*hidden argument*/NULL);
		V_0 = L_5;
		Stream_t1561764144 * L_6 = __this->get_innerStream_1();
		ByteU5BU5D_t4260760469* L_7 = V_0;
		ByteU5BU5D_t4260760469* L_8 = V_0;
		AsyncCallback_t1369114871 * L_9 = ___callback2;
		Il2CppObject * L_10 = ___state3;
		Il2CppObject * L_11 = VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t4260760469*, int32_t, int32_t, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(21 /* System.IAsyncResult System.IO.Stream::BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) */, L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), L_9, L_10);
		return L_11;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::EndSendRecord(System.IAsyncResult)
extern Il2CppClass* SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_EndSendRecord_m1779126194_MetadataUsageId;
extern "C"  void RecordProtocol_EndSendRecord_m1779126194 (RecordProtocol_t1331996967 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EndSendRecord_m1779126194_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	SendRecordAsyncResult_t3836770528 * V_0 = NULL;
	{
		Il2CppObject * L_0 = ___asyncResult0;
		if (!((SendRecordAsyncResult_t3836770528 *)IsInstClass(L_0, SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var)))
		{
			goto IL_0040;
		}
	}
	{
		Il2CppObject * L_1 = ___asyncResult0;
		V_0 = ((SendRecordAsyncResult_t3836770528 *)IsInstClass(L_1, SendRecordAsyncResult_t3836770528_il2cpp_TypeInfo_var));
		SendRecordAsyncResult_t3836770528 * L_2 = V_0;
		bool L_3 = SendRecordAsyncResult_get_IsCompleted_m775666514(L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0029;
		}
	}
	{
		SendRecordAsyncResult_t3836770528 * L_4 = V_0;
		WaitHandle_t1661568373 * L_5 = SendRecordAsyncResult_get_AsyncWaitHandle_m1260948317(L_4, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_5);
	}

IL_0029:
	{
		SendRecordAsyncResult_t3836770528 * L_6 = V_0;
		bool L_7 = SendRecordAsyncResult_get_CompletedWithError_m771666376(L_6, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_003b;
		}
	}
	{
		SendRecordAsyncResult_t3836770528 * L_8 = V_0;
		Exception_t3991598821 * L_9 = SendRecordAsyncResult_get_AsyncException_m776645195(L_8, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003b:
	{
		goto IL_004c;
	}

IL_0040:
	{
		Stream_t1561764144 * L_10 = __this->get_innerStream_1();
		Il2CppObject * L_11 = ___asyncResult0;
		VirtActionInvoker1< Il2CppObject * >::Invoke(23 /* System.Void System.IO.Stream::EndWrite(System.IAsyncResult) */, L_10, L_11);
	}

IL_004c:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern "C"  void RecordProtocol_SendRecord_m1964683252 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___recordData1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		uint8_t L_0 = ___contentType0;
		ByteU5BU5D_t4260760469* L_1 = ___recordData1;
		Il2CppObject * L_2 = RecordProtocol_BeginSendRecord_m284507289(__this, L_0, L_1, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_2;
		Il2CppObject * L_3 = V_0;
		RecordProtocol_EndSendRecord_m1779126194(__this, L_3, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::EncodeRecord(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_EncodeRecord_m3527606936 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___recordData1, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___contentType0;
		ByteU5BU5D_t4260760469* L_1 = ___recordData1;
		ByteU5BU5D_t4260760469* L_2 = ___recordData1;
		ByteU5BU5D_t4260760469* L_3 = RecordProtocol_EncodeRecord_m1123568120(__this, L_0, L_1, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_2)->max_length)))), /*hidden argument*/NULL);
		return L_3;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::EncodeRecord(Mono.Security.Protocol.Tls.ContentType,System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4141154361;
extern const uint32_t RecordProtocol_EncodeRecord_m1123568120_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_EncodeRecord_m1123568120 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___recordData1, int32_t ___offset2, int32_t ___count3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EncodeRecord_m1123568120_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	int32_t V_1 = 0;
	int16_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	{
		Context_t658806145 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_SentConnectionEnd_m1343643003(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t1031360050 * L_2 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_2, ((int32_t)80), _stringLiteral4141154361, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		TlsStream_t89550253 * L_3 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_3, /*hidden argument*/NULL);
		V_0 = L_3;
		int32_t L_4 = ___offset2;
		V_1 = L_4;
		goto IL_00bb;
	}

IL_002a:
	{
		V_2 = 0;
		int32_t L_5 = ___count3;
		int32_t L_6 = ___offset2;
		int32_t L_7 = V_1;
		if ((((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_5+(int32_t)L_6))-(int32_t)L_7))) <= ((int32_t)((int32_t)16384))))
		{
			goto IL_0047;
		}
	}
	{
		V_2 = ((int32_t)16384);
		goto IL_004f;
	}

IL_0047:
	{
		int32_t L_8 = ___count3;
		int32_t L_9 = ___offset2;
		int32_t L_10 = V_1;
		V_2 = (((int16_t)((int16_t)((int32_t)((int32_t)((int32_t)((int32_t)L_8+(int32_t)L_9))-(int32_t)L_10)))));
	}

IL_004f:
	{
		int16_t L_11 = V_2;
		V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_11));
		ByteU5BU5D_t4260760469* L_12 = ___recordData1;
		int32_t L_13 = V_1;
		ByteU5BU5D_t4260760469* L_14 = V_3;
		int16_t L_15 = V_2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_12, L_13, (Il2CppArray *)(Il2CppArray *)L_14, 0, L_15, /*hidden argument*/NULL);
		Context_t658806145 * L_16 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_17 = Context_get_Write_m3396834016(L_16, /*hidden argument*/NULL);
		if (!L_17)
		{
			goto IL_008e;
		}
	}
	{
		Context_t658806145 * L_18 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_19 = Context_get_Write_m3396834016(L_18, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_20 = SecurityParameters_get_Cipher_m2063042602(L_19, /*hidden argument*/NULL);
		if (!L_20)
		{
			goto IL_008e;
		}
	}
	{
		uint8_t L_21 = ___contentType0;
		ByteU5BU5D_t4260760469* L_22 = V_3;
		ByteU5BU5D_t4260760469* L_23 = RecordProtocol_encryptRecordFragment_m3671059907(__this, L_21, L_22, /*hidden argument*/NULL);
		V_3 = L_23;
	}

IL_008e:
	{
		TlsStream_t89550253 * L_24 = V_0;
		uint8_t L_25 = ___contentType0;
		TlsStream_Write_m1211282283(L_24, L_25, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_26 = V_0;
		Context_t658806145 * L_27 = __this->get_context_2();
		int16_t L_28 = Context_get_Protocol_m775713592(L_27, /*hidden argument*/NULL);
		TlsStream_Write_m3380208203(L_26, L_28, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_29 = V_0;
		ByteU5BU5D_t4260760469* L_30 = V_3;
		TlsStream_Write_m3380208203(L_29, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length))))))), /*hidden argument*/NULL);
		TlsStream_t89550253 * L_31 = V_0;
		ByteU5BU5D_t4260760469* L_32 = V_3;
		TlsStream_Write_m106187721(L_31, L_32, /*hidden argument*/NULL);
		int32_t L_33 = V_1;
		int16_t L_34 = V_2;
		V_1 = ((int32_t)((int32_t)L_33+(int32_t)L_34));
	}

IL_00bb:
	{
		int32_t L_35 = V_1;
		int32_t L_36 = ___offset2;
		int32_t L_37 = ___count3;
		if ((((int32_t)L_35) < ((int32_t)((int32_t)((int32_t)L_36+(int32_t)L_37)))))
		{
			goto IL_002a;
		}
	}
	{
		TlsStream_t89550253 * L_38 = V_0;
		ByteU5BU5D_t4260760469* L_39 = TlsStream_ToArray_m613486997(L_38, /*hidden argument*/NULL);
		return L_39;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::encryptRecordFragment(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_encryptRecordFragment_m3671059907_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_encryptRecordFragment_m3671059907 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_encryptRecordFragment_m3671059907_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	{
		V_0 = (ByteU5BU5D_t4260760469*)NULL;
		Context_t658806145 * L_0 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3745725366 *)IsInstClass(L_0, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_002f;
		}
	}
	{
		Context_t658806145 * L_1 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_2 = Context_get_Write_m3396834016(L_1, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_3 = SecurityParameters_get_Cipher_m2063042602(L_2, /*hidden argument*/NULL);
		uint8_t L_4 = ___contentType0;
		ByteU5BU5D_t4260760469* L_5 = ___fragment1;
		ByteU5BU5D_t4260760469* L_6 = VirtFuncInvoker2< ByteU5BU5D_t4260760469*, uint8_t, ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::ComputeClientRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[]) */, L_3, L_4, L_5);
		V_0 = L_6;
		goto IL_0047;
	}

IL_002f:
	{
		Context_t658806145 * L_7 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_8 = Context_get_Write_m3396834016(L_7, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_9 = SecurityParameters_get_Cipher_m2063042602(L_8, /*hidden argument*/NULL);
		uint8_t L_10 = ___contentType0;
		ByteU5BU5D_t4260760469* L_11 = ___fragment1;
		ByteU5BU5D_t4260760469* L_12 = VirtFuncInvoker2< ByteU5BU5D_t4260760469*, uint8_t, ByteU5BU5D_t4260760469* >::Invoke(5 /* System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::ComputeServerRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[]) */, L_9, L_10, L_11);
		V_0 = L_12;
	}

IL_0047:
	{
		Context_t658806145 * L_13 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_14 = Context_get_Write_m3396834016(L_13, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_15 = SecurityParameters_get_Cipher_m2063042602(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_16 = ___fragment1;
		ByteU5BU5D_t4260760469* L_17 = V_0;
		ByteU5BU5D_t4260760469* L_18 = CipherSuite_EncryptRecord_m1686609905(L_15, L_16, L_17, /*hidden argument*/NULL);
		V_1 = L_18;
		Context_t658806145 * L_19 = __this->get_context_2();
		Context_t658806145 * L_20 = L_19;
		uint64_t L_21 = Context_get_WriteSequenceNumber_m2425723185(L_20, /*hidden argument*/NULL);
		Context_set_WriteSequenceNumber_m970670722(L_20, ((int64_t)((int64_t)L_21+(int64_t)(((int64_t)((int64_t)1))))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_22 = V_1;
		return L_22;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::decryptRecordFragment(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppClass* ServerContext_t5810494_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1686369275;
extern const uint32_t RecordProtocol_decryptRecordFragment_m3106472171_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RecordProtocol_decryptRecordFragment_m3106472171 (RecordProtocol_t1331996967 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_decryptRecordFragment_m3106472171_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (ByteU5BU5D_t4260760469*)NULL;
		V_1 = (ByteU5BU5D_t4260760469*)NULL;
	}

IL_0004:
	try
	{ // begin try (depth: 1)
		Context_t658806145 * L_0 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_1 = Context_get_Read_m3694946135(L_0, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_2 = SecurityParameters_get_Cipher_m2063042602(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = ___fragment1;
		CipherSuite_DecryptRecord_m3553271804(L_2, L_3, (&V_0), (&V_1), /*hidden argument*/NULL);
		goto IL_004d;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Il2CppObject_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0023;
		throw e;
	}

CATCH_0023:
	{ // begin catch(System.Object)
		{
			Context_t658806145 * L_4 = __this->get_context_2();
			if (!((ServerContext_t5810494 *)IsInstClass(L_4, ServerContext_t5810494_il2cpp_TypeInfo_var)))
			{
				goto IL_0046;
			}
		}

IL_0034:
		{
			Context_t658806145 * L_5 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			RecordProtocol_t1331996967 * L_6 = Context_get_RecordProtocol_m3223396139(L_5, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2514944891(L_6, ((int32_t)21), /*hidden argument*/NULL);
		}

IL_0046:
		{
			IL2CPP_RAISE_MANAGED_EXCEPTION(__exception_local);
		}

IL_0048:
		{
			goto IL_004d;
		}
	} // end catch (depth: 1)

IL_004d:
	{
		V_2 = (ByteU5BU5D_t4260760469*)NULL;
		Context_t658806145 * L_7 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3745725366 *)IsInstClass(L_7, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_007c;
		}
	}
	{
		Context_t658806145 * L_8 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_9 = Context_get_Read_m3694946135(L_8, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_10 = SecurityParameters_get_Cipher_m2063042602(L_9, /*hidden argument*/NULL);
		uint8_t L_11 = ___contentType0;
		ByteU5BU5D_t4260760469* L_12 = V_0;
		ByteU5BU5D_t4260760469* L_13 = VirtFuncInvoker2< ByteU5BU5D_t4260760469*, uint8_t, ByteU5BU5D_t4260760469* >::Invoke(5 /* System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::ComputeServerRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[]) */, L_10, L_11, L_12);
		V_2 = L_13;
		goto IL_0094;
	}

IL_007c:
	{
		Context_t658806145 * L_14 = __this->get_context_2();
		SecurityParameters_t2935569768 * L_15 = Context_get_Read_m3694946135(L_14, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_16 = SecurityParameters_get_Cipher_m2063042602(L_15, /*hidden argument*/NULL);
		uint8_t L_17 = ___contentType0;
		ByteU5BU5D_t4260760469* L_18 = V_0;
		ByteU5BU5D_t4260760469* L_19 = VirtFuncInvoker2< ByteU5BU5D_t4260760469*, uint8_t, ByteU5BU5D_t4260760469* >::Invoke(4 /* System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::ComputeClientRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[]) */, L_16, L_17, L_18);
		V_2 = L_19;
	}

IL_0094:
	{
		ByteU5BU5D_t4260760469* L_20 = V_2;
		ByteU5BU5D_t4260760469* L_21 = V_1;
		bool L_22 = RecordProtocol_Compare_m2180772028(__this, L_20, L_21, /*hidden argument*/NULL);
		if (L_22)
		{
			goto IL_00ae;
		}
	}
	{
		TlsException_t1031360050 * L_23 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_23, ((int32_t)20), _stringLiteral1686369275, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_00ae:
	{
		Context_t658806145 * L_24 = __this->get_context_2();
		Context_t658806145 * L_25 = L_24;
		uint64_t L_26 = Context_get_ReadSequenceNumber_m1306012538(L_25, /*hidden argument*/NULL);
		Context_set_ReadSequenceNumber_m3107900585(L_25, ((int64_t)((int64_t)L_26+(int64_t)(((int64_t)((int64_t)1))))), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_27 = V_0;
		return L_27;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol::Compare(System.Byte[],System.Byte[])
extern "C"  bool RecordProtocol_Compare_m2180772028 (RecordProtocol_t1331996967 * __this, ByteU5BU5D_t4260760469* ___array10, ByteU5BU5D_t4260760469* ___array21, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		ByteU5BU5D_t4260760469* L_0 = ___array10;
		if (L_0)
		{
			goto IL_000b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = ___array21;
		return (bool)((((Il2CppObject*)(ByteU5BU5D_t4260760469*)L_1) == ((Il2CppObject*)(Il2CppObject *)NULL))? 1 : 0);
	}

IL_000b:
	{
		ByteU5BU5D_t4260760469* L_2 = ___array21;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		return (bool)0;
	}

IL_0013:
	{
		ByteU5BU5D_t4260760469* L_3 = ___array10;
		ByteU5BU5D_t4260760469* L_4 = ___array21;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length))))) == ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))))
		{
			goto IL_0020;
		}
	}
	{
		return (bool)0;
	}

IL_0020:
	{
		V_0 = 0;
		goto IL_0038;
	}

IL_0027:
	{
		ByteU5BU5D_t4260760469* L_5 = ___array10;
		int32_t L_6 = V_0;
		int32_t L_7 = L_6;
		uint8_t L_8 = (L_5)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		ByteU5BU5D_t4260760469* L_9 = ___array21;
		int32_t L_10 = V_0;
		int32_t L_11 = L_10;
		uint8_t L_12 = (L_9)->GetAt(static_cast<il2cpp_array_size_t>(L_11));
		if ((((int32_t)L_8) == ((int32_t)L_12)))
		{
			goto IL_0034;
		}
	}
	{
		return (bool)0;
	}

IL_0034:
	{
		int32_t L_13 = V_0;
		V_0 = ((int32_t)((int32_t)L_13+(int32_t)1));
	}

IL_0038:
	{
		int32_t L_14 = V_0;
		ByteU5BU5D_t4260760469* L_15 = ___array10;
		if ((((int32_t)L_14) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_15)->max_length)))))))
		{
			goto IL_0027;
		}
	}
	{
		return (bool)1;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessCipherSpecV2Buffer(Mono.Security.Protocol.Tls.SecurityProtocolType,System.Byte[])
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2554867;
extern Il2CppCodeGenString* _stringLiteral2578148;
extern Il2CppCodeGenString* _stringLiteral4173583941;
extern const uint32_t RecordProtocol_ProcessCipherSpecV2Buffer_m572218255_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessCipherSpecV2Buffer_m572218255 (RecordProtocol_t1331996967 * __this, int32_t ___protocol0, ByteU5BU5D_t4260760469* ___buffer1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessCipherSpecV2Buffer_m572218255_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	String_t* V_1 = NULL;
	uint8_t V_2 = 0x0;
	int16_t V_3 = 0;
	int32_t V_4 = 0;
	ByteU5BU5D_t4260760469* V_5 = NULL;
	int32_t V_6 = 0;
	CipherSuite_t580420223 * V_7 = NULL;
	String_t* G_B3_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = ___buffer1;
		TlsStream_t89550253 * L_1 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m868803046(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = ___protocol0;
		if ((!(((uint32_t)L_2) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_0019;
		}
	}
	{
		G_B3_0 = _stringLiteral2554867;
		goto IL_001e;
	}

IL_0019:
	{
		G_B3_0 = _stringLiteral2578148;
	}

IL_001e:
	{
		V_1 = G_B3_0;
		goto IL_00e2;
	}

IL_0024:
	{
		TlsStream_t89550253 * L_3 = V_0;
		uint8_t L_4 = TlsStream_ReadByte_m4124498283(L_3, /*hidden argument*/NULL);
		V_2 = L_4;
		uint8_t L_5 = V_2;
		if (L_5)
		{
			goto IL_007f;
		}
	}
	{
		TlsStream_t89550253 * L_6 = V_0;
		int16_t L_7 = TlsStream_ReadInt16_m3059078429(L_6, /*hidden argument*/NULL);
		V_3 = L_7;
		Context_t658806145 * L_8 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_9 = Context_get_SupportedCiphers_m2251752138(L_8, /*hidden argument*/NULL);
		int16_t L_10 = V_3;
		int32_t L_11 = CipherSuiteCollection_IndexOf_m102883581(L_9, L_10, /*hidden argument*/NULL);
		V_4 = L_11;
		int32_t L_12 = V_4;
		if ((((int32_t)L_12) == ((int32_t)(-1))))
		{
			goto IL_007a;
		}
	}
	{
		Context_t658806145 * L_13 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_14 = Context_get_Negotiating_m622190524(L_13, /*hidden argument*/NULL);
		Context_t658806145 * L_15 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2487974013 * L_16 = Context_get_SupportedCiphers_m2251752138(L_15, /*hidden argument*/NULL);
		int32_t L_17 = V_4;
		CipherSuite_t580420223 * L_18 = CipherSuiteCollection_get_Item_m3036376750(L_16, L_17, /*hidden argument*/NULL);
		SecurityParameters_set_Cipher_m1888356967(L_14, L_18, /*hidden argument*/NULL);
		goto IL_00f3;
	}

IL_007a:
	{
		goto IL_00e2;
	}

IL_007f:
	{
		V_5 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)2));
		TlsStream_t89550253 * L_19 = V_0;
		ByteU5BU5D_t4260760469* L_20 = V_5;
		ByteU5BU5D_t4260760469* L_21 = V_5;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 Mono.Security.Protocol.Tls.TlsStream::Read(System.Byte[],System.Int32,System.Int32) */, L_19, L_20, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))));
		uint8_t L_22 = V_2;
		ByteU5BU5D_t4260760469* L_23 = V_5;
		int32_t L_24 = 0;
		uint8_t L_25 = (L_23)->GetAt(static_cast<il2cpp_array_size_t>(L_24));
		ByteU5BU5D_t4260760469* L_26 = V_5;
		int32_t L_27 = 1;
		uint8_t L_28 = (L_26)->GetAt(static_cast<il2cpp_array_size_t>(L_27));
		V_6 = ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_22&(int32_t)((int32_t)255)))<<(int32_t)((int32_t)16)))|(int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_25&(int32_t)((int32_t)255)))<<(int32_t)8))))|(int32_t)((int32_t)((int32_t)L_28&(int32_t)((int32_t)255)))));
		String_t* L_29 = V_1;
		int32_t L_30 = V_6;
		CipherSuite_t580420223 * L_31 = RecordProtocol_MapV2CipherCode_m3065399538(__this, L_29, L_30, /*hidden argument*/NULL);
		V_7 = L_31;
		CipherSuite_t580420223 * L_32 = V_7;
		if (!L_32)
		{
			goto IL_00e2;
		}
	}
	{
		Context_t658806145 * L_33 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_34 = Context_get_Negotiating_m622190524(L_33, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_35 = V_7;
		SecurityParameters_set_Cipher_m1888356967(L_34, L_35, /*hidden argument*/NULL);
		goto IL_00f3;
	}

IL_00e2:
	{
		TlsStream_t89550253 * L_36 = V_0;
		int64_t L_37 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Position() */, L_36);
		TlsStream_t89550253 * L_38 = V_0;
		int64_t L_39 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_38);
		if ((((int64_t)L_37) < ((int64_t)L_39)))
		{
			goto IL_0024;
		}
	}

IL_00f3:
	{
		Context_t658806145 * L_40 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_41 = Context_get_Negotiating_m622190524(L_40, /*hidden argument*/NULL);
		if (L_41)
		{
			goto IL_0110;
		}
	}
	{
		TlsException_t1031360050 * L_42 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_42, ((int32_t)71), _stringLiteral4173583941, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_42);
	}

IL_0110:
	{
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.RecordProtocol::MapV2CipherCode(System.String,System.Int32)
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3496831392;
extern Il2CppCodeGenString* _stringLiteral1346235492;
extern Il2CppCodeGenString* _stringLiteral3670727169;
extern const uint32_t RecordProtocol_MapV2CipherCode_m3065399538_MetadataUsageId;
extern "C"  CipherSuite_t580420223 * RecordProtocol_MapV2CipherCode_m3065399538 (RecordProtocol_t1331996967 * __this, String_t* ___prefix0, int32_t ___code1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_MapV2CipherCode_m3065399538_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t580420223 * V_1 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			int32_t L_0 = ___code1;
			V_0 = L_0;
			int32_t L_1 = V_0;
			if ((((int32_t)L_1) == ((int32_t)((int32_t)65664))))
			{
				goto IL_0054;
			}
		}

IL_000d:
		{
			int32_t L_2 = V_0;
			if ((((int32_t)L_2) == ((int32_t)((int32_t)131200))))
			{
				goto IL_0075;
			}
		}

IL_0018:
		{
			int32_t L_3 = V_0;
			if ((((int32_t)L_3) == ((int32_t)((int32_t)196736))))
			{
				goto IL_0096;
			}
		}

IL_0023:
		{
			int32_t L_4 = V_0;
			if ((((int32_t)L_4) == ((int32_t)((int32_t)262272))))
			{
				goto IL_00b7;
			}
		}

IL_002e:
		{
			int32_t L_5 = V_0;
			if ((((int32_t)L_5) == ((int32_t)((int32_t)327808))))
			{
				goto IL_00d8;
			}
		}

IL_0039:
		{
			int32_t L_6 = V_0;
			if ((((int32_t)L_6) == ((int32_t)((int32_t)393280))))
			{
				goto IL_00df;
			}
		}

IL_0044:
		{
			int32_t L_7 = V_0;
			if ((((int32_t)L_7) == ((int32_t)((int32_t)458944))))
			{
				goto IL_00e6;
			}
		}

IL_004f:
		{
			goto IL_00ed;
		}

IL_0054:
		{
			Context_t658806145 * L_8 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2487974013 * L_9 = Context_get_SupportedCiphers_m2251752138(L_8, /*hidden argument*/NULL);
			String_t* L_10 = ___prefix0;
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			String_t* L_11 = String_Concat_m138640077(NULL /*static, unused*/, L_10, _stringLiteral3496831392, /*hidden argument*/NULL);
			CipherSuite_t580420223 * L_12 = CipherSuiteCollection_get_Item_m95097157(L_9, L_11, /*hidden argument*/NULL);
			V_1 = L_12;
			goto IL_0106;
		}

IL_0075:
		{
			Context_t658806145 * L_13 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2487974013 * L_14 = Context_get_SupportedCiphers_m2251752138(L_13, /*hidden argument*/NULL);
			String_t* L_15 = ___prefix0;
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			String_t* L_16 = String_Concat_m138640077(NULL /*static, unused*/, L_15, _stringLiteral1346235492, /*hidden argument*/NULL);
			CipherSuite_t580420223 * L_17 = CipherSuiteCollection_get_Item_m95097157(L_14, L_16, /*hidden argument*/NULL);
			V_1 = L_17;
			goto IL_0106;
		}

IL_0096:
		{
			Context_t658806145 * L_18 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2487974013 * L_19 = Context_get_SupportedCiphers_m2251752138(L_18, /*hidden argument*/NULL);
			String_t* L_20 = ___prefix0;
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			String_t* L_21 = String_Concat_m138640077(NULL /*static, unused*/, L_20, _stringLiteral3670727169, /*hidden argument*/NULL);
			CipherSuite_t580420223 * L_22 = CipherSuiteCollection_get_Item_m95097157(L_19, L_21, /*hidden argument*/NULL);
			V_1 = L_22;
			goto IL_0106;
		}

IL_00b7:
		{
			Context_t658806145 * L_23 = RecordProtocol_get_Context_m1960772337(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2487974013 * L_24 = Context_get_SupportedCiphers_m2251752138(L_23, /*hidden argument*/NULL);
			String_t* L_25 = ___prefix0;
			IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
			String_t* L_26 = String_Concat_m138640077(NULL /*static, unused*/, L_25, _stringLiteral3670727169, /*hidden argument*/NULL);
			CipherSuite_t580420223 * L_27 = CipherSuiteCollection_get_Item_m95097157(L_24, L_26, /*hidden argument*/NULL);
			V_1 = L_27;
			goto IL_0106;
		}

IL_00d8:
		{
			V_1 = (CipherSuite_t580420223 *)NULL;
			goto IL_0106;
		}

IL_00df:
		{
			V_1 = (CipherSuite_t580420223 *)NULL;
			goto IL_0106;
		}

IL_00e6:
		{
			V_1 = (CipherSuite_t580420223 *)NULL;
			goto IL_0106;
		}

IL_00ed:
		{
			V_1 = (CipherSuite_t580420223 *)NULL;
			goto IL_0106;
		}

IL_00f4:
		{
			; // IL_00f4: leave IL_0106
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Il2CppObject_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_00f9;
		throw e;
	}

CATCH_00f9:
	{ // begin catch(System.Object)
		{
			V_1 = (CipherSuite_t580420223 *)NULL;
			goto IL_0106;
		}

IL_0101:
		{
			; // IL_0101: leave IL_0106
		}
	} // end catch (depth: 1)

IL_0106:
	{
		CipherSuite_t580420223 * L_28 = V_1;
		return L_28;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::.ctor(System.AsyncCallback,System.Object,System.Byte[],System.IO.Stream)
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t ReceiveRecordAsyncResult__ctor_m2998582075_MetadataUsageId;
extern "C"  void ReceiveRecordAsyncResult__ctor_m2998582075 (ReceiveRecordAsyncResult_t4254633253 * __this, AsyncCallback_t1369114871 * ___userCallback0, Il2CppObject * ___userState1, ByteU5BU5D_t4260760469* ___initialBuffer2, Stream_t1561764144 * ___record3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ReceiveRecordAsyncResult__ctor_m2998582075_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		AsyncCallback_t1369114871 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		ByteU5BU5D_t4260760469* L_3 = ___initialBuffer2;
		__this->set__initialBuffer_8(L_3);
		Stream_t1561764144 * L_4 = ___record3;
		__this->set__record_6(L_4);
		return;
	}
}
// System.IO.Stream Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_Record()
extern "C"  Stream_t1561764144 * ReceiveRecordAsyncResult_get_Record_m871815161 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		Stream_t1561764144 * L_0 = __this->get__record_6();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_ResultingBuffer()
extern "C"  ByteU5BU5D_t4260760469* ReceiveRecordAsyncResult_get_ResultingBuffer_m3820567043 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__resultingBuffer_5();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_InitialBuffer()
extern "C"  ByteU5BU5D_t4260760469* ReceiveRecordAsyncResult_get_InitialBuffer_m2778078946 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__initialBuffer_8();
		return L_0;
	}
}
// System.Object Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_AsyncState()
extern "C"  Il2CppObject * ReceiveRecordAsyncResult_get_AsyncState_m3272189028 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		Il2CppObject * L_0 = __this->get__userState_2();
		return L_0;
	}
}
// System.Exception Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_AsyncException()
extern "C"  Exception_t3991598821 * ReceiveRecordAsyncResult_get_AsyncException_m3323094132 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		Exception_t3991598821 * L_0 = __this->get__asyncException_3();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_CompletedWithError()
extern "C"  bool ReceiveRecordAsyncResult_get_CompletedWithError_m3317022751 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	{
		bool L_0 = ReceiveRecordAsyncResult_get_IsCompleted_m736891099(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t3991598821 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t3991598821 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern const uint32_t ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1089809952_MetadataUsageId;
extern "C"  WaitHandle_t1661568373 * ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1089809952 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1089809952_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t924017833 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_7();
			ManualResetEvent_t924017833 * L_4 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m927697317(L_4, L_3, /*hidden argument*/NULL);
			__this->set_handle_4(L_4);
		}

IL_0029:
		{
			IL2CPP_LEAVE(0x35, FINALLY_002e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(46)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(46)
	{
		IL2CPP_JUMP_TBL(0x35, IL_0035)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0035:
	{
		ManualResetEvent_t924017833 * L_6 = __this->get_handle_4();
		return L_6;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_IsCompleted()
extern "C"  bool ReceiveRecordAsyncResult_get_IsCompleted_m736891099 (ReceiveRecordAsyncResult_t4254633253 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_7();
			V_1 = L_2;
			IL2CPP_LEAVE(0x25, FINALLY_001e);
		}

IL_0019:
		{
			; // IL_0019: leave IL_0025
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(30)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(30)
	{
		IL2CPP_JUMP_TBL(0x25, IL_0025)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0025:
	{
		bool L_4 = V_1;
		return L_4;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::SetComplete(System.Exception,System.Byte[])
extern "C"  void ReceiveRecordAsyncResult_SetComplete_m3955953983 (ReceiveRecordAsyncResult_t4254633253 * __this, Exception_t3991598821 * ___ex0, ByteU5BU5D_t4260760469* ___resultingBuffer1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_7();
			if (!L_2)
			{
				goto IL_001d;
			}
		}

IL_0018:
		{
			IL2CPP_LEAVE(0x6F, FINALLY_0068);
		}

IL_001d:
		{
			__this->set_completed_7((bool)1);
			Exception_t3991598821 * L_3 = ___ex0;
			__this->set__asyncException_3(L_3);
			ByteU5BU5D_t4260760469* L_4 = ___resultingBuffer1;
			__this->set__resultingBuffer_5(L_4);
			ManualResetEvent_t924017833 * L_5 = __this->get_handle_4();
			if (!L_5)
			{
				goto IL_0049;
			}
		}

IL_003d:
		{
			ManualResetEvent_t924017833 * L_6 = __this->get_handle_4();
			EventWaitHandle_Set_m224730030(L_6, /*hidden argument*/NULL);
		}

IL_0049:
		{
			AsyncCallback_t1369114871 * L_7 = __this->get__userCallback_1();
			if (!L_7)
			{
				goto IL_0063;
			}
		}

IL_0054:
		{
			AsyncCallback_t1369114871 * L_8 = __this->get__userCallback_1();
			AsyncCallback_BeginInvoke_m363146458(L_8, __this, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
		}

IL_0063:
		{
			IL2CPP_LEAVE(0x6F, FINALLY_0068);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_0068;
	}

FINALLY_0068:
	{ // begin finally (depth: 1)
		Il2CppObject * L_9 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_9, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(104)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(104)
	{
		IL2CPP_JUMP_TBL(0x6F, IL_006f)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_006f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::SetComplete(System.Exception)
extern "C"  void ReceiveRecordAsyncResult_SetComplete_m1288331580 (ReceiveRecordAsyncResult_t4254633253 * __this, Exception_t3991598821 * ___ex0, const MethodInfo* method)
{
	{
		Exception_t3991598821 * L_0 = ___ex0;
		ReceiveRecordAsyncResult_SetComplete_m3955953983(__this, L_0, (ByteU5BU5D_t4260760469*)(ByteU5BU5D_t4260760469*)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::SetComplete(System.Byte[])
extern "C"  void ReceiveRecordAsyncResult_SetComplete_m652335805 (ReceiveRecordAsyncResult_t4254633253 * __this, ByteU5BU5D_t4260760469* ___resultingBuffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___resultingBuffer0;
		ReceiveRecordAsyncResult_SetComplete_m3955953983(__this, (Exception_t3991598821 *)NULL, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::.ctor(System.AsyncCallback,System.Object,Mono.Security.Protocol.Tls.Handshake.HandshakeMessage)
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t SendRecordAsyncResult__ctor_m1199829305_MetadataUsageId;
extern "C"  void SendRecordAsyncResult__ctor_m1199829305 (SendRecordAsyncResult_t3836770528 * __this, AsyncCallback_t1369114871 * ___userCallback0, Il2CppObject * ___userState1, HandshakeMessage_t2623608376 * ___message2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SendRecordAsyncResult__ctor_m1199829305_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		AsyncCallback_t1369114871 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		HandshakeMessage_t2623608376 * L_3 = ___message2;
		__this->set__message_5(L_3);
		return;
	}
}
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_Message()
extern "C"  HandshakeMessage_t2623608376 * SendRecordAsyncResult_get_Message_m2765274544 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_t2623608376 * L_0 = __this->get__message_5();
		return L_0;
	}
}
// System.Object Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_AsyncState()
extern "C"  Il2CppObject * SendRecordAsyncResult_get_AsyncState_m2665400351 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	{
		Il2CppObject * L_0 = __this->get__userState_2();
		return L_0;
	}
}
// System.Exception Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_AsyncException()
extern "C"  Exception_t3991598821 * SendRecordAsyncResult_get_AsyncException_m776645195 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	{
		Exception_t3991598821 * L_0 = __this->get__asyncException_3();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_CompletedWithError()
extern "C"  bool SendRecordAsyncResult_get_CompletedWithError_m771666376 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	{
		bool L_0 = SendRecordAsyncResult_get_IsCompleted_m775666514(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t3991598821 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t3991598821 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern const uint32_t SendRecordAsyncResult_get_AsyncWaitHandle_m1260948317_MetadataUsageId;
extern "C"  WaitHandle_t1661568373 * SendRecordAsyncResult_get_AsyncWaitHandle_m1260948317 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SendRecordAsyncResult_get_AsyncWaitHandle_m1260948317_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t924017833 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_6();
			ManualResetEvent_t924017833 * L_4 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m927697317(L_4, L_3, /*hidden argument*/NULL);
			__this->set_handle_4(L_4);
		}

IL_0029:
		{
			IL2CPP_LEAVE(0x35, FINALLY_002e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(46)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(46)
	{
		IL2CPP_JUMP_TBL(0x35, IL_0035)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0035:
	{
		ManualResetEvent_t924017833 * L_6 = __this->get_handle_4();
		return L_6;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_IsCompleted()
extern "C"  bool SendRecordAsyncResult_get_IsCompleted_m775666514 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_6();
			V_1 = L_2;
			IL2CPP_LEAVE(0x25, FINALLY_001e);
		}

IL_0019:
		{
			; // IL_0019: leave IL_0025
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(30)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(30)
	{
		IL2CPP_JUMP_TBL(0x25, IL_0025)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0025:
	{
		bool L_4 = V_1;
		return L_4;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::SetComplete(System.Exception)
extern "C"  void SendRecordAsyncResult_SetComplete_m323449559 (SendRecordAsyncResult_t3836770528 * __this, Exception_t3991598821 * ___ex0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_6();
			if (!L_2)
			{
				goto IL_001d;
			}
		}

IL_0018:
		{
			IL2CPP_LEAVE(0x68, FINALLY_0061);
		}

IL_001d:
		{
			__this->set_completed_6((bool)1);
			ManualResetEvent_t924017833 * L_3 = __this->get_handle_4();
			if (!L_3)
			{
				goto IL_003b;
			}
		}

IL_002f:
		{
			ManualResetEvent_t924017833 * L_4 = __this->get_handle_4();
			EventWaitHandle_Set_m224730030(L_4, /*hidden argument*/NULL);
		}

IL_003b:
		{
			AsyncCallback_t1369114871 * L_5 = __this->get__userCallback_1();
			if (!L_5)
			{
				goto IL_0055;
			}
		}

IL_0046:
		{
			AsyncCallback_t1369114871 * L_6 = __this->get__userCallback_1();
			AsyncCallback_BeginInvoke_m363146458(L_6, __this, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
		}

IL_0055:
		{
			Exception_t3991598821 * L_7 = ___ex0;
			__this->set__asyncException_3(L_7);
			IL2CPP_LEAVE(0x68, FINALLY_0061);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_0061;
	}

FINALLY_0061:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(97)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(97)
	{
		IL2CPP_JUMP_TBL(0x68, IL_0068)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0068:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::SetComplete()
extern "C"  void SendRecordAsyncResult_SetComplete_m1807552551 (SendRecordAsyncResult_t3836770528 * __this, const MethodInfo* method)
{
	{
		SendRecordAsyncResult_SetComplete_m323449559(__this, (Exception_t3991598821 *)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::.ctor(System.Security.Cryptography.AsymmetricAlgorithm)
extern "C"  void RSASslSignatureDeformatter__ctor_m4240353957 (RSASslSignatureDeformatter_t654537083 * __this, AsymmetricAlgorithm_t1241690687 * ___key0, const MethodInfo* method)
{
	{
		AsymmetricSignatureDeformatter__ctor_m3630952218(__this, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t1241690687 * L_0 = ___key0;
		VirtActionInvoker1< AsymmetricAlgorithm_t1241690687 * >::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::SetKey(System.Security.Cryptography.AsymmetricAlgorithm) */, __this, L_0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::VerifySignature(System.Byte[],System.Byte[])
extern Il2CppClass* CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral371586999;
extern Il2CppCodeGenString* _stringLiteral894735195;
extern Il2CppCodeGenString* _stringLiteral2184922962;
extern const uint32_t RSASslSignatureDeformatter_VerifySignature_m3412064374_MetadataUsageId;
extern "C"  bool RSASslSignatureDeformatter_VerifySignature_m3412064374 (RSASslSignatureDeformatter_t654537083 * __this, ByteU5BU5D_t4260760469* ___rgbHash0, ByteU5BU5D_t4260760469* ___rgbSignature1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_VerifySignature_m3412064374_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		RSA_t2466814310 * L_0 = __this->get_key_0();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_1 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_1, _stringLiteral371586999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		HashAlgorithm_t532578791 * L_2 = __this->get_hash_1();
		if (L_2)
		{
			goto IL_002c;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_3 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_3, _stringLiteral894735195, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_002c:
	{
		ByteU5BU5D_t4260760469* L_4 = ___rgbHash0;
		if (L_4)
		{
			goto IL_003d;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_5 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_5, _stringLiteral2184922962, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003d:
	{
		RSA_t2466814310 * L_6 = __this->get_key_0();
		HashAlgorithm_t532578791 * L_7 = __this->get_hash_1();
		ByteU5BU5D_t4260760469* L_8 = ___rgbHash0;
		ByteU5BU5D_t4260760469* L_9 = ___rgbSignature1;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		bool L_10 = PKCS1_Verify_v15_m555702422(NULL /*static, unused*/, L_6, L_7, L_8, L_9, /*hidden argument*/NULL);
		return L_10;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::SetHashAlgorithm(System.String)
extern Il2CppClass* RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var;
extern Il2CppClass* Dictionary_2_t1974256870_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern const MethodInfo* Dictionary_2__ctor_m1958628151_MethodInfo_var;
extern const MethodInfo* Dictionary_2_Add_m4235384975_MethodInfo_var;
extern const MethodInfo* Dictionary_2_TryGetValue_m337170132_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral1616579491;
extern const uint32_t RSASslSignatureDeformatter_SetHashAlgorithm_m1915873034_MetadataUsageId;
extern "C"  void RSASslSignatureDeformatter_SetHashAlgorithm_m1915873034 (RSASslSignatureDeformatter_t654537083 * __this, String_t* ___strName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_SetHashAlgorithm_m1915873034_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	Dictionary_2_t1974256870 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		String_t* L_0 = ___strName0;
		V_0 = L_0;
		String_t* L_1 = V_0;
		if (!L_1)
		{
			goto IL_0058;
		}
	}
	{
		Dictionary_2_t1974256870 * L_2 = ((RSASslSignatureDeformatter_t654537083_StaticFields*)RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map15_2();
		if (L_2)
		{
			goto IL_002b;
		}
	}
	{
		Dictionary_2_t1974256870 * L_3 = (Dictionary_2_t1974256870 *)il2cpp_codegen_object_new(Dictionary_2_t1974256870_il2cpp_TypeInfo_var);
		Dictionary_2__ctor_m1958628151(L_3, 1, /*hidden argument*/Dictionary_2__ctor_m1958628151_MethodInfo_var);
		V_1 = L_3;
		Dictionary_2_t1974256870 * L_4 = V_1;
		Dictionary_2_Add_m4235384975(L_4, _stringLiteral1616579491, 0, /*hidden argument*/Dictionary_2_Add_m4235384975_MethodInfo_var);
		Dictionary_2_t1974256870 * L_5 = V_1;
		((RSASslSignatureDeformatter_t654537083_StaticFields*)RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__switchU24map15_2(L_5);
	}

IL_002b:
	{
		Dictionary_2_t1974256870 * L_6 = ((RSASslSignatureDeformatter_t654537083_StaticFields*)RSASslSignatureDeformatter_t654537083_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map15_2();
		String_t* L_7 = V_0;
		bool L_8 = Dictionary_2_TryGetValue_m337170132(L_6, L_7, (&V_2), /*hidden argument*/Dictionary_2_TryGetValue_m337170132_MethodInfo_var);
		if (!L_8)
		{
			goto IL_0058;
		}
	}
	{
		int32_t L_9 = V_2;
		if (!L_9)
		{
			goto IL_0048;
		}
	}
	{
		goto IL_0058;
	}

IL_0048:
	{
		MD5SHA1_t3104883481 * L_10 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_10, /*hidden argument*/NULL);
		__this->set_hash_1(L_10);
		goto IL_0069;
	}

IL_0058:
	{
		String_t* L_11 = ___strName0;
		HashAlgorithm_t532578791 * L_12 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
		__this->set_hash_1(L_12);
		goto IL_0069;
	}

IL_0069:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::SetKey(System.Security.Cryptography.AsymmetricAlgorithm)
extern Il2CppClass* RSA_t2466814310_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral245443627;
extern const uint32_t RSASslSignatureDeformatter_SetKey_m1829004304_MetadataUsageId;
extern "C"  void RSASslSignatureDeformatter_SetKey_m1829004304 (RSASslSignatureDeformatter_t654537083 * __this, AsymmetricAlgorithm_t1241690687 * ___key0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_SetKey_m1829004304_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		AsymmetricAlgorithm_t1241690687 * L_0 = ___key0;
		if (((RSA_t2466814310 *)IsInstClass(L_0, RSA_t2466814310_il2cpp_TypeInfo_var)))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t928607144 * L_1 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_1, _stringLiteral245443627, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		AsymmetricAlgorithm_t1241690687 * L_2 = ___key0;
		__this->set_key_0(((RSA_t2466814310 *)IsInstClass(L_2, RSA_t2466814310_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::.ctor(System.Security.Cryptography.AsymmetricAlgorithm)
extern "C"  void RSASslSignatureFormatter__ctor_m1725069988 (RSASslSignatureFormatter_t1731244892 * __this, AsymmetricAlgorithm_t1241690687 * ___key0, const MethodInfo* method)
{
	{
		AsymmetricSignatureFormatter__ctor_m497260761(__this, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t1241690687 * L_0 = ___key0;
		VirtActionInvoker1< AsymmetricAlgorithm_t1241690687 * >::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetKey(System.Security.Cryptography.AsymmetricAlgorithm) */, __this, L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RSASslSignatureFormatter::CreateSignature(System.Byte[])
extern Il2CppClass* CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3260516765_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral371586999;
extern Il2CppCodeGenString* _stringLiteral894735195;
extern Il2CppCodeGenString* _stringLiteral2184922962;
extern const uint32_t RSASslSignatureFormatter_CreateSignature_m2907529851_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* RSASslSignatureFormatter_CreateSignature_m2907529851 (RSASslSignatureFormatter_t1731244892 * __this, ByteU5BU5D_t4260760469* ___rgbHash0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_CreateSignature_m2907529851_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		RSA_t2466814310 * L_0 = __this->get_key_0();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_1 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_1, _stringLiteral371586999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		HashAlgorithm_t532578791 * L_2 = __this->get_hash_1();
		if (L_2)
		{
			goto IL_002c;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_3 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_3, _stringLiteral894735195, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_002c:
	{
		ByteU5BU5D_t4260760469* L_4 = ___rgbHash0;
		if (L_4)
		{
			goto IL_003d;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_5 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_5, _stringLiteral2184922962, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003d:
	{
		RSA_t2466814310 * L_6 = __this->get_key_0();
		HashAlgorithm_t532578791 * L_7 = __this->get_hash_1();
		ByteU5BU5D_t4260760469* L_8 = ___rgbHash0;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3260516765_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_9 = PKCS1_Sign_v15_m456933555(NULL /*static, unused*/, L_6, L_7, L_8, /*hidden argument*/NULL);
		return L_9;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetHashAlgorithm(System.String)
extern Il2CppClass* RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var;
extern Il2CppClass* Dictionary_2_t1974256870_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3104883481_il2cpp_TypeInfo_var;
extern const MethodInfo* Dictionary_2__ctor_m1958628151_MethodInfo_var;
extern const MethodInfo* Dictionary_2_Add_m4235384975_MethodInfo_var;
extern const MethodInfo* Dictionary_2_TryGetValue_m337170132_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral1616579491;
extern const uint32_t RSASslSignatureFormatter_SetHashAlgorithm_m415040521_MetadataUsageId;
extern "C"  void RSASslSignatureFormatter_SetHashAlgorithm_m415040521 (RSASslSignatureFormatter_t1731244892 * __this, String_t* ___strName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_SetHashAlgorithm_m415040521_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	String_t* V_0 = NULL;
	Dictionary_2_t1974256870 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		String_t* L_0 = ___strName0;
		V_0 = L_0;
		String_t* L_1 = V_0;
		if (!L_1)
		{
			goto IL_0058;
		}
	}
	{
		Dictionary_2_t1974256870 * L_2 = ((RSASslSignatureFormatter_t1731244892_StaticFields*)RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map16_2();
		if (L_2)
		{
			goto IL_002b;
		}
	}
	{
		Dictionary_2_t1974256870 * L_3 = (Dictionary_2_t1974256870 *)il2cpp_codegen_object_new(Dictionary_2_t1974256870_il2cpp_TypeInfo_var);
		Dictionary_2__ctor_m1958628151(L_3, 1, /*hidden argument*/Dictionary_2__ctor_m1958628151_MethodInfo_var);
		V_1 = L_3;
		Dictionary_2_t1974256870 * L_4 = V_1;
		Dictionary_2_Add_m4235384975(L_4, _stringLiteral1616579491, 0, /*hidden argument*/Dictionary_2_Add_m4235384975_MethodInfo_var);
		Dictionary_2_t1974256870 * L_5 = V_1;
		((RSASslSignatureFormatter_t1731244892_StaticFields*)RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__switchU24map16_2(L_5);
	}

IL_002b:
	{
		Dictionary_2_t1974256870 * L_6 = ((RSASslSignatureFormatter_t1731244892_StaticFields*)RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map16_2();
		String_t* L_7 = V_0;
		bool L_8 = Dictionary_2_TryGetValue_m337170132(L_6, L_7, (&V_2), /*hidden argument*/Dictionary_2_TryGetValue_m337170132_MethodInfo_var);
		if (!L_8)
		{
			goto IL_0058;
		}
	}
	{
		int32_t L_9 = V_2;
		if (!L_9)
		{
			goto IL_0048;
		}
	}
	{
		goto IL_0058;
	}

IL_0048:
	{
		MD5SHA1_t3104883481 * L_10 = (MD5SHA1_t3104883481 *)il2cpp_codegen_object_new(MD5SHA1_t3104883481_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m2374690196(L_10, /*hidden argument*/NULL);
		__this->set_hash_1(L_10);
		goto IL_0069;
	}

IL_0058:
	{
		String_t* L_11 = ___strName0;
		HashAlgorithm_t532578791 * L_12 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
		__this->set_hash_1(L_12);
		goto IL_0069;
	}

IL_0069:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetKey(System.Security.Cryptography.AsymmetricAlgorithm)
extern Il2CppClass* RSA_t2466814310_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral245443627;
extern const uint32_t RSASslSignatureFormatter_SetKey_m1164612593_MetadataUsageId;
extern "C"  void RSASslSignatureFormatter_SetKey_m1164612593 (RSASslSignatureFormatter_t1731244892 * __this, AsymmetricAlgorithm_t1241690687 * ___key0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_SetKey_m1164612593_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		AsymmetricAlgorithm_t1241690687 * L_0 = ___key0;
		if (((RSA_t2466814310 *)IsInstClass(L_0, RSA_t2466814310_il2cpp_TypeInfo_var)))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t928607144 * L_1 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_1, _stringLiteral245443627, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		AsymmetricAlgorithm_t1241690687 * L_2 = ___key0;
		__this->set_key_0(((RSA_t2466814310 *)IsInstClass(L_2, RSA_t2466814310_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::.ctor()
extern "C"  void SecurityParameters__ctor_m711073950 (SecurityParameters_t2935569768 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.SecurityParameters::get_Cipher()
extern "C"  CipherSuite_t580420223 * SecurityParameters_get_Cipher_m2063042602 (SecurityParameters_t2935569768 * __this, const MethodInfo* method)
{
	{
		CipherSuite_t580420223 * L_0 = __this->get_cipher_0();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::set_Cipher(Mono.Security.Protocol.Tls.CipherSuite)
extern "C"  void SecurityParameters_set_Cipher_m1888356967 (SecurityParameters_t2935569768 * __this, CipherSuite_t580420223 * ___value0, const MethodInfo* method)
{
	{
		CipherSuite_t580420223 * L_0 = ___value0;
		__this->set_cipher_0(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SecurityParameters::get_ClientWriteMAC()
extern "C"  ByteU5BU5D_t4260760469* SecurityParameters_get_ClientWriteMAC_m509205152 (SecurityParameters_t2935569768 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_clientWriteMAC_1();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::set_ClientWriteMAC(System.Byte[])
extern "C"  void SecurityParameters_set_ClientWriteMAC_m2390402827 (SecurityParameters_t2935569768 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_clientWriteMAC_1(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SecurityParameters::get_ServerWriteMAC()
extern "C"  ByteU5BU5D_t4260760469* SecurityParameters_get_ServerWriteMAC_m451878936 (SecurityParameters_t2935569768 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_serverWriteMAC_2();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::set_ServerWriteMAC(System.Byte[])
extern "C"  void SecurityParameters_set_ServerWriteMAC_m324273299 (SecurityParameters_t2935569768 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_serverWriteMAC_2(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::Clear()
extern "C"  void SecurityParameters_Clear_m2412174537 (SecurityParameters_t2935569768 * __this, const MethodInfo* method)
{
	{
		__this->set_cipher_0((CipherSuite_t580420223 *)NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslCipherSuite::.ctor(System.Int16,System.String,Mono.Security.Protocol.Tls.CipherAlgorithmType,Mono.Security.Protocol.Tls.HashAlgorithmType,Mono.Security.Protocol.Tls.ExchangeAlgorithmType,System.Boolean,System.Boolean,System.Byte,System.Byte,System.Int16,System.Byte,System.Byte)
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite__ctor_m1794847004_MetadataUsageId;
extern "C"  void SslCipherSuite__ctor_m1794847004 (SslCipherSuite_t1471718687 * __this, int16_t ___code0, String_t* ___name1, int32_t ___cipherAlgorithmType2, int32_t ___hashAlgorithmType3, int32_t ___exchangeAlgorithmType4, bool ___exportable5, bool ___blockMode6, uint8_t ___keyMaterialSize7, uint8_t ___expandedKeyMaterialSize8, int16_t ___effectiveKeyBytes9, uint8_t ___ivSize10, uint8_t ___blockSize11, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite__ctor_m1794847004_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t G_B3_0 = 0;
	{
		int16_t L_0 = ___code0;
		String_t* L_1 = ___name1;
		int32_t L_2 = ___cipherAlgorithmType2;
		int32_t L_3 = ___hashAlgorithmType3;
		int32_t L_4 = ___exchangeAlgorithmType4;
		bool L_5 = ___exportable5;
		bool L_6 = ___blockMode6;
		uint8_t L_7 = ___keyMaterialSize7;
		uint8_t L_8 = ___expandedKeyMaterialSize8;
		int16_t L_9 = ___effectiveKeyBytes9;
		uint8_t L_10 = ___ivSize10;
		uint8_t L_11 = ___blockSize11;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		CipherSuite__ctor_m658209606(__this, L_0, L_1, L_2, L_3, L_4, L_5, L_6, L_7, L_8, L_9, L_10, L_11, /*hidden argument*/NULL);
		int32_t L_12 = ___hashAlgorithmType3;
		if (L_12)
		{
			goto IL_0029;
		}
	}
	{
		G_B3_0 = ((int32_t)48);
		goto IL_002b;
	}

IL_0029:
	{
		G_B3_0 = ((int32_t)40);
	}

IL_002b:
	{
		V_0 = G_B3_0;
		int32_t L_13 = V_0;
		__this->set_pad1_21(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_13)));
		int32_t L_14 = V_0;
		__this->set_pad2_22(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_14)));
		V_1 = 0;
		goto IL_0063;
	}

IL_004b:
	{
		ByteU5BU5D_t4260760469* L_15 = __this->get_pad1_21();
		int32_t L_16 = V_1;
		(L_15)->SetAt(static_cast<il2cpp_array_size_t>(L_16), (uint8_t)((int32_t)54));
		ByteU5BU5D_t4260760469* L_17 = __this->get_pad2_22();
		int32_t L_18 = V_1;
		(L_17)->SetAt(static_cast<il2cpp_array_size_t>(L_18), (uint8_t)((int32_t)92));
		int32_t L_19 = V_1;
		V_1 = ((int32_t)((int32_t)L_19+(int32_t)1));
	}

IL_0063:
	{
		int32_t L_20 = V_1;
		int32_t L_21 = V_0;
		if ((((int32_t)L_20) < ((int32_t)L_21)))
		{
			goto IL_004b;
		}
	}
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslCipherSuite::ComputeServerRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeServerRecordMAC_m3251033165_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* SslCipherSuite_ComputeServerRecordMAC_m3251033165 (SslCipherSuite_t1471718687 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeServerRecordMAC_m3251033165_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	uint64_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	uint64_t G_B5_0 = 0;
	{
		String_t* L_0 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_1 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Context_t658806145 * L_2 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_3 = Context_get_Read_m3694946135(L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_4 = SecurityParameters_get_ServerWriteMAC_m451878936(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		HashAlgorithm_t532578791 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = V_1;
		ByteU5BU5D_t4260760469* L_8 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), L_8, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = __this->get_pad1_21();
		ByteU5BU5D_t4260760469* L_11 = __this->get_pad1_21();
		ByteU5BU5D_t4260760469* L_12 = __this->get_pad1_21();
		HashAlgorithm_TransformBlock_m3829135048(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = __this->get_header_23();
		if (L_13)
		{
			goto IL_0060;
		}
	}
	{
		__this->set_header_23(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)11))));
	}

IL_0060:
	{
		Context_t658806145 * L_14 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3745725366 *)IsInstClass(L_14, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0080;
		}
	}
	{
		Context_t658806145 * L_15 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint64_t L_16 = Context_get_ReadSequenceNumber_m1306012538(L_15, /*hidden argument*/NULL);
		G_B5_0 = L_16;
		goto IL_008b;
	}

IL_0080:
	{
		Context_t658806145 * L_17 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint64_t L_18 = Context_get_WriteSequenceNumber_m2425723185(L_17, /*hidden argument*/NULL);
		G_B5_0 = L_18;
	}

IL_008b:
	{
		V_2 = G_B5_0;
		ByteU5BU5D_t4260760469* L_19 = __this->get_header_23();
		uint64_t L_20 = V_2;
		CipherSuite_Write_m3763647761(__this, L_19, 0, L_20, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_21 = __this->get_header_23();
		uint8_t L_22 = ___contentType0;
		(L_21)->SetAt(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_22);
		ByteU5BU5D_t4260760469* L_23 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_24 = ___fragment1;
		CipherSuite_Write_m920521461(__this, L_23, ((int32_t)9), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length))))))), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_25 = V_0;
		ByteU5BU5D_t4260760469* L_26 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_27 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_28 = __this->get_header_23();
		HashAlgorithm_TransformBlock_m3829135048(L_25, L_26, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))), L_28, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_29 = V_0;
		ByteU5BU5D_t4260760469* L_30 = ___fragment1;
		ByteU5BU5D_t4260760469* L_31 = ___fragment1;
		ByteU5BU5D_t4260760469* L_32 = ___fragment1;
		HashAlgorithm_TransformBlock_m3829135048(L_29, L_30, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))), L_32, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_33 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_34 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_33, L_34, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_35 = V_0;
		ByteU5BU5D_t4260760469* L_36 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_35);
		V_3 = L_36;
		HashAlgorithm_t532578791 * L_37 = V_0;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_37);
		HashAlgorithm_t532578791 * L_38 = V_0;
		ByteU5BU5D_t4260760469* L_39 = V_1;
		ByteU5BU5D_t4260760469* L_40 = V_1;
		ByteU5BU5D_t4260760469* L_41 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_38, L_39, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_40)->max_length)))), L_41, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_42 = V_0;
		ByteU5BU5D_t4260760469* L_43 = __this->get_pad2_22();
		ByteU5BU5D_t4260760469* L_44 = __this->get_pad2_22();
		ByteU5BU5D_t4260760469* L_45 = __this->get_pad2_22();
		HashAlgorithm_TransformBlock_m3829135048(L_42, L_43, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))), L_45, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_46 = V_0;
		ByteU5BU5D_t4260760469* L_47 = V_3;
		ByteU5BU5D_t4260760469* L_48 = V_3;
		ByteU5BU5D_t4260760469* L_49 = V_3;
		HashAlgorithm_TransformBlock_m3829135048(L_46, L_47, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_48)->max_length)))), L_49, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_50 = V_0;
		ByteU5BU5D_t4260760469* L_51 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_50, L_51, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_52 = V_0;
		ByteU5BU5D_t4260760469* L_53 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_52);
		return L_53;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslCipherSuite::ComputeClientRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeClientRecordMAC_m3845627589_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* SslCipherSuite_ComputeClientRecordMAC_m3845627589 (SslCipherSuite_t1471718687 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeClientRecordMAC_m3845627589_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	uint64_t V_2 = 0;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	uint64_t G_B5_0 = 0;
	{
		String_t* L_0 = CipherSuite_get_HashAlgorithmName_m1304664079(__this, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_1 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Context_t658806145 * L_2 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_4 = SecurityParameters_get_ClientWriteMAC_m509205152(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		HashAlgorithm_t532578791 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = V_1;
		ByteU5BU5D_t4260760469* L_7 = V_1;
		ByteU5BU5D_t4260760469* L_8 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), L_8, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_9 = V_0;
		ByteU5BU5D_t4260760469* L_10 = __this->get_pad1_21();
		ByteU5BU5D_t4260760469* L_11 = __this->get_pad1_21();
		ByteU5BU5D_t4260760469* L_12 = __this->get_pad1_21();
		HashAlgorithm_TransformBlock_m3829135048(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = __this->get_header_23();
		if (L_13)
		{
			goto IL_0060;
		}
	}
	{
		__this->set_header_23(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)11))));
	}

IL_0060:
	{
		Context_t658806145 * L_14 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3745725366 *)IsInstClass(L_14, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
		{
			goto IL_0080;
		}
	}
	{
		Context_t658806145 * L_15 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint64_t L_16 = Context_get_WriteSequenceNumber_m2425723185(L_15, /*hidden argument*/NULL);
		G_B5_0 = L_16;
		goto IL_008b;
	}

IL_0080:
	{
		Context_t658806145 * L_17 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint64_t L_18 = Context_get_ReadSequenceNumber_m1306012538(L_17, /*hidden argument*/NULL);
		G_B5_0 = L_18;
	}

IL_008b:
	{
		V_2 = G_B5_0;
		ByteU5BU5D_t4260760469* L_19 = __this->get_header_23();
		uint64_t L_20 = V_2;
		CipherSuite_Write_m3763647761(__this, L_19, 0, L_20, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_21 = __this->get_header_23();
		uint8_t L_22 = ___contentType0;
		(L_21)->SetAt(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_22);
		ByteU5BU5D_t4260760469* L_23 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_24 = ___fragment1;
		CipherSuite_Write_m920521461(__this, L_23, ((int32_t)9), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length))))))), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_25 = V_0;
		ByteU5BU5D_t4260760469* L_26 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_27 = __this->get_header_23();
		ByteU5BU5D_t4260760469* L_28 = __this->get_header_23();
		HashAlgorithm_TransformBlock_m3829135048(L_25, L_26, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))), L_28, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_29 = V_0;
		ByteU5BU5D_t4260760469* L_30 = ___fragment1;
		ByteU5BU5D_t4260760469* L_31 = ___fragment1;
		ByteU5BU5D_t4260760469* L_32 = ___fragment1;
		HashAlgorithm_TransformBlock_m3829135048(L_29, L_30, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))), L_32, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_33 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_34 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_33, L_34, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_35 = V_0;
		ByteU5BU5D_t4260760469* L_36 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_35);
		V_3 = L_36;
		HashAlgorithm_t532578791 * L_37 = V_0;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_37);
		HashAlgorithm_t532578791 * L_38 = V_0;
		ByteU5BU5D_t4260760469* L_39 = V_1;
		ByteU5BU5D_t4260760469* L_40 = V_1;
		ByteU5BU5D_t4260760469* L_41 = V_1;
		HashAlgorithm_TransformBlock_m3829135048(L_38, L_39, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_40)->max_length)))), L_41, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_42 = V_0;
		ByteU5BU5D_t4260760469* L_43 = __this->get_pad2_22();
		ByteU5BU5D_t4260760469* L_44 = __this->get_pad2_22();
		ByteU5BU5D_t4260760469* L_45 = __this->get_pad2_22();
		HashAlgorithm_TransformBlock_m3829135048(L_42, L_43, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))), L_45, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_46 = V_0;
		ByteU5BU5D_t4260760469* L_47 = V_3;
		ByteU5BU5D_t4260760469* L_48 = V_3;
		ByteU5BU5D_t4260760469* L_49 = V_3;
		HashAlgorithm_TransformBlock_m3829135048(L_46, L_47, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_48)->max_length)))), L_49, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_50 = V_0;
		ByteU5BU5D_t4260760469* L_51 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_50, L_51, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_52 = V_0;
		ByteU5BU5D_t4260760469* L_53 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_52);
		return L_53;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslCipherSuite::ComputeMasterSecret(System.Byte[])
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral65;
extern Il2CppCodeGenString* _stringLiteral2112;
extern Il2CppCodeGenString* _stringLiteral66531;
extern const uint32_t SslCipherSuite_ComputeMasterSecret_m2977908955_MetadataUsageId;
extern "C"  void SslCipherSuite_ComputeMasterSecret_m2977908955 (SslCipherSuite_t1471718687 * __this, ByteU5BU5D_t4260760469* ___preMasterSecret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeMasterSecret_m2977908955_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	{
		TlsStream_t89550253 * L_0 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		TlsStream_t89550253 * L_1 = V_0;
		ByteU5BU5D_t4260760469* L_2 = ___preMasterSecret0;
		Context_t658806145 * L_3 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_4 = Context_get_RandomCS_m1402706075(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = SslCipherSuite_prf_m1493836693(__this, L_2, _stringLiteral65, L_4, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(L_1, L_5, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_6 = V_0;
		ByteU5BU5D_t4260760469* L_7 = ___preMasterSecret0;
		Context_t658806145 * L_8 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_9 = Context_get_RandomCS_m1402706075(L_8, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_10 = SslCipherSuite_prf_m1493836693(__this, L_7, _stringLiteral2112, L_9, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(L_6, L_10, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_11 = V_0;
		ByteU5BU5D_t4260760469* L_12 = ___preMasterSecret0;
		Context_t658806145 * L_13 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_14 = Context_get_RandomCS_m1402706075(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_15 = SslCipherSuite_prf_m1493836693(__this, L_12, _stringLiteral66531, L_14, /*hidden argument*/NULL);
		TlsStream_Write_m106187721(L_11, L_15, /*hidden argument*/NULL);
		Context_t658806145 * L_16 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_17 = V_0;
		ByteU5BU5D_t4260760469* L_18 = TlsStream_ToArray_m613486997(L_17, /*hidden argument*/NULL);
		Context_set_MasterSecret_m748730085(L_16, L_18, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslCipherSuite::ComputeKeys()
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeKeys_m2619481712_MetadataUsageId;
extern "C"  void SslCipherSuite_ComputeKeys_m2619481712 (SslCipherSuite_t1471718687 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeKeys_m2619481712_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	Il2CppChar V_1 = 0x0;
	int32_t V_2 = 0;
	String_t* V_3 = NULL;
	int32_t V_4 = 0;
	ByteU5BU5D_t4260760469* V_5 = NULL;
	int32_t V_6 = 0;
	TlsStream_t89550253 * V_7 = NULL;
	HashAlgorithm_t532578791 * V_8 = NULL;
	int32_t V_9 = 0;
	ByteU5BU5D_t4260760469* V_10 = NULL;
	ByteU5BU5D_t4260760469* V_11 = NULL;
	ByteU5BU5D_t4260760469* V_12 = NULL;
	int32_t G_B7_0 = 0;
	{
		TlsStream_t89550253 * L_0 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		V_1 = ((int32_t)65);
		V_2 = 1;
		goto IL_00a3;
	}

IL_0010:
	{
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_1 = ((String_t_StaticFields*)String_t_il2cpp_TypeInfo_var->static_fields)->get_Empty_2();
		V_3 = L_1;
		V_4 = 0;
		goto IL_0032;
	}

IL_001e:
	{
		String_t* L_2 = V_3;
		String_t* L_3 = Char_ToString_m2089191214((&V_1), /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_4 = String_Concat_m138640077(NULL /*static, unused*/, L_2, L_3, /*hidden argument*/NULL);
		V_3 = L_4;
		int32_t L_5 = V_4;
		V_4 = ((int32_t)((int32_t)L_5+(int32_t)1));
	}

IL_0032:
	{
		int32_t L_6 = V_4;
		int32_t L_7 = V_2;
		if ((((int32_t)L_6) < ((int32_t)L_7)))
		{
			goto IL_001e;
		}
	}
	{
		Context_t658806145 * L_8 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_9 = Context_get_MasterSecret_m2040743066(L_8, /*hidden argument*/NULL);
		String_t* L_10 = V_3;
		String_t* L_11 = String_ToString_m1382284457(L_10, /*hidden argument*/NULL);
		Context_t658806145 * L_12 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = Context_get_RandomSC_m1403167355(L_12, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_14 = SslCipherSuite_prf_m1493836693(__this, L_9, L_11, L_13, /*hidden argument*/NULL);
		V_5 = L_14;
		TlsStream_t89550253 * L_15 = V_0;
		int64_t L_16 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_15);
		ByteU5BU5D_t4260760469* L_17 = V_5;
		int32_t L_18 = CipherSuite_get_KeyBlockSize_m3692693747(__this, /*hidden argument*/NULL);
		if ((((int64_t)((int64_t)((int64_t)L_16+(int64_t)(((int64_t)((int64_t)(((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length)))))))))) <= ((int64_t)(((int64_t)((int64_t)L_18))))))
		{
			goto IL_0089;
		}
	}
	{
		int32_t L_19 = CipherSuite_get_KeyBlockSize_m3692693747(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_20 = V_0;
		int64_t L_21 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_20);
		G_B7_0 = ((int32_t)((int32_t)L_19-(int32_t)(((int32_t)((int32_t)L_21)))));
		goto IL_008d;
	}

IL_0089:
	{
		ByteU5BU5D_t4260760469* L_22 = V_5;
		G_B7_0 = (((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length))));
	}

IL_008d:
	{
		V_6 = G_B7_0;
		TlsStream_t89550253 * L_23 = V_0;
		ByteU5BU5D_t4260760469* L_24 = V_5;
		int32_t L_25 = V_6;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, L_23, L_24, 0, L_25);
		Il2CppChar L_26 = V_1;
		V_1 = (((int32_t)((uint16_t)((int32_t)((int32_t)L_26+(int32_t)1)))));
		int32_t L_27 = V_2;
		V_2 = ((int32_t)((int32_t)L_27+(int32_t)1));
	}

IL_00a3:
	{
		TlsStream_t89550253 * L_28 = V_0;
		int64_t L_29 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_28);
		int32_t L_30 = CipherSuite_get_KeyBlockSize_m3692693747(__this, /*hidden argument*/NULL);
		if ((((int64_t)L_29) < ((int64_t)(((int64_t)((int64_t)L_30))))))
		{
			goto IL_0010;
		}
	}
	{
		TlsStream_t89550253 * L_31 = V_0;
		ByteU5BU5D_t4260760469* L_32 = TlsStream_ToArray_m613486997(L_31, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_33 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m868803046(L_33, L_32, /*hidden argument*/NULL);
		V_7 = L_33;
		Context_t658806145 * L_34 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_35 = Context_get_Negotiating_m622190524(L_34, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_36 = V_7;
		int32_t L_37 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_38 = TlsStream_ReadBytes_m3691381117(L_36, L_37, /*hidden argument*/NULL);
		SecurityParameters_set_ClientWriteMAC_m2390402827(L_35, L_38, /*hidden argument*/NULL);
		Context_t658806145 * L_39 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_40 = Context_get_Negotiating_m622190524(L_39, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_41 = V_7;
		int32_t L_42 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_43 = TlsStream_ReadBytes_m3691381117(L_41, L_42, /*hidden argument*/NULL);
		SecurityParameters_set_ServerWriteMAC_m324273299(L_40, L_43, /*hidden argument*/NULL);
		Context_t658806145 * L_44 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_45 = V_7;
		uint8_t L_46 = CipherSuite_get_KeyMaterialSize_m166819169(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_47 = TlsStream_ReadBytes_m3691381117(L_45, L_46, /*hidden argument*/NULL);
		Context_set_ClientWriteKey_m409290444(L_44, L_47, /*hidden argument*/NULL);
		Context_t658806145 * L_48 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_49 = V_7;
		uint8_t L_50 = CipherSuite_get_KeyMaterialSize_m166819169(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_51 = TlsStream_ReadBytes_m3691381117(L_49, L_50, /*hidden argument*/NULL);
		Context_set_ServerWriteKey_m2638128212(L_48, L_51, /*hidden argument*/NULL);
		bool L_52 = CipherSuite_get_IsExportable_m534474210(__this, /*hidden argument*/NULL);
		if (L_52)
		{
			goto IL_019c;
		}
	}
	{
		uint8_t L_53 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		if (!L_53)
		{
			goto IL_0177;
		}
	}
	{
		Context_t658806145 * L_54 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_55 = V_7;
		uint8_t L_56 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_57 = TlsStream_ReadBytes_m3691381117(L_55, L_56, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m3933057208(L_54, L_57, /*hidden argument*/NULL);
		Context_t658806145 * L_58 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_59 = V_7;
		uint8_t L_60 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_61 = TlsStream_ReadBytes_m3691381117(L_59, L_60, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3450765872(L_58, L_61, /*hidden argument*/NULL);
		goto IL_0197;
	}

IL_0177:
	{
		Context_t658806145 * L_62 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_63 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m3933057208(L_62, L_63, /*hidden argument*/NULL);
		Context_t658806145 * L_64 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_65 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3450765872(L_64, L_65, /*hidden argument*/NULL);
	}

IL_0197:
	{
		goto IL_038b;
	}

IL_019c:
	{
		MD5_t2466809028 * L_66 = MD5_Create_m3551683961(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_8 = L_66;
		HashAlgorithm_t532578791 * L_67 = V_8;
		int32_t L_68 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_67);
		V_9 = ((int32_t)((int32_t)L_68>>(int32_t)3));
		int32_t L_69 = V_9;
		V_10 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_69));
		HashAlgorithm_t532578791 * L_70 = V_8;
		Context_t658806145 * L_71 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_72 = Context_get_ClientWriteKey_m2094953427(L_71, /*hidden argument*/NULL);
		Context_t658806145 * L_73 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_74 = Context_get_ClientWriteKey_m2094953427(L_73, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_75 = V_10;
		HashAlgorithm_TransformBlock_m3829135048(L_70, L_72, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_74)->max_length)))), L_75, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_76 = V_8;
		Context_t658806145 * L_77 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_78 = Context_get_RandomCS_m1402706075(L_77, /*hidden argument*/NULL);
		Context_t658806145 * L_79 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_80 = Context_get_RandomCS_m1402706075(L_79, /*hidden argument*/NULL);
		HashAlgorithm_TransformFinalBlock_m1193599374(L_76, L_78, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_80)->max_length)))), /*hidden argument*/NULL);
		uint8_t L_81 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		V_11 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_81));
		HashAlgorithm_t532578791 * L_82 = V_8;
		ByteU5BU5D_t4260760469* L_83 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_82);
		ByteU5BU5D_t4260760469* L_84 = V_11;
		uint8_t L_85 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_83, 0, (Il2CppArray *)(Il2CppArray *)L_84, 0, L_85, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_86 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_86);
		HashAlgorithm_t532578791 * L_87 = V_8;
		Context_t658806145 * L_88 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_89 = Context_get_ServerWriteKey_m2037627211(L_88, /*hidden argument*/NULL);
		Context_t658806145 * L_90 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_91 = Context_get_ServerWriteKey_m2037627211(L_90, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_92 = V_10;
		HashAlgorithm_TransformBlock_m3829135048(L_87, L_89, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_91)->max_length)))), L_92, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_93 = V_8;
		Context_t658806145 * L_94 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_95 = Context_get_RandomSC_m1403167355(L_94, /*hidden argument*/NULL);
		Context_t658806145 * L_96 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_97 = Context_get_RandomSC_m1403167355(L_96, /*hidden argument*/NULL);
		HashAlgorithm_TransformFinalBlock_m1193599374(L_93, L_95, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_97)->max_length)))), /*hidden argument*/NULL);
		uint8_t L_98 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		V_12 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_98));
		HashAlgorithm_t532578791 * L_99 = V_8;
		ByteU5BU5D_t4260760469* L_100 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_99);
		ByteU5BU5D_t4260760469* L_101 = V_12;
		uint8_t L_102 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_100, 0, (Il2CppArray *)(Il2CppArray *)L_101, 0, L_102, /*hidden argument*/NULL);
		Context_t658806145 * L_103 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_104 = V_11;
		Context_set_ClientWriteKey_m409290444(L_103, L_104, /*hidden argument*/NULL);
		Context_t658806145 * L_105 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_106 = V_12;
		Context_set_ServerWriteKey_m2638128212(L_105, L_106, /*hidden argument*/NULL);
		uint8_t L_107 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_107) <= ((int32_t)0)))
		{
			goto IL_036b;
		}
	}
	{
		HashAlgorithm_t532578791 * L_108 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_108);
		HashAlgorithm_t532578791 * L_109 = V_8;
		Context_t658806145 * L_110 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_111 = Context_get_RandomCS_m1402706075(L_110, /*hidden argument*/NULL);
		Context_t658806145 * L_112 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_113 = Context_get_RandomCS_m1402706075(L_112, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_114 = HashAlgorithm_ComputeHash_m2755161132(L_109, L_111, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_113)->max_length)))), /*hidden argument*/NULL);
		V_10 = L_114;
		Context_t658806145 * L_115 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint8_t L_116 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m3933057208(L_115, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_116)), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_117 = V_10;
		Context_t658806145 * L_118 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_119 = Context_get_ClientWriteIV_m621691963(L_118, /*hidden argument*/NULL);
		uint8_t L_120 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_117, 0, (Il2CppArray *)(Il2CppArray *)L_119, 0, L_120, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_121 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_121);
		HashAlgorithm_t532578791 * L_122 = V_8;
		Context_t658806145 * L_123 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_124 = Context_get_RandomSC_m1403167355(L_123, /*hidden argument*/NULL);
		Context_t658806145 * L_125 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_126 = Context_get_RandomSC_m1403167355(L_125, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_127 = HashAlgorithm_ComputeHash_m2755161132(L_122, L_124, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_126)->max_length)))), /*hidden argument*/NULL);
		V_10 = L_127;
		Context_t658806145 * L_128 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint8_t L_129 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3450765872(L_128, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_129)), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_130 = V_10;
		Context_t658806145 * L_131 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_132 = Context_get_ServerWriteIV_m1451126723(L_131, /*hidden argument*/NULL);
		uint8_t L_133 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_130, 0, (Il2CppArray *)(Il2CppArray *)L_132, 0, L_133, /*hidden argument*/NULL);
		goto IL_038b;
	}

IL_036b:
	{
		Context_t658806145 * L_134 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_135 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m3933057208(L_134, L_135, /*hidden argument*/NULL);
		Context_t658806145 * L_136 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_137 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3450765872(L_136, L_137, /*hidden argument*/NULL);
	}

IL_038b:
	{
		Context_t658806145 * L_138 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextInCache_m1823103460(NULL /*static, unused*/, L_138, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_139 = V_7;
		TlsStream_Reset_m242376048(L_139, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_140 = V_0;
		TlsStream_Reset_m242376048(L_140, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslCipherSuite::prf(System.Byte[],System.String,System.Byte[])
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t2012439129_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_prf_m1493836693_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* SslCipherSuite_prf_m1493836693 (SslCipherSuite_t1471718687 * __this, ByteU5BU5D_t4260760469* ___secret0, String_t* ___label1, ByteU5BU5D_t4260760469* ___random2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_prf_m1493836693_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	HashAlgorithm_t532578791 * V_0 = NULL;
	HashAlgorithm_t532578791 * V_1 = NULL;
	TlsStream_t89550253 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	ByteU5BU5D_t4260760469* V_4 = NULL;
	{
		MD5_t2466809028 * L_0 = MD5_Create_m3551683961(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		SHA1_t3976944113 * L_1 = SHA1_Create_m2764862537(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_1 = L_1;
		TlsStream_t89550253 * L_2 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2595943107(L_2, /*hidden argument*/NULL);
		V_2 = L_2;
		TlsStream_t89550253 * L_3 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t2012439129_il2cpp_TypeInfo_var);
		Encoding_t2012439129 * L_4 = Encoding_get_ASCII_m1425378925(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_5 = ___label1;
		ByteU5BU5D_t4260760469* L_6 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, String_t* >::Invoke(10 /* System.Byte[] System.Text.Encoding::GetBytes(System.String) */, L_4, L_5);
		TlsStream_Write_m106187721(L_3, L_6, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_7 = V_2;
		ByteU5BU5D_t4260760469* L_8 = ___secret0;
		TlsStream_Write_m106187721(L_7, L_8, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_9 = V_2;
		ByteU5BU5D_t4260760469* L_10 = ___random2;
		TlsStream_Write_m106187721(L_9, L_10, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_11 = V_1;
		TlsStream_t89550253 * L_12 = V_2;
		ByteU5BU5D_t4260760469* L_13 = TlsStream_ToArray_m613486997(L_12, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_14 = V_2;
		int64_t L_15 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_14);
		ByteU5BU5D_t4260760469* L_16 = HashAlgorithm_ComputeHash_m2755161132(L_11, L_13, 0, (((int32_t)((int32_t)L_15))), /*hidden argument*/NULL);
		V_3 = L_16;
		TlsStream_t89550253 * L_17 = V_2;
		TlsStream_Reset_m242376048(L_17, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_18 = V_2;
		ByteU5BU5D_t4260760469* L_19 = ___secret0;
		TlsStream_Write_m106187721(L_18, L_19, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_20 = V_2;
		ByteU5BU5D_t4260760469* L_21 = V_3;
		TlsStream_Write_m106187721(L_20, L_21, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_22 = V_0;
		TlsStream_t89550253 * L_23 = V_2;
		ByteU5BU5D_t4260760469* L_24 = TlsStream_ToArray_m613486997(L_23, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_25 = V_2;
		int64_t L_26 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, L_25);
		ByteU5BU5D_t4260760469* L_27 = HashAlgorithm_ComputeHash_m2755161132(L_22, L_24, 0, (((int32_t)((int32_t)L_26))), /*hidden argument*/NULL);
		V_4 = L_27;
		TlsStream_t89550253 * L_28 = V_2;
		TlsStream_Reset_m242376048(L_28, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_29 = V_4;
		return L_29;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::.ctor(System.IO.Stream,System.String,System.Boolean)
extern "C"  void SslClientStream__ctor_m99328227 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, const MethodInfo* method)
{
	{
		Stream_t1561764144 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		bool L_2 = ___ownsStream2;
		SslClientStream__ctor_m2883483309(__this, L_0, L_1, L_2, ((int32_t)-1073741824), (X509CertificateCollection_t3220522733 *)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::.ctor(System.IO.Stream,System.String,System.Security.Cryptography.X509Certificates.X509Certificate)
extern Il2CppClass* X509CertificateU5BU5D_t3275955254_il2cpp_TypeInfo_var;
extern Il2CppClass* X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream__ctor_m3830369294_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m3830369294 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___stream0, String_t* ___targetHost1, X509Certificate_t3076817455 * ___clientCertificate2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m3830369294_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Stream_t1561764144 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		X509CertificateU5BU5D_t3275955254* L_2 = ((X509CertificateU5BU5D_t3275955254*)SZArrayNew(X509CertificateU5BU5D_t3275955254_il2cpp_TypeInfo_var, (uint32_t)1));
		X509Certificate_t3076817455 * L_3 = ___clientCertificate2;
		ArrayElementTypeCheck (L_2, L_3);
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(0), (X509Certificate_t3076817455 *)L_3);
		X509CertificateCollection_t3220522733 * L_4 = (X509CertificateCollection_t3220522733 *)il2cpp_codegen_object_new(X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m329398404(L_4, L_2, /*hidden argument*/NULL);
		SslClientStream__ctor_m2883483309(__this, L_0, L_1, (bool)0, ((int32_t)-1073741824), L_4, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::.ctor(System.IO.Stream,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  void SslClientStream__ctor_m3070934736 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___stream0, String_t* ___targetHost1, X509CertificateCollection_t3220522733 * ___clientCertificates2, const MethodInfo* method)
{
	{
		Stream_t1561764144 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		X509CertificateCollection_t3220522733 * L_2 = ___clientCertificates2;
		SslClientStream__ctor_m2883483309(__this, L_0, L_1, (bool)0, ((int32_t)-1073741824), L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::.ctor(System.IO.Stream,System.String,System.Boolean,Mono.Security.Protocol.Tls.SecurityProtocolType)
extern Il2CppClass* X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream__ctor_m1812308023_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m1812308023 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, int32_t ___securityProtocolType3, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m1812308023_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Stream_t1561764144 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		bool L_2 = ___ownsStream2;
		int32_t L_3 = ___securityProtocolType3;
		X509CertificateCollection_t3220522733 * L_4 = (X509CertificateCollection_t3220522733 *)il2cpp_codegen_object_new(X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m784073364(L_4, /*hidden argument*/NULL);
		SslClientStream__ctor_m2883483309(__this, L_0, L_1, L_2, L_3, L_4, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::.ctor(System.IO.Stream,System.String,System.Boolean,Mono.Security.Protocol.Tls.SecurityProtocolType,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern Il2CppClass* SslStreamBase_t657895919_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientRecordProtocol_t3260910930_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1473744298;
extern const uint32_t SslClientStream__ctor_m2883483309_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m2883483309 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, int32_t ___securityProtocolType3, X509CertificateCollection_t3220522733 * ___clientCertificates4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m2883483309_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Stream_t1561764144 * L_0 = ___stream0;
		bool L_1 = ___ownsStream2;
		IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t657895919_il2cpp_TypeInfo_var);
		SslStreamBase__ctor_m1932094885(__this, L_0, L_1, /*hidden argument*/NULL);
		String_t* L_2 = ___targetHost1;
		if (!L_2)
		{
			goto IL_0019;
		}
	}
	{
		String_t* L_3 = ___targetHost1;
		int32_t L_4 = String_get_Length_m2979997331(L_3, /*hidden argument*/NULL);
		if (L_4)
		{
			goto IL_0024;
		}
	}

IL_0019:
	{
		ArgumentNullException_t3573189601 * L_5 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_5, _stringLiteral1473744298, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0024:
	{
		int32_t L_6 = ___securityProtocolType3;
		String_t* L_7 = ___targetHost1;
		X509CertificateCollection_t3220522733 * L_8 = ___clientCertificates4;
		ClientContext_t3745725366 * L_9 = (ClientContext_t3745725366 *)il2cpp_codegen_object_new(ClientContext_t3745725366_il2cpp_TypeInfo_var);
		ClientContext__ctor_m483520879(L_9, __this, L_6, L_7, L_8, /*hidden argument*/NULL);
		((SslStreamBase_t657895919 *)__this)->set_context_5(L_9);
		Stream_t1561764144 * L_10 = ((SslStreamBase_t657895919 *)__this)->get_innerStream_3();
		Context_t658806145 * L_11 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		ClientRecordProtocol_t3260910930 * L_12 = (ClientRecordProtocol_t3260910930 *)il2cpp_codegen_object_new(ClientRecordProtocol_t3260910930_il2cpp_TypeInfo_var);
		ClientRecordProtocol__ctor_m3035494461(L_12, L_10, ((ClientContext_t3745725366 *)CastclassClass(L_11, ClientContext_t3745725366_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		((SslStreamBase_t657895919 *)__this)->set_protocol_6(L_12);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ServerCertValidation(Mono.Security.Protocol.Tls.CertificateValidationCallback)
extern Il2CppClass* CertificateValidationCallback_t3090555431_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ServerCertValidation_m4096862828_MetadataUsageId;
extern "C"  void SslClientStream_add_ServerCertValidation_m4096862828 (SslClientStream_t2101301545 * __this, CertificateValidationCallback_t3090555431 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ServerCertValidation_m4096862828_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateValidationCallback_t3090555431 * L_0 = __this->get_ServerCertValidation_16();
		CertificateValidationCallback_t3090555431 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Combine_m1842362874(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation_16(((CertificateValidationCallback_t3090555431 *)CastclassSealed(L_2, CertificateValidationCallback_t3090555431_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ServerCertValidation(Mono.Security.Protocol.Tls.CertificateValidationCallback)
extern Il2CppClass* CertificateValidationCallback_t3090555431_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ServerCertValidation_m2271337009_MetadataUsageId;
extern "C"  void SslClientStream_remove_ServerCertValidation_m2271337009 (SslClientStream_t2101301545 * __this, CertificateValidationCallback_t3090555431 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ServerCertValidation_m2271337009_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateValidationCallback_t3090555431 * L_0 = __this->get_ServerCertValidation_16();
		CertificateValidationCallback_t3090555431 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Remove_m3898886541(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation_16(((CertificateValidationCallback_t3090555431 *)CastclassSealed(L_2, CertificateValidationCallback_t3090555431_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ClientCertSelection(Mono.Security.Protocol.Tls.CertificateSelectionCallback)
extern Il2CppClass* CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ClientCertSelection_m3598639054_MetadataUsageId;
extern "C"  void SslClientStream_add_ClientCertSelection_m3598639054 (SslClientStream_t2101301545 * __this, CertificateSelectionCallback_t604475832 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ClientCertSelection_m3598639054_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateSelectionCallback_t604475832 * L_0 = __this->get_ClientCertSelection_17();
		CertificateSelectionCallback_t604475832 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Combine_m1842362874(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ClientCertSelection_17(((CertificateSelectionCallback_t604475832 *)CastclassSealed(L_2, CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ClientCertSelection(Mono.Security.Protocol.Tls.CertificateSelectionCallback)
extern Il2CppClass* CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ClientCertSelection_m3341991123_MetadataUsageId;
extern "C"  void SslClientStream_remove_ClientCertSelection_m3341991123 (SslClientStream_t2101301545 * __this, CertificateSelectionCallback_t604475832 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ClientCertSelection_m3341991123_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateSelectionCallback_t604475832 * L_0 = __this->get_ClientCertSelection_17();
		CertificateSelectionCallback_t604475832 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Remove_m3898886541(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ClientCertSelection_17(((CertificateSelectionCallback_t604475832 *)CastclassSealed(L_2, CertificateSelectionCallback_t604475832_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_PrivateKeySelection(Mono.Security.Protocol.Tls.PrivateKeySelectionCallback)
extern Il2CppClass* PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_PrivateKeySelection_m3756271176_MetadataUsageId;
extern "C"  void SslClientStream_add_PrivateKeySelection_m3756271176 (SslClientStream_t2101301545 * __this, PrivateKeySelectionCallback_t3559239239 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_PrivateKeySelection_m3756271176_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		PrivateKeySelectionCallback_t3559239239 * L_0 = __this->get_PrivateKeySelection_18();
		PrivateKeySelectionCallback_t3559239239 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Combine_m1842362874(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_PrivateKeySelection_18(((PrivateKeySelectionCallback_t3559239239 *)CastclassSealed(L_2, PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_PrivateKeySelection(Mono.Security.Protocol.Tls.PrivateKeySelectionCallback)
extern Il2CppClass* PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_PrivateKeySelection_m7214243_MetadataUsageId;
extern "C"  void SslClientStream_remove_PrivateKeySelection_m7214243 (SslClientStream_t2101301545 * __this, PrivateKeySelectionCallback_t3559239239 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_PrivateKeySelection_m7214243_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		PrivateKeySelectionCallback_t3559239239 * L_0 = __this->get_PrivateKeySelection_18();
		PrivateKeySelectionCallback_t3559239239 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Remove_m3898886541(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_PrivateKeySelection_18(((PrivateKeySelectionCallback_t3559239239 *)CastclassSealed(L_2, PrivateKeySelectionCallback_t3559239239_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ServerCertValidation2(Mono.Security.Protocol.Tls.CertificateValidationCallback2)
extern Il2CppClass* CertificateValidationCallback2_t3353735195_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ServerCertValidation2_m2720675414_MetadataUsageId;
extern "C"  void SslClientStream_add_ServerCertValidation2_m2720675414 (SslClientStream_t2101301545 * __this, CertificateValidationCallback2_t3353735195 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ServerCertValidation2_m2720675414_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateValidationCallback2_t3353735195 * L_0 = __this->get_ServerCertValidation2_19();
		CertificateValidationCallback2_t3353735195 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Combine_m1842362874(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation2_19(((CertificateValidationCallback2_t3353735195 *)CastclassSealed(L_2, CertificateValidationCallback2_t3353735195_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ServerCertValidation2(Mono.Security.Protocol.Tls.CertificateValidationCallback2)
extern Il2CppClass* CertificateValidationCallback2_t3353735195_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ServerCertValidation2_m737020123_MetadataUsageId;
extern "C"  void SslClientStream_remove_ServerCertValidation2_m737020123 (SslClientStream_t2101301545 * __this, CertificateValidationCallback2_t3353735195 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ServerCertValidation2_m737020123_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		CertificateValidationCallback2_t3353735195 * L_0 = __this->get_ServerCertValidation2_19();
		CertificateValidationCallback2_t3353735195 * L_1 = ___value0;
		Delegate_t3310234105 * L_2 = Delegate_Remove_m3898886541(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation2_19(((CertificateValidationCallback2_t3353735195 *)CastclassSealed(L_2, CertificateValidationCallback2_t3353735195_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.IO.Stream Mono.Security.Protocol.Tls.SslClientStream::get_InputBuffer()
extern "C"  Stream_t1561764144 * SslClientStream_get_InputBuffer_m4205110840 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_inputBuffer_4();
		return L_0;
	}
}
// System.Security.Cryptography.X509Certificates.X509CertificateCollection Mono.Security.Protocol.Tls.SslClientStream::get_ClientCertificates()
extern "C"  X509CertificateCollection_t3220522733 * SslClientStream_get_ClientCertificates_m4081278826 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsClientSettings_t3675869755 * L_1 = Context_get_ClientSettings_m4242530400(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_2 = TlsClientSettings_get_Certificates_m3576351313(L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslClientStream::get_SelectedClientCertificate()
extern "C"  X509Certificate_t3076817455 * SslClientStream_get_SelectedClientCertificate_m4252887474 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsClientSettings_t3675869755 * L_1 = Context_get_ClientSettings_m4242530400(L_0, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_2 = TlsClientSettings_get_ClientCertificate_m1621563643(L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.CertificateValidationCallback Mono.Security.Protocol.Tls.SslClientStream::get_ServerCertValidationDelegate()
extern "C"  CertificateValidationCallback_t3090555431 * SslClientStream_get_ServerCertValidationDelegate_m459420051 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		CertificateValidationCallback_t3090555431 * L_0 = __this->get_ServerCertValidation_16();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::set_ServerCertValidationDelegate(Mono.Security.Protocol.Tls.CertificateValidationCallback)
extern "C"  void SslClientStream_set_ServerCertValidationDelegate_m772375792 (SslClientStream_t2101301545 * __this, CertificateValidationCallback_t3090555431 * ___value0, const MethodInfo* method)
{
	{
		CertificateValidationCallback_t3090555431 * L_0 = ___value0;
		__this->set_ServerCertValidation_16(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.CertificateSelectionCallback Mono.Security.Protocol.Tls.SslClientStream::get_ClientCertSelectionDelegate()
extern "C"  CertificateSelectionCallback_t604475832 * SslClientStream_get_ClientCertSelectionDelegate_m3262721995 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t604475832 * L_0 = __this->get_ClientCertSelection_17();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::set_ClientCertSelectionDelegate(Mono.Security.Protocol.Tls.CertificateSelectionCallback)
extern "C"  void SslClientStream_set_ClientCertSelectionDelegate_m1954811816 (SslClientStream_t2101301545 * __this, CertificateSelectionCallback_t604475832 * ___value0, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t604475832 * L_0 = ___value0;
		__this->set_ClientCertSelection_17(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.PrivateKeySelectionCallback Mono.Security.Protocol.Tls.SslClientStream::get_PrivateKeyCertSelectionDelegate()
extern "C"  PrivateKeySelectionCallback_t3559239239 * SslClientStream_get_PrivateKeyCertSelectionDelegate_m3305681381 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t3559239239 * L_0 = __this->get_PrivateKeySelection_18();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::set_PrivateKeyCertSelectionDelegate(Mono.Security.Protocol.Tls.PrivateKeySelectionCallback)
extern "C"  void SslClientStream_set_PrivateKeyCertSelectionDelegate_m3816935658 (SslClientStream_t2101301545 * __this, PrivateKeySelectionCallback_t3559239239 * ___value0, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t3559239239 * L_0 = ___value0;
		__this->set_PrivateKeySelection_18(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::Finalize()
extern "C"  void SslClientStream_Finalize_m1289121787 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		SslStreamBase_Dispose_m927762229(__this, (bool)0, /*hidden argument*/NULL);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		SslStreamBase_Finalize_m1889580673(__this, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(12)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(12)
	{
		IL2CPP_JUMP_TBL(0x13, IL_0013)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::Dispose(System.Boolean)
extern "C"  void SslClientStream_Dispose_m2208138235 (SslClientStream_t2101301545 * __this, bool ___disposing0, const MethodInfo* method)
{
	{
		bool L_0 = ___disposing0;
		SslStreamBase_Dispose_m927762229(__this, L_0, /*hidden argument*/NULL);
		bool L_1 = ___disposing0;
		if (!L_1)
		{
			goto IL_0029;
		}
	}
	{
		__this->set_ServerCertValidation_16((CertificateValidationCallback_t3090555431 *)NULL);
		__this->set_ClientCertSelection_17((CertificateSelectionCallback_t604475832 *)NULL);
		__this->set_PrivateKeySelection_18((PrivateKeySelectionCallback_t3559239239 *)NULL);
		__this->set_ServerCertValidation2_19((CertificateValidationCallback2_t3353735195 *)NULL);
	}

IL_0029:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.SslClientStream::OnBeginNegotiateHandshake(System.AsyncCallback,System.Object)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern const uint32_t SslClientStream_OnBeginNegotiateHandshake_m3558591952_MetadataUsageId;
extern "C"  Il2CppObject * SslClientStream_OnBeginNegotiateHandshake_m3558591952 (SslClientStream_t2101301545 * __this, AsyncCallback_t1369114871 * ___callback0, Il2CppObject * ___state1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_OnBeginNegotiateHandshake_m3558591952_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsException_t1031360050 * V_0 = NULL;
	Exception_t3991598821 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			Context_t658806145 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
			int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
			if (!L_1)
			{
				goto IL_001b;
			}
		}

IL_0010:
		{
			Context_t658806145 * L_2 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
			VirtActionInvoker0::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.Context::Clear() */, L_2);
		}

IL_001b:
		{
			Context_t658806145 * L_3 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
			Context_t658806145 * L_4 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
			int32_t L_5 = Context_get_SecurityProtocol_m2457665585(L_4, /*hidden argument*/NULL);
			CipherSuiteCollection_t2487974013 * L_6 = CipherSuiteFactory_GetSupportedCiphers_m950549359(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
			Context_set_SupportedCiphers_m2658500263(L_3, L_6, /*hidden argument*/NULL);
			Context_t658806145 * L_7 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
			Context_set_HandshakeState_m3428098438(L_7, 1, /*hidden argument*/NULL);
			RecordProtocol_t1331996967 * L_8 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
			AsyncCallback_t1369114871 * L_9 = ___callback0;
			Il2CppObject * L_10 = ___state1;
			Il2CppObject * L_11 = RecordProtocol_BeginSendRecord_m4074660131(L_8, 1, L_9, L_10, /*hidden argument*/NULL);
			V_2 = L_11;
			goto IL_009d;
		}

IL_0056:
		{
			; // IL_0056: leave IL_009d
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_005b;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_007e;
		throw e;
	}

CATCH_005b:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_0 = ((TlsException_t1031360050 *)__exception_local);
			RecordProtocol_t1331996967 * L_12 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
			TlsException_t1031360050 * L_13 = V_0;
			Alert_t2013630382 * L_14 = TlsException_get_Alert_m2233021222(L_13, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m1661652283(L_12, L_14, /*hidden argument*/NULL);
			TlsException_t1031360050 * L_15 = V_0;
			IOException_t2404867879 * L_16 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_16, _stringLiteral2394672362, L_15, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_16);
		}

IL_0079:
		{
			goto IL_009d;
		}
	} // end catch (depth: 1)

CATCH_007e:
	{ // begin catch(System.Exception)
		{
			V_1 = ((Exception_t3991598821 *)__exception_local);
			RecordProtocol_t1331996967 * L_17 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
			RecordProtocol_SendAlert_m2514944891(L_17, ((int32_t)80), /*hidden argument*/NULL);
			Exception_t3991598821 * L_18 = V_1;
			IOException_t2404867879 * L_19 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_19, _stringLiteral2394672362, L_18, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_19);
		}

IL_0098:
		{
			goto IL_009d;
		}
	} // end catch (depth: 1)

IL_009d:
	{
		Il2CppObject * L_20 = V_2;
		return L_20;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::SafeReceiveRecord(System.IO.Stream)
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2847699655;
extern const uint32_t SslClientStream_SafeReceiveRecord_m4180109699_MetadataUsageId;
extern "C"  void SslClientStream_SafeReceiveRecord_m4180109699 (SslClientStream_t2101301545 * __this, Stream_t1561764144 * ___s0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_SafeReceiveRecord_m4180109699_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		RecordProtocol_t1331996967 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		Stream_t1561764144 * L_1 = ___s0;
		ByteU5BU5D_t4260760469* L_2 = RecordProtocol_ReceiveRecord_m1131958450(L_0, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ByteU5BU5D_t4260760469* L_3 = V_0;
		if (!L_3)
		{
			goto IL_001b;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_4 = V_0;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))
		{
			goto IL_0028;
		}
	}

IL_001b:
	{
		TlsException_t1031360050 * L_5 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_5, ((int32_t)40), _stringLiteral2847699655, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0028:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::OnNegotiateHandshakeCallback(System.IAsyncResult)
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_OnNegotiateHandshakeCallback_m2911909321_MetadataUsageId;
extern "C"  void SslClientStream_OnNegotiateHandshakeCallback_m2911909321 (SslClientStream_t2101301545 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_OnNegotiateHandshakeCallback_m2911909321_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	bool V_0 = false;
	int32_t G_B14_0 = 0;
	{
		RecordProtocol_t1331996967 * L_0 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		Il2CppObject * L_1 = ___asyncResult0;
		RecordProtocol_EndSendRecord_m1779126194(L_0, L_1, /*hidden argument*/NULL);
		goto IL_0043;
	}

IL_0011:
	{
		Stream_t1561764144 * L_2 = ((SslStreamBase_t657895919 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m4180109699(__this, L_2, /*hidden argument*/NULL);
		Context_t658806145 * L_3 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		bool L_4 = Context_get_AbbreviatedHandshake_m3621257066(L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0043;
		}
	}
	{
		Context_t658806145 * L_5 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		uint8_t L_6 = Context_get_LastHandshakeMsg_m1576961185(L_5, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_6) == ((uint32_t)2))))
		{
			goto IL_0043;
		}
	}
	{
		goto IL_0055;
	}

IL_0043:
	{
		Context_t658806145 * L_7 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		uint8_t L_8 = Context_get_LastHandshakeMsg_m1576961185(L_7, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_8) == ((uint32_t)((int32_t)14)))))
		{
			goto IL_0011;
		}
	}

IL_0055:
	{
		Context_t658806145 * L_9 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		bool L_10 = Context_get_AbbreviatedHandshake_m3621257066(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_00da;
		}
	}
	{
		Context_t658806145 * L_11 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextFromCache_m2249085247(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
		Context_t658806145 * L_12 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		SecurityParameters_t2935569768 * L_13 = Context_get_Negotiating_m622190524(L_12, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_14 = SecurityParameters_get_Cipher_m2063042602(L_13, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(7 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeKeys() */, L_14);
		Context_t658806145 * L_15 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		SecurityParameters_t2935569768 * L_16 = Context_get_Negotiating_m622190524(L_15, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_17 = SecurityParameters_get_Cipher_m2063042602(L_16, /*hidden argument*/NULL);
		CipherSuite_InitializeCipher_m1046105646(L_17, /*hidden argument*/NULL);
		RecordProtocol_t1331996967 * L_18 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		RecordProtocol_SendChangeCipherSpec_m1492403331(L_18, /*hidden argument*/NULL);
		goto IL_00b7;
	}

IL_00ab:
	{
		Stream_t1561764144 * L_19 = ((SslStreamBase_t657895919 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m4180109699(__this, L_19, /*hidden argument*/NULL);
	}

IL_00b7:
	{
		Context_t658806145 * L_20 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		int32_t L_21 = Context_get_HandshakeState_m972066827(L_20, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_21) == ((uint32_t)2))))
		{
			goto IL_00ab;
		}
	}
	{
		RecordProtocol_t1331996967 * L_22 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		VirtActionInvoker1< uint8_t >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, L_22, ((int32_t)20));
		goto IL_01c5;
	}

IL_00da:
	{
		Context_t658806145 * L_23 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsServerSettings_t3702625715 * L_24 = Context_get_ServerSettings_m4010613088(L_23, /*hidden argument*/NULL);
		bool L_25 = TlsServerSettings_get_CertificateRequest_m741313462(L_24, /*hidden argument*/NULL);
		V_0 = L_25;
		Context_t658806145 * L_26 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		int32_t L_27 = Context_get_SecurityProtocol_m2457665585(L_26, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_27) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_012e;
		}
	}
	{
		Context_t658806145 * L_28 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsClientSettings_t3675869755 * L_29 = Context_get_ClientSettings_m4242530400(L_28, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_30 = TlsClientSettings_get_Certificates_m3576351313(L_29, /*hidden argument*/NULL);
		if (!L_30)
		{
			goto IL_012c;
		}
	}
	{
		Context_t658806145 * L_31 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsClientSettings_t3675869755 * L_32 = Context_get_ClientSettings_m4242530400(L_31, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_33 = TlsClientSettings_get_Certificates_m3576351313(L_32, /*hidden argument*/NULL);
		int32_t L_34 = CollectionBase_get_Count_m313265901(L_33, /*hidden argument*/NULL);
		G_B14_0 = ((((int32_t)L_34) > ((int32_t)0))? 1 : 0);
		goto IL_012d;
	}

IL_012c:
	{
		G_B14_0 = 0;
	}

IL_012d:
	{
		V_0 = (bool)G_B14_0;
	}

IL_012e:
	{
		bool L_35 = V_0;
		if (!L_35)
		{
			goto IL_0141;
		}
	}
	{
		RecordProtocol_t1331996967 * L_36 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		VirtActionInvoker1< uint8_t >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, L_36, ((int32_t)11));
	}

IL_0141:
	{
		RecordProtocol_t1331996967 * L_37 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		VirtActionInvoker1< uint8_t >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, L_37, ((int32_t)16));
		Context_t658806145 * L_38 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		SecurityParameters_t2935569768 * L_39 = Context_get_Negotiating_m622190524(L_38, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_40 = SecurityParameters_get_Cipher_m2063042602(L_39, /*hidden argument*/NULL);
		CipherSuite_InitializeCipher_m1046105646(L_40, /*hidden argument*/NULL);
		bool L_41 = V_0;
		if (!L_41)
		{
			goto IL_018b;
		}
	}
	{
		Context_t658806145 * L_42 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsClientSettings_t3675869755 * L_43 = Context_get_ClientSettings_m4242530400(L_42, /*hidden argument*/NULL);
		X509Certificate_t3076817455 * L_44 = TlsClientSettings_get_ClientCertificate_m1621563643(L_43, /*hidden argument*/NULL);
		if (!L_44)
		{
			goto IL_018b;
		}
	}
	{
		RecordProtocol_t1331996967 * L_45 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		VirtActionInvoker1< uint8_t >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, L_45, ((int32_t)15));
	}

IL_018b:
	{
		RecordProtocol_t1331996967 * L_46 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		RecordProtocol_SendChangeCipherSpec_m1492403331(L_46, /*hidden argument*/NULL);
		RecordProtocol_t1331996967 * L_47 = ((SslStreamBase_t657895919 *)__this)->get_protocol_6();
		VirtActionInvoker1< uint8_t >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendRecord(Mono.Security.Protocol.Tls.Handshake.HandshakeType) */, L_47, ((int32_t)20));
		goto IL_01b4;
	}

IL_01a8:
	{
		Stream_t1561764144 * L_48 = ((SslStreamBase_t657895919 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m4180109699(__this, L_48, /*hidden argument*/NULL);
	}

IL_01b4:
	{
		Context_t658806145 * L_49 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		int32_t L_50 = Context_get_HandshakeState_m972066827(L_49, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_50) == ((uint32_t)2))))
		{
			goto IL_01a8;
		}
	}

IL_01c5:
	{
		Context_t658806145 * L_51 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		TlsStream_t89550253 * L_52 = Context_get_HandshakeMessages_m1457854885(L_51, /*hidden argument*/NULL);
		TlsStream_Reset_m242376048(L_52, /*hidden argument*/NULL);
		Context_t658806145 * L_53 = ((SslStreamBase_t657895919 *)__this)->get_context_5();
		VirtActionInvoker0::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.Context::ClearKeyInfo() */, L_53);
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslClientStream::OnLocalCertificateSelection(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  X509Certificate_t3076817455 * SslClientStream_OnLocalCertificateSelection_m3738340919 (SslClientStream_t2101301545 * __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t604475832 * L_0 = __this->get_ClientCertSelection_17();
		if (!L_0)
		{
			goto IL_001c;
		}
	}
	{
		CertificateSelectionCallback_t604475832 * L_1 = __this->get_ClientCertSelection_17();
		X509CertificateCollection_t3220522733 * L_2 = ___clientCertificates0;
		X509Certificate_t3076817455 * L_3 = ___serverCertificate1;
		String_t* L_4 = ___targetHost2;
		X509CertificateCollection_t3220522733 * L_5 = ___serverRequestedCertificates3;
		X509Certificate_t3076817455 * L_6 = CertificateSelectionCallback_Invoke_m1413516687(L_1, L_2, L_3, L_4, L_5, /*hidden argument*/NULL);
		return L_6;
	}

IL_001c:
	{
		return (X509Certificate_t3076817455 *)NULL;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslClientStream::get_HaveRemoteValidation2Callback()
extern "C"  bool SslClientStream_get_HaveRemoteValidation2Callback_m712645822 (SslClientStream_t2101301545 * __this, const MethodInfo* method)
{
	{
		CertificateValidationCallback2_t3353735195 * L_0 = __this->get_ServerCertValidation2_19();
		return (bool)((((int32_t)((((Il2CppObject*)(CertificateValidationCallback2_t3353735195 *)L_0) == ((Il2CppObject*)(Il2CppObject *)NULL))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.SslClientStream::OnRemoteCertificateValidation2(Mono.Security.X509.X509CertificateCollection)
extern "C"  ValidationResult_t925859732 * SslClientStream_OnRemoteCertificateValidation2_m549297777 (SslClientStream_t2101301545 * __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method)
{
	CertificateValidationCallback2_t3353735195 * V_0 = NULL;
	{
		CertificateValidationCallback2_t3353735195 * L_0 = __this->get_ServerCertValidation2_19();
		V_0 = L_0;
		CertificateValidationCallback2_t3353735195 * L_1 = V_0;
		if (!L_1)
		{
			goto IL_0015;
		}
	}
	{
		CertificateValidationCallback2_t3353735195 * L_2 = V_0;
		X509CertificateCollection_t4135795358 * L_3 = ___collection0;
		ValidationResult_t925859732 * L_4 = CertificateValidationCallback2_Invoke_m4228010672(L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0015:
	{
		return (ValidationResult_t925859732 *)NULL;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslClientStream::OnRemoteCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern "C"  bool SslClientStream_OnRemoteCertificateValidation_m2995372221 (SslClientStream_t2101301545 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___errors1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		CertificateValidationCallback_t3090555431 * L_0 = __this->get_ServerCertValidation_16();
		if (!L_0)
		{
			goto IL_0019;
		}
	}
	{
		CertificateValidationCallback_t3090555431 * L_1 = __this->get_ServerCertValidation_16();
		X509Certificate_t3076817455 * L_2 = ___certificate0;
		Int32U5BU5D_t3230847821* L_3 = ___errors1;
		bool L_4 = CertificateValidationCallback_Invoke_m481730652(L_1, L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0019:
	{
		Int32U5BU5D_t3230847821* L_5 = ___errors1;
		if (!L_5)
		{
			goto IL_0027;
		}
	}
	{
		Int32U5BU5D_t3230847821* L_6 = ___errors1;
		G_B5_0 = ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length))))) == ((int32_t)0))? 1 : 0);
		goto IL_0028;
	}

IL_0027:
	{
		G_B5_0 = 0;
	}

IL_0028:
	{
		return (bool)G_B5_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslClientStream::RaiseServerCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern "C"  bool SslClientStream_RaiseServerCertificateValidation_m738622279 (SslClientStream_t2101301545 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___certificateErrors1, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = ___certificate0;
		Int32U5BU5D_t3230847821* L_1 = ___certificateErrors1;
		bool L_2 = SslStreamBase_RaiseRemoteCertificateValidation_m1070332522(__this, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.SslClientStream::RaiseServerCertificateValidation2(Mono.Security.X509.X509CertificateCollection)
extern "C"  ValidationResult_t925859732 * SslClientStream_RaiseServerCertificateValidation2_m1222389749 (SslClientStream_t2101301545 * __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t4135795358 * L_0 = ___collection0;
		ValidationResult_t925859732 * L_1 = SslStreamBase_RaiseRemoteCertificateValidation2_m2704286450(__this, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslClientStream::RaiseClientCertificateSelection(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  X509Certificate_t3076817455 * SslClientStream_RaiseClientCertificateSelection_m4278211596 (SslClientStream_t2101301545 * __this, X509CertificateCollection_t3220522733 * ___clientCertificates0, X509Certificate_t3076817455 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3220522733 * L_0 = ___clientCertificates0;
		X509Certificate_t3076817455 * L_1 = ___serverCertificate1;
		String_t* L_2 = ___targetHost2;
		X509CertificateCollection_t3220522733 * L_3 = ___serverRequestedCertificates3;
		X509Certificate_t3076817455 * L_4 = SslStreamBase_RaiseLocalCertificateSelection_m3048410672(__this, L_0, L_1, L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.SslClientStream::OnLocalPrivateKeySelection(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern "C"  AsymmetricAlgorithm_t1241690687 * SslClientStream_OnLocalPrivateKeySelection_m3261566884 (SslClientStream_t2101301545 * __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t3559239239 * L_0 = __this->get_PrivateKeySelection_18();
		if (!L_0)
		{
			goto IL_0019;
		}
	}
	{
		PrivateKeySelectionCallback_t3559239239 * L_1 = __this->get_PrivateKeySelection_18();
		X509Certificate_t3076817455 * L_2 = ___certificate0;
		String_t* L_3 = ___targetHost1;
		AsymmetricAlgorithm_t1241690687 * L_4 = PrivateKeySelectionCallback_Invoke_m2835982706(L_1, L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0019:
	{
		return (AsymmetricAlgorithm_t1241690687 *)NULL;
	}
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.SslClientStream::RaisePrivateKeySelection(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern "C"  AsymmetricAlgorithm_t1241690687 * SslClientStream_RaisePrivateKeySelection_m3264140164 (SslClientStream_t2101301545 * __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = ___certificate0;
		String_t* L_1 = ___targetHost1;
		AsymmetricAlgorithm_t1241690687 * L_2 = SslStreamBase_RaiseLocalPrivateKeySelection_m2365509687(__this, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::.ctor(System.Byte[])
extern Il2CppCodeGenString* _stringLiteral76158;
extern Il2CppCodeGenString* _stringLiteral2543909;
extern const uint32_t SslHandshakeHash__ctor_m1720849178_MetadataUsageId;
extern "C"  void SslHandshakeHash__ctor_m1720849178 (SslHandshakeHash_t3344762007 * __this, ByteU5BU5D_t4260760469* ___secret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash__ctor_m1720849178_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		HashAlgorithm__ctor_m1204858244(__this, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_0 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, _stringLiteral76158, /*hidden argument*/NULL);
		__this->set_md5_4(L_0);
		HashAlgorithm_t532578791 * L_1 = HashAlgorithm_Create_m2014549577(NULL /*static, unused*/, _stringLiteral2543909, /*hidden argument*/NULL);
		__this->set_sha_5(L_1);
		HashAlgorithm_t532578791 * L_2 = __this->get_md5_4();
		int32_t L_3 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_2);
		HashAlgorithm_t532578791 * L_4 = __this->get_sha_5();
		int32_t L_5 = VirtFuncInvoker0< int32_t >::Invoke(12 /* System.Int32 System.Security.Cryptography.HashAlgorithm::get_HashSize() */, L_4);
		((HashAlgorithm_t532578791 *)__this)->set_HashSizeValue_1(((int32_t)((int32_t)L_3+(int32_t)L_5)));
		ByteU5BU5D_t4260760469* L_6 = ___secret0;
		__this->set_secret_7(L_6);
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::Initialize() */, __this);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::Initialize()
extern "C"  void SslHandshakeHash_Initialize_m3218164453 (SslHandshakeHash_t3344762007 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t532578791 * L_0 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HashAlgorithm_t532578791 * L_1 = __this->get_sha_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_1);
		SslHandshakeHash_initializePad_m1112962160(__this, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslHandshakeHash::HashFinal()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t SslHandshakeHash_HashFinal_m1716921183_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* SslHandshakeHash_HashFinal_m1716921183 (SslHandshakeHash_t3344762007 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_HashFinal_m1716921183_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		__this->set_hashing_6((bool)1);
	}

IL_0012:
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_2 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_3 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_4 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m3829135048(L_1, L_2, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))), L_4, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_5 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_6 = __this->get_innerPadMD5_8();
		ByteU5BU5D_t4260760469* L_7 = __this->get_innerPadMD5_8();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_8 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_9 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_8);
		V_0 = L_9;
		HashAlgorithm_t532578791 * L_10 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_10);
		HashAlgorithm_t532578791 * L_11 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_12 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_13 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_14 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m3829135048(L_11, L_12, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))), L_14, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_15 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_16 = __this->get_outerPadMD5_9();
		ByteU5BU5D_t4260760469* L_17 = __this->get_outerPadMD5_9();
		ByteU5BU5D_t4260760469* L_18 = __this->get_outerPadMD5_9();
		HashAlgorithm_TransformBlock_m3829135048(L_15, L_16, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length)))), L_18, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_19 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_20 = V_0;
		ByteU5BU5D_t4260760469* L_21 = V_0;
		HashAlgorithm_TransformFinalBlock_m1193599374(L_19, L_20, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_22 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_23 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_24 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_25 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m3829135048(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_26 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_27 = __this->get_innerPadSHA_10();
		ByteU5BU5D_t4260760469* L_28 = __this->get_innerPadSHA_10();
		HashAlgorithm_TransformFinalBlock_m1193599374(L_26, L_27, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_28)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_29 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_30 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_29);
		V_1 = L_30;
		HashAlgorithm_t532578791 * L_31 = __this->get_sha_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_31);
		HashAlgorithm_t532578791 * L_32 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_33 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_34 = __this->get_secret_7();
		ByteU5BU5D_t4260760469* L_35 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m3829135048(L_32, L_33, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_34)->max_length)))), L_35, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_36 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_37 = __this->get_outerPadSHA_11();
		ByteU5BU5D_t4260760469* L_38 = __this->get_outerPadSHA_11();
		ByteU5BU5D_t4260760469* L_39 = __this->get_outerPadSHA_11();
		HashAlgorithm_TransformBlock_m3829135048(L_36, L_37, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_38)->max_length)))), L_39, 0, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_40 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_41 = V_1;
		ByteU5BU5D_t4260760469* L_42 = V_1;
		HashAlgorithm_TransformFinalBlock_m1193599374(L_40, L_41, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_42)->max_length)))), /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::Initialize() */, __this);
		V_2 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)36)));
		HashAlgorithm_t532578791 * L_43 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_44 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_43);
		ByteU5BU5D_t4260760469* L_45 = V_2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_44, 0, (Il2CppArray *)(Il2CppArray *)L_45, 0, ((int32_t)16), /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_46 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_47 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_46);
		ByteU5BU5D_t4260760469* L_48 = V_2;
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_47, 0, (Il2CppArray *)(Il2CppArray *)L_48, ((int32_t)16), ((int32_t)20), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_49 = V_2;
		return L_49;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::HashCore(System.Byte[],System.Int32,System.Int32)
extern "C"  void SslHandshakeHash_HashCore_m1118046919 (SslHandshakeHash_t3344762007 * __this, ByteU5BU5D_t4260760469* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		__this->set_hashing_6((bool)1);
	}

IL_0012:
	{
		HashAlgorithm_t532578791 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t4260760469* L_2 = ___array0;
		int32_t L_3 = ___ibStart1;
		int32_t L_4 = ___cbSize2;
		ByteU5BU5D_t4260760469* L_5 = ___array0;
		int32_t L_6 = ___ibStart1;
		HashAlgorithm_TransformBlock_m3829135048(L_1, L_2, L_3, L_4, L_5, L_6, /*hidden argument*/NULL);
		HashAlgorithm_t532578791 * L_7 = __this->get_sha_5();
		ByteU5BU5D_t4260760469* L_8 = ___array0;
		int32_t L_9 = ___ibStart1;
		int32_t L_10 = ___cbSize2;
		ByteU5BU5D_t4260760469* L_11 = ___array0;
		int32_t L_12 = ___ibStart1;
		HashAlgorithm_TransformBlock_m3829135048(L_7, L_8, L_9, L_10, L_11, L_12, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslHandshakeHash::CreateSignature(System.Security.Cryptography.RSA)
extern Il2CppClass* CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1346603173;
extern Il2CppCodeGenString* _stringLiteral1616579491;
extern const uint32_t SslHandshakeHash_CreateSignature_m1753519462_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* SslHandshakeHash_CreateSignature_m1753519462 (SslHandshakeHash_t3344762007 * __this, RSA_t2466814310 * ___rsa0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_CreateSignature_m1753519462_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	RSASslSignatureFormatter_t1731244892 * V_0 = NULL;
	{
		RSA_t2466814310 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t363661542 * L_1 = (CryptographicUnexpectedOperationException_t363661542 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t363661542_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m1444713021(L_1, _stringLiteral1346603173, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		RSA_t2466814310 * L_2 = ___rsa0;
		RSASslSignatureFormatter_t1731244892 * L_3 = (RSASslSignatureFormatter_t1731244892 *)il2cpp_codegen_object_new(RSASslSignatureFormatter_t1731244892_il2cpp_TypeInfo_var);
		RSASslSignatureFormatter__ctor_m1725069988(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		RSASslSignatureFormatter_t1731244892 * L_4 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetHashAlgorithm(System.String) */, L_4, _stringLiteral1616579491);
		RSASslSignatureFormatter_t1731244892 * L_5 = V_0;
		ByteU5BU5D_t4260760469* L_6 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t4260760469* L_7 = VirtFuncInvoker1< ByteU5BU5D_t4260760469*, ByteU5BU5D_t4260760469* >::Invoke(6 /* System.Byte[] Mono.Security.Protocol.Tls.RSASslSignatureFormatter::CreateSignature(System.Byte[]) */, L_5, L_6);
		return L_7;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::initializePad()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t SslHandshakeHash_initializePad_m1112962160_MetadataUsageId;
extern "C"  void SslHandshakeHash_initializePad_m1112962160 (SslHandshakeHash_t3344762007 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_initializePad_m1112962160_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		__this->set_innerPadMD5_8(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48))));
		__this->set_outerPadMD5_9(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48))));
		V_0 = 0;
		goto IL_0039;
	}

IL_0021:
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_innerPadMD5_8();
		int32_t L_1 = V_0;
		(L_0)->SetAt(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)((int32_t)54));
		ByteU5BU5D_t4260760469* L_2 = __this->get_outerPadMD5_9();
		int32_t L_3 = V_0;
		(L_2)->SetAt(static_cast<il2cpp_array_size_t>(L_3), (uint8_t)((int32_t)92));
		int32_t L_4 = V_0;
		V_0 = ((int32_t)((int32_t)L_4+(int32_t)1));
	}

IL_0039:
	{
		int32_t L_5 = V_0;
		if ((((int32_t)L_5) < ((int32_t)((int32_t)48))))
		{
			goto IL_0021;
		}
	}
	{
		__this->set_innerPadSHA_10(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)40))));
		__this->set_outerPadSHA_11(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)40))));
		V_1 = 0;
		goto IL_007a;
	}

IL_0062:
	{
		ByteU5BU5D_t4260760469* L_6 = __this->get_innerPadSHA_10();
		int32_t L_7 = V_1;
		(L_6)->SetAt(static_cast<il2cpp_array_size_t>(L_7), (uint8_t)((int32_t)54));
		ByteU5BU5D_t4260760469* L_8 = __this->get_outerPadSHA_11();
		int32_t L_9 = V_1;
		(L_8)->SetAt(static_cast<il2cpp_array_size_t>(L_9), (uint8_t)((int32_t)92));
		int32_t L_10 = V_1;
		V_1 = ((int32_t)((int32_t)L_10+(int32_t)1));
	}

IL_007a:
	{
		int32_t L_11 = V_1;
		if ((((int32_t)L_11) < ((int32_t)((int32_t)40))))
		{
			goto IL_0062;
		}
	}
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::.ctor(System.IO.Stream,System.Boolean)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t418716369_il2cpp_TypeInfo_var;
extern Il2CppClass* Stream_t1561764144_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2275542449;
extern Il2CppCodeGenString* _stringLiteral2595435185;
extern const uint32_t SslStreamBase__ctor_m1932094885_MetadataUsageId;
extern "C"  void SslStreamBase__ctor_m1932094885 (SslStreamBase_t657895919 * __this, Stream_t1561764144 * ___stream0, bool ___ownsStream1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase__ctor_m1932094885_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		__this->set_recbuf_14(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16384))));
		MemoryStream_t418716369 * L_0 = (MemoryStream_t418716369 *)il2cpp_codegen_object_new(MemoryStream_t418716369_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m3603177736(L_0, /*hidden argument*/NULL);
		__this->set_recordStream_15(L_0);
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t1561764144_il2cpp_TypeInfo_var);
		Stream__ctor_m1433294025(__this, /*hidden argument*/NULL);
		Stream_t1561764144 * L_1 = ___stream0;
		if (L_1)
		{
			goto IL_0032;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_2 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_2, _stringLiteral2275542449, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0032:
	{
		Stream_t1561764144 * L_3 = ___stream0;
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t1561764144_il2cpp_TypeInfo_var);
		bool L_4 = VirtFuncInvoker0< bool >::Invoke(5 /* System.Boolean System.IO.Stream::get_CanRead() */, L_3);
		if (!L_4)
		{
			goto IL_0048;
		}
	}
	{
		Stream_t1561764144 * L_5 = ___stream0;
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t1561764144_il2cpp_TypeInfo_var);
		bool L_6 = VirtFuncInvoker0< bool >::Invoke(7 /* System.Boolean System.IO.Stream::get_CanWrite() */, L_5);
		if (L_6)
		{
			goto IL_0053;
		}
	}

IL_0048:
	{
		ArgumentNullException_t3573189601 * L_7 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_7, _stringLiteral2595435185, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
	}

IL_0053:
	{
		MemoryStream_t418716369 * L_8 = (MemoryStream_t418716369 *)il2cpp_codegen_object_new(MemoryStream_t418716369_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m3603177736(L_8, /*hidden argument*/NULL);
		__this->set_inputBuffer_4(L_8);
		Stream_t1561764144 * L_9 = ___stream0;
		__this->set_innerStream_3(L_9);
		bool L_10 = ___ownsStream1;
		__this->set_ownsStream_7(L_10);
		Il2CppObject * L_11 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_11, /*hidden argument*/NULL);
		__this->set_negotiate_10(L_11);
		Il2CppObject * L_12 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_12, /*hidden argument*/NULL);
		__this->set_read_11(L_12);
		Il2CppObject * L_13 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_13, /*hidden argument*/NULL);
		__this->set_write_12(L_13);
		ManualResetEvent_t924017833 * L_14 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m927697317(L_14, (bool)0, /*hidden argument*/NULL);
		__this->set_negotiationComplete_13(L_14);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::.cctor()
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern Il2CppClass* SslStreamBase_t657895919_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase__cctor_m4024786316_MetadataUsageId;
extern "C"  void SslStreamBase__cctor_m4024786316 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase__cctor_m4024786316_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ManualResetEvent_t924017833 * L_0 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m927697317(L_0, (bool)1, /*hidden argument*/NULL);
		((SslStreamBase_t657895919_StaticFields*)SslStreamBase_t657895919_il2cpp_TypeInfo_var->static_fields)->set_record_processing_2(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::AsyncHandshakeCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern const uint32_t SslStreamBase_AsyncHandshakeCallback_m2999600224_MetadataUsageId;
extern "C"  void SslStreamBase_AsyncHandshakeCallback_m2999600224 (SslStreamBase_t657895919 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_AsyncHandshakeCallback_m2999600224_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	TlsException_t1031360050 * V_1 = NULL;
	Exception_t3991598821 * V_2 = NULL;
	Exception_t3991598821 * V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = ___asyncResult0;
		Il2CppObject * L_1 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.IAsyncResult::get_AsyncState() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_0);
		V_0 = ((InternalAsyncResult_t2363113060 *)IsInstClass(L_1, InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var));
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		try
		{ // begin try (depth: 2)
			Il2CppObject * L_2 = ___asyncResult0;
			VirtActionInvoker1< Il2CppObject * >::Invoke(25 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::OnNegotiateHandshakeCallback(System.IAsyncResult) */, __this, L_2);
			goto IL_005a;
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__exception_local = (Exception_t3991598821 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0018;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_003b;
			throw e;
		}

CATCH_0018:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_1 = ((TlsException_t1031360050 *)__exception_local);
				RecordProtocol_t1331996967 * L_3 = __this->get_protocol_6();
				TlsException_t1031360050 * L_4 = V_1;
				Alert_t2013630382 * L_5 = TlsException_get_Alert_m2233021222(L_4, /*hidden argument*/NULL);
				RecordProtocol_SendAlert_m1661652283(L_3, L_5, /*hidden argument*/NULL);
				TlsException_t1031360050 * L_6 = V_1;
				IOException_t2404867879 * L_7 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_7, _stringLiteral2394672362, L_6, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
			}

IL_0036:
			{
				goto IL_005a;
			}
		} // end catch (depth: 2)

CATCH_003b:
		{ // begin catch(System.Exception)
			{
				V_2 = ((Exception_t3991598821 *)__exception_local);
				RecordProtocol_t1331996967 * L_8 = __this->get_protocol_6();
				RecordProtocol_SendAlert_m2514944891(L_8, ((int32_t)80), /*hidden argument*/NULL);
				Exception_t3991598821 * L_9 = V_2;
				IOException_t2404867879 * L_10 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_10, _stringLiteral2394672362, L_9, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
			}

IL_0055:
			{
				goto IL_005a;
			}
		} // end catch (depth: 2)

IL_005a:
		{
			InternalAsyncResult_t2363113060 * L_11 = V_0;
			bool L_12 = InternalAsyncResult_get_ProceedAfterHandshake_m2894433668(L_11, /*hidden argument*/NULL);
			if (!L_12)
			{
				goto IL_0094;
			}
		}

IL_0065:
		{
			InternalAsyncResult_t2363113060 * L_13 = V_0;
			bool L_14 = InternalAsyncResult_get_FromWrite_m619101712(L_13, /*hidden argument*/NULL);
			if (!L_14)
			{
				goto IL_007c;
			}
		}

IL_0070:
		{
			InternalAsyncResult_t2363113060 * L_15 = V_0;
			SslStreamBase_InternalBeginWrite_m3259256466(__this, L_15, /*hidden argument*/NULL);
			goto IL_0083;
		}

IL_007c:
		{
			InternalAsyncResult_t2363113060 * L_16 = V_0;
			SslStreamBase_InternalBeginRead_m2665365405(__this, L_16, /*hidden argument*/NULL);
		}

IL_0083:
		{
			ManualResetEvent_t924017833 * L_17 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m224730030(L_17, /*hidden argument*/NULL);
			goto IL_00a6;
		}

IL_0094:
		{
			ManualResetEvent_t924017833 * L_18 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m224730030(L_18, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_19 = V_0;
			InternalAsyncResult_SetComplete_m1352916269(L_19, /*hidden argument*/NULL);
		}

IL_00a6:
		{
			goto IL_00c4;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_00ab;
		throw e;
	}

CATCH_00ab:
	{ // begin catch(System.Exception)
		V_3 = ((Exception_t3991598821 *)__exception_local);
		ManualResetEvent_t924017833 * L_20 = __this->get_negotiationComplete_13();
		EventWaitHandle_Set_m224730030(L_20, /*hidden argument*/NULL);
		InternalAsyncResult_t2363113060 * L_21 = V_0;
		Exception_t3991598821 * L_22 = V_3;
		InternalAsyncResult_SetComplete_m1458533341(L_21, L_22, /*hidden argument*/NULL);
		goto IL_00c4;
	} // end catch (depth: 1)

IL_00c4:
	{
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_MightNeedHandshake()
extern "C"  bool SslStreamBase_get_MightNeedHandshake_m3486515364 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0013;
		}
	}
	{
		return (bool)0;
	}

IL_0013:
	{
		Il2CppObject * L_2 = __this->get_negotiate_10();
		V_0 = L_2;
		Il2CppObject * L_3 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
	}

IL_0020:
	try
	{ // begin try (depth: 1)
		{
			Context_t658806145 * L_4 = __this->get_context_5();
			int32_t L_5 = Context_get_HandshakeState_m972066827(L_4, /*hidden argument*/NULL);
			V_1 = (bool)((((int32_t)((((int32_t)L_5) == ((int32_t)2))? 1 : 0)) == ((int32_t)0))? 1 : 0);
			IL2CPP_LEAVE(0x43, FINALLY_003c);
		}

IL_0037:
		{
			; // IL_0037: leave IL_0043
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_003c;
	}

FINALLY_003c:
	{ // begin finally (depth: 1)
		Il2CppObject * L_6 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_6, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(60)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(60)
	{
		IL2CPP_JUMP_TBL(0x43, IL_0043)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0043:
	{
		bool L_7 = V_1;
		return L_7;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::NegotiateHandshake()
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_NegotiateHandshake_m4275951676_MetadataUsageId;
extern "C"  void SslStreamBase_NegotiateHandshake_m4275951676 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_NegotiateHandshake_m4275951676_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	{
		bool L_0 = SslStreamBase_get_MightNeedHandshake_m3486515364(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_003c;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_1 = (InternalAsyncResult_t2363113060 *)il2cpp_codegen_object_new(InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m358982211(L_1, (AsyncCallback_t1369114871 *)NULL, NULL, (ByteU5BU5D_t4260760469*)(ByteU5BU5D_t4260760469*)NULL, 0, 0, (bool)0, (bool)0, /*hidden argument*/NULL);
		V_0 = L_1;
		InternalAsyncResult_t2363113060 * L_2 = V_0;
		bool L_3 = SslStreamBase_BeginNegotiateHandshake_m2998761743(__this, L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0035;
		}
	}
	{
		ManualResetEvent_t924017833 * L_4 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_4);
		goto IL_003c;
	}

IL_0035:
	{
		InternalAsyncResult_t2363113060 * L_5 = V_0;
		SslStreamBase_EndNegotiateHandshake_m2402424015(__this, L_5, /*hidden argument*/NULL);
	}

IL_003c:
	{
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslStreamBase::RaiseLocalCertificateSelection(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  X509Certificate_t3076817455 * SslStreamBase_RaiseLocalCertificateSelection_m3048410672 (SslStreamBase_t657895919 * __this, X509CertificateCollection_t3220522733 * ___certificates0, X509Certificate_t3076817455 * ___remoteCertificate1, String_t* ___targetHost2, X509CertificateCollection_t3220522733 * ___requestedCertificates3, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3220522733 * L_0 = ___certificates0;
		X509Certificate_t3076817455 * L_1 = ___remoteCertificate1;
		String_t* L_2 = ___targetHost2;
		X509CertificateCollection_t3220522733 * L_3 = ___requestedCertificates3;
		X509Certificate_t3076817455 * L_4 = VirtFuncInvoker4< X509Certificate_t3076817455 *, X509CertificateCollection_t3220522733 *, X509Certificate_t3076817455 *, String_t*, X509CertificateCollection_t3220522733 * >::Invoke(26 /* System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslStreamBase::OnLocalCertificateSelection(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection) */, __this, L_0, L_1, L_2, L_3);
		return L_4;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::RaiseRemoteCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern "C"  bool SslStreamBase_RaiseRemoteCertificateValidation_m1070332522 (SslStreamBase_t657895919 * __this, X509Certificate_t3076817455 * ___certificate0, Int32U5BU5D_t3230847821* ___errors1, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = ___certificate0;
		Int32U5BU5D_t3230847821* L_1 = ___errors1;
		bool L_2 = VirtFuncInvoker2< bool, X509Certificate_t3076817455 *, Int32U5BU5D_t3230847821* >::Invoke(27 /* System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::OnRemoteCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[]) */, __this, L_0, L_1);
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.SslStreamBase::RaiseRemoteCertificateValidation2(Mono.Security.X509.X509CertificateCollection)
extern "C"  ValidationResult_t925859732 * SslStreamBase_RaiseRemoteCertificateValidation2_m2704286450 (SslStreamBase_t657895919 * __this, X509CertificateCollection_t4135795358 * ___collection0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t4135795358 * L_0 = ___collection0;
		ValidationResult_t925859732 * L_1 = VirtFuncInvoker1< ValidationResult_t925859732 *, X509CertificateCollection_t4135795358 * >::Invoke(28 /* Mono.Security.Protocol.Tls.ValidationResult Mono.Security.Protocol.Tls.SslStreamBase::OnRemoteCertificateValidation2(Mono.Security.X509.X509CertificateCollection) */, __this, L_0);
		return L_1;
	}
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.SslStreamBase::RaiseLocalPrivateKeySelection(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern "C"  AsymmetricAlgorithm_t1241690687 * SslStreamBase_RaiseLocalPrivateKeySelection_m2365509687 (SslStreamBase_t657895919 * __this, X509Certificate_t3076817455 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = ___certificate0;
		String_t* L_1 = ___targetHost1;
		AsymmetricAlgorithm_t1241690687 * L_2 = VirtFuncInvoker2< AsymmetricAlgorithm_t1241690687 *, X509Certificate_t3076817455 *, String_t* >::Invoke(30 /* System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.SslStreamBase::OnLocalPrivateKeySelection(System.Security.Cryptography.X509Certificates.X509Certificate,System.String) */, __this, L_0, L_1);
		return L_2;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CheckCertRevocationStatus()
extern "C"  bool SslStreamBase_get_CheckCertRevocationStatus_m3165157124 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_checkCertRevocationStatus_9();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::set_CheckCertRevocationStatus(System.Boolean)
extern "C"  void SslStreamBase_set_CheckCertRevocationStatus_m2461874581 (SslStreamBase_t657895919 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_checkCertRevocationStatus_9(L_0);
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherAlgorithmType Mono.Security.Protocol.Tls.SslStreamBase::get_CipherAlgorithm()
extern "C"  int32_t SslStreamBase_get_CipherAlgorithm_m4086753563 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_4 = SecurityParameters_get_Cipher_m2063042602(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_CipherAlgorithmType_m4289432549(L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0027:
	{
		return (int32_t)(1);
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::get_CipherStrength()
extern "C"  int32_t SslStreamBase_get_CipherStrength_m2205541504 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_4 = SecurityParameters_get_Cipher_m2063042602(L_3, /*hidden argument*/NULL);
		int16_t L_5 = CipherSuite_get_EffectiveKeyBits_m1093264636(L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0027:
	{
		return 0;
	}
}
// Mono.Security.Protocol.Tls.HashAlgorithmType Mono.Security.Protocol.Tls.SslStreamBase::get_HashAlgorithm()
extern "C"  int32_t SslStreamBase_get_HashAlgorithm_m3705882325 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_4 = SecurityParameters_get_Cipher_m2063042602(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_HashAlgorithmType_m687406047(L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0027:
	{
		return (int32_t)(1);
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::get_HashStrength()
extern "C"  int32_t SslStreamBase_get_HashStrength_m769179779 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0029;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_4 = SecurityParameters_get_Cipher_m2063042602(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_HashSize_m2484224531(L_4, /*hidden argument*/NULL);
		return ((int32_t)((int32_t)L_5*(int32_t)8));
	}

IL_0029:
	{
		return 0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::get_KeyExchangeStrength()
extern "C"  int32_t SslStreamBase_get_KeyExchangeStrength_m4089580817 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0032;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		TlsServerSettings_t3702625715 * L_3 = Context_get_ServerSettings_m4010613088(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_4 = TlsServerSettings_get_Certificates_m2110079385(L_3, /*hidden argument*/NULL);
		X509Certificate_t1623369440 * L_5 = X509CertificateCollection_get_Item_m1107000690(L_4, 0, /*hidden argument*/NULL);
		RSA_t2466814310 * L_6 = VirtFuncInvoker0< RSA_t2466814310 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_5);
		int32_t L_7 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 System.Security.Cryptography.AsymmetricAlgorithm::get_KeySize() */, L_6);
		return L_7;
	}

IL_0032:
	{
		return 0;
	}
}
// Mono.Security.Protocol.Tls.ExchangeAlgorithmType Mono.Security.Protocol.Tls.SslStreamBase::get_KeyExchangeAlgorithm()
extern "C"  int32_t SslStreamBase_get_KeyExchangeAlgorithm_m3009312272 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		SecurityParameters_t2935569768 * L_3 = Context_get_Current_m2247657978(L_2, /*hidden argument*/NULL);
		CipherSuite_t580420223 * L_4 = SecurityParameters_get_Cipher_m2063042602(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_ExchangeAlgorithmType_m987153461(L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0027:
	{
		return (int32_t)(2);
	}
}
// Mono.Security.Protocol.Tls.SecurityProtocolType Mono.Security.Protocol.Tls.SslStreamBase::get_SecurityProtocol()
extern "C"  int32_t SslStreamBase_get_SecurityProtocol_m2787356191 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_001d;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		int32_t L_3 = Context_get_SecurityProtocol_m2457665585(L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_001d:
	{
		return (int32_t)(0);
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslStreamBase::get_ServerCertificate()
extern Il2CppClass* X509Certificate_t3076817455_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_ServerCertificate_m2089787471_MetadataUsageId;
extern "C"  X509Certificate_t3076817455 * SslStreamBase_get_ServerCertificate_m2089787471 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_ServerCertificate_m2089787471_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m972066827(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0062;
		}
	}
	{
		Context_t658806145 * L_2 = __this->get_context_5();
		TlsServerSettings_t3702625715 * L_3 = Context_get_ServerSettings_m4010613088(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_4 = TlsServerSettings_get_Certificates_m2110079385(L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0062;
		}
	}
	{
		Context_t658806145 * L_5 = __this->get_context_5();
		TlsServerSettings_t3702625715 * L_6 = Context_get_ServerSettings_m4010613088(L_5, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_7 = TlsServerSettings_get_Certificates_m2110079385(L_6, /*hidden argument*/NULL);
		int32_t L_8 = CollectionBase_get_Count_m313265901(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) <= ((int32_t)0)))
		{
			goto IL_0062;
		}
	}
	{
		Context_t658806145 * L_9 = __this->get_context_5();
		TlsServerSettings_t3702625715 * L_10 = Context_get_ServerSettings_m4010613088(L_9, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_11 = TlsServerSettings_get_Certificates_m2110079385(L_10, /*hidden argument*/NULL);
		X509Certificate_t1623369440 * L_12 = X509CertificateCollection_get_Item_m1107000690(L_11, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_13 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_12);
		X509Certificate_t3076817455 * L_14 = (X509Certificate_t3076817455 *)il2cpp_codegen_object_new(X509Certificate_t3076817455_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m3185150413(L_14, L_13, /*hidden argument*/NULL);
		return L_14;
	}

IL_0062:
	{
		return (X509Certificate_t3076817455 *)NULL;
	}
}
// Mono.Security.X509.X509CertificateCollection Mono.Security.Protocol.Tls.SslStreamBase::get_ServerCertificates()
extern "C"  X509CertificateCollection_t4135795358 * SslStreamBase_get_ServerCertificates_m925494264 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Context_t658806145 * L_0 = __this->get_context_5();
		TlsServerSettings_t3702625715 * L_1 = Context_get_ServerSettings_m4010613088(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t4135795358 * L_2 = TlsServerSettings_get_Certificates_m2110079385(L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::BeginNegotiateHandshake(Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult)
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_AsyncHandshakeCallback_m2999600224_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern const uint32_t SslStreamBase_BeginNegotiateHandshake_m2998761743_MetadataUsageId;
extern "C"  bool SslStreamBase_BeginNegotiateHandshake_m2998761743 (SslStreamBase_t657895919 * __this, InternalAsyncResult_t2363113060 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginNegotiateHandshake_m2998761743_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	TlsException_t1031360050 * V_1 = NULL;
	Exception_t3991598821 * V_2 = NULL;
	bool V_3 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			Il2CppObject * L_0 = __this->get_negotiate_10();
			V_0 = L_0;
			Il2CppObject * L_1 = V_0;
			Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000d:
		try
		{ // begin try (depth: 2)
			{
				Context_t658806145 * L_2 = __this->get_context_5();
				int32_t L_3 = Context_get_HandshakeState_m972066827(L_2, /*hidden argument*/NULL);
				if (L_3)
				{
					goto IL_0038;
				}
			}

IL_001d:
			{
				IntPtr_t L_4;
				L_4.set_m_value_0((void*)(void*)SslStreamBase_AsyncHandshakeCallback_m2999600224_MethodInfo_var);
				AsyncCallback_t1369114871 * L_5 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
				AsyncCallback__ctor_m1986959762(L_5, __this, L_4, /*hidden argument*/NULL);
				InternalAsyncResult_t2363113060 * L_6 = ___asyncResult0;
				VirtFuncInvoker2< Il2CppObject *, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(24 /* System.IAsyncResult Mono.Security.Protocol.Tls.SslStreamBase::OnBeginNegotiateHandshake(System.AsyncCallback,System.Object) */, __this, L_5, L_6);
				V_3 = (bool)1;
				IL2CPP_LEAVE(0xAA, FINALLY_0044);
			}

IL_0038:
			{
				V_3 = (bool)0;
				IL2CPP_LEAVE(0xAA, FINALLY_0044);
			}

IL_003f:
			{
				; // IL_003f: leave IL_004b
			}
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_0044;
		}

FINALLY_0044:
		{ // begin finally (depth: 2)
			Il2CppObject * L_7 = V_0;
			Monitor_Exit_m2088237919(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
			IL2CPP_END_FINALLY(68)
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(68)
		{
			IL2CPP_JUMP_TBL(0xAA, IL_00aa)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_004b:
		{
			goto IL_00aa;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0050;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_007f;
		throw e;
	}

CATCH_0050:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_1 = ((TlsException_t1031360050 *)__exception_local);
			ManualResetEvent_t924017833 * L_8 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m224730030(L_8, /*hidden argument*/NULL);
			RecordProtocol_t1331996967 * L_9 = __this->get_protocol_6();
			TlsException_t1031360050 * L_10 = V_1;
			Alert_t2013630382 * L_11 = TlsException_get_Alert_m2233021222(L_10, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m1661652283(L_9, L_11, /*hidden argument*/NULL);
			TlsException_t1031360050 * L_12 = V_1;
			IOException_t2404867879 * L_13 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_13, _stringLiteral2394672362, L_12, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_13);
		}

IL_007a:
		{
			goto IL_00aa;
		}
	} // end catch (depth: 1)

CATCH_007f:
	{ // begin catch(System.Exception)
		{
			V_2 = ((Exception_t3991598821 *)__exception_local);
			ManualResetEvent_t924017833 * L_14 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m224730030(L_14, /*hidden argument*/NULL);
			RecordProtocol_t1331996967 * L_15 = __this->get_protocol_6();
			RecordProtocol_SendAlert_m2514944891(L_15, ((int32_t)80), /*hidden argument*/NULL);
			Exception_t3991598821 * L_16 = V_2;
			IOException_t2404867879 * L_17 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_17, _stringLiteral2394672362, L_16, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_17);
		}

IL_00a5:
		{
			goto IL_00aa;
		}
	} // end catch (depth: 1)

IL_00aa:
	{
		bool L_18 = V_3;
		return L_18;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::EndNegotiateHandshake(Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult)
extern "C"  void SslStreamBase_EndNegotiateHandshake_m2402424015 (SslStreamBase_t657895919 * __this, InternalAsyncResult_t2363113060 * ___asyncResult0, const MethodInfo* method)
{
	{
		InternalAsyncResult_t2363113060 * L_0 = ___asyncResult0;
		bool L_1 = InternalAsyncResult_get_IsCompleted_m517442172(L_0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0017;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_2 = ___asyncResult0;
		WaitHandle_t1661568373 * L_3 = InternalAsyncResult_get_AsyncWaitHandle_m2858026241(L_2, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_3);
	}

IL_0017:
	{
		InternalAsyncResult_t2363113060 * L_4 = ___asyncResult0;
		bool L_5 = InternalAsyncResult_get_CompletedWithError_m2268946270(L_4, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0029;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_6 = ___asyncResult0;
		Exception_t3991598821 * L_7 = InternalAsyncResult_get_AsyncException_m789203443(L_6, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
	}

IL_0029:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.SslStreamBase::BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4214655783;
extern Il2CppCodeGenString* _stringLiteral1981310719;
extern Il2CppCodeGenString* _stringLiteral2696982976;
extern Il2CppCodeGenString* _stringLiteral2776095611;
extern Il2CppCodeGenString* _stringLiteral4233740141;
extern const uint32_t SslStreamBase_BeginRead_m1224799779_MetadataUsageId;
extern "C"  Il2CppObject * SslStreamBase_BeginRead_m1224799779 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, AsyncCallback_t1369114871 * ___callback3, Il2CppObject * ___state4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginRead_m1224799779_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral4214655783, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0017:
	{
		int32_t L_2 = ___offset1;
		if ((((int32_t)L_2) >= ((int32_t)0)))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_3 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_3, _stringLiteral1981310719, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t4260760469* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_6 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_6, _stringLiteral2696982976, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_003d:
	{
		int32_t L_7 = ___count2;
		if ((((int32_t)L_7) >= ((int32_t)0)))
		{
			goto IL_004f;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_8 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_8, _stringLiteral2776095611, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t4260760469* L_10 = ___buffer0;
		int32_t L_11 = ___offset1;
		if ((((int32_t)L_9) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length))))-(int32_t)L_11)))))
		{
			goto IL_0065;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_12 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_12, _stringLiteral4233740141, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		AsyncCallback_t1369114871 * L_13 = ___callback3;
		Il2CppObject * L_14 = ___state4;
		ByteU5BU5D_t4260760469* L_15 = ___buffer0;
		int32_t L_16 = ___offset1;
		int32_t L_17 = ___count2;
		InternalAsyncResult_t2363113060 * L_18 = (InternalAsyncResult_t2363113060 *)il2cpp_codegen_object_new(InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m358982211(L_18, L_13, L_14, L_15, L_16, L_17, (bool)0, (bool)1, /*hidden argument*/NULL);
		V_0 = L_18;
		bool L_19 = SslStreamBase_get_MightNeedHandshake_m3486515364(__this, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00a3;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_20 = V_0;
		bool L_21 = SslStreamBase_BeginNegotiateHandshake_m2998761743(__this, L_20, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_009e;
		}
	}
	{
		ManualResetEvent_t924017833 * L_22 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_22);
		InternalAsyncResult_t2363113060 * L_23 = V_0;
		SslStreamBase_InternalBeginRead_m2665365405(__this, L_23, /*hidden argument*/NULL);
	}

IL_009e:
	{
		goto IL_00aa;
	}

IL_00a3:
	{
		InternalAsyncResult_t2363113060 * L_24 = V_0;
		SslStreamBase_InternalBeginRead_m2665365405(__this, L_24, /*hidden argument*/NULL);
	}

IL_00aa:
	{
		InternalAsyncResult_t2363113060 * L_25 = V_0;
		return L_25;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::InternalBeginRead(Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult)
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalReadCallback_m4035244488_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern Il2CppCodeGenString* _stringLiteral592227108;
extern const uint32_t SslStreamBase_InternalBeginRead_m2665365405_MetadataUsageId;
extern "C"  void SslStreamBase_InternalBeginRead_m2665365405 (SslStreamBase_t657895919 * __this, InternalAsyncResult_t2363113060 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalBeginRead_m2665365405_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	int32_t V_0 = 0;
	Il2CppObject * V_1 = NULL;
	bool V_2 = false;
	bool V_3 = false;
	TlsException_t1031360050 * V_4 = NULL;
	Exception_t3991598821 * V_5 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	int32_t G_B4_0 = 0;
	int32_t G_B7_0 = 0;

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			V_0 = 0;
			Il2CppObject * L_0 = __this->get_read_11();
			V_1 = L_0;
			Il2CppObject * L_1 = V_1;
			Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000f:
		try
		{ // begin try (depth: 2)
			{
				MemoryStream_t418716369 * L_2 = __this->get_inputBuffer_4();
				int64_t L_3 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_2);
				MemoryStream_t418716369 * L_4 = __this->get_inputBuffer_4();
				int64_t L_5 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_4);
				if ((!(((uint64_t)L_3) == ((uint64_t)L_5))))
				{
					goto IL_003b;
				}
			}

IL_002a:
			{
				MemoryStream_t418716369 * L_6 = __this->get_inputBuffer_4();
				int64_t L_7 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_6);
				G_B4_0 = ((((int64_t)L_7) > ((int64_t)(((int64_t)((int64_t)0)))))? 1 : 0);
				goto IL_003c;
			}

IL_003b:
			{
				G_B4_0 = 0;
			}

IL_003c:
			{
				V_2 = (bool)G_B4_0;
				MemoryStream_t418716369 * L_8 = __this->get_inputBuffer_4();
				int64_t L_9 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_8);
				if ((((int64_t)L_9) <= ((int64_t)(((int64_t)((int64_t)0))))))
				{
					goto IL_005a;
				}
			}

IL_004f:
			{
				InternalAsyncResult_t2363113060 * L_10 = ___asyncResult0;
				int32_t L_11 = InternalAsyncResult_get_Count_m2489795056(L_10, /*hidden argument*/NULL);
				G_B7_0 = ((((int32_t)L_11) > ((int32_t)0))? 1 : 0);
				goto IL_005b;
			}

IL_005a:
			{
				G_B7_0 = 0;
			}

IL_005b:
			{
				V_3 = (bool)G_B7_0;
				bool L_12 = V_2;
				if (!L_12)
				{
					goto IL_006d;
				}
			}

IL_0062:
			{
				SslStreamBase_resetBuffer_m54784942(__this, /*hidden argument*/NULL);
				goto IL_0091;
			}

IL_006d:
			{
				bool L_13 = V_3;
				if (!L_13)
				{
					goto IL_0091;
				}
			}

IL_0073:
			{
				MemoryStream_t418716369 * L_14 = __this->get_inputBuffer_4();
				InternalAsyncResult_t2363113060 * L_15 = ___asyncResult0;
				ByteU5BU5D_t4260760469* L_16 = InternalAsyncResult_get_Buffer_m2758631523(L_15, /*hidden argument*/NULL);
				InternalAsyncResult_t2363113060 * L_17 = ___asyncResult0;
				int32_t L_18 = InternalAsyncResult_get_Offset_m3785298228(L_17, /*hidden argument*/NULL);
				InternalAsyncResult_t2363113060 * L_19 = ___asyncResult0;
				int32_t L_20 = InternalAsyncResult_get_Count_m2489795056(L_19, /*hidden argument*/NULL);
				int32_t L_21 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_14, L_16, L_18, L_20);
				V_0 = L_21;
			}

IL_0091:
			{
				IL2CPP_LEAVE(0x9D, FINALLY_0096);
			}
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_0096;
		}

FINALLY_0096:
		{ // begin finally (depth: 2)
			Il2CppObject * L_22 = V_1;
			Monitor_Exit_m2088237919(NULL /*static, unused*/, L_22, /*hidden argument*/NULL);
			IL2CPP_END_FINALLY(150)
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(150)
		{
			IL2CPP_JUMP_TBL(0x9D, IL_009d)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_009d:
		{
			int32_t L_23 = V_0;
			if ((((int32_t)0) >= ((int32_t)L_23)))
			{
				goto IL_00b0;
			}
		}

IL_00a4:
		{
			InternalAsyncResult_t2363113060 * L_24 = ___asyncResult0;
			int32_t L_25 = V_0;
			InternalAsyncResult_SetComplete_m2488678142(L_24, L_25, /*hidden argument*/NULL);
			goto IL_0106;
		}

IL_00b0:
		{
			Context_t658806145 * L_26 = __this->get_context_5();
			bool L_27 = Context_get_ReceivedConnectionEnd_m731026834(L_26, /*hidden argument*/NULL);
			if (L_27)
			{
				goto IL_00ff;
			}
		}

IL_00c0:
		{
			Stream_t1561764144 * L_28 = __this->get_innerStream_3();
			ByteU5BU5D_t4260760469* L_29 = __this->get_recbuf_14();
			ByteU5BU5D_t4260760469* L_30 = __this->get_recbuf_14();
			IntPtr_t L_31;
			L_31.set_m_value_0((void*)(void*)SslStreamBase_InternalReadCallback_m4035244488_MethodInfo_var);
			AsyncCallback_t1369114871 * L_32 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m1986959762(L_32, __this, L_31, /*hidden argument*/NULL);
			ObjectU5BU5D_t1108656482* L_33 = ((ObjectU5BU5D_t1108656482*)SZArrayNew(ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var, (uint32_t)2));
			ByteU5BU5D_t4260760469* L_34 = __this->get_recbuf_14();
			ArrayElementTypeCheck (L_33, L_34);
			(L_33)->SetAt(static_cast<il2cpp_array_size_t>(0), (Il2CppObject *)L_34);
			ObjectU5BU5D_t1108656482* L_35 = L_33;
			InternalAsyncResult_t2363113060 * L_36 = ___asyncResult0;
			ArrayElementTypeCheck (L_35, L_36);
			(L_35)->SetAt(static_cast<il2cpp_array_size_t>(1), (Il2CppObject *)L_36);
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t4260760469*, int32_t, int32_t, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(20 /* System.IAsyncResult System.IO.Stream::BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) */, L_28, L_29, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length)))), L_32, (Il2CppObject *)(Il2CppObject *)L_35);
			goto IL_0106;
		}

IL_00ff:
		{
			InternalAsyncResult_t2363113060 * L_37 = ___asyncResult0;
			InternalAsyncResult_SetComplete_m2488678142(L_37, 0, /*hidden argument*/NULL);
		}

IL_0106:
		{
			goto IL_0145;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_010b;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0131;
		throw e;
	}

CATCH_010b:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_4 = ((TlsException_t1031360050 *)__exception_local);
			RecordProtocol_t1331996967 * L_38 = __this->get_protocol_6();
			TlsException_t1031360050 * L_39 = V_4;
			Alert_t2013630382 * L_40 = TlsException_get_Alert_m2233021222(L_39, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m1661652283(L_38, L_40, /*hidden argument*/NULL);
			TlsException_t1031360050 * L_41 = V_4;
			IOException_t2404867879 * L_42 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_42, _stringLiteral2394672362, L_41, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_42);
		}

IL_012c:
		{
			goto IL_0145;
		}
	} // end catch (depth: 1)

CATCH_0131:
	{ // begin catch(System.Exception)
		{
			V_5 = ((Exception_t3991598821 *)__exception_local);
			Exception_t3991598821 * L_43 = V_5;
			IOException_t2404867879 * L_44 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_44, _stringLiteral592227108, L_43, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_44);
		}

IL_0140:
		{
			goto IL_0145;
		}
	} // end catch (depth: 1)

IL_0145:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::InternalReadCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalReadCallback_m4035244488_MethodInfo_var;
extern const uint32_t SslStreamBase_InternalReadCallback_m4035244488_MetadataUsageId;
extern "C"  void SslStreamBase_InternalReadCallback_m4035244488 (SslStreamBase_t657895919 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalReadCallback_m4035244488_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ObjectU5BU5D_t1108656482* V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	InternalAsyncResult_t2363113060 * V_2 = NULL;
	int32_t V_3 = 0;
	bool V_4 = false;
	int64_t V_5 = 0;
	ByteU5BU5D_t4260760469* V_6 = NULL;
	int64_t V_7 = 0;
	ByteU5BU5D_t4260760469* V_8 = NULL;
	Il2CppObject * V_9 = NULL;
	int64_t V_10 = 0;
	int32_t V_11 = 0;
	Il2CppObject * V_12 = NULL;
	Exception_t3991598821 * V_13 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		bool L_0 = __this->get_disposed_8();
		il2cpp_codegen_memory_barrier();
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		return;
	}

IL_000e:
	{
		Il2CppObject * L_1 = ___result0;
		Il2CppObject * L_2 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.IAsyncResult::get_AsyncState() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_1);
		V_0 = ((ObjectU5BU5D_t1108656482*)Castclass(L_2, ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var));
		ObjectU5BU5D_t1108656482* L_3 = V_0;
		int32_t L_4 = 0;
		Il2CppObject * L_5 = (L_3)->GetAt(static_cast<il2cpp_array_size_t>(L_4));
		V_1 = ((ByteU5BU5D_t4260760469*)Castclass(L_5, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
		ObjectU5BU5D_t1108656482* L_6 = V_0;
		int32_t L_7 = 1;
		Il2CppObject * L_8 = (L_6)->GetAt(static_cast<il2cpp_array_size_t>(L_7));
		V_2 = ((InternalAsyncResult_t2363113060 *)CastclassClass(L_8, InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var));
	}

IL_002c:
	try
	{ // begin try (depth: 1)
		{
			Stream_t1561764144 * L_9 = __this->get_innerStream_3();
			Il2CppObject * L_10 = ___result0;
			int32_t L_11 = VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(22 /* System.Int32 System.IO.Stream::EndRead(System.IAsyncResult) */, L_9, L_10);
			V_3 = L_11;
			int32_t L_12 = V_3;
			if ((((int32_t)L_12) <= ((int32_t)0)))
			{
				goto IL_0053;
			}
		}

IL_0040:
		{
			MemoryStream_t418716369 * L_13 = __this->get_recordStream_15();
			ByteU5BU5D_t4260760469* L_14 = V_1;
			int32_t L_15 = V_3;
			VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_13, L_14, 0, L_15);
			goto IL_005f;
		}

IL_0053:
		{
			InternalAsyncResult_t2363113060 * L_16 = V_2;
			InternalAsyncResult_SetComplete_m2488678142(L_16, 0, /*hidden argument*/NULL);
			goto IL_02a5;
		}

IL_005f:
		{
			V_4 = (bool)0;
			MemoryStream_t418716369 * L_17 = __this->get_recordStream_15();
			int64_t L_18 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_17);
			V_5 = L_18;
			MemoryStream_t418716369 * L_19 = __this->get_recordStream_15();
			VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_19, (((int64_t)((int64_t)0))));
			V_6 = (ByteU5BU5D_t4260760469*)NULL;
			MemoryStream_t418716369 * L_20 = __this->get_recordStream_15();
			int64_t L_21 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_20);
			if ((((int64_t)L_21) < ((int64_t)(((int64_t)((int64_t)5))))))
			{
				goto IL_00a4;
			}
		}

IL_0091:
		{
			RecordProtocol_t1331996967 * L_22 = __this->get_protocol_6();
			MemoryStream_t418716369 * L_23 = __this->get_recordStream_15();
			ByteU5BU5D_t4260760469* L_24 = RecordProtocol_ReceiveRecord_m1131958450(L_22, L_23, /*hidden argument*/NULL);
			V_6 = L_24;
		}

IL_00a4:
		{
			goto IL_01d4;
		}

IL_00a9:
		{
			MemoryStream_t418716369 * L_25 = __this->get_recordStream_15();
			int64_t L_26 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_25);
			MemoryStream_t418716369 * L_27 = __this->get_recordStream_15();
			int64_t L_28 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_27);
			V_7 = ((int64_t)((int64_t)L_26-(int64_t)L_28));
			V_8 = (ByteU5BU5D_t4260760469*)NULL;
			int64_t L_29 = V_7;
			if ((((int64_t)L_29) <= ((int64_t)(((int64_t)((int64_t)0))))))
			{
				goto IL_00eb;
			}
		}

IL_00ce:
		{
			int64_t L_30 = V_7;
			if ((int64_t)(L_30) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
			V_8 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(((intptr_t)L_30))));
			MemoryStream_t418716369 * L_31 = __this->get_recordStream_15();
			ByteU5BU5D_t4260760469* L_32 = V_8;
			ByteU5BU5D_t4260760469* L_33 = V_8;
			VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_31, L_32, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_33)->max_length)))));
		}

IL_00eb:
		{
			Il2CppObject * L_34 = __this->get_read_11();
			V_9 = L_34;
			Il2CppObject * L_35 = V_9;
			Monitor_Enter_m476686225(NULL /*static, unused*/, L_35, /*hidden argument*/NULL);
		}

IL_00fa:
		try
		{ // begin try (depth: 2)
			{
				MemoryStream_t418716369 * L_36 = __this->get_inputBuffer_4();
				int64_t L_37 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_36);
				V_10 = L_37;
				ByteU5BU5D_t4260760469* L_38 = V_6;
				if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_38)->max_length))))) <= ((int32_t)0)))
				{
					goto IL_0144;
				}
			}

IL_0111:
			{
				MemoryStream_t418716369 * L_39 = __this->get_inputBuffer_4();
				VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_39, (((int64_t)((int64_t)0))), 2);
				MemoryStream_t418716369 * L_40 = __this->get_inputBuffer_4();
				ByteU5BU5D_t4260760469* L_41 = V_6;
				ByteU5BU5D_t4260760469* L_42 = V_6;
				VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_40, L_41, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_42)->max_length)))));
				MemoryStream_t418716369 * L_43 = __this->get_inputBuffer_4();
				int64_t L_44 = V_10;
				VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_43, L_44, 0);
				V_4 = (bool)1;
			}

IL_0144:
			{
				IL2CPP_LEAVE(0x151, FINALLY_0149);
			}
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_0149;
		}

FINALLY_0149:
		{ // begin finally (depth: 2)
			Il2CppObject * L_45 = V_9;
			Monitor_Exit_m2088237919(NULL /*static, unused*/, L_45, /*hidden argument*/NULL);
			IL2CPP_END_FINALLY(329)
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(329)
		{
			IL2CPP_JUMP_TBL(0x151, IL_0151)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_0151:
		{
			MemoryStream_t418716369 * L_46 = __this->get_recordStream_15();
			VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_46, (((int64_t)((int64_t)0))));
			V_6 = (ByteU5BU5D_t4260760469*)NULL;
			int64_t L_47 = V_7;
			if ((((int64_t)L_47) <= ((int64_t)(((int64_t)((int64_t)0))))))
			{
				goto IL_01d0;
			}
		}

IL_016a:
		{
			MemoryStream_t418716369 * L_48 = __this->get_recordStream_15();
			ByteU5BU5D_t4260760469* L_49 = V_8;
			ByteU5BU5D_t4260760469* L_50 = V_8;
			VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_48, L_49, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_50)->max_length)))));
			MemoryStream_t418716369 * L_51 = __this->get_recordStream_15();
			int64_t L_52 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_51);
			if ((((int64_t)L_52) < ((int64_t)(((int64_t)((int64_t)5))))))
			{
				goto IL_01c7;
			}
		}

IL_018e:
		{
			MemoryStream_t418716369 * L_53 = __this->get_recordStream_15();
			VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_53, (((int64_t)((int64_t)0))));
			RecordProtocol_t1331996967 * L_54 = __this->get_protocol_6();
			MemoryStream_t418716369 * L_55 = __this->get_recordStream_15();
			ByteU5BU5D_t4260760469* L_56 = RecordProtocol_ReceiveRecord_m1131958450(L_54, L_55, /*hidden argument*/NULL);
			V_6 = L_56;
			ByteU5BU5D_t4260760469* L_57 = V_6;
			if (L_57)
			{
				goto IL_01c2;
			}
		}

IL_01b5:
		{
			MemoryStream_t418716369 * L_58 = __this->get_recordStream_15();
			int64_t L_59 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_58);
			V_5 = L_59;
		}

IL_01c2:
		{
			goto IL_01cb;
		}

IL_01c7:
		{
			int64_t L_60 = V_7;
			V_5 = L_60;
		}

IL_01cb:
		{
			goto IL_01d4;
		}

IL_01d0:
		{
			V_5 = (((int64_t)((int64_t)0)));
		}

IL_01d4:
		{
			ByteU5BU5D_t4260760469* L_61 = V_6;
			if (L_61)
			{
				goto IL_00a9;
			}
		}

IL_01db:
		{
			bool L_62 = V_4;
			if (L_62)
			{
				goto IL_023e;
			}
		}

IL_01e2:
		{
			int32_t L_63 = V_3;
			if ((((int32_t)L_63) <= ((int32_t)0)))
			{
				goto IL_023e;
			}
		}

IL_01e9:
		{
			Context_t658806145 * L_64 = __this->get_context_5();
			bool L_65 = Context_get_ReceivedConnectionEnd_m731026834(L_64, /*hidden argument*/NULL);
			if (!L_65)
			{
				goto IL_0205;
			}
		}

IL_01f9:
		{
			InternalAsyncResult_t2363113060 * L_66 = V_2;
			InternalAsyncResult_SetComplete_m2488678142(L_66, 0, /*hidden argument*/NULL);
			goto IL_0239;
		}

IL_0205:
		{
			MemoryStream_t418716369 * L_67 = __this->get_recordStream_15();
			MemoryStream_t418716369 * L_68 = __this->get_recordStream_15();
			int64_t L_69 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_68);
			VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_67, L_69);
			Stream_t1561764144 * L_70 = __this->get_innerStream_3();
			ByteU5BU5D_t4260760469* L_71 = V_1;
			ByteU5BU5D_t4260760469* L_72 = V_1;
			IntPtr_t L_73;
			L_73.set_m_value_0((void*)(void*)SslStreamBase_InternalReadCallback_m4035244488_MethodInfo_var);
			AsyncCallback_t1369114871 * L_74 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m1986959762(L_74, __this, L_73, /*hidden argument*/NULL);
			ObjectU5BU5D_t1108656482* L_75 = V_0;
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t4260760469*, int32_t, int32_t, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(20 /* System.IAsyncResult System.IO.Stream::BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) */, L_70, L_71, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_72)->max_length)))), L_74, (Il2CppObject *)(Il2CppObject *)L_75);
		}

IL_0239:
		{
			goto IL_0291;
		}

IL_023e:
		{
			MemoryStream_t418716369 * L_76 = __this->get_recordStream_15();
			int64_t L_77 = V_5;
			VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_76, L_77);
			V_11 = 0;
			Il2CppObject * L_78 = __this->get_read_11();
			V_12 = L_78;
			Il2CppObject * L_79 = V_12;
			Monitor_Enter_m476686225(NULL /*static, unused*/, L_79, /*hidden argument*/NULL);
		}

IL_025d:
		try
		{ // begin try (depth: 2)
			MemoryStream_t418716369 * L_80 = __this->get_inputBuffer_4();
			InternalAsyncResult_t2363113060 * L_81 = V_2;
			ByteU5BU5D_t4260760469* L_82 = InternalAsyncResult_get_Buffer_m2758631523(L_81, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_83 = V_2;
			int32_t L_84 = InternalAsyncResult_get_Offset_m3785298228(L_83, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_85 = V_2;
			int32_t L_86 = InternalAsyncResult_get_Count_m2489795056(L_85, /*hidden argument*/NULL);
			int32_t L_87 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_80, L_82, L_84, L_86);
			V_11 = L_87;
			IL2CPP_LEAVE(0x289, FINALLY_0281);
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_0281;
		}

FINALLY_0281:
		{ // begin finally (depth: 2)
			Il2CppObject * L_88 = V_12;
			Monitor_Exit_m2088237919(NULL /*static, unused*/, L_88, /*hidden argument*/NULL);
			IL2CPP_END_FINALLY(641)
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(641)
		{
			IL2CPP_JUMP_TBL(0x289, IL_0289)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_0289:
		{
			InternalAsyncResult_t2363113060 * L_89 = V_2;
			int32_t L_90 = V_11;
			InternalAsyncResult_SetComplete_m2488678142(L_89, L_90, /*hidden argument*/NULL);
		}

IL_0291:
		{
			goto IL_02a5;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0296;
		throw e;
	}

CATCH_0296:
	{ // begin catch(System.Exception)
		V_13 = ((Exception_t3991598821 *)__exception_local);
		InternalAsyncResult_t2363113060 * L_91 = V_2;
		Exception_t3991598821 * L_92 = V_13;
		InternalAsyncResult_SetComplete_m1458533341(L_91, L_92, /*hidden argument*/NULL);
		goto IL_02a5;
	} // end catch (depth: 1)

IL_02a5:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::InternalBeginWrite(Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult)
extern Il2CppClass* AsyncCallback_t1369114871_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalWriteCallback_m1764266237_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern Il2CppCodeGenString* _stringLiteral418445315;
extern const uint32_t SslStreamBase_InternalBeginWrite_m3259256466_MetadataUsageId;
extern "C"  void SslStreamBase_InternalBeginWrite_m3259256466 (SslStreamBase_t657895919 * __this, InternalAsyncResult_t2363113060 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalBeginWrite_m3259256466_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	TlsException_t1031360050 * V_2 = NULL;
	Exception_t3991598821 * V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		{
			Il2CppObject * L_0 = __this->get_write_12();
			V_0 = L_0;
			Il2CppObject * L_1 = V_0;
			Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000d:
		try
		{ // begin try (depth: 2)
			RecordProtocol_t1331996967 * L_2 = __this->get_protocol_6();
			InternalAsyncResult_t2363113060 * L_3 = ___asyncResult0;
			ByteU5BU5D_t4260760469* L_4 = InternalAsyncResult_get_Buffer_m2758631523(L_3, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_5 = ___asyncResult0;
			int32_t L_6 = InternalAsyncResult_get_Offset_m3785298228(L_5, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_7 = ___asyncResult0;
			int32_t L_8 = InternalAsyncResult_get_Count_m2489795056(L_7, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_9 = RecordProtocol_EncodeRecord_m1123568120(L_2, ((int32_t)23), L_4, L_6, L_8, /*hidden argument*/NULL);
			V_1 = L_9;
			Stream_t1561764144 * L_10 = __this->get_innerStream_3();
			ByteU5BU5D_t4260760469* L_11 = V_1;
			ByteU5BU5D_t4260760469* L_12 = V_1;
			IntPtr_t L_13;
			L_13.set_m_value_0((void*)(void*)SslStreamBase_InternalWriteCallback_m1764266237_MethodInfo_var);
			AsyncCallback_t1369114871 * L_14 = (AsyncCallback_t1369114871 *)il2cpp_codegen_object_new(AsyncCallback_t1369114871_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m1986959762(L_14, __this, L_13, /*hidden argument*/NULL);
			InternalAsyncResult_t2363113060 * L_15 = ___asyncResult0;
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t4260760469*, int32_t, int32_t, AsyncCallback_t1369114871 *, Il2CppObject * >::Invoke(21 /* System.IAsyncResult System.IO.Stream::BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) */, L_10, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), L_14, L_15);
			IL2CPP_LEAVE(0x57, FINALLY_0050);
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
			goto FINALLY_0050;
		}

FINALLY_0050:
		{ // begin finally (depth: 2)
			Il2CppObject * L_16 = V_0;
			Monitor_Exit_m2088237919(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
			IL2CPP_END_FINALLY(80)
		} // end finally (depth: 2)
		IL2CPP_CLEANUP(80)
		{
			IL2CPP_JUMP_TBL(0x57, IL_0057)
			IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
		}

IL_0057:
		{
			goto IL_0097;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_005c;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0085;
		throw e;
	}

CATCH_005c:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_2 = ((TlsException_t1031360050 *)__exception_local);
			RecordProtocol_t1331996967 * L_17 = __this->get_protocol_6();
			TlsException_t1031360050 * L_18 = V_2;
			Alert_t2013630382 * L_19 = TlsException_get_Alert_m2233021222(L_18, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m1661652283(L_17, L_19, /*hidden argument*/NULL);
			VirtActionInvoker0::Invoke(12 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Close() */, __this);
			TlsException_t1031360050 * L_20 = V_2;
			IOException_t2404867879 * L_21 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_21, _stringLiteral2394672362, L_20, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_21);
		}

IL_0080:
		{
			goto IL_0097;
		}
	} // end catch (depth: 1)

CATCH_0085:
	{ // begin catch(System.Exception)
		{
			V_3 = ((Exception_t3991598821 *)__exception_local);
			Exception_t3991598821 * L_22 = V_3;
			IOException_t2404867879 * L_23 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
			IOException__ctor_m1602473000(L_23, _stringLiteral418445315, L_22, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
		}

IL_0092:
		{
			goto IL_0097;
		}
	} // end catch (depth: 1)

IL_0097:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::InternalWriteCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_InternalWriteCallback_m1764266237_MetadataUsageId;
extern "C"  void SslStreamBase_InternalWriteCallback_m1764266237 (SslStreamBase_t657895919 * __this, Il2CppObject * ___ar0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalWriteCallback_m1764266237_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	Exception_t3991598821 * V_1 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		bool L_0 = __this->get_disposed_8();
		il2cpp_codegen_memory_barrier();
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		return;
	}

IL_000e:
	{
		Il2CppObject * L_1 = ___ar0;
		Il2CppObject * L_2 = InterfaceFuncInvoker0< Il2CppObject * >::Invoke(0 /* System.Object System.IAsyncResult::get_AsyncState() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_1);
		V_0 = ((InternalAsyncResult_t2363113060 *)CastclassClass(L_2, InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var));
	}

IL_001a:
	try
	{ // begin try (depth: 1)
		Stream_t1561764144 * L_3 = __this->get_innerStream_3();
		Il2CppObject * L_4 = ___ar0;
		VirtActionInvoker1< Il2CppObject * >::Invoke(23 /* System.Void System.IO.Stream::EndWrite(System.IAsyncResult) */, L_3, L_4);
		InternalAsyncResult_t2363113060 * L_5 = V_0;
		InternalAsyncResult_SetComplete_m1352916269(L_5, /*hidden argument*/NULL);
		goto IL_003e;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0031;
		throw e;
	}

CATCH_0031:
	{ // begin catch(System.Exception)
		V_1 = ((Exception_t3991598821 *)__exception_local);
		InternalAsyncResult_t2363113060 * L_6 = V_0;
		Exception_t3991598821 * L_7 = V_1;
		InternalAsyncResult_SetComplete_m1458533341(L_6, L_7, /*hidden argument*/NULL);
		goto IL_003e;
	} // end catch (depth: 1)

IL_003e:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.SslStreamBase::BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4214655783;
extern Il2CppCodeGenString* _stringLiteral1981310719;
extern Il2CppCodeGenString* _stringLiteral2696982976;
extern Il2CppCodeGenString* _stringLiteral2776095611;
extern Il2CppCodeGenString* _stringLiteral4233740141;
extern const uint32_t SslStreamBase_BeginWrite_m1786584070_MetadataUsageId;
extern "C"  Il2CppObject * SslStreamBase_BeginWrite_m1786584070 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, AsyncCallback_t1369114871 * ___callback3, Il2CppObject * ___state4, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginWrite_m1786584070_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral4214655783, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0017:
	{
		int32_t L_2 = ___offset1;
		if ((((int32_t)L_2) >= ((int32_t)0)))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_3 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_3, _stringLiteral1981310719, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t4260760469* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_6 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_6, _stringLiteral2696982976, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_003d:
	{
		int32_t L_7 = ___count2;
		if ((((int32_t)L_7) >= ((int32_t)0)))
		{
			goto IL_004f;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_8 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_8, _stringLiteral2776095611, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t4260760469* L_10 = ___buffer0;
		int32_t L_11 = ___offset1;
		if ((((int32_t)L_9) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length))))-(int32_t)L_11)))))
		{
			goto IL_0065;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_12 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_12, _stringLiteral4233740141, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		AsyncCallback_t1369114871 * L_13 = ___callback3;
		Il2CppObject * L_14 = ___state4;
		ByteU5BU5D_t4260760469* L_15 = ___buffer0;
		int32_t L_16 = ___offset1;
		int32_t L_17 = ___count2;
		InternalAsyncResult_t2363113060 * L_18 = (InternalAsyncResult_t2363113060 *)il2cpp_codegen_object_new(InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m358982211(L_18, L_13, L_14, L_15, L_16, L_17, (bool)1, (bool)1, /*hidden argument*/NULL);
		V_0 = L_18;
		bool L_19 = SslStreamBase_get_MightNeedHandshake_m3486515364(__this, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00a3;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_20 = V_0;
		bool L_21 = SslStreamBase_BeginNegotiateHandshake_m2998761743(__this, L_20, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_009e;
		}
	}
	{
		ManualResetEvent_t924017833 * L_22 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_22);
		InternalAsyncResult_t2363113060 * L_23 = V_0;
		SslStreamBase_InternalBeginWrite_m3259256466(__this, L_23, /*hidden argument*/NULL);
	}

IL_009e:
	{
		goto IL_00aa;
	}

IL_00a3:
	{
		InternalAsyncResult_t2363113060 * L_24 = V_0;
		SslStreamBase_InternalBeginWrite_m3259256466(__this, L_24, /*hidden argument*/NULL);
	}

IL_00aa:
	{
		InternalAsyncResult_t2363113060 * L_25 = V_0;
		return L_25;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::EndRead(System.IAsyncResult)
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3897522831;
extern Il2CppCodeGenString* _stringLiteral1498253968;
extern const uint32_t SslStreamBase_EndRead_m29185563_MetadataUsageId;
extern "C"  int32_t SslStreamBase_EndRead_m29185563 (SslStreamBase_t657895919 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_EndRead_m29185563_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((InternalAsyncResult_t2363113060 *)IsInstClass(L_0, InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var));
		InternalAsyncResult_t2363113060 * L_1 = V_0;
		if (L_1)
		{
			goto IL_001e;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_2 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_2, _stringLiteral3897522831, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001e:
	{
		Il2CppObject * L_3 = ___asyncResult0;
		bool L_4 = InterfaceFuncInvoker0< bool >::Invoke(2 /* System.Boolean System.IAsyncResult::get_IsCompleted() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_3);
		if (L_4)
		{
			goto IL_004c;
		}
	}
	{
		Il2CppObject * L_5 = ___asyncResult0;
		WaitHandle_t1661568373 * L_6 = InterfaceFuncInvoker0< WaitHandle_t1661568373 * >::Invoke(1 /* System.Threading.WaitHandle System.IAsyncResult::get_AsyncWaitHandle() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_5);
		bool L_7 = VirtFuncInvoker2< bool, int32_t, bool >::Invoke(9 /* System.Boolean System.Threading.WaitHandle::WaitOne(System.Int32,System.Boolean) */, L_6, ((int32_t)300000), (bool)0);
		if (L_7)
		{
			goto IL_004c;
		}
	}
	{
		TlsException_t1031360050 * L_8 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_8, ((int32_t)80), _stringLiteral1498253968, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004c:
	{
		InternalAsyncResult_t2363113060 * L_9 = V_0;
		bool L_10 = InternalAsyncResult_get_CompletedWithError_m2268946270(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005e;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_11 = V_0;
		Exception_t3991598821 * L_12 = InternalAsyncResult_get_AsyncException_m789203443(L_11, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_005e:
	{
		InternalAsyncResult_t2363113060 * L_13 = V_0;
		int32_t L_14 = InternalAsyncResult_get_BytesRead_m2065687810(L_13, /*hidden argument*/NULL);
		return L_14;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::EndWrite(System.IAsyncResult)
extern Il2CppClass* InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* IAsyncResult_t2754620036_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral719530456;
extern Il2CppCodeGenString* _stringLiteral3501213221;
extern const uint32_t SslStreamBase_EndWrite_m2816354780_MetadataUsageId;
extern "C"  void SslStreamBase_EndWrite_m2816354780 (SslStreamBase_t657895919 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_EndWrite_m2816354780_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	InternalAsyncResult_t2363113060 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((InternalAsyncResult_t2363113060 *)IsInstClass(L_0, InternalAsyncResult_t2363113060_il2cpp_TypeInfo_var));
		InternalAsyncResult_t2363113060 * L_1 = V_0;
		if (L_1)
		{
			goto IL_001e;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_2 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_2, _stringLiteral719530456, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001e:
	{
		Il2CppObject * L_3 = ___asyncResult0;
		bool L_4 = InterfaceFuncInvoker0< bool >::Invoke(2 /* System.Boolean System.IAsyncResult::get_IsCompleted() */, IAsyncResult_t2754620036_il2cpp_TypeInfo_var, L_3);
		if (L_4)
		{
			goto IL_004c;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_5 = V_0;
		WaitHandle_t1661568373 * L_6 = InternalAsyncResult_get_AsyncWaitHandle_m2858026241(L_5, /*hidden argument*/NULL);
		bool L_7 = VirtFuncInvoker2< bool, int32_t, bool >::Invoke(9 /* System.Boolean System.Threading.WaitHandle::WaitOne(System.Int32,System.Boolean) */, L_6, ((int32_t)300000), (bool)0);
		if (L_7)
		{
			goto IL_004c;
		}
	}
	{
		TlsException_t1031360050 * L_8 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m761809044(L_8, ((int32_t)80), _stringLiteral3501213221, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004c:
	{
		InternalAsyncResult_t2363113060 * L_9 = V_0;
		bool L_10 = InternalAsyncResult_get_CompletedWithError_m2268946270(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005e;
		}
	}
	{
		InternalAsyncResult_t2363113060 * L_11 = V_0;
		Exception_t3991598821 * L_12 = InternalAsyncResult_get_AsyncException_m789203443(L_11, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_005e:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Close()
extern "C"  void SslStreamBase_Close_m3657358167 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Stream_Close_m3144153567(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Flush()
extern "C"  void SslStreamBase_Flush_m2030445923 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		Stream_t1561764144 * L_0 = __this->get_innerStream_3();
		VirtActionInvoker0::Invoke(13 /* System.Void System.IO.Stream::Flush() */, L_0);
		return;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::Read(System.Byte[])
extern "C"  int32_t SslStreamBase_Read_m558115208 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer0;
		int32_t L_2 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::Read(System.Byte[],System.Int32,System.Int32) */, __this, L_0, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))));
		return L_2;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::Read(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* SslStreamBase_t657895919_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2916848704;
extern Il2CppCodeGenString* _stringLiteral1981310719;
extern Il2CppCodeGenString* _stringLiteral2696982976;
extern Il2CppCodeGenString* _stringLiteral2776095611;
extern Il2CppCodeGenString* _stringLiteral4233740141;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern Il2CppCodeGenString* _stringLiteral592227108;
extern const uint32_t SslStreamBase_Read_m2805310696_MetadataUsageId;
extern "C"  int32_t SslStreamBase_Read_m2805310696 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Read_m2805310696_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	int32_t V_1 = 0;
	bool V_2 = false;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	bool V_6 = false;
	ByteU5BU5D_t4260760469* V_7 = NULL;
	int64_t V_8 = 0;
	ByteU5BU5D_t4260760469* V_9 = NULL;
	int64_t V_10 = 0;
	int32_t V_11 = 0;
	TlsException_t1031360050 * V_12 = NULL;
	Exception_t3991598821 * V_13 = NULL;
	int32_t V_14 = 0;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral2916848704, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0017:
	{
		int32_t L_2 = ___offset1;
		if ((((int32_t)L_2) >= ((int32_t)0)))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_3 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_3, _stringLiteral1981310719, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t4260760469* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_6 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_6, _stringLiteral2696982976, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_003d:
	{
		int32_t L_7 = ___count2;
		if ((((int32_t)L_7) >= ((int32_t)0)))
		{
			goto IL_004f;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_8 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_8, _stringLiteral2776095611, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t4260760469* L_10 = ___buffer0;
		int32_t L_11 = ___offset1;
		if ((((int32_t)L_9) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length))))-(int32_t)L_11)))))
		{
			goto IL_0065;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_12 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_12, _stringLiteral4233740141, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		Context_t658806145 * L_13 = __this->get_context_5();
		int32_t L_14 = Context_get_HandshakeState_m972066827(L_13, /*hidden argument*/NULL);
		if ((((int32_t)L_14) == ((int32_t)2)))
		{
			goto IL_007c;
		}
	}
	{
		SslStreamBase_NegotiateHandshake_m4275951676(__this, /*hidden argument*/NULL);
	}

IL_007c:
	{
		Il2CppObject * L_15 = __this->get_read_11();
		V_0 = L_15;
		Il2CppObject * L_16 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
	}

IL_0089:
	try
	{ // begin try (depth: 1)
		try
		{ // begin try (depth: 2)
			{
				IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t657895919_il2cpp_TypeInfo_var);
				ManualResetEvent_t924017833 * L_17 = ((SslStreamBase_t657895919_StaticFields*)SslStreamBase_t657895919_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Reset_m330657435(L_17, /*hidden argument*/NULL);
				MemoryStream_t418716369 * L_18 = __this->get_inputBuffer_4();
				int64_t L_19 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_18);
				if ((((int64_t)L_19) <= ((int64_t)(((int64_t)((int64_t)0))))))
				{
					goto IL_00fc;
				}
			}

IL_00a6:
			{
				MemoryStream_t418716369 * L_20 = __this->get_inputBuffer_4();
				int64_t L_21 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_20);
				MemoryStream_t418716369 * L_22 = __this->get_inputBuffer_4();
				int64_t L_23 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_22);
				if ((!(((uint64_t)L_21) == ((uint64_t)L_23))))
				{
					goto IL_00d3;
				}
			}

IL_00c1:
			{
				MemoryStream_t418716369 * L_24 = __this->get_inputBuffer_4();
				VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_24, (((int64_t)((int64_t)0))));
				goto IL_00fc;
			}

IL_00d3:
			{
				MemoryStream_t418716369 * L_25 = __this->get_inputBuffer_4();
				ByteU5BU5D_t4260760469* L_26 = ___buffer0;
				int32_t L_27 = ___offset1;
				int32_t L_28 = ___count2;
				int32_t L_29 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_25, L_26, L_27, L_28);
				V_1 = L_29;
				int32_t L_30 = V_1;
				if ((((int32_t)L_30) <= ((int32_t)0)))
				{
					goto IL_00fc;
				}
			}

IL_00e9:
			{
				IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t657895919_il2cpp_TypeInfo_var);
				ManualResetEvent_t924017833 * L_31 = ((SslStreamBase_t657895919_StaticFields*)SslStreamBase_t657895919_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m224730030(L_31, /*hidden argument*/NULL);
				int32_t L_32 = V_1;
				V_14 = L_32;
				IL2CPP_LEAVE(0x335, FINALLY_032e);
			}

IL_00fc:
			{
				V_2 = (bool)0;
			}

IL_00fe:
			{
				MemoryStream_t418716369 * L_33 = __this->get_recordStream_15();
				int64_t L_34 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_33);
				if (!L_34)
				{
					goto IL_0114;
				}
			}

IL_010e:
			{
				bool L_35 = V_2;
				if (!L_35)
				{
					goto IL_01cb;
				}
			}

IL_0114:
			{
				V_2 = (bool)0;
				V_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16384)));
				V_4 = 0;
				int32_t L_36 = ___count2;
				if ((!(((uint32_t)L_36) == ((uint32_t)1))))
				{
					goto IL_014e;
				}
			}

IL_012b:
			{
				Stream_t1561764144 * L_37 = __this->get_innerStream_3();
				int32_t L_38 = VirtFuncInvoker0< int32_t >::Invoke(15 /* System.Int32 System.IO.Stream::ReadByte() */, L_37);
				V_5 = L_38;
				int32_t L_39 = V_5;
				if ((((int32_t)L_39) < ((int32_t)0)))
				{
					goto IL_0149;
				}
			}

IL_0140:
			{
				ByteU5BU5D_t4260760469* L_40 = V_3;
				int32_t L_41 = V_5;
				(L_40)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)L_41))));
				V_4 = 1;
			}

IL_0149:
			{
				goto IL_0160;
			}

IL_014e:
			{
				Stream_t1561764144 * L_42 = __this->get_innerStream_3();
				ByteU5BU5D_t4260760469* L_43 = V_3;
				ByteU5BU5D_t4260760469* L_44 = V_3;
				int32_t L_45 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.Stream::Read(System.Byte[],System.Int32,System.Int32) */, L_42, L_43, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))));
				V_4 = L_45;
			}

IL_0160:
			{
				int32_t L_46 = V_4;
				if ((((int32_t)L_46) <= ((int32_t)0)))
				{
					goto IL_01b8;
				}
			}

IL_0168:
			{
				MemoryStream_t418716369 * L_47 = __this->get_recordStream_15();
				int64_t L_48 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_47);
				if ((((int64_t)L_48) <= ((int64_t)(((int64_t)((int64_t)0))))))
				{
					goto IL_01a4;
				}
			}

IL_017a:
			{
				MemoryStream_t418716369 * L_49 = __this->get_recordStream_15();
				int64_t L_50 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_49);
				MemoryStream_t418716369 * L_51 = __this->get_recordStream_15();
				int64_t L_52 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_51);
				if ((((int64_t)L_50) == ((int64_t)L_52)))
				{
					goto IL_01a4;
				}
			}

IL_0195:
			{
				MemoryStream_t418716369 * L_53 = __this->get_recordStream_15();
				VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_53, (((int64_t)((int64_t)0))), 2);
			}

IL_01a4:
			{
				MemoryStream_t418716369 * L_54 = __this->get_recordStream_15();
				ByteU5BU5D_t4260760469* L_55 = V_3;
				int32_t L_56 = V_4;
				VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_54, L_55, 0, L_56);
				goto IL_01cb;
			}

IL_01b8:
			{
				IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t657895919_il2cpp_TypeInfo_var);
				ManualResetEvent_t924017833 * L_57 = ((SslStreamBase_t657895919_StaticFields*)SslStreamBase_t657895919_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m224730030(L_57, /*hidden argument*/NULL);
				V_14 = 0;
				IL2CPP_LEAVE(0x335, FINALLY_032e);
			}

IL_01cb:
			{
				V_6 = (bool)0;
				MemoryStream_t418716369 * L_58 = __this->get_recordStream_15();
				VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_58, (((int64_t)((int64_t)0))));
				V_7 = (ByteU5BU5D_t4260760469*)NULL;
				MemoryStream_t418716369 * L_59 = __this->get_recordStream_15();
				int64_t L_60 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_59);
				if ((((int64_t)L_60) < ((int64_t)(((int64_t)((int64_t)5))))))
				{
					goto IL_0209;
				}
			}

IL_01f0:
			{
				RecordProtocol_t1331996967 * L_61 = __this->get_protocol_6();
				MemoryStream_t418716369 * L_62 = __this->get_recordStream_15();
				ByteU5BU5D_t4260760469* L_63 = RecordProtocol_ReceiveRecord_m1131958450(L_61, L_62, /*hidden argument*/NULL);
				V_7 = L_63;
				ByteU5BU5D_t4260760469* L_64 = V_7;
				V_2 = (bool)((((Il2CppObject*)(ByteU5BU5D_t4260760469*)L_64) == ((Il2CppObject*)(Il2CppObject *)NULL))? 1 : 0);
			}

IL_0209:
			{
				goto IL_02f0;
			}

IL_020e:
			{
				MemoryStream_t418716369 * L_65 = __this->get_recordStream_15();
				int64_t L_66 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_65);
				MemoryStream_t418716369 * L_67 = __this->get_recordStream_15();
				int64_t L_68 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_67);
				V_8 = ((int64_t)((int64_t)L_66-(int64_t)L_68));
				V_9 = (ByteU5BU5D_t4260760469*)NULL;
				int64_t L_69 = V_8;
				if ((((int64_t)L_69) <= ((int64_t)(((int64_t)((int64_t)0))))))
				{
					goto IL_0250;
				}
			}

IL_0233:
			{
				int64_t L_70 = V_8;
				if ((int64_t)(L_70) > INTPTR_MAX) IL2CPP_RAISE_MANAGED_EXCEPTION(il2cpp_codegen_get_overflow_exception());
				V_9 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(((intptr_t)L_70))));
				MemoryStream_t418716369 * L_71 = __this->get_recordStream_15();
				ByteU5BU5D_t4260760469* L_72 = V_9;
				ByteU5BU5D_t4260760469* L_73 = V_9;
				VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_71, L_72, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_73)->max_length)))));
			}

IL_0250:
			{
				MemoryStream_t418716369 * L_74 = __this->get_inputBuffer_4();
				int64_t L_75 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_74);
				V_10 = L_75;
				ByteU5BU5D_t4260760469* L_76 = V_7;
				if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_76)->max_length))))) <= ((int32_t)0)))
				{
					goto IL_029a;
				}
			}

IL_0267:
			{
				MemoryStream_t418716369 * L_77 = __this->get_inputBuffer_4();
				VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_77, (((int64_t)((int64_t)0))), 2);
				MemoryStream_t418716369 * L_78 = __this->get_inputBuffer_4();
				ByteU5BU5D_t4260760469* L_79 = V_7;
				ByteU5BU5D_t4260760469* L_80 = V_7;
				VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_78, L_79, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_80)->max_length)))));
				MemoryStream_t418716369 * L_81 = __this->get_inputBuffer_4();
				int64_t L_82 = V_10;
				VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_81, L_82, 0);
				V_6 = (bool)1;
			}

IL_029a:
			{
				MemoryStream_t418716369 * L_83 = __this->get_recordStream_15();
				VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_83, (((int64_t)((int64_t)0))));
				V_7 = (ByteU5BU5D_t4260760469*)NULL;
				int64_t L_84 = V_8;
				if ((((int64_t)L_84) <= ((int64_t)(((int64_t)((int64_t)0))))))
				{
					goto IL_02c5;
				}
			}

IL_02b3:
			{
				MemoryStream_t418716369 * L_85 = __this->get_recordStream_15();
				ByteU5BU5D_t4260760469* L_86 = V_9;
				ByteU5BU5D_t4260760469* L_87 = V_9;
				VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_85, L_86, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_87)->max_length)))));
			}

IL_02c5:
			{
				bool L_88 = V_6;
				if (!L_88)
				{
					goto IL_02f0;
				}
			}

IL_02cc:
			{
				MemoryStream_t418716369 * L_89 = __this->get_inputBuffer_4();
				ByteU5BU5D_t4260760469* L_90 = ___buffer0;
				int32_t L_91 = ___offset1;
				int32_t L_92 = ___count2;
				int32_t L_93 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_89, L_90, L_91, L_92);
				V_11 = L_93;
				IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t657895919_il2cpp_TypeInfo_var);
				ManualResetEvent_t924017833 * L_94 = ((SslStreamBase_t657895919_StaticFields*)SslStreamBase_t657895919_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m224730030(L_94, /*hidden argument*/NULL);
				int32_t L_95 = V_11;
				V_14 = L_95;
				IL2CPP_LEAVE(0x335, FINALLY_032e);
			}

IL_02f0:
			{
				ByteU5BU5D_t4260760469* L_96 = V_7;
				if (L_96)
				{
					goto IL_020e;
				}
			}

IL_02f7:
			{
				goto IL_00fe;
			}

IL_02fc:
			{
				goto IL_0329;
			}
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__exception_local = (Exception_t3991598821 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0301;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0315;
			throw e;
		}

CATCH_0301:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_12 = ((TlsException_t1031360050 *)__exception_local);
				TlsException_t1031360050 * L_97 = V_12;
				IOException_t2404867879 * L_98 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_98, _stringLiteral2394672362, L_97, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_98);
			}

IL_0310:
			{
				goto IL_0329;
			}
		} // end catch (depth: 2)

CATCH_0315:
		{ // begin catch(System.Exception)
			{
				V_13 = ((Exception_t3991598821 *)__exception_local);
				Exception_t3991598821 * L_99 = V_13;
				IOException_t2404867879 * L_100 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_100, _stringLiteral592227108, L_99, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_100);
			}

IL_0324:
			{
				goto IL_0329;
			}
		} // end catch (depth: 2)

IL_0329:
		{
			IL2CPP_LEAVE(0x335, FINALLY_032e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_032e;
	}

FINALLY_032e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_101 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_101, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(814)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(814)
	{
		IL2CPP_JUMP_TBL(0x335, IL_0335)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0335:
	{
		int32_t L_102 = V_14;
		return L_102;
	}
}
// System.Int64 Mono.Security.Protocol.Tls.SslStreamBase::Seek(System.Int64,System.IO.SeekOrigin)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_Seek_m3066335689_MetadataUsageId;
extern "C"  int64_t SslStreamBase_Seek_m3066335689 (SslStreamBase_t657895919 * __this, int64_t ___offset0, int32_t ___origin1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Seek_m3066335689_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::SetLength(System.Int64)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_SetLength_m1474200217_MetadataUsageId;
extern "C"  void SslStreamBase_SetLength_m1474200217 (SslStreamBase_t657895919 * __this, int64_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_SetLength_m1474200217_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Write(System.Byte[])
extern "C"  void SslStreamBase_Write_m1278747915 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer0;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_0, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Write(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* ArgumentNullException_t3573189601_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t3991598821_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2404867879_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2916848704;
extern Il2CppCodeGenString* _stringLiteral1981310719;
extern Il2CppCodeGenString* _stringLiteral2696982976;
extern Il2CppCodeGenString* _stringLiteral2776095611;
extern Il2CppCodeGenString* _stringLiteral4233740141;
extern Il2CppCodeGenString* _stringLiteral2394672362;
extern Il2CppCodeGenString* _stringLiteral418445315;
extern const uint32_t SslStreamBase_Write_m139555499_MetadataUsageId;
extern "C"  void SslStreamBase_Write_m139555499 (SslStreamBase_t657895919 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Write_m139555499_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	TlsException_t1031360050 * V_2 = NULL;
	Exception_t3991598821 * V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		SslStreamBase_checkDisposed_m2873255308(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t3573189601 * L_1 = (ArgumentNullException_t3573189601 *)il2cpp_codegen_object_new(ArgumentNullException_t3573189601_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m135444188(L_1, _stringLiteral2916848704, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0017:
	{
		int32_t L_2 = ___offset1;
		if ((((int32_t)L_2) >= ((int32_t)0)))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_3 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_3, _stringLiteral1981310719, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t4260760469* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_6 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_6, _stringLiteral2696982976, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_003d:
	{
		int32_t L_7 = ___count2;
		if ((((int32_t)L_7) >= ((int32_t)0)))
		{
			goto IL_004f;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_8 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_8, _stringLiteral2776095611, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t4260760469* L_10 = ___buffer0;
		int32_t L_11 = ___offset1;
		if ((((int32_t)L_9) <= ((int32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_10)->max_length))))-(int32_t)L_11)))))
		{
			goto IL_0065;
		}
	}
	{
		ArgumentOutOfRangeException_t3816648464 * L_12 = (ArgumentOutOfRangeException_t3816648464 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t3816648464_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m2026296331(L_12, _stringLiteral4233740141, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		Context_t658806145 * L_13 = __this->get_context_5();
		int32_t L_14 = Context_get_HandshakeState_m972066827(L_13, /*hidden argument*/NULL);
		if ((((int32_t)L_14) == ((int32_t)2)))
		{
			goto IL_007c;
		}
	}
	{
		SslStreamBase_NegotiateHandshake_m4275951676(__this, /*hidden argument*/NULL);
	}

IL_007c:
	{
		Il2CppObject * L_15 = __this->get_write_12();
		V_0 = L_15;
		Il2CppObject * L_16 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
	}

IL_0089:
	try
	{ // begin try (depth: 1)
		try
		{ // begin try (depth: 2)
			RecordProtocol_t1331996967 * L_17 = __this->get_protocol_6();
			ByteU5BU5D_t4260760469* L_18 = ___buffer0;
			int32_t L_19 = ___offset1;
			int32_t L_20 = ___count2;
			ByteU5BU5D_t4260760469* L_21 = RecordProtocol_EncodeRecord_m1123568120(L_17, ((int32_t)23), L_18, L_19, L_20, /*hidden argument*/NULL);
			V_1 = L_21;
			Stream_t1561764144 * L_22 = __this->get_innerStream_3();
			ByteU5BU5D_t4260760469* L_23 = V_1;
			ByteU5BU5D_t4260760469* L_24 = V_1;
			VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.Stream::Write(System.Byte[],System.Int32,System.Int32) */, L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))));
			goto IL_00ea;
		} // end try (depth: 2)
		catch(Il2CppExceptionWrapper& e)
		{
			__exception_local = (Exception_t3991598821 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t1031360050_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_00af;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t3991598821_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_00d8;
			throw e;
		}

CATCH_00af:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_2 = ((TlsException_t1031360050 *)__exception_local);
				RecordProtocol_t1331996967 * L_25 = __this->get_protocol_6();
				TlsException_t1031360050 * L_26 = V_2;
				Alert_t2013630382 * L_27 = TlsException_get_Alert_m2233021222(L_26, /*hidden argument*/NULL);
				RecordProtocol_SendAlert_m1661652283(L_25, L_27, /*hidden argument*/NULL);
				VirtActionInvoker0::Invoke(12 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Close() */, __this);
				TlsException_t1031360050 * L_28 = V_2;
				IOException_t2404867879 * L_29 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_29, _stringLiteral2394672362, L_28, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_29);
			}

IL_00d3:
			{
				goto IL_00ea;
			}
		} // end catch (depth: 2)

CATCH_00d8:
		{ // begin catch(System.Exception)
			{
				V_3 = ((Exception_t3991598821 *)__exception_local);
				Exception_t3991598821 * L_30 = V_3;
				IOException_t2404867879 * L_31 = (IOException_t2404867879 *)il2cpp_codegen_object_new(IOException_t2404867879_il2cpp_TypeInfo_var);
				IOException__ctor_m1602473000(L_31, _stringLiteral418445315, L_30, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_31);
			}

IL_00e5:
			{
				goto IL_00ea;
			}
		} // end catch (depth: 2)

IL_00ea:
		{
			IL2CPP_LEAVE(0xF6, FINALLY_00ef);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_00ef;
	}

FINALLY_00ef:
	{ // begin finally (depth: 1)
		Il2CppObject * L_32 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_32, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(239)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(239)
	{
		IL2CPP_JUMP_TBL(0xF6, IL_00f6)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_00f6:
	{
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CanRead()
extern "C"  bool SslStreamBase_get_CanRead_m780009774 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Stream_t1561764144 * L_0 = __this->get_innerStream_3();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(5 /* System.Boolean System.IO.Stream::get_CanRead() */, L_0);
		return L_1;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CanSeek()
extern "C"  bool SslStreamBase_get_CanSeek_m808764816 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		return (bool)0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CanWrite()
extern "C"  bool SslStreamBase_get_CanWrite_m3228120041 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		Stream_t1561764144 * L_0 = __this->get_innerStream_3();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(7 /* System.Boolean System.IO.Stream::get_CanWrite() */, L_0);
		return L_1;
	}
}
// System.Int64 Mono.Security.Protocol.Tls.SslStreamBase::get_Length()
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_Length_m3676785979_MetadataUsageId;
extern "C"  int64_t SslStreamBase_get_Length_m3676785979 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_Length_m3676785979_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Int64 Mono.Security.Protocol.Tls.SslStreamBase::get_Position()
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_Position_m3149709758_MetadataUsageId;
extern "C"  int64_t SslStreamBase_get_Position_m3149709758 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_Position_m3149709758_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::set_Position(System.Int64)
extern Il2CppClass* NotSupportedException_t1732551818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_set_Position_m718728987_MetadataUsageId;
extern "C"  void SslStreamBase_set_Position_m718728987 (SslStreamBase_t657895919 * __this, int64_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_set_Position_m718728987_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		NotSupportedException_t1732551818 * L_0 = (NotSupportedException_t1732551818 *)il2cpp_codegen_object_new(NotSupportedException_t1732551818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m149930845(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Finalize()
extern "C"  void SslStreamBase_Finalize_m1889580673 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);

IL_0000:
	try
	{ // begin try (depth: 1)
		VirtActionInvoker1< bool >::Invoke(11 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Dispose(System.Boolean) */, __this, (bool)0);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m3027285644(__this, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(12)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(12)
	{
		IL2CPP_JUMP_TBL(0x13, IL_0013)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Dispose(System.Boolean)
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_Dispose_m927762229_MetadataUsageId;
extern "C"  void SslStreamBase_Dispose_m927762229 (SslStreamBase_t657895919 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Dispose_m927762229_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		bool L_0 = __this->get_disposed_8();
		il2cpp_codegen_memory_barrier();
		if (L_0)
		{
			goto IL_008a;
		}
	}
	{
		bool L_1 = ___disposing0;
		if (!L_1)
		{
			goto IL_007a;
		}
	}
	{
		Stream_t1561764144 * L_2 = __this->get_innerStream_3();
		if (!L_2)
		{
			goto IL_006c;
		}
	}
	{
		Context_t658806145 * L_3 = __this->get_context_5();
		int32_t L_4 = Context_get_HandshakeState_m972066827(L_3, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_4) == ((uint32_t)2))))
		{
			goto IL_0056;
		}
	}
	{
		Context_t658806145 * L_5 = __this->get_context_5();
		bool L_6 = Context_get_SentConnectionEnd_m1343643003(L_5, /*hidden argument*/NULL);
		if (L_6)
		{
			goto IL_0056;
		}
	}

IL_003f:
	try
	{ // begin try (depth: 1)
		RecordProtocol_t1331996967 * L_7 = __this->get_protocol_6();
		RecordProtocol_SendAlert_m2514944891(L_7, 0, /*hidden argument*/NULL);
		goto IL_0056;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t3991598821 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Il2CppObject_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0050;
		throw e;
	}

CATCH_0050:
	{ // begin catch(System.Object)
		goto IL_0056;
	} // end catch (depth: 1)

IL_0056:
	{
		bool L_8 = __this->get_ownsStream_7();
		if (!L_8)
		{
			goto IL_006c;
		}
	}
	{
		Stream_t1561764144 * L_9 = __this->get_innerStream_3();
		VirtActionInvoker0::Invoke(12 /* System.Void System.IO.Stream::Close() */, L_9);
	}

IL_006c:
	{
		__this->set_ownsStream_7((bool)0);
		__this->set_innerStream_3((Stream_t1561764144 *)NULL);
	}

IL_007a:
	{
		il2cpp_codegen_memory_barrier();
		__this->set_disposed_8(1);
		bool L_10 = ___disposing0;
		Stream_Dispose_m3908539837(__this, L_10, /*hidden argument*/NULL);
	}

IL_008a:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::resetBuffer()
extern "C"  void SslStreamBase_resetBuffer_m54784942 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_inputBuffer_4();
		VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_0, (((int64_t)((int64_t)0))));
		MemoryStream_t418716369 * L_1 = __this->get_inputBuffer_4();
		VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_1, (((int64_t)((int64_t)0))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::checkDisposed()
extern Il2CppClass* ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2941140413;
extern const uint32_t SslStreamBase_checkDisposed_m2873255308_MetadataUsageId;
extern "C"  void SslStreamBase_checkDisposed_m2873255308 (SslStreamBase_t657895919 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_checkDisposed_m2873255308_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_disposed_8();
		il2cpp_codegen_memory_barrier();
		if (!L_0)
		{
			goto IL_0018;
		}
	}
	{
		ObjectDisposedException_t1794727681 * L_1 = (ObjectDisposedException_t1794727681 *)il2cpp_codegen_object_new(ObjectDisposedException_t1794727681_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m1180707260(L_1, _stringLiteral2941140413, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0018:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::.ctor(System.AsyncCallback,System.Object,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean)
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t InternalAsyncResult__ctor_m358982211_MetadataUsageId;
extern "C"  void InternalAsyncResult__ctor_m358982211 (InternalAsyncResult_t2363113060 * __this, AsyncCallback_t1369114871 * ___userCallback0, Il2CppObject * ___userState1, ByteU5BU5D_t4260760469* ___buffer2, int32_t ___offset3, int32_t ___count4, bool ___fromWrite5, bool ___proceedAfterHandshake6, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (InternalAsyncResult__ctor_m358982211_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		AsyncCallback_t1369114871 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		ByteU5BU5D_t4260760469* L_3 = ___buffer2;
		__this->set__buffer_9(L_3);
		int32_t L_4 = ___offset3;
		__this->set__offset_10(L_4);
		int32_t L_5 = ___count4;
		__this->set__count_11(L_5);
		bool L_6 = ___fromWrite5;
		__this->set__fromWrite_7(L_6);
		bool L_7 = ___proceedAfterHandshake6;
		__this->set__proceedAfterHandshake_8(L_7);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_ProceedAfterHandshake()
extern "C"  bool InternalAsyncResult_get_ProceedAfterHandshake_m2894433668 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get__proceedAfterHandshake_8();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_FromWrite()
extern "C"  bool InternalAsyncResult_get_FromWrite_m619101712 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get__fromWrite_7();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_Buffer()
extern "C"  ByteU5BU5D_t4260760469* InternalAsyncResult_get_Buffer_m2758631523 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get__buffer_9();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_Offset()
extern "C"  int32_t InternalAsyncResult_get_Offset_m3785298228 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get__offset_10();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_Count()
extern "C"  int32_t InternalAsyncResult_get_Count_m2489795056 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get__count_11();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_BytesRead()
extern "C"  int32_t InternalAsyncResult_get_BytesRead_m2065687810 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get__bytesRead_6();
		return L_0;
	}
}
// System.Object Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_AsyncState()
extern "C"  Il2CppObject * InternalAsyncResult_get_AsyncState_m478600163 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		Il2CppObject * L_0 = __this->get__userState_2();
		return L_0;
	}
}
// System.Exception Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_AsyncException()
extern "C"  Exception_t3991598821 * InternalAsyncResult_get_AsyncException_m789203443 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		Exception_t3991598821 * L_0 = __this->get__asyncException_3();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_CompletedWithError()
extern "C"  bool InternalAsyncResult_get_CompletedWithError_m2268946270 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		bool L_0 = InternalAsyncResult_get_IsCompleted_m517442172(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t3991598821 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t3991598821 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t924017833_il2cpp_TypeInfo_var;
extern const uint32_t InternalAsyncResult_get_AsyncWaitHandle_m2858026241_MetadataUsageId;
extern "C"  WaitHandle_t1661568373 * InternalAsyncResult_get_AsyncWaitHandle_m2858026241 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (InternalAsyncResult_get_AsyncWaitHandle_m2858026241_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t924017833 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_5();
			ManualResetEvent_t924017833 * L_4 = (ManualResetEvent_t924017833 *)il2cpp_codegen_object_new(ManualResetEvent_t924017833_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m927697317(L_4, L_3, /*hidden argument*/NULL);
			__this->set_handle_4(L_4);
		}

IL_0029:
		{
			IL2CPP_LEAVE(0x35, FINALLY_002e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(46)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(46)
	{
		IL2CPP_JUMP_TBL(0x35, IL_0035)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0035:
	{
		ManualResetEvent_t924017833 * L_6 = __this->get_handle_4();
		return L_6;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_IsCompleted()
extern "C"  bool InternalAsyncResult_get_IsCompleted_m517442172 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_5();
			V_1 = L_2;
			IL2CPP_LEAVE(0x25, FINALLY_001e);
		}

IL_0019:
		{
			; // IL_0019: leave IL_0025
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(30)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(30)
	{
		IL2CPP_JUMP_TBL(0x25, IL_0025)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0025:
	{
		bool L_4 = V_1;
		return L_4;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete(System.Exception,System.Int32)
extern "C"  void InternalAsyncResult_SetComplete_m849188890 (InternalAsyncResult_t2363113060 * __this, Exception_t3991598821 * ___ex0, int32_t ___bytesRead1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Il2CppObject * L_0 = __this->get_locker_0();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			bool L_2 = __this->get_completed_5();
			if (!L_2)
			{
				goto IL_001d;
			}
		}

IL_0018:
		{
			IL2CPP_LEAVE(0x6F, FINALLY_004e);
		}

IL_001d:
		{
			__this->set_completed_5((bool)1);
			Exception_t3991598821 * L_3 = ___ex0;
			__this->set__asyncException_3(L_3);
			int32_t L_4 = ___bytesRead1;
			__this->set__bytesRead_6(L_4);
			ManualResetEvent_t924017833 * L_5 = __this->get_handle_4();
			if (!L_5)
			{
				goto IL_0049;
			}
		}

IL_003d:
		{
			ManualResetEvent_t924017833 * L_6 = __this->get_handle_4();
			EventWaitHandle_Set_m224730030(L_6, /*hidden argument*/NULL);
		}

IL_0049:
		{
			IL2CPP_LEAVE(0x55, FINALLY_004e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_004e;
	}

FINALLY_004e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_7 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(78)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(78)
	{
		IL2CPP_JUMP_TBL(0x6F, IL_006f)
		IL2CPP_JUMP_TBL(0x55, IL_0055)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_0055:
	{
		AsyncCallback_t1369114871 * L_8 = __this->get__userCallback_1();
		if (!L_8)
		{
			goto IL_006f;
		}
	}
	{
		AsyncCallback_t1369114871 * L_9 = __this->get__userCallback_1();
		AsyncCallback_BeginInvoke_m363146458(L_9, __this, (AsyncCallback_t1369114871 *)NULL, NULL, /*hidden argument*/NULL);
	}

IL_006f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete(System.Exception)
extern "C"  void InternalAsyncResult_SetComplete_m1458533341 (InternalAsyncResult_t2363113060 * __this, Exception_t3991598821 * ___ex0, const MethodInfo* method)
{
	{
		Exception_t3991598821 * L_0 = ___ex0;
		InternalAsyncResult_SetComplete_m849188890(__this, L_0, 0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete(System.Int32)
extern "C"  void InternalAsyncResult_SetComplete_m2488678142 (InternalAsyncResult_t2363113060 * __this, int32_t ___bytesRead0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___bytesRead0;
		InternalAsyncResult_SetComplete_m849188890(__this, (Exception_t3991598821 *)NULL, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete()
extern "C"  void InternalAsyncResult_SetComplete_m1352916269 (InternalAsyncResult_t2363113060 * __this, const MethodInfo* method)
{
	{
		InternalAsyncResult_SetComplete_m849188890(__this, (Exception_t3991598821 *)NULL, 0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsCipherSuite::.ctor(System.Int16,System.String,Mono.Security.Protocol.Tls.CipherAlgorithmType,Mono.Security.Protocol.Tls.HashAlgorithmType,Mono.Security.Protocol.Tls.ExchangeAlgorithmType,System.Boolean,System.Boolean,System.Byte,System.Byte,System.Int16,System.Byte,System.Byte)
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite__ctor_m1139271371_MetadataUsageId;
extern "C"  void TlsCipherSuite__ctor_m1139271371 (TlsCipherSuite_t3923560144 * __this, int16_t ___code0, String_t* ___name1, int32_t ___cipherAlgorithmType2, int32_t ___hashAlgorithmType3, int32_t ___exchangeAlgorithmType4, bool ___exportable5, bool ___blockMode6, uint8_t ___keyMaterialSize7, uint8_t ___expandedKeyMaterialSize8, int16_t ___effectiveKeyBytes9, uint8_t ___ivSize10, uint8_t ___blockSize11, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite__ctor_m1139271371_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m1772956182(L_0, /*hidden argument*/NULL);
		__this->set_headerLock_22(L_0);
		int16_t L_1 = ___code0;
		String_t* L_2 = ___name1;
		int32_t L_3 = ___cipherAlgorithmType2;
		int32_t L_4 = ___hashAlgorithmType3;
		int32_t L_5 = ___exchangeAlgorithmType4;
		bool L_6 = ___exportable5;
		bool L_7 = ___blockMode6;
		uint8_t L_8 = ___keyMaterialSize7;
		uint8_t L_9 = ___expandedKeyMaterialSize8;
		int16_t L_10 = ___effectiveKeyBytes9;
		uint8_t L_11 = ___ivSize10;
		uint8_t L_12 = ___blockSize11;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		CipherSuite__ctor_m658209606(__this, L_1, L_2, L_3, L_4, L_5, L_6, L_7, L_8, L_9, L_10, L_11, L_12, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeServerRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite_ComputeServerRecordMAC_m3713639486_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* TlsCipherSuite_ComputeServerRecordMAC_m3713639486 (TlsCipherSuite_t3923560144 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeServerRecordMAC_m3713639486_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	uint64_t V_1 = 0;
	HashAlgorithm_t532578791 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	uint64_t G_B6_0 = 0;
	{
		Il2CppObject * L_0 = __this->get_headerLock_22();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t4260760469* L_2 = __this->get_header_21();
			if (L_2)
			{
				goto IL_0025;
			}
		}

IL_0018:
		{
			__this->set_header_21(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)13))));
		}

IL_0025:
		{
			Context_t658806145 * L_3 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			if (!((ClientContext_t3745725366 *)IsInstClass(L_3, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
			{
				goto IL_0045;
			}
		}

IL_0035:
		{
			Context_t658806145 * L_4 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			uint64_t L_5 = Context_get_ReadSequenceNumber_m1306012538(L_4, /*hidden argument*/NULL);
			G_B6_0 = L_5;
			goto IL_0050;
		}

IL_0045:
		{
			Context_t658806145 * L_6 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			uint64_t L_7 = Context_get_WriteSequenceNumber_m2425723185(L_6, /*hidden argument*/NULL);
			G_B6_0 = L_7;
		}

IL_0050:
		{
			V_1 = G_B6_0;
			ByteU5BU5D_t4260760469* L_8 = __this->get_header_21();
			uint64_t L_9 = V_1;
			CipherSuite_Write_m3763647761(__this, L_8, 0, L_9, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_10 = __this->get_header_21();
			uint8_t L_11 = ___contentType0;
			(L_10)->SetAt(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_11);
			ByteU5BU5D_t4260760469* L_12 = __this->get_header_21();
			Context_t658806145 * L_13 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			int16_t L_14 = Context_get_Protocol_m775713592(L_13, /*hidden argument*/NULL);
			CipherSuite_Write_m920521461(__this, L_12, ((int32_t)9), L_14, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_15 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_16 = ___fragment1;
			CipherSuite_Write_m920521461(__this, L_15, ((int32_t)11), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))))), /*hidden argument*/NULL);
			KeyedHashAlgorithm_t1039941647 * L_17 = CipherSuite_get_ServerHMAC_m2966460067(__this, /*hidden argument*/NULL);
			V_2 = L_17;
			HashAlgorithm_t532578791 * L_18 = V_2;
			ByteU5BU5D_t4260760469* L_19 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_20 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_21 = __this->get_header_21();
			HashAlgorithm_TransformBlock_m3829135048(L_18, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))), L_21, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_22 = V_2;
			ByteU5BU5D_t4260760469* L_23 = ___fragment1;
			ByteU5BU5D_t4260760469* L_24 = ___fragment1;
			ByteU5BU5D_t4260760469* L_25 = ___fragment1;
			HashAlgorithm_TransformBlock_m3829135048(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_26 = V_2;
			IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
			ByteU5BU5D_t4260760469* L_27 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
			HashAlgorithm_TransformFinalBlock_m1193599374(L_26, L_27, 0, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_28 = V_2;
			ByteU5BU5D_t4260760469* L_29 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_28);
			V_3 = L_29;
			IL2CPP_LEAVE(0xEB, FINALLY_00e4);
		}

IL_00df:
		{
			; // IL_00df: leave IL_00eb
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_00e4;
	}

FINALLY_00e4:
	{ // begin finally (depth: 1)
		Il2CppObject * L_30 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_30, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(228)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(228)
	{
		IL2CPP_JUMP_TBL(0xEB, IL_00eb)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_00eb:
	{
		ByteU5BU5D_t4260760469* L_31 = V_3;
		return L_31;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeClientRecordMAC(Mono.Security.Protocol.Tls.ContentType,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3745725366_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite_ComputeClientRecordMAC_m13266614_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* TlsCipherSuite_ComputeClientRecordMAC_m13266614 (TlsCipherSuite_t3923560144 * __this, uint8_t ___contentType0, ByteU5BU5D_t4260760469* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeClientRecordMAC_m13266614_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	Il2CppObject * V_0 = NULL;
	uint64_t V_1 = 0;
	HashAlgorithm_t532578791 * V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	Exception_t3991598821 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t3991598821 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	uint64_t G_B6_0 = 0;
	{
		Il2CppObject * L_0 = __this->get_headerLock_22();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m476686225(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t4260760469* L_2 = __this->get_header_21();
			if (L_2)
			{
				goto IL_0025;
			}
		}

IL_0018:
		{
			__this->set_header_21(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)((int32_t)13))));
		}

IL_0025:
		{
			Context_t658806145 * L_3 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			if (!((ClientContext_t3745725366 *)IsInstClass(L_3, ClientContext_t3745725366_il2cpp_TypeInfo_var)))
			{
				goto IL_0045;
			}
		}

IL_0035:
		{
			Context_t658806145 * L_4 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			uint64_t L_5 = Context_get_WriteSequenceNumber_m2425723185(L_4, /*hidden argument*/NULL);
			G_B6_0 = L_5;
			goto IL_0050;
		}

IL_0045:
		{
			Context_t658806145 * L_6 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			uint64_t L_7 = Context_get_ReadSequenceNumber_m1306012538(L_6, /*hidden argument*/NULL);
			G_B6_0 = L_7;
		}

IL_0050:
		{
			V_1 = G_B6_0;
			ByteU5BU5D_t4260760469* L_8 = __this->get_header_21();
			uint64_t L_9 = V_1;
			CipherSuite_Write_m3763647761(__this, L_8, 0, L_9, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_10 = __this->get_header_21();
			uint8_t L_11 = ___contentType0;
			(L_10)->SetAt(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_11);
			ByteU5BU5D_t4260760469* L_12 = __this->get_header_21();
			Context_t658806145 * L_13 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
			int16_t L_14 = Context_get_Protocol_m775713592(L_13, /*hidden argument*/NULL);
			CipherSuite_Write_m920521461(__this, L_12, ((int32_t)9), L_14, /*hidden argument*/NULL);
			ByteU5BU5D_t4260760469* L_15 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_16 = ___fragment1;
			CipherSuite_Write_m920521461(__this, L_15, ((int32_t)11), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))))), /*hidden argument*/NULL);
			KeyedHashAlgorithm_t1039941647 * L_17 = CipherSuite_get_ClientHMAC_m3918386475(__this, /*hidden argument*/NULL);
			V_2 = L_17;
			HashAlgorithm_t532578791 * L_18 = V_2;
			ByteU5BU5D_t4260760469* L_19 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_20 = __this->get_header_21();
			ByteU5BU5D_t4260760469* L_21 = __this->get_header_21();
			HashAlgorithm_TransformBlock_m3829135048(L_18, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))), L_21, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_22 = V_2;
			ByteU5BU5D_t4260760469* L_23 = ___fragment1;
			ByteU5BU5D_t4260760469* L_24 = ___fragment1;
			ByteU5BU5D_t4260760469* L_25 = ___fragment1;
			HashAlgorithm_TransformBlock_m3829135048(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_26 = V_2;
			IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
			ByteU5BU5D_t4260760469* L_27 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
			HashAlgorithm_TransformFinalBlock_m1193599374(L_26, L_27, 0, 0, /*hidden argument*/NULL);
			HashAlgorithm_t532578791 * L_28 = V_2;
			ByteU5BU5D_t4260760469* L_29 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_28);
			V_3 = L_29;
			IL2CPP_LEAVE(0xEB, FINALLY_00e4);
		}

IL_00df:
		{
			; // IL_00df: leave IL_00eb
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t3991598821 *)e.ex;
		goto FINALLY_00e4;
	}

FINALLY_00e4:
	{ // begin finally (depth: 1)
		Il2CppObject * L_30 = V_0;
		Monitor_Exit_m2088237919(NULL /*static, unused*/, L_30, /*hidden argument*/NULL);
		IL2CPP_END_FINALLY(228)
	} // end finally (depth: 1)
	IL2CPP_CLEANUP(228)
	{
		IL2CPP_JUMP_TBL(0xEB, IL_00eb)
		IL2CPP_RETHROW_IF_UNHANDLED(Exception_t3991598821 *)
	}

IL_00eb:
	{
		ByteU5BU5D_t4260760469* L_31 = V_3;
		return L_31;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeMasterSecret(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral874871342;
extern const uint32_t TlsCipherSuite_ComputeMasterSecret_m988816908_MetadataUsageId;
extern "C"  void TlsCipherSuite_ComputeMasterSecret_m988816908 (TlsCipherSuite_t3923560144 * __this, ByteU5BU5D_t4260760469* ___preMasterSecret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeMasterSecret_m988816908_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Context_t658806145 * L_0 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = ___preMasterSecret0;
		Context_set_MasterSecret_m748730085(L_0, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))))), /*hidden argument*/NULL);
		Context_t658806145 * L_2 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = ___preMasterSecret0;
		Context_t658806145 * L_4 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = Context_get_RandomCS_m1402706075(L_4, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_6 = CipherSuite_PRF_m4080641496(__this, L_3, _stringLiteral874871342, L_5, ((int32_t)48), /*hidden argument*/NULL);
		Context_set_MasterSecret_m748730085(L_2, L_6, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeKeys()
extern Il2CppClass* TlsStream_t89550253_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t580420223_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t1861128725_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2754700350;
extern Il2CppCodeGenString* _stringLiteral3705442441;
extern Il2CppCodeGenString* _stringLiteral3648116225;
extern Il2CppCodeGenString* _stringLiteral2696973274;
extern const uint32_t TlsCipherSuite_ComputeKeys_m3237102751_MetadataUsageId;
extern "C"  void TlsCipherSuite_ComputeKeys_m3237102751 (TlsCipherSuite_t3923560144 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeKeys_m3237102751_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	TlsStream_t89550253 * V_0 = NULL;
	ByteU5BU5D_t4260760469* V_1 = NULL;
	ByteU5BU5D_t4260760469* V_2 = NULL;
	ByteU5BU5D_t4260760469* V_3 = NULL;
	{
		Context_t658806145 * L_0 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_1 = Context_get_MasterSecret_m2040743066(L_0, /*hidden argument*/NULL);
		Context_t658806145 * L_2 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_3 = Context_get_RandomSC_m1403167355(L_2, /*hidden argument*/NULL);
		int32_t L_4 = CipherSuite_get_KeyBlockSize_m3692693747(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_5 = CipherSuite_PRF_m4080641496(__this, L_1, _stringLiteral2754700350, L_3, L_4, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_6 = (TlsStream_t89550253 *)il2cpp_codegen_object_new(TlsStream_t89550253_il2cpp_TypeInfo_var);
		TlsStream__ctor_m868803046(L_6, L_5, /*hidden argument*/NULL);
		V_0 = L_6;
		Context_t658806145 * L_7 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_8 = Context_get_Negotiating_m622190524(L_7, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_9 = V_0;
		int32_t L_10 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_11 = TlsStream_ReadBytes_m3691381117(L_9, L_10, /*hidden argument*/NULL);
		SecurityParameters_set_ClientWriteMAC_m2390402827(L_8, L_11, /*hidden argument*/NULL);
		Context_t658806145 * L_12 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		SecurityParameters_t2935569768 * L_13 = Context_get_Negotiating_m622190524(L_12, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_14 = V_0;
		int32_t L_15 = CipherSuite_get_HashSize_m2484224531(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_16 = TlsStream_ReadBytes_m3691381117(L_14, L_15, /*hidden argument*/NULL);
		SecurityParameters_set_ServerWriteMAC_m324273299(L_13, L_16, /*hidden argument*/NULL);
		Context_t658806145 * L_17 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_18 = V_0;
		uint8_t L_19 = CipherSuite_get_KeyMaterialSize_m166819169(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_20 = TlsStream_ReadBytes_m3691381117(L_18, L_19, /*hidden argument*/NULL);
		Context_set_ClientWriteKey_m409290444(L_17, L_20, /*hidden argument*/NULL);
		Context_t658806145 * L_21 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_22 = V_0;
		uint8_t L_23 = CipherSuite_get_KeyMaterialSize_m166819169(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_24 = TlsStream_ReadBytes_m3691381117(L_22, L_23, /*hidden argument*/NULL);
		Context_set_ServerWriteKey_m2638128212(L_21, L_24, /*hidden argument*/NULL);
		bool L_25 = CipherSuite_get_IsExportable_m534474210(__this, /*hidden argument*/NULL);
		if (L_25)
		{
			goto IL_0101;
		}
	}
	{
		uint8_t L_26 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		if (!L_26)
		{
			goto IL_00dc;
		}
	}
	{
		Context_t658806145 * L_27 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_28 = V_0;
		uint8_t L_29 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_30 = TlsStream_ReadBytes_m3691381117(L_28, L_29, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m3933057208(L_27, L_30, /*hidden argument*/NULL);
		Context_t658806145 * L_31 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_32 = V_0;
		uint8_t L_33 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_34 = TlsStream_ReadBytes_m3691381117(L_32, L_33, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3450765872(L_31, L_34, /*hidden argument*/NULL);
		goto IL_00fc;
	}

IL_00dc:
	{
		Context_t658806145 * L_35 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_36 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m3933057208(L_35, L_36, /*hidden argument*/NULL);
		Context_t658806145 * L_37 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_38 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3450765872(L_37, L_38, /*hidden argument*/NULL);
	}

IL_00fc:
	{
		goto IL_022f;
	}

IL_0101:
	{
		Context_t658806145 * L_39 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_40 = Context_get_ClientWriteKey_m2094953427(L_39, /*hidden argument*/NULL);
		Context_t658806145 * L_41 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_42 = Context_get_RandomCS_m1402706075(L_41, /*hidden argument*/NULL);
		uint8_t L_43 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_44 = CipherSuite_PRF_m4080641496(__this, L_40, _stringLiteral3705442441, L_42, L_43, /*hidden argument*/NULL);
		V_1 = L_44;
		Context_t658806145 * L_45 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_46 = Context_get_ServerWriteKey_m2037627211(L_45, /*hidden argument*/NULL);
		Context_t658806145 * L_47 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_48 = Context_get_RandomCS_m1402706075(L_47, /*hidden argument*/NULL);
		uint8_t L_49 = CipherSuite_get_ExpandedKeyMaterialSize_m2373093544(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_50 = CipherSuite_PRF_m4080641496(__this, L_46, _stringLiteral3648116225, L_48, L_49, /*hidden argument*/NULL);
		V_2 = L_50;
		Context_t658806145 * L_51 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_52 = V_1;
		Context_set_ClientWriteKey_m409290444(L_51, L_52, /*hidden argument*/NULL);
		Context_t658806145 * L_53 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_54 = V_2;
		Context_set_ServerWriteKey_m2638128212(L_53, L_54, /*hidden argument*/NULL);
		uint8_t L_55 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_55) <= ((int32_t)0)))
		{
			goto IL_020f;
		}
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_56 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_t658806145 * L_57 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_58 = Context_get_RandomCS_m1402706075(L_57, /*hidden argument*/NULL);
		uint8_t L_59 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_60 = CipherSuite_PRF_m4080641496(__this, L_56, _stringLiteral2696973274, L_58, ((int32_t)((int32_t)L_59*(int32_t)2)), /*hidden argument*/NULL);
		V_3 = L_60;
		Context_t658806145 * L_61 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint8_t L_62 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m3933057208(L_61, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_62)), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_63 = V_3;
		Context_t658806145 * L_64 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_65 = Context_get_ClientWriteIV_m621691963(L_64, /*hidden argument*/NULL);
		Context_t658806145 * L_66 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_67 = Context_get_ClientWriteIV_m621691963(L_66, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_63, 0, (Il2CppArray *)(Il2CppArray *)L_65, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_67)->max_length)))), /*hidden argument*/NULL);
		Context_t658806145 * L_68 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		uint8_t L_69 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3450765872(L_68, ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_69)), /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_70 = V_3;
		uint8_t L_71 = CipherSuite_get_IvSize_m633403350(__this, /*hidden argument*/NULL);
		Context_t658806145 * L_72 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_73 = Context_get_ServerWriteIV_m1451126723(L_72, /*hidden argument*/NULL);
		Context_t658806145 * L_74 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_75 = Context_get_ServerWriteIV_m1451126723(L_74, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1580643184(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_70, L_71, (Il2CppArray *)(Il2CppArray *)L_73, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_75)->max_length)))), /*hidden argument*/NULL);
		goto IL_022f;
	}

IL_020f:
	{
		Context_t658806145 * L_76 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t580420223_il2cpp_TypeInfo_var);
		ByteU5BU5D_t4260760469* L_77 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m3933057208(L_76, L_77, /*hidden argument*/NULL);
		Context_t658806145 * L_78 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_79 = ((CipherSuite_t580420223_StaticFields*)CipherSuite_t580420223_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3450765872(L_78, L_79, /*hidden argument*/NULL);
	}

IL_022f:
	{
		Context_t658806145 * L_80 = CipherSuite_get_Context_m3949655367(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t1861128725_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextInCache_m1823103460(NULL /*static, unused*/, L_80, /*hidden argument*/NULL);
		TlsStream_t89550253 * L_81 = V_0;
		TlsStream_Reset_m242376048(L_81, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::.ctor()
extern Il2CppClass* X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientSettings__ctor_m929581301_MetadataUsageId;
extern "C"  void TlsClientSettings__ctor_m929581301 (TlsClientSettings_t3675869755 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientSettings__ctor_m929581301_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		X509CertificateCollection_t3220522733 * L_0 = (X509CertificateCollection_t3220522733 *)il2cpp_codegen_object_new(X509CertificateCollection_t3220522733_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m784073364(L_0, /*hidden argument*/NULL);
		__this->set_certificates_1(L_0);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_1 = ((String_t_StaticFields*)String_t_il2cpp_TypeInfo_var->static_fields)->get_Empty_2();
		__this->set_targetHost_0(L_1);
		return;
	}
}
// System.String Mono.Security.Protocol.Tls.TlsClientSettings::get_TargetHost()
extern "C"  String_t* TlsClientSettings_get_TargetHost_m4152838452 (TlsClientSettings_t3675869755 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = __this->get_targetHost_0();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::set_TargetHost(System.String)
extern "C"  void TlsClientSettings_set_TargetHost_m2074298781 (TlsClientSettings_t3675869755 * __this, String_t* ___value0, const MethodInfo* method)
{
	{
		String_t* L_0 = ___value0;
		__this->set_targetHost_0(L_0);
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509CertificateCollection Mono.Security.Protocol.Tls.TlsClientSettings::get_Certificates()
extern "C"  X509CertificateCollection_t3220522733 * TlsClientSettings_get_Certificates_m3576351313 (TlsClientSettings_t3675869755 * __this, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3220522733 * L_0 = __this->get_certificates_1();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::set_Certificates(System.Security.Cryptography.X509Certificates.X509CertificateCollection)
extern "C"  void TlsClientSettings_set_Certificates_m2196533972 (TlsClientSettings_t3675869755 * __this, X509CertificateCollection_t3220522733 * ___value0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3220522733 * L_0 = ___value0;
		__this->set_certificates_1(L_0);
		return;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.TlsClientSettings::get_ClientCertificate()
extern "C"  X509Certificate_t3076817455 * TlsClientSettings_get_ClientCertificate_m1621563643 (TlsClientSettings_t3675869755 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = __this->get_clientCertificate_2();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::set_ClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate)
extern "C"  void TlsClientSettings_set_ClientCertificate_m1801603000 (TlsClientSettings_t3675869755 * __this, X509Certificate_t3076817455 * ___value0, const MethodInfo* method)
{
	{
		X509Certificate_t3076817455 * L_0 = ___value0;
		__this->set_clientCertificate_2(L_0);
		TlsClientSettings_UpdateCertificateRSA_m715783041(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::UpdateCertificateRSA()
extern Il2CppClass* X509Certificate_t1623369440_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAManaged_t3258726068_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientSettings_UpdateCertificateRSA_m715783041_MetadataUsageId;
extern "C"  void TlsClientSettings_UpdateCertificateRSA_m715783041 (TlsClientSettings_t3675869755 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsClientSettings_UpdateCertificateRSA_m715783041_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	X509Certificate_t1623369440 * V_0 = NULL;
	{
		X509Certificate_t3076817455 * L_0 = __this->get_clientCertificate_2();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_certificateRSA_3((RSAManaged_t3258726068 *)NULL);
		goto IL_0055;
	}

IL_0017:
	{
		X509Certificate_t3076817455 * L_1 = __this->get_clientCertificate_2();
		ByteU5BU5D_t4260760469* L_2 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_1);
		X509Certificate_t1623369440 * L_3 = (X509Certificate_t1623369440 *)il2cpp_codegen_object_new(X509Certificate_t1623369440_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m1688356825(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		X509Certificate_t1623369440 * L_4 = V_0;
		RSA_t2466814310 * L_5 = VirtFuncInvoker0< RSA_t2466814310 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_4);
		int32_t L_6 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 System.Security.Cryptography.AsymmetricAlgorithm::get_KeySize() */, L_5);
		RSAManaged_t3258726068 * L_7 = (RSAManaged_t3258726068 *)il2cpp_codegen_object_new(RSAManaged_t3258726068_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m3804256641(L_7, L_6, /*hidden argument*/NULL);
		__this->set_certificateRSA_3(L_7);
		RSAManaged_t3258726068 * L_8 = __this->get_certificateRSA_3();
		X509Certificate_t1623369440 * L_9 = V_0;
		RSA_t2466814310 * L_10 = VirtFuncInvoker0< RSA_t2466814310 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_9);
		RSAParameters_t3219890992  L_11 = VirtFuncInvoker1< RSAParameters_t3219890992 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_10, (bool)0);
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void Mono.Security.Cryptography.RSAManaged::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_8, L_11);
	}

IL_0055:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(System.String)
extern "C"  void TlsException__ctor_m1800218670 (TlsException_t1031360050 * __this, String_t* ___message0, const MethodInfo* method)
{
	{
		String_t* L_0 = ___message0;
		Exception__ctor_m3870771296(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
extern "C"  void TlsException__ctor_m3172375189 (TlsException_t1031360050 * __this, SerializationInfo_t2185721892 * ___info0, StreamingContext_t2761351129  ___context1, const MethodInfo* method)
{
	{
		SerializationInfo_t2185721892 * L_0 = ___info0;
		StreamingContext_t2761351129  L_1 = ___context1;
		Exception__ctor_m3602014243(__this, L_0, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(Mono.Security.Protocol.Tls.AlertLevel,Mono.Security.Protocol.Tls.AlertDescription)
extern "C"  void TlsException__ctor_m1532839414 (TlsException_t1031360050 * __this, uint8_t ___level0, uint8_t ___description1, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___level0;
		uint8_t L_1 = ___description1;
		uint8_t L_2 = ___description1;
		String_t* L_3 = Alert_GetAlertMessage_m2724053422(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		TlsException__ctor_m1100072882(__this, L_0, L_1, L_3, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(Mono.Security.Protocol.Tls.AlertLevel,Mono.Security.Protocol.Tls.AlertDescription,System.String)
extern Il2CppClass* Alert_t2013630382_il2cpp_TypeInfo_var;
extern const uint32_t TlsException__ctor_m1100072882_MetadataUsageId;
extern "C"  void TlsException__ctor_m1100072882 (TlsException_t1031360050 * __this, uint8_t ___level0, uint8_t ___description1, String_t* ___message2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsException__ctor_m1100072882_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		String_t* L_0 = ___message2;
		Exception__ctor_m3870771296(__this, L_0, /*hidden argument*/NULL);
		uint8_t L_1 = ___level0;
		uint8_t L_2 = ___description1;
		Alert_t2013630382 * L_3 = (Alert_t2013630382 *)il2cpp_codegen_object_new(Alert_t2013630382_il2cpp_TypeInfo_var);
		Alert__ctor_m2712587944(L_3, L_1, L_2, /*hidden argument*/NULL);
		__this->set_alert_11(L_3);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(Mono.Security.Protocol.Tls.AlertDescription)
extern "C"  void TlsException__ctor_m314055256 (TlsException_t1031360050 * __this, uint8_t ___description0, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___description0;
		uint8_t L_1 = ___description0;
		String_t* L_2 = Alert_GetAlertMessage_m2724053422(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		TlsException__ctor_m761809044(__this, L_0, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsException::.ctor(Mono.Security.Protocol.Tls.AlertDescription,System.String)
extern Il2CppClass* Alert_t2013630382_il2cpp_TypeInfo_var;
extern const uint32_t TlsException__ctor_m761809044_MetadataUsageId;
extern "C"  void TlsException__ctor_m761809044 (TlsException_t1031360050 * __this, uint8_t ___description0, String_t* ___message1, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsException__ctor_m761809044_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		String_t* L_0 = ___message1;
		Exception__ctor_m3870771296(__this, L_0, /*hidden argument*/NULL);
		uint8_t L_1 = ___description0;
		Alert_t2013630382 * L_2 = (Alert_t2013630382 *)il2cpp_codegen_object_new(Alert_t2013630382_il2cpp_TypeInfo_var);
		Alert__ctor_m1050138762(L_2, L_1, /*hidden argument*/NULL);
		__this->set_alert_11(L_2);
		return;
	}
}
// Mono.Security.Protocol.Tls.Alert Mono.Security.Protocol.Tls.TlsException::get_Alert()
extern "C"  Alert_t2013630382 * TlsException_get_Alert_m2233021222 (TlsException_t1031360050 * __this, const MethodInfo* method)
{
	{
		Alert_t2013630382 * L_0 = __this->get_alert_11();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::.ctor()
extern "C"  void TlsServerSettings__ctor_m1004039293 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m1772956182(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsServerSettings::get_ServerKeyExchange()
extern "C"  bool TlsServerSettings_get_ServerKeyExchange_m635755587 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_serverKeyExchange_5();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_ServerKeyExchange(System.Boolean)
extern "C"  void TlsServerSettings_set_ServerKeyExchange_m1327105940 (TlsServerSettings_t3702625715 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_serverKeyExchange_5(L_0);
		return;
	}
}
// Mono.Security.X509.X509CertificateCollection Mono.Security.Protocol.Tls.TlsServerSettings::get_Certificates()
extern "C"  X509CertificateCollection_t4135795358 * TlsServerSettings_get_Certificates_m2110079385 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		X509CertificateCollection_t4135795358 * L_0 = __this->get_certificates_0();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_Certificates(Mono.Security.X509.X509CertificateCollection)
extern "C"  void TlsServerSettings_set_Certificates_m3296554870 (TlsServerSettings_t3702625715 * __this, X509CertificateCollection_t4135795358 * ___value0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t4135795358 * L_0 = ___value0;
		__this->set_certificates_0(L_0);
		return;
	}
}
// System.Security.Cryptography.RSA Mono.Security.Protocol.Tls.TlsServerSettings::get_CertificateRSA()
extern "C"  RSA_t2466814310 * TlsServerSettings_get_CertificateRSA_m2184825443 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		RSA_t2466814310 * L_0 = __this->get_certificateRSA_1();
		return L_0;
	}
}
// System.Security.Cryptography.RSAParameters Mono.Security.Protocol.Tls.TlsServerSettings::get_RsaParameters()
extern "C"  RSAParameters_t3219890992  TlsServerSettings_get_RsaParameters_m2649016060 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		RSAParameters_t3219890992  L_0 = __this->get_rsaParameters_2();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_RsaParameters(System.Security.Cryptography.RSAParameters)
extern "C"  void TlsServerSettings_set_RsaParameters_m1298390193 (TlsServerSettings_t3702625715 * __this, RSAParameters_t3219890992  ___value0, const MethodInfo* method)
{
	{
		RSAParameters_t3219890992  L_0 = ___value0;
		__this->set_rsaParameters_2(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_SignedParams(System.Byte[])
extern "C"  void TlsServerSettings_set_SignedParams_m1629591715 (TlsServerSettings_t3702625715 * __this, ByteU5BU5D_t4260760469* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___value0;
		__this->set_signedParams_3(L_0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsServerSettings::get_CertificateRequest()
extern "C"  bool TlsServerSettings_get_CertificateRequest_m741313462 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_certificateRequest_6();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_CertificateRequest(System.Boolean)
extern "C"  void TlsServerSettings_set_CertificateRequest_m3309749971 (TlsServerSettings_t3702625715 * __this, bool ___value0, const MethodInfo* method)
{
	{
		bool L_0 = ___value0;
		__this->set_certificateRequest_6(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_CertificateTypes(Mono.Security.Protocol.Tls.Handshake.ClientCertificateType[])
extern "C"  void TlsServerSettings_set_CertificateTypes_m2445254267 (TlsServerSettings_t3702625715 * __this, ClientCertificateTypeU5BU5D_t2297606589* ___value0, const MethodInfo* method)
{
	{
		ClientCertificateTypeU5BU5D_t2297606589* L_0 = ___value0;
		__this->set_certificateTypes_7(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::set_DistinguisedNames(System.String[])
extern "C"  void TlsServerSettings_set_DistinguisedNames_m3842714172 (TlsServerSettings_t3702625715 * __this, StringU5BU5D_t4054002952* ___value0, const MethodInfo* method)
{
	{
		StringU5BU5D_t4054002952* L_0 = ___value0;
		__this->set_distinguisedNames_4(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::UpdateCertificateRSA()
extern Il2CppClass* RSAManaged_t3258726068_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerSettings_UpdateCertificateRSA_m2131580665_MetadataUsageId;
extern "C"  void TlsServerSettings_UpdateCertificateRSA_m2131580665 (TlsServerSettings_t3702625715 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsServerSettings_UpdateCertificateRSA_m2131580665_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		X509CertificateCollection_t4135795358 * L_0 = __this->get_certificates_0();
		if (!L_0)
		{
			goto IL_001b;
		}
	}
	{
		X509CertificateCollection_t4135795358 * L_1 = __this->get_certificates_0();
		int32_t L_2 = CollectionBase_get_Count_m313265901(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_0027;
		}
	}

IL_001b:
	{
		__this->set_certificateRSA_1((RSA_t2466814310 *)NULL);
		goto IL_006a;
	}

IL_0027:
	{
		X509CertificateCollection_t4135795358 * L_3 = __this->get_certificates_0();
		X509Certificate_t1623369440 * L_4 = X509CertificateCollection_get_Item_m1107000690(L_3, 0, /*hidden argument*/NULL);
		RSA_t2466814310 * L_5 = VirtFuncInvoker0< RSA_t2466814310 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_4);
		int32_t L_6 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 System.Security.Cryptography.AsymmetricAlgorithm::get_KeySize() */, L_5);
		RSAManaged_t3258726068 * L_7 = (RSAManaged_t3258726068 *)il2cpp_codegen_object_new(RSAManaged_t3258726068_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m3804256641(L_7, L_6, /*hidden argument*/NULL);
		__this->set_certificateRSA_1(L_7);
		RSA_t2466814310 * L_8 = __this->get_certificateRSA_1();
		X509CertificateCollection_t4135795358 * L_9 = __this->get_certificates_0();
		X509Certificate_t1623369440 * L_10 = X509CertificateCollection_get_Item_m1107000690(L_9, 0, /*hidden argument*/NULL);
		RSA_t2466814310 * L_11 = VirtFuncInvoker0< RSA_t2466814310 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_10);
		RSAParameters_t3219890992  L_12 = VirtFuncInvoker1< RSAParameters_t3219890992 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_11, (bool)0);
		VirtActionInvoker1< RSAParameters_t3219890992  >::Invoke(13 /* System.Void System.Security.Cryptography.RSA::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_8, L_12);
	}

IL_006a:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::.ctor()
extern Il2CppClass* Stream_t1561764144_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t418716369_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream__ctor_m2595943107_MetadataUsageId;
extern "C"  void TlsStream__ctor_m2595943107 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream__ctor_m2595943107_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t1561764144_il2cpp_TypeInfo_var);
		Stream__ctor_m1433294025(__this, /*hidden argument*/NULL);
		MemoryStream_t418716369 * L_0 = (MemoryStream_t418716369 *)il2cpp_codegen_object_new(MemoryStream_t418716369_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1061194329(L_0, 0, /*hidden argument*/NULL);
		__this->set_buffer_3(L_0);
		__this->set_canRead_1((bool)0);
		__this->set_canWrite_2((bool)1);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::.ctor(System.Byte[])
extern Il2CppClass* Stream_t1561764144_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t418716369_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream__ctor_m868803046_MetadataUsageId;
extern "C"  void TlsStream__ctor_m868803046 (TlsStream_t89550253 * __this, ByteU5BU5D_t4260760469* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream__ctor_m868803046_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t1561764144_il2cpp_TypeInfo_var);
		Stream__ctor_m1433294025(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t4260760469* L_0 = ___data0;
		if (!L_0)
		{
			goto IL_001d;
		}
	}
	{
		ByteU5BU5D_t4260760469* L_1 = ___data0;
		MemoryStream_t418716369 * L_2 = (MemoryStream_t418716369 *)il2cpp_codegen_object_new(MemoryStream_t418716369_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1231145921(L_2, L_1, /*hidden argument*/NULL);
		__this->set_buffer_3(L_2);
		goto IL_0028;
	}

IL_001d:
	{
		MemoryStream_t418716369 * L_3 = (MemoryStream_t418716369 *)il2cpp_codegen_object_new(MemoryStream_t418716369_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m3603177736(L_3, /*hidden argument*/NULL);
		__this->set_buffer_3(L_3);
	}

IL_0028:
	{
		__this->set_canRead_1((bool)1);
		__this->set_canWrite_2((bool)0);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_EOF()
extern "C"  bool TlsStream_get_EOF_m3756372902 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		int64_t L_0 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Position() */, __this);
		int64_t L_1 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, __this);
		if ((((int64_t)L_0) >= ((int64_t)L_1)))
		{
			goto IL_0013;
		}
	}
	{
		return (bool)0;
	}

IL_0013:
	{
		return (bool)1;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_CanWrite()
extern "C"  bool TlsStream_get_CanWrite_m3459717159 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_canWrite_2();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_CanRead()
extern "C"  bool TlsStream_get_CanRead_m4251163952 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_canRead_1();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsStream::get_CanSeek()
extern "C"  bool TlsStream_get_CanSeek_m4279918994 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		bool L_1 = VirtFuncInvoker0< bool >::Invoke(6 /* System.Boolean System.IO.MemoryStream::get_CanSeek() */, L_0);
		return L_1;
	}
}
// System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Position()
extern "C"  int64_t TlsStream_get_Position_m872901500 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		int64_t L_1 = VirtFuncInvoker0< int64_t >::Invoke(9 /* System.Int64 System.IO.MemoryStream::get_Position() */, L_0);
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::set_Position(System.Int64)
extern "C"  void TlsStream_set_Position_m1335791449 (TlsStream_t89550253 * __this, int64_t ___value0, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		int64_t L_1 = ___value0;
		VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_0, L_1);
		return;
	}
}
// System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length()
extern "C"  int64_t TlsStream_get_Length_m2901233273 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		int64_t L_1 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 System.IO.MemoryStream::get_Length() */, L_0);
		return L_1;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.TlsStream::ReadSmallValue(System.Int32)
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1991240067;
extern Il2CppCodeGenString* _stringLiteral2920643731;
extern const uint32_t TlsStream_ReadSmallValue_m1160118396_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* TlsStream_ReadSmallValue_m1160118396 (TlsStream_t89550253 * __this, int32_t ___length0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_ReadSmallValue_m1160118396_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		int32_t L_0 = ___length0;
		if ((((int32_t)L_0) <= ((int32_t)4)))
		{
			goto IL_0012;
		}
	}
	{
		ArgumentException_t928607144 * L_1 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_1, _stringLiteral1991240067, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0012:
	{
		ByteU5BU5D_t4260760469* L_2 = __this->get_temp_4();
		if (L_2)
		{
			goto IL_0029;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0029:
	{
		ByteU5BU5D_t4260760469* L_3 = __this->get_temp_4();
		int32_t L_4 = ___length0;
		int32_t L_5 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 Mono.Security.Protocol.Tls.TlsStream::Read(System.Byte[],System.Int32,System.Int32) */, __this, L_3, 0, L_4);
		int32_t L_6 = ___length0;
		if ((((int32_t)L_5) == ((int32_t)L_6)))
		{
			goto IL_0053;
		}
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_7 = String_Format_m4050103162(NULL /*static, unused*/, _stringLiteral2920643731, ((ObjectU5BU5D_t1108656482*)SZArrayNew(ObjectU5BU5D_t1108656482_il2cpp_TypeInfo_var, (uint32_t)0)), /*hidden argument*/NULL);
		TlsException_t1031360050 * L_8 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m1800218670(L_8, L_7, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_0053:
	{
		ByteU5BU5D_t4260760469* L_9 = __this->get_temp_4();
		return L_9;
	}
}
// System.Byte Mono.Security.Protocol.Tls.TlsStream::ReadByte()
extern "C"  uint8_t TlsStream_ReadByte_m4124498283 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = TlsStream_ReadSmallValue_m1160118396(__this, 1, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t4260760469* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_2));
		return L_3;
	}
}
// System.Int16 Mono.Security.Protocol.Tls.TlsStream::ReadInt16()
extern "C"  int16_t TlsStream_ReadInt16_m3059078429 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = TlsStream_ReadSmallValue_m1160118396(__this, 2, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t4260760469* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_2));
		ByteU5BU5D_t4260760469* L_4 = V_0;
		int32_t L_5 = 1;
		uint8_t L_6 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		return (((int16_t)((int16_t)((int32_t)((int32_t)((int32_t)((int32_t)L_3<<(int32_t)8))|(int32_t)L_6)))));
	}
}
// System.Int32 Mono.Security.Protocol.Tls.TlsStream::ReadInt24()
extern "C"  int32_t TlsStream_ReadInt24_m64683956 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		ByteU5BU5D_t4260760469* L_0 = TlsStream_ReadSmallValue_m1160118396(__this, 3, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t4260760469* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAt(static_cast<il2cpp_array_size_t>(L_2));
		ByteU5BU5D_t4260760469* L_4 = V_0;
		int32_t L_5 = 1;
		uint8_t L_6 = (L_4)->GetAt(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t4260760469* L_7 = V_0;
		int32_t L_8 = 2;
		uint8_t L_9 = (L_7)->GetAt(static_cast<il2cpp_array_size_t>(L_8));
		return ((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)L_3<<(int32_t)((int32_t)16)))|(int32_t)((int32_t)((int32_t)L_6<<(int32_t)8))))|(int32_t)L_9));
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.TlsStream::ReadBytes(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t1031360050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2920643731;
extern const uint32_t TlsStream_ReadBytes_m3691381117_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* TlsStream_ReadBytes_m3691381117 (TlsStream_t89550253 * __this, int32_t ___count0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_ReadBytes_m3691381117_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ByteU5BU5D_t4260760469* V_0 = NULL;
	{
		int32_t L_0 = ___count0;
		V_0 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)L_0));
		ByteU5BU5D_t4260760469* L_1 = V_0;
		int32_t L_2 = ___count0;
		int32_t L_3 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 Mono.Security.Protocol.Tls.TlsStream::Read(System.Byte[],System.Int32,System.Int32) */, __this, L_1, 0, L_2);
		int32_t L_4 = ___count0;
		if ((((int32_t)L_3) == ((int32_t)L_4)))
		{
			goto IL_0021;
		}
	}
	{
		TlsException_t1031360050 * L_5 = (TlsException_t1031360050 *)il2cpp_codegen_object_new(TlsException_t1031360050_il2cpp_TypeInfo_var);
		TlsException__ctor_m1800218670(L_5, _stringLiteral2920643731, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0021:
	{
		ByteU5BU5D_t4260760469* L_6 = V_0;
		return L_6;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m1211282283_MetadataUsageId;
extern "C"  void TlsStream_Write_m1211282283 (TlsStream_t89550253 * __this, uint8_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m1211282283_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_temp_4();
		uint8_t L_2 = ___value0;
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_2);
		ByteU5BU5D_t4260760469* L_3 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_3, 0, 1);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Int16)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m3380208203_MetadataUsageId;
extern "C"  void TlsStream_Write_m3380208203 (TlsStream_t89550253 * __this, int16_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m3380208203_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_temp_4();
		int16_t L_2 = ___value0;
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_2>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_3 = __this->get_temp_4();
		int16_t L_4 = ___value0;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)L_4))));
		ByteU5BU5D_t4260760469* L_5 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_5, 0, 2);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::WriteInt24(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_WriteInt24_m3944062020_MetadataUsageId;
extern "C"  void TlsStream_WriteInt24_m3944062020 (TlsStream_t89550253 * __this, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_WriteInt24_m3944062020_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_temp_4();
		int32_t L_2 = ___value0;
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_2>>(int32_t)((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_3 = __this->get_temp_4();
		int32_t L_4 = ___value0;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_4>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_5 = __this->get_temp_4();
		int32_t L_6 = ___value0;
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)L_6))));
		ByteU5BU5D_t4260760469* L_7 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_7, 0, 3);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Int32)
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m3380210001_MetadataUsageId;
extern "C"  void TlsStream_Write_m3380210001 (TlsStream_t89550253 * __this, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m3380210001_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_temp_4();
		int32_t L_2 = ___value0;
		(L_1)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_2>>(int32_t)((int32_t)24)))))));
		ByteU5BU5D_t4260760469* L_3 = __this->get_temp_4();
		int32_t L_4 = ___value0;
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_4>>(int32_t)((int32_t)16)))))));
		ByteU5BU5D_t4260760469* L_5 = __this->get_temp_4();
		int32_t L_6 = ___value0;
		(L_5)->SetAt(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_6>>(int32_t)8))))));
		ByteU5BU5D_t4260760469* L_7 = __this->get_temp_4();
		int32_t L_8 = ___value0;
		(L_7)->SetAt(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)L_8))));
		ByteU5BU5D_t4260760469* L_9 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_9, 0, 4);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[])
extern "C"  void TlsStream_Write_m106187721 (TlsStream_t89550253 * __this, ByteU5BU5D_t4260760469* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t4260760469* L_0 = ___buffer0;
		ByteU5BU5D_t4260760469* L_1 = ___buffer0;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32) */, __this, L_0, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Reset()
extern "C"  void TlsStream_Reset_m242376048 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_0, (((int64_t)((int64_t)0))));
		MemoryStream_t418716369 * L_1 = __this->get_buffer_3();
		VirtActionInvoker1< int64_t >::Invoke(10 /* System.Void System.IO.MemoryStream::set_Position(System.Int64) */, L_1, (((int64_t)((int64_t)0))));
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.TlsStream::ToArray()
extern "C"  ByteU5BU5D_t4260760469* TlsStream_ToArray_m613486997 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		ByteU5BU5D_t4260760469* L_1 = VirtFuncInvoker0< ByteU5BU5D_t4260760469* >::Invoke(25 /* System.Byte[] System.IO.MemoryStream::ToArray() */, L_0);
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Flush()
extern "C"  void TlsStream_Flush_m2679890405 (TlsStream_t89550253 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		VirtActionInvoker0::Invoke(13 /* System.Void System.IO.MemoryStream::Flush() */, L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::SetLength(System.Int64)
extern "C"  void TlsStream_SetLength_m702479131 (TlsStream_t89550253 * __this, int64_t ___length0, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		int64_t L_1 = ___length0;
		VirtActionInvoker1< int64_t >::Invoke(17 /* System.Void System.IO.MemoryStream::SetLength(System.Int64) */, L_0, L_1);
		return;
	}
}
// System.Int64 Mono.Security.Protocol.Tls.TlsStream::Seek(System.Int64,System.IO.SeekOrigin)
extern "C"  int64_t TlsStream_Seek_m484817355 (TlsStream_t89550253 * __this, int64_t ___offset0, int32_t ___loc1, const MethodInfo* method)
{
	{
		MemoryStream_t418716369 * L_0 = __this->get_buffer_3();
		int64_t L_1 = ___offset0;
		int32_t L_2 = ___loc1;
		int64_t L_3 = VirtFuncInvoker2< int64_t, int64_t, int32_t >::Invoke(16 /* System.Int64 System.IO.MemoryStream::Seek(System.Int64,System.IO.SeekOrigin) */, L_0, L_1, L_2);
		return L_3;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.TlsStream::Read(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* InvalidOperationException_t1589641621_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral123597940;
extern const uint32_t TlsStream_Read_m3435838442_MetadataUsageId;
extern "C"  int32_t TlsStream_Read_m3435838442 (TlsStream_t89550253 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Read_m3435838442_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_canRead_1();
		if (!L_0)
		{
			goto IL_001a;
		}
	}
	{
		MemoryStream_t418716369 * L_1 = __this->get_buffer_3();
		ByteU5BU5D_t4260760469* L_2 = ___buffer0;
		int32_t L_3 = ___offset1;
		int32_t L_4 = ___count2;
		int32_t L_5 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(14 /* System.Int32 System.IO.MemoryStream::Read(System.Byte[],System.Int32,System.Int32) */, L_1, L_2, L_3, L_4);
		return L_5;
	}

IL_001a:
	{
		InvalidOperationException_t1589641621 * L_6 = (InvalidOperationException_t1589641621 *)il2cpp_codegen_object_new(InvalidOperationException_t1589641621_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m1485483280(L_6, _stringLiteral123597940, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte[],System.Int32,System.Int32)
extern Il2CppClass* InvalidOperationException_t1589641621_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3928159037;
extern const uint32_t TlsStream_Write_m2853472233_MetadataUsageId;
extern "C"  void TlsStream_Write_m2853472233 (TlsStream_t89550253 * __this, ByteU5BU5D_t4260760469* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m2853472233_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		bool L_0 = __this->get_canWrite_2();
		if (!L_0)
		{
			goto IL_001e;
		}
	}
	{
		MemoryStream_t418716369 * L_1 = __this->get_buffer_3();
		ByteU5BU5D_t4260760469* L_2 = ___buffer0;
		int32_t L_3 = ___offset1;
		int32_t L_4 = ___count2;
		VirtActionInvoker3< ByteU5BU5D_t4260760469*, int32_t, int32_t >::Invoke(18 /* System.Void System.IO.MemoryStream::Write(System.Byte[],System.Int32,System.Int32) */, L_1, L_2, L_3, L_4);
		goto IL_0029;
	}

IL_001e:
	{
		InvalidOperationException_t1589641621 * L_5 = (InvalidOperationException_t1589641621 *)il2cpp_codegen_object_new(InvalidOperationException_t1589641621_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m1485483280(L_5, _stringLiteral3928159037, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0029:
	{
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ValidationResult::get_Trusted()
extern "C"  bool ValidationResult_get_Trusted_m3614004972 (ValidationResult_t925859732 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_trusted_0();
		return L_0;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.ValidationResult::get_ErrorCode()
extern "C"  int32_t ValidationResult_get_ErrorCode_m4021319972 (ValidationResult_t925859732 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = __this->get_error_code_1();
		return L_0;
	}
}
// System.Void Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::.ctor(Mono.Security.X509.X509Extension)
extern "C"  void AuthorityKeyIdentifierExtension__ctor_m273322001 (AuthorityKeyIdentifierExtension_t253620168 * __this, X509Extension_t4211806920 * ___extension0, const MethodInfo* method)
{
	{
		X509Extension_t4211806920 * L_0 = ___extension0;
		X509Extension__ctor_m3298017424(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::Decode()
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1158217997;
extern const uint32_t AuthorityKeyIdentifierExtension_Decode_m3261570505_MetadataUsageId;
extern "C"  void AuthorityKeyIdentifierExtension_Decode_m3261570505 (AuthorityKeyIdentifierExtension_t253620168 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_Decode_m3261570505_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t3752917378 * V_2 = NULL;
	uint8_t V_3 = 0x0;
	{
		ASN1_t3752917378 * L_0 = ((X509Extension_t4211806920 *)__this)->get_extnValue_2();
		ByteU5BU5D_t4260760469* L_1 = ASN1_get_Value_m390067040(L_0, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_2 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ASN1_t3752917378 * L_3 = V_0;
		uint8_t L_4 = ASN1_get_Tag_m442995239(L_3, /*hidden argument*/NULL);
		if ((((int32_t)L_4) == ((int32_t)((int32_t)48))))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentException_t928607144 * L_5 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_5, _stringLiteral1158217997, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0029:
	{
		V_1 = 0;
		goto IL_0069;
	}

IL_0030:
	{
		ASN1_t3752917378 * L_6 = V_0;
		int32_t L_7 = V_1;
		ASN1_t3752917378 * L_8 = ASN1_get_Item_m3727278260(L_6, L_7, /*hidden argument*/NULL);
		V_2 = L_8;
		ASN1_t3752917378 * L_9 = V_2;
		uint8_t L_10 = ASN1_get_Tag_m442995239(L_9, /*hidden argument*/NULL);
		V_3 = L_10;
		uint8_t L_11 = V_3;
		if ((((int32_t)L_11) == ((int32_t)((int32_t)128))))
		{
			goto IL_004f;
		}
	}
	{
		goto IL_0060;
	}

IL_004f:
	{
		ASN1_t3752917378 * L_12 = V_2;
		ByteU5BU5D_t4260760469* L_13 = ASN1_get_Value_m390067040(L_12, /*hidden argument*/NULL);
		__this->set_aki_3(L_13);
		goto IL_0065;
	}

IL_0060:
	{
		goto IL_0065;
	}

IL_0065:
	{
		int32_t L_14 = V_1;
		V_1 = ((int32_t)((int32_t)L_14+(int32_t)1));
	}

IL_0069:
	{
		int32_t L_15 = V_1;
		ASN1_t3752917378 * L_16 = V_0;
		int32_t L_17 = ASN1_get_Count_m2214472120(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_15) < ((int32_t)L_17)))
		{
			goto IL_0030;
		}
	}
	{
		return;
	}
}
// System.Byte[] Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::get_Identifier()
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t AuthorityKeyIdentifierExtension_get_Identifier_m3285341703_MetadataUsageId;
extern "C"  ByteU5BU5D_t4260760469* AuthorityKeyIdentifierExtension_get_Identifier_m3285341703 (AuthorityKeyIdentifierExtension_t253620168 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_get_Identifier_m3285341703_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	{
		ByteU5BU5D_t4260760469* L_0 = __this->get_aki_3();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t4260760469*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t4260760469* L_1 = __this->get_aki_3();
		Il2CppObject * L_2 = Array_Clone_m1369268734((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t4260760469*)Castclass(L_2, ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var));
	}
}
// System.String Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::ToString()
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2244138979;
extern Il2CppCodeGenString* _stringLiteral2778;
extern Il2CppCodeGenString* _stringLiteral32;
extern const uint32_t AuthorityKeyIdentifierExtension_ToString_m196471364_MetadataUsageId;
extern "C"  String_t* AuthorityKeyIdentifierExtension_ToString_m196471364 (AuthorityKeyIdentifierExtension_t253620168 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_ToString_m196471364_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	StringBuilder_t243639308 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		StringBuilder_t243639308 * L_0 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m135953004(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t4260760469* L_1 = __this->get_aki_3();
		if (!L_1)
		{
			goto IL_006d;
		}
	}
	{
		V_1 = 0;
		StringBuilder_t243639308 * L_2 = V_0;
		StringBuilder_Append_m3898090075(L_2, _stringLiteral2244138979, /*hidden argument*/NULL);
		goto IL_005f;
	}

IL_0024:
	{
		StringBuilder_t243639308 * L_3 = V_0;
		ByteU5BU5D_t4260760469* L_4 = __this->get_aki_3();
		int32_t L_5 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_6 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_7 = Byte_ToString_m1210459538(((L_4)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_5))), _stringLiteral2778, L_6, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_3, L_7, /*hidden argument*/NULL);
		int32_t L_8 = V_1;
		if ((!(((uint32_t)((int32_t)((int32_t)L_8%(int32_t)2))) == ((uint32_t)1))))
		{
			goto IL_005b;
		}
	}
	{
		StringBuilder_t243639308 * L_9 = V_0;
		StringBuilder_Append_m3898090075(L_9, _stringLiteral32, /*hidden argument*/NULL);
	}

IL_005b:
	{
		int32_t L_10 = V_1;
		V_1 = ((int32_t)((int32_t)L_10+(int32_t)1));
	}

IL_005f:
	{
		int32_t L_11 = V_1;
		ByteU5BU5D_t4260760469* L_12 = __this->get_aki_3();
		if ((((int32_t)L_11) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))))))
		{
			goto IL_0024;
		}
	}

IL_006d:
	{
		StringBuilder_t243639308 * L_13 = V_0;
		String_t* L_14 = StringBuilder_ToString_m350379841(L_13, /*hidden argument*/NULL);
		return L_14;
	}
}
// System.Void Mono.Security.X509.Extensions.BasicConstraintsExtension::.ctor(Mono.Security.X509.X509Extension)
extern "C"  void BasicConstraintsExtension__ctor_m1872483704 (BasicConstraintsExtension_t2578001957 * __this, X509Extension_t4211806920 * ___extension0, const MethodInfo* method)
{
	{
		X509Extension_t4211806920 * L_0 = ___extension0;
		X509Extension__ctor_m3298017424(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.X509.Extensions.BasicConstraintsExtension::Decode()
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t928607144_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral987650896;
extern const uint32_t BasicConstraintsExtension_Decode_m3853789606_MetadataUsageId;
extern "C"  void BasicConstraintsExtension_Decode_m3853789606 (BasicConstraintsExtension_t2578001957 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_Decode_m3853789606_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t3752917378 * V_2 = NULL;
	{
		__this->set_cA_3((bool)0);
		__this->set_pathLenConstraint_4((-1));
		ASN1_t3752917378 * L_0 = ((X509Extension_t4211806920 *)__this)->get_extnValue_2();
		ByteU5BU5D_t4260760469* L_1 = ASN1_get_Value_m390067040(L_0, /*hidden argument*/NULL);
		ASN1_t3752917378 * L_2 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3008094309(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ASN1_t3752917378 * L_3 = V_0;
		uint8_t L_4 = ASN1_get_Tag_m442995239(L_3, /*hidden argument*/NULL);
		if ((((int32_t)L_4) == ((int32_t)((int32_t)48))))
		{
			goto IL_0037;
		}
	}
	{
		ArgumentException_t928607144 * L_5 = (ArgumentException_t928607144 *)il2cpp_codegen_object_new(ArgumentException_t928607144_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3544856547(L_5, _stringLiteral987650896, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0037:
	{
		V_1 = 0;
		ASN1_t3752917378 * L_6 = V_0;
		int32_t L_7 = V_1;
		int32_t L_8 = L_7;
		V_1 = ((int32_t)((int32_t)L_8+(int32_t)1));
		ASN1_t3752917378 * L_9 = ASN1_get_Item_m3727278260(L_6, L_8, /*hidden argument*/NULL);
		V_2 = L_9;
		ASN1_t3752917378 * L_10 = V_2;
		if (!L_10)
		{
			goto IL_0078;
		}
	}
	{
		ASN1_t3752917378 * L_11 = V_2;
		uint8_t L_12 = ASN1_get_Tag_m442995239(L_11, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_12) == ((uint32_t)1))))
		{
			goto IL_0078;
		}
	}
	{
		ASN1_t3752917378 * L_13 = V_2;
		ByteU5BU5D_t4260760469* L_14 = ASN1_get_Value_m390067040(L_13, /*hidden argument*/NULL);
		int32_t L_15 = 0;
		uint8_t L_16 = (L_14)->GetAt(static_cast<il2cpp_array_size_t>(L_15));
		__this->set_cA_3((bool)((((int32_t)L_16) == ((int32_t)((int32_t)255)))? 1 : 0));
		ASN1_t3752917378 * L_17 = V_0;
		int32_t L_18 = V_1;
		int32_t L_19 = L_18;
		V_1 = ((int32_t)((int32_t)L_19+(int32_t)1));
		ASN1_t3752917378 * L_20 = ASN1_get_Item_m3727278260(L_17, L_19, /*hidden argument*/NULL);
		V_2 = L_20;
	}

IL_0078:
	{
		ASN1_t3752917378 * L_21 = V_2;
		if (!L_21)
		{
			goto IL_0096;
		}
	}
	{
		ASN1_t3752917378 * L_22 = V_2;
		uint8_t L_23 = ASN1_get_Tag_m442995239(L_22, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_23) == ((uint32_t)2))))
		{
			goto IL_0096;
		}
	}
	{
		ASN1_t3752917378 * L_24 = V_2;
		int32_t L_25 = ASN1Convert_ToInt32_m2275332600(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		__this->set_pathLenConstraint_4(L_25);
	}

IL_0096:
	{
		return;
	}
}
// System.Void Mono.Security.X509.Extensions.BasicConstraintsExtension::Encode()
extern Il2CppClass* ASN1_t3752917378_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var;
extern const uint32_t BasicConstraintsExtension_Encode_m699231182_MetadataUsageId;
extern "C"  void BasicConstraintsExtension_Encode_m699231182 (BasicConstraintsExtension_t2578001957 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_Encode_m699231182_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	ASN1_t3752917378 * V_0 = NULL;
	{
		ASN1_t3752917378 * L_0 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_0, ((int32_t)48), /*hidden argument*/NULL);
		V_0 = L_0;
		bool L_1 = __this->get_cA_3();
		if (!L_1)
		{
			goto IL_002e;
		}
	}
	{
		ASN1_t3752917378 * L_2 = V_0;
		ByteU5BU5D_t4260760469* L_3 = ((ByteU5BU5D_t4260760469*)SZArrayNew(ByteU5BU5D_t4260760469_il2cpp_TypeInfo_var, (uint32_t)1));
		(L_3)->SetAt(static_cast<il2cpp_array_size_t>(0), (uint8_t)((int32_t)255));
		ASN1_t3752917378 * L_4 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m2727735242(L_4, 1, L_3, /*hidden argument*/NULL);
		ASN1_Add_m1424422628(L_2, L_4, /*hidden argument*/NULL);
	}

IL_002e:
	{
		bool L_5 = __this->get_cA_3();
		if (!L_5)
		{
			goto IL_0057;
		}
	}
	{
		int32_t L_6 = __this->get_pathLenConstraint_4();
		if ((((int32_t)L_6) < ((int32_t)0)))
		{
			goto IL_0057;
		}
	}
	{
		ASN1_t3752917378 * L_7 = V_0;
		int32_t L_8 = __this->get_pathLenConstraint_4();
		ASN1_t3752917378 * L_9 = ASN1Convert_FromInt32_m570537577(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		ASN1_Add_m1424422628(L_7, L_9, /*hidden argument*/NULL);
	}

IL_0057:
	{
		ASN1_t3752917378 * L_10 = (ASN1_t3752917378 *)il2cpp_codegen_object_new(ASN1_t3752917378_il2cpp_TypeInfo_var);
		ASN1__ctor_m3086925575(L_10, 4, /*hidden argument*/NULL);
		((X509Extension_t4211806920 *)__this)->set_extnValue_2(L_10);
		ASN1_t3752917378 * L_11 = ((X509Extension_t4211806920 *)__this)->get_extnValue_2();
		ASN1_t3752917378 * L_12 = V_0;
		ASN1_Add_m1424422628(L_11, L_12, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.X509.Extensions.BasicConstraintsExtension::get_CertificateAuthority()
extern "C"  bool BasicConstraintsExtension_get_CertificateAuthority_m1090073055 (BasicConstraintsExtension_t2578001957 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_cA_3();
		return L_0;
	}
}
// System.String Mono.Security.X509.Extensions.BasicConstraintsExtension::ToString()
extern Il2CppClass* StringBuilder_t243639308_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t1065375142_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3715854351;
extern Il2CppCodeGenString* _stringLiteral2142;
extern Il2CppCodeGenString* _stringLiteral972222216;
extern Il2CppCodeGenString* _stringLiteral644018049;
extern Il2CppCodeGenString* _stringLiteral2433880;
extern const uint32_t BasicConstraintsExtension_ToString_m2175497377_MetadataUsageId;
extern "C"  String_t* BasicConstraintsExtension_ToString_m2175497377 (BasicConstraintsExtension_t2578001957 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodIntialized;
	if (!s_Il2CppMethodIntialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_ToString_m2175497377_MetadataUsageId);
		s_Il2CppMethodIntialized = true;
	}
	StringBuilder_t243639308 * V_0 = NULL;
	StringBuilder_t243639308 * G_B2_0 = NULL;
	StringBuilder_t243639308 * G_B1_0 = NULL;
	String_t* G_B3_0 = NULL;
	StringBuilder_t243639308 * G_B3_1 = NULL;
	{
		StringBuilder_t243639308 * L_0 = (StringBuilder_t243639308 *)il2cpp_codegen_object_new(StringBuilder_t243639308_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m135953004(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		StringBuilder_t243639308 * L_1 = V_0;
		StringBuilder_Append_m3898090075(L_1, _stringLiteral3715854351, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_2 = V_0;
		bool L_3 = __this->get_cA_3();
		G_B1_0 = L_2;
		if (!L_3)
		{
			G_B2_0 = L_2;
			goto IL_0028;
		}
	}
	{
		G_B3_0 = _stringLiteral2142;
		G_B3_1 = G_B1_0;
		goto IL_002d;
	}

IL_0028:
	{
		G_B3_0 = _stringLiteral972222216;
		G_B3_1 = G_B2_0;
	}

IL_002d:
	{
		StringBuilder_Append_m3898090075(G_B3_1, G_B3_0, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_4 = V_0;
		String_t* L_5 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_4, L_5, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_6 = V_0;
		StringBuilder_Append_m3898090075(L_6, _stringLiteral644018049, /*hidden argument*/NULL);
		int32_t L_7 = __this->get_pathLenConstraint_4();
		if ((!(((uint32_t)L_7) == ((uint32_t)(-1)))))
		{
			goto IL_0068;
		}
	}
	{
		StringBuilder_t243639308 * L_8 = V_0;
		StringBuilder_Append_m3898090075(L_8, _stringLiteral2433880, /*hidden argument*/NULL);
		goto IL_007f;
	}

IL_0068:
	{
		StringBuilder_t243639308 * L_9 = V_0;
		int32_t* L_10 = __this->get_address_of_pathLenConstraint_4();
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t1065375142_il2cpp_TypeInfo_var);
		CultureInfo_t1065375142 * L_11 = CultureInfo_get_InvariantCulture_m764001524(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_12 = Int32_ToString_m881186462(L_10, L_11, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_9, L_12, /*hidden argument*/NULL);
	}

IL_007f:
	{
		StringBuilder_t243639308 * L_13 = V_0;
		String_t* L_14 = Environment_get_NewLine_m1034655108(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3898090075(L_13, L_14, /*hidden argument*/NULL);
		StringBuilder_t243639308 * L_15 = V_0;
		String_t* L_16 = StringBuilder_ToString_m350379841(L_15, /*hidden argument*/NULL);
		return L_16;
	}
}
#ifdef __clang__
#pragma clang diagnostic pop
#endif
