#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_t925946153;
// System.Byte[]
struct ByteU5BU5D_t3397334013;
// System.Security.Cryptography.RandomNumberGenerator
struct RandomNumberGenerator_t2510243513;
// System.Object
struct Il2CppObject;
// Mono.Math.BigInteger[]
struct BigIntegerU5BU5D_t3157146938;
// System.UInt32[]
struct UInt32U5BU5D_t59386216;
// Mono.Math.BigInteger/ModulusRing
struct ModulusRing_t80355992;
// Mono.Math.Prime.Generator.PrimeGeneratorBase
struct PrimeGeneratorBase_t1053438168;
// Mono.Math.Prime.PrimalityTest
struct PrimalityTest_t572679902;
// Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase
struct SequentialSearchPrimeGeneratorBase_t463670657;
// System.IAsyncResult
struct IAsyncResult_t1999651008;
// System.AsyncCallback
struct AsyncCallback_t163412349;
// Mono.Security.ASN1
struct ASN1_t924533536;
// Mono.Security.Cryptography.ARC4Managed
struct ARC4Managed_t3379271383;
// System.Security.Cryptography.ICryptoTransform
struct ICryptoTransform_t281704372;
// Mono.Security.Cryptography.HMAC
struct HMAC_t2707728663;
// Mono.Security.Cryptography.MD2
struct MD2_t726199179;
// Mono.Security.Cryptography.MD2Managed
struct MD2Managed_t1421454332;
// Mono.Security.Cryptography.MD4
struct MD4_t1888998593;
// Mono.Security.Cryptography.MD4Managed
struct MD4Managed_t2176273562;
// Mono.Security.Cryptography.MD5SHA1
struct MD5SHA1_t3340472487;
// System.Security.Cryptography.RSA
struct RSA_t3719518354;
// System.Security.Cryptography.HashAlgorithm
struct HashAlgorithm_t2624936259;
// Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo
struct EncryptedPrivateKeyInfo_t1722354998;
// Mono.Security.Cryptography.PKCS8/PrivateKeyInfo
struct PrivateKeyInfo_t92917104;
// System.Security.Cryptography.DSA
struct DSA_t903174880;
// Mono.Security.Cryptography.RC4
struct RC4_t2789934315;
// Mono.Security.Cryptography.RSAManaged
struct RSAManaged_t3034748748;
// Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler
struct KeyGeneratedEventHandler_t108853710;
// System.EventArgs
struct EventArgs_t3289624707;
// Mono.Security.PKCS7/ContentInfo
struct ContentInfo_t1443605388;
// Mono.Security.PKCS7/EncryptedData
struct EncryptedData_t2656813773;
// Mono.Security.Protocol.Tls.Alert
struct Alert_t3405955216;
// Mono.Security.Protocol.Tls.CertificateSelectionCallback
struct CertificateSelectionCallback_t3721235490;
// System.Security.Cryptography.X509Certificates.X509Certificate
struct X509Certificate_t283079845;
// System.Security.Cryptography.X509Certificates.X509CertificateCollection
struct X509CertificateCollection_t1197680765;
// Mono.Security.Protocol.Tls.CertificateValidationCallback
struct CertificateValidationCallback_t989458295;
// System.Int32[]
struct Int32U5BU5D_t3030399641;
// Mono.Security.Protocol.Tls.CertificateValidationCallback2
struct CertificateValidationCallback2_t3318447433;
// Mono.Security.Protocol.Tls.ValidationResult
struct ValidationResult_t1782558132;
// Mono.Security.X509.X509CertificateCollection
struct X509CertificateCollection_t3592472866;
// Mono.Security.Protocol.Tls.CipherSuite
struct CipherSuite_t491456551;
// System.Security.Cryptography.KeyedHashAlgorithm
struct KeyedHashAlgorithm_t1374150027;
// Mono.Security.Protocol.Tls.Context
struct Context_t4285182719;
// Mono.Security.Protocol.Tls.CipherSuiteCollection
struct CipherSuiteCollection_t2431504453;
// System.Collections.IEnumerator
struct IEnumerator_t1466026749;
// System.Array
struct Il2CppArray;
// Mono.Security.Protocol.Tls.TlsCipherSuite
struct TlsCipherSuite_t396038680;
// Mono.Security.Protocol.Tls.SslCipherSuite
struct SslCipherSuite_t1404755603;
// Mono.Security.Protocol.Tls.ClientContext
struct ClientContext_t3002158488;
// Mono.Security.Protocol.Tls.SslClientStream
struct SslClientStream_t3918817353;
// Mono.Security.Protocol.Tls.ClientRecordProtocol
struct ClientRecordProtocol_t2694504884;
// System.IO.Stream
struct Stream_t3255436806;
// Mono.Security.Protocol.Tls.Handshake.HandshakeMessage
struct HandshakeMessage_t3938752374;
// Mono.Security.Protocol.Tls.TlsStream
struct TlsStream_t4089752859;
// Mono.Security.Protocol.Tls.ClientSessionInfo
struct ClientSessionInfo_t3468069089;
// Mono.Security.Protocol.Tls.TlsServerSettings
struct TlsServerSettings_t403340211;
// Mono.Security.Protocol.Tls.TlsClientSettings
struct TlsClientSettings_t2311449551;
// Mono.Security.Protocol.Tls.RecordProtocol
struct RecordProtocol_t3166895267;
// Mono.Security.Protocol.Tls.SecurityParameters
struct SecurityParameters_t2290372928;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate
struct TlsClientCertificate_t2537917473;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify
struct TlsClientCertificateVerify_t4150496570;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished
struct TlsClientFinished_t3939745042;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello
struct TlsClientHello_t2939633944;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange
struct TlsClientKeyExchange_t3808761250;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate
struct TlsServerCertificate_t905088469;
// Mono.Security.X509.X509Certificate
struct X509Certificate_t324051958;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest
struct TlsServerCertificateRequest_t2187269356;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished
struct TlsServerFinished_t1869592958;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello
struct TlsServerHello_t1289300668;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone
struct TlsServerHelloDone_t530021076;
// Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange
struct TlsServerKeyExchange_t2172608670;
// Mono.Security.Protocol.Tls.HttpsClientStream
struct HttpsClientStream_t3823629320;
// System.Net.HttpWebRequest
struct HttpWebRequest_t1951404513;
// System.Security.Cryptography.AsymmetricAlgorithm
struct AsymmetricAlgorithm_t784058677;
// Mono.Security.Protocol.Tls.PrivateKeySelectionCallback
struct PrivateKeySelectionCallback_t1663566523;
// Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult
struct ReceiveRecordAsyncResult_t1946181211;
// System.Exception
struct Exception_t1927440687;
// System.Threading.WaitHandle
struct WaitHandle_t677569169;
// Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult
struct SendRecordAsyncResult_t173216930;
// Mono.Security.Protocol.Tls.RSASslSignatureDeformatter
struct RSASslSignatureDeformatter_t389653629;
// Mono.Security.Protocol.Tls.RSASslSignatureFormatter
struct RSASslSignatureFormatter_t1282301050;
// Mono.Security.Protocol.Tls.SslHandshakeHash
struct SslHandshakeHash_t3044322977;
// Mono.Security.Protocol.Tls.SslStreamBase
struct SslStreamBase_t934199321;
// Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult
struct InternalAsyncResult_t1610391122;
// Mono.Security.Protocol.Tls.TlsException
struct TlsException_t583514812;
// System.Runtime.Serialization.SerializationInfo
struct SerializationInfo_t228987430;
// Mono.Security.Protocol.Tls.Handshake.ClientCertificateType[]
struct ClientCertificateTypeU5BU5D_t2397899623;
// System.String[]
struct StringU5BU5D_t1642385972;
// Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension
struct AuthorityKeyIdentifierExtension_t795428182;
// Mono.Security.X509.X509Extension
struct X509Extension_t1439760128;
// Mono.Security.X509.Extensions.BasicConstraintsExtension
struct BasicConstraintsExtension_t3608227951;

#include "class-internals.h"
#include "codegen/il2cpp-codegen.h"
#include "mscorlib_System_Array3829468939.h"
#include "Mono_Security_U3CModuleU3E3783534214.h"
#include "Mono_Security_U3CModuleU3E3783534214MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E1486305137.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E1486305137MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3672778802.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3672778802MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1703410334.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1703410334MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2540610921.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2540610921MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2038352954.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2038352954MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1892466092.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1892466092MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3672778804.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U3672778804MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1957337331.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U1957337331MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2896841275.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2896841275MethodDeclarations.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2866209745.h"
#include "Mono_Security_U3CPrivateImplementationDetailsU3E_U2866209745MethodDeclarations.h"
#include "Mono_Security_Locale4255929014.h"
#include "Mono_Security_Locale4255929014MethodDeclarations.h"
#include "mscorlib_System_String2029220233.h"
#include "Mono_Security_Mono_Math_BigInteger925946152.h"
#include "Mono_Security_Mono_Math_BigInteger925946152MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_Sign874893935.h"
#include "mscorlib_System_Void1841601450.h"
#include "mscorlib_System_UInt322149682021.h"
#include "mscorlib_System_Object2689449295MethodDeclarations.h"
#include "mscorlib_ArrayTypes.h"
#include "mscorlib_System_Array3829468939MethodDeclarations.h"
#include "mscorlib_System_Object2689449295.h"
#include "mscorlib_System_Byte3683104436.h"
#include "mscorlib_System_Int322071877448.h"
#include "mscorlib_System_Runtime_CompilerServices_RuntimeHel266230107MethodDeclarations.h"
#include "mscorlib_System_RuntimeFieldHandle2331729674.h"
#include "mscorlib_System_Security_Cryptography_RandomNumber2510243513.h"
#include "mscorlib_System_Security_Cryptography_RandomNumber2510243513MethodDeclarations.h"
#include "mscorlib_System_Buffer3497320070MethodDeclarations.h"
#include "mscorlib_System_Boolean3825574718.h"
#include "mscorlib_System_IndexOutOfRangeException3527622107MethodDeclarations.h"
#include "mscorlib_System_IndexOutOfRangeException3527622107.h"
#include "mscorlib_System_String2029220233MethodDeclarations.h"
#include "mscorlib_System_ArgumentException3259014390MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_Kernel1353186455MethodDeclarations.h"
#include "mscorlib_System_ArgumentException3259014390.h"
#include "mscorlib_System_Char3454481338.h"
#include "Mono_Security_Mono_Math_BigInteger_ModulusRing80355991MethodDeclarations.h"
#include "Mono_Security_Mono_Math_BigInteger_ModulusRing80355991.h"
#include "Mono_Security_Mono_Math_Prime_Generator_SequentialS463670656MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_Generator_SequentialS463670656.h"
#include "mscorlib_System_ArgumentOutOfRangeException279959794MethodDeclarations.h"
#include "mscorlib_System_ArgumentOutOfRangeException279959794.h"
#include "mscorlib_System_ArithmeticException3261462543MethodDeclarations.h"
#include "mscorlib_System_Exception1927440687MethodDeclarations.h"
#include "mscorlib_System_ArithmeticException3261462543.h"
#include "mscorlib_System_Exception1927440687.h"
#include "Mono.Security_ArrayTypes.h"
#include "Mono_Security_Mono_Math_BigInteger_Kernel1353186455.h"
#include "mscorlib_System_UInt642909196914.h"
#include "Mono_Security_Mono_Math_BigInteger_Sign874893935MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_ConfidenceFactor1997037801.h"
#include "Mono_Security_Mono_Math_Prime_ConfidenceFactor1997037801MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_Generator_PrimeGener1053438167.h"
#include "Mono_Security_Mono_Math_Prime_Generator_PrimeGener1053438167MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTest572679901.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTest572679901MethodDeclarations.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTests3283102398.h"
#include "Mono_Security_Mono_Math_Prime_PrimalityTests3283102398MethodDeclarations.h"
#include "mscorlib_System_IntPtr2504060609.h"
#include "mscorlib_System_AsyncCallback163412349.h"
#include "Mono_Security_Mono_Security_ASN1924533535.h"
#include "Mono_Security_Mono_Security_ASN1924533535MethodDeclarations.h"
#include "mscorlib_System_NotSupportedException1793819818MethodDeclarations.h"
#include "mscorlib_System_NotSupportedException1793819818.h"
#include "mscorlib_System_Collections_ArrayList4252133567.h"
#include "mscorlib_System_Collections_ArrayList4252133567MethodDeclarations.h"
#include "mscorlib_System_Text_StringBuilder1221177846MethodDeclarations.h"
#include "mscorlib_System_Environment3662374671MethodDeclarations.h"
#include "mscorlib_System_Text_StringBuilder1221177846.h"
#include "mscorlib_System_Byte3683104436MethodDeclarations.h"
#include "Mono_Security_Mono_Security_ASN1Convert3301846396.h"
#include "Mono_Security_Mono_Security_ASN1Convert3301846396MethodDeclarations.h"
#include "Mono_Security_Mono_Security_BitConverterLE2825370260MethodDeclarations.h"
#include "mscorlib_System_ArgumentNullException628810857MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_CryptoConfig896479599MethodDeclarations.h"
#include "mscorlib_System_ArgumentNullException628810857.h"
#include "mscorlib_System_FormatException2948921286MethodDeclarations.h"
#include "mscorlib_System_FormatException2948921286.h"
#include "mscorlib_System_Globalization_CultureInfo3500843524MethodDeclarations.h"
#include "mscorlib_System_Globalization_CultureInfo3500843524.h"
#include "mscorlib_System_UInt642909196914MethodDeclarations.h"
#include "mscorlib_System_DateTime693205669.h"
#include "mscorlib_System_Text_Encoding663144255MethodDeclarations.h"
#include "mscorlib_System_Convert2607082565MethodDeclarations.h"
#include "mscorlib_System_DateTime693205669MethodDeclarations.h"
#include "mscorlib_System_Text_Encoding663144255.h"
#include "mscorlib_System_Int164041245914.h"
#include "mscorlib_System_Globalization_DateTimeStyles370343085.h"
#include "Mono_Security_Mono_Security_BitConverterLE2825370260.h"
#include "mscorlib_System_BitConverter3195628829.h"
#include "mscorlib_System_BitConverter3195628829MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_ARC4Manag3379271383.h"
#include "Mono_Security_Mono_Security_Cryptography_ARC4Manag3379271383MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RC42789934315MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SymmetricAlg1108166522MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SymmetricAlg1108166522.h"
#include "mscorlib_System_GC2902933594MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RC42789934315.h"
#include "Mono_Security_Mono_Security_Cryptography_KeyBuilde3965881084MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_CryptoCon4146607874.h"
#include "Mono_Security_Mono_Security_Cryptography_CryptoCon4146607874MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_HMAC2707728663.h"
#include "Mono_Security_Mono_Security_Cryptography_HMAC2707728663MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_KeyedHashAlg1374150027MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_HashAlgorith2624936259MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_HashAlgorith2624936259.h"
#include "mscorlib_System_Security_Cryptography_KeyedHashAlg1374150027.h"
#include "Mono_Security_Mono_Security_Cryptography_KeyBuilde3965881084.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2726199179.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2726199179MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2Manage1421454332MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD2Manage1421454332.h"
#include "Mono_Security_Mono_Security_Cryptography_MD41888998593.h"
#include "Mono_Security_Mono_Security_Cryptography_MD41888998593MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4Manage2176273562MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_MD4Manage2176273562.h"
#include "Mono_Security_Mono_Security_Cryptography_MD5SHA13340472487.h"
#include "Mono_Security_Mono_Security_Cryptography_MD5SHA13340472487MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_MD51507972490MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_SHA13336793149MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_MD51507972490.h"
#include "mscorlib_System_Security_Cryptography_SHA13336793149.h"
#include "mscorlib_System_Security_Cryptography_RSA3719518354.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi4184064416MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSig1282301050MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSig1282301050.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi4184064416.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricAlg784058677.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSign389653629MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RSASslSign389653629.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS13312870480.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS13312870480MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSA3719518354MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricAlg784058677MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi3349726436MethodDeclarations.h"
#include "mscorlib_System_Math2022911894MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Cryptographi3349726436.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS82103016899.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS82103016899MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Enc1722354997.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Enc1722354997MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Priva92917103.h"
#include "Mono_Security_Mono_Security_Cryptography_PKCS8_Priva92917103MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_CspParameters46065560MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSACryptoSer4229286967MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSAParameter1462703416.h"
#include "mscorlib_System_Security_Cryptography_CspParameters46065560.h"
#include "mscorlib_System_Security_Cryptography_CspProviderFl105264000.h"
#include "mscorlib_System_Security_Cryptography_RSACryptoSer4229286967.h"
#include "mscorlib_System_Security_Cryptography_DSAParameter1872138834.h"
#include "mscorlib_System_Security_Cryptography_DSA903174880.h"
#include "mscorlib_System_Security_Cryptography_DSA903174880MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_KeySizes3144736271.h"
#include "mscorlib_System_Security_Cryptography_KeySizes3144736271MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage3034748747.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManage3034748747MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManaged108853709MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Cryptography_RSAManaged108853709.h"
#include "mscorlib_System_EventArgs3289624707.h"
#include "mscorlib_System_ObjectDisposedException2695136451MethodDeclarations.h"
#include "mscorlib_System_ObjectDisposedException2695136451.h"
#include "Mono_Security_Mono_Security_PKCS73223261922.h"
#include "Mono_Security_Mono_Security_PKCS73223261922MethodDeclarations.h"
#include "Mono_Security_Mono_Security_PKCS7_ContentInfo1443605387.h"
#include "Mono_Security_Mono_Security_PKCS7_ContentInfo1443605387MethodDeclarations.h"
#include "Mono_Security_Mono_Security_PKCS7_EncryptedData2656813772.h"
#include "Mono_Security_Mono_Security_PKCS7_EncryptedData2656813772MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Alert3405955216.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Alert3405955216MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertDescr844791462.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertLeve1706602846.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertDescr844791462MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_AlertLeve1706602846MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3721235490.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3721235490MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat1197680765.h"
#include "mscorlib_System_Security_Cryptography_X509Certifica283079845.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certificat989458295.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certificat989458295MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3318447433.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Certifica3318447433MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509CertificateCo3592472865.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Validatio1782558132.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherAlg4212518094.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherAlg4212518094MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit491456551.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSuit491456551MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HashAlgor1654661965.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ExchangeAl954949548.h"
#include "mscorlib_System_Security_Cryptography_CipherMode162592484.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Context4285182719.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Context4285182719MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientCon3002158488MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientCon3002158488.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsStream4089752859MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsStream4089752859.h"
#include "mscorlib_System_Int64909078037.h"
#include "mscorlib_System_Security_Cryptography_DES1353513560MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RC23410342145MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_TripleDES243950698MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_Rijndael2154803531MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP2290372928MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_DES1353513560.h"
#include "mscorlib_System_Security_Cryptography_RC23410342145.h"
#include "mscorlib_System_Security_Cryptography_TripleDES243950698.h"
#include "mscorlib_System_Security_Cryptography_Rijndael2154803531.h"
#include "mscorlib_System_Security_Cryptography_PaddingMode3032142640.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityP2290372928.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui2431504453.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui2431504453MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityPr155967584.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsCipherS396038680MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslCipher1404755603MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsCipherS396038680.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslCipher1404755603.h"
#include "mscorlib_System_Globalization_CompareInfo2310920157.h"
#include "mscorlib_System_Globalization_CompareInfo2310920157MethodDeclarations.h"
#include "mscorlib_System_Globalization_CompareOptions2829943955.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui3273693255.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_CipherSui3273693255MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslClient3918817353.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsClient2311449551MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsClient2311449551.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientRec2694504884.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientRec2694504884MethodDeclarations.h"
#include "mscorlib_System_IO_Stream3255436806.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro3166895267MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2540099417.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3938752374.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3938752374MethodDeclarations.h"
#include "mscorlib_System_IO_Stream3255436806MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2939633944MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2537917473MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3808761250MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4150496570MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3939745042MethodDeclarations.h"
#include "mscorlib_System_InvalidOperationException721527559MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro3166895267.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2939633944.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2537917473.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3808761250.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4150496570.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake3939745042.h"
#include "mscorlib_System_Enum2459695545MethodDeclarations.h"
#include "mscorlib_System_Enum2459695545.h"
#include "mscorlib_System_InvalidOperationException721527559.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1289300668MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_905088469MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2172608670MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2187269356MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_530021076MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1869592958MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsExcepti583514812MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1820731088.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1289300668.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_905088469.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2172608670.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2187269356.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake_530021076.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1869592958.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsExcepti583514812.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes3595945587.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes3595945587MethodDeclarations.h"
#include "mscorlib_System_Collections_Hashtable909839986MethodDeclarations.h"
#include "mscorlib_System_Collections_Hashtable909839986.h"
#include "mscorlib_System_Threading_Monitor3228523394MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes3468069089MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ClientSes3468069089.h"
#include "mscorlib_System_Int322071877448MethodDeclarations.h"
#include "mscorlib_System_Double4078015681.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ContentTyp859870085.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ContentTyp859870085MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsServerS403340211MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityC3722381418.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_TlsServerS403340211.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ExchangeAl954949548MethodDeclarations.h"
#include "mscorlib_System_Collections_CollectionBase1101587467MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509CertificateCo3592472865MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_X509Certifica283079845MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslClient3918817353MethodDeclarations.h"
#include "mscorlib_System_Collections_CollectionBase1101587467.h"
#include "Mono_Security_Mono_Security_X509_X509Certificate324051957.h"
#include "Mono_Security_Mono_Security_X509_X509Certificate324051957MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat1197680765MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat1208230922MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificat1208230922.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslHandsh3044322977MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslHandsh3044322977.h"
#include "mscorlib_System_NotImplementedException2785117854.h"
#include "mscorlib_System_Security_Cryptography_RSAPKCS1KeyE4167037264MethodDeclarations.h"
#include "mscorlib_System_Security_Cryptography_RSAPKCS1KeyE4167037264.h"
#include "Mono_Security_Mono_Security_X509_X509ExtensionColl1640144839MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsa1909787375MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Extend3816993686MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca3880736488MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsag530589947.h"
#include "Mono_Security_Mono_Security_X509_Extensions_KeyUsa1909787375.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Extend3816993686.h"
#include "Mono_Security_Mono_Security_X509_X509Extension1439760127.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca3880736488.h"
#include "Mono_Security_Mono_Security_X509_X509ExtensionColl1640144839.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Netsca3955735183.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Validatio1782558132MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Chain1938971907MethodDeclarations.h"
#include "mscorlib_System_Type1303803226MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Chain1938971907.h"
#include "Mono_Security_Mono_Security_X509_X509ChainStatusFl2843686920.h"
#include "mscorlib_System_Type1303803226.h"
#include "mscorlib_System_RuntimeTypeHandle2330101084.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Subject604050261MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Subject604050261.h"
#include "System_System_Text_RegularExpressions_Regex1803876613MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_MatchCollect3718216671MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Group3761430853MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_GroupCollecti939014605MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Capture4157900610MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_Regex1803876613.h"
#include "System_System_Text_RegularExpressions_MatchCollect3718216671.h"
#include "System_System_Text_RegularExpressions_Match3164245899.h"
#include "System_System_Text_RegularExpressions_Match3164245899MethodDeclarations.h"
#include "System_System_Text_RegularExpressions_GroupCollecti939014605.h"
#include "System_System_Text_RegularExpressions_Group3761430853.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4001384466.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake4001384466MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake2540099417MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_Handshake1820731088MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HashAlgor1654661965MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HttpsClie3823629320.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_HttpsClie3823629320MethodDeclarations.h"
#include "System_System_Net_HttpWebRequest1951404513.h"
#include "System_System_Net_HttpWebRequest1951404513MethodDeclarations.h"
#include "System_System_Uri19570940MethodDeclarations.h"
#include "System_System_Net_ServicePointManager745663000MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStreamB934199321MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_PrivateKe1663566523MethodDeclarations.h"
#include "System_System_Uri19570940.h"
#include "System_System_Net_SecurityProtocolType3099771628.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_PrivateKe1663566523.h"
#include "System_System_Security_Cryptography_X509Certificat4056456767MethodDeclarations.h"
#include "System_System_Security_Cryptography_X509Certificate777637347MethodDeclarations.h"
#include "System_System_Net_Security_RemoteCertificateValida2756269959MethodDeclarations.h"
#include "System_System_Net_ServicePoint2765344313.h"
#include "System_System_Net_Security_RemoteCertificateValida2756269959.h"
#include "System_System_Net_Security_SslPolicyErrors1928581431.h"
#include "System_System_Security_Cryptography_X509Certificat4056456767.h"
#include "System_System_Security_Cryptography_X509Certificate777637347.h"
#include "System_System_Net_WebRequest1365124353.h"
#include "mscorlib_System_Threading_ManualResetEvent926074657MethodDeclarations.h"
#include "mscorlib_System_Threading_ManualResetEvent926074657.h"
#include "mscorlib_System_Threading_EventWaitHandle2091316307MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro1946181211MethodDeclarations.h"
#include "mscorlib_System_AsyncCallback163412349MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordPro1946181211.h"
#include "mscorlib_System_Threading_WaitHandle677569169.h"
#include "mscorlib_System_Threading_WaitHandle677569169MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordProt173216930MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_RecordProt173216930.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ServerCon3823737132.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricSi3580832979MethodDeclarations.h"
#include "mscorlib_System_Collections_Generic_Dictionary_2_g3986656710MethodDeclarations.h"
#include "mscorlib_System_Collections_Generic_Dictionary_2_g3986656710.h"
#include "mscorlib_System_Security_Cryptography_AsymmetricSi4058014248MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityC3722381418MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SecurityPr155967584MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_ServerCon3823737132MethodDeclarations.h"
#include "mscorlib_System_Char3454481338MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStreamB934199321.h"
#include "mscorlib_System_Delegate3022476291MethodDeclarations.h"
#include "mscorlib_System_Delegate3022476291.h"
#include "mscorlib_System_IO_MemoryStream743994179.h"
#include "mscorlib_System_IO_IOException2458421087MethodDeclarations.h"
#include "mscorlib_System_IO_IOException2458421087.h"
#include "mscorlib_System_IO_MemoryStream743994179MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStream1610391122MethodDeclarations.h"
#include "Mono_Security_Mono_Security_Protocol_Tls_SslStream1610391122.h"
#include "mscorlib_System_IO_SeekOrigin2475945306.h"
#include "mscorlib_System_Runtime_Serialization_Serialization228987430.h"
#include "mscorlib_System_Runtime_Serialization_StreamingCon1417235061.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Authori795428182.h"
#include "Mono_Security_Mono_Security_X509_Extensions_Authori795428182MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_X509Extension1439760127MethodDeclarations.h"
#include "Mono_Security_Mono_Security_X509_Extensions_BasicC3608227951.h"
#include "Mono_Security_Mono_Security_X509_Extensions_BasicC3608227951MethodDeclarations.h"

#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winvalid-offsetof"
#pragma clang diagnostic ignored "-Wunused-variable"
#endif
// System.String Locale::GetText(System.String)
extern "C"  String_t* Locale_GetText_m1644072174 (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_t59386216_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m4013661868_MetadataUsageId;
extern "C"  void BigInteger__ctor_m4013661868 (BigInteger_t925946153 * __this, int32_t ___sign0, uint32_t ___len1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m4013661868_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		uint32_t L_0 = ___len1;
		__this->set_data_1(((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_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_t59386216_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m2991182310_MetadataUsageId;
extern "C"  void BigInteger__ctor_m2991182310 (BigInteger_t925946153 * __this, BigInteger_t925946153 * ___bi0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m2991182310_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_0 = ___bi0;
		UInt32U5BU5D_t59386216* L_1 = L_0->get_data_1();
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		__this->set_data_1(((UInt32U5BU5D_t59386216*)Castclass(L_2, UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var)));
		BigInteger_t925946153 * 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_t59386216_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m3239748086_MetadataUsageId;
extern "C"  void BigInteger__ctor_m3239748086 (BigInteger_t925946153 * __this, BigInteger_t925946153 * ___bi0, uint32_t ___len1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m3239748086_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	uint32_t V_0 = 0;
	{
		__this->set_length_0(1);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		uint32_t L_0 = ___len1;
		__this->set_data_1(((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)(((uintptr_t)L_0)))));
		V_0 = 0;
		goto IL_0037;
	}

IL_0021:
	{
		UInt32U5BU5D_t59386216* L_1 = __this->get_data_1();
		uint32_t L_2 = V_0;
		BigInteger_t925946153 * L_3 = ___bi0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_6));
		(L_1)->SetAtUnchecked(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_t925946153 * 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_t925946153 * 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_t59386216_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m2998639688_MetadataUsageId;
extern "C"  void BigInteger__ctor_m2998639688 (BigInteger_t925946153 * __this, ByteU5BU5D_t3397334013* ___inData0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m2998639688_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_m2551263788(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___inData0;
		__this->set_length_0(((int32_t)((uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))>>2)));
		ByteU5BU5D_t3397334013* 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_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)(((uintptr_t)L_4)))));
		ByteU5BU5D_t3397334013* 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_t59386216* L_6 = __this->get_data_1();
		int32_t L_7 = V_2;
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_10));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_14));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_18));
		ByteU5BU5D_t3397334013* L_20 = ___inData0;
		int32_t L_21 = V_1;
		int32_t L_22 = L_21;
		uint8_t L_23 = (L_20)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_22));
		(L_6)->SetAtUnchecked(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_t59386216* L_29 = __this->get_data_1();
		uint32_t L_30 = __this->get_length_0();
		ByteU5BU5D_t3397334013* L_31 = ___inData0;
		int32_t L_32 = 0;
		uint8_t L_33 = (L_31)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_32));
		(L_29)->SetAtUnchecked(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_t59386216* L_34 = __this->get_data_1();
		uint32_t L_35 = __this->get_length_0();
		ByteU5BU5D_t3397334013* L_36 = ___inData0;
		int32_t L_37 = 0;
		uint8_t L_38 = (L_36)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_37));
		ByteU5BU5D_t3397334013* L_39 = ___inData0;
		int32_t L_40 = 1;
		uint8_t L_41 = (L_39)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_40));
		(L_34)->SetAtUnchecked(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_t59386216* L_42 = __this->get_data_1();
		uint32_t L_43 = __this->get_length_0();
		ByteU5BU5D_t3397334013* L_44 = ___inData0;
		int32_t L_45 = 0;
		uint8_t L_46 = (L_44)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_45));
		ByteU5BU5D_t3397334013* L_47 = ___inData0;
		int32_t L_48 = 1;
		uint8_t L_49 = (L_47)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_48));
		ByteU5BU5D_t3397334013* L_50 = ___inData0;
		int32_t L_51 = 2;
		uint8_t L_52 = (L_50)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_51));
		(L_42)->SetAtUnchecked(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_m1262742386(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Math.BigInteger::.ctor(System.UInt32)
extern Il2CppClass* UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger__ctor_m3787562545_MetadataUsageId;
extern "C"  void BigInteger__ctor_m3787562545 (BigInteger_t925946153 * __this, uint32_t ___ui0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__ctor_m3787562545_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_length_0(1);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* L_0 = ((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)1));
		uint32_t L_1 = ___ui0;
		(L_0)->SetAtUnchecked(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_t59386216_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D0_0_FieldInfo_var;
extern const uint32_t BigInteger__cctor_m3631692756_MetadataUsageId;
extern "C"  void BigInteger__cctor_m3631692756 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger__cctor_m3631692756_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		UInt32U5BU5D_t59386216* L_0 = ((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)((int32_t)783)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D0_0_FieldInfo_var), /*hidden argument*/NULL);
		((BigInteger_t925946153_StaticFields*)BigInteger_t925946153_il2cpp_TypeInfo_var->static_fields)->set_smallPrimes_2(L_0);
		return;
	}
}
// System.Security.Cryptography.RandomNumberGenerator Mono.Math.BigInteger::get_Rng()
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_get_Rng_m2525288368_MetadataUsageId;
extern "C"  RandomNumberGenerator_t2510243513 * BigInteger_get_Rng_m2525288368 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_get_Rng_m2525288368_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t2510243513 * L_0 = ((BigInteger_t925946153_StaticFields*)BigInteger_t925946153_il2cpp_TypeInfo_var->static_fields)->get_rng_3();
		if (L_0)
		{
			goto IL_0014;
		}
	}
	{
		RandomNumberGenerator_t2510243513 * L_1 = RandomNumberGenerator_Create_m2275686895(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		((BigInteger_t925946153_StaticFields*)BigInteger_t925946153_il2cpp_TypeInfo_var->static_fields)->set_rng_3(L_1);
	}

IL_0014:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t2510243513 * L_2 = ((BigInteger_t925946153_StaticFields*)BigInteger_t925946153_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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GenerateRandom_m714043984_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_GenerateRandom_m714043984 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, RandomNumberGenerator_t2510243513 * ___rng1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GenerateRandom_m714043984_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t925946153 * V_2 = NULL;
	ByteU5BU5D_t3397334013* 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_t925946153 * L_5 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)L_6<<(int32_t)2))));
		RandomNumberGenerator_t2510243513 * L_7 = ___rng1;
		ByteU5BU5D_t3397334013* L_8 = V_3;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_7, L_8);
		ByteU5BU5D_t3397334013* L_9 = V_3;
		BigInteger_t925946153 * L_10 = V_2;
		UInt32U5BU5D_t59386216* L_11 = L_10->get_data_1();
		int32_t L_12 = V_0;
		Buffer_BlockCopy_m1586717258(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_t925946153 * L_15 = V_2;
		UInt32U5BU5D_t59386216* L_16 = L_15->get_data_1();
		int32_t L_17 = V_0;
		uint32_t* L_18 = ((L_16)->GetAddressAtUnchecked(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_t925946153 * L_21 = V_2;
		UInt32U5BU5D_t59386216* L_22 = L_21->get_data_1();
		int32_t L_23 = V_0;
		uint32_t* L_24 = ((L_22)->GetAddressAtUnchecked(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_t925946153 * L_26 = V_2;
		UInt32U5BU5D_t59386216* L_27 = L_26->get_data_1();
		int32_t L_28 = V_0;
		uint32_t* L_29 = ((L_27)->GetAddressAtUnchecked(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_t925946153 * L_30 = V_2;
		BigInteger_Normalize_m1262742386(L_30, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_31 = V_2;
		return L_31;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::GenerateRandom(System.Int32)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GenerateRandom_m1878468830_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_GenerateRandom_m1878468830 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GenerateRandom_m1878468830_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___bits0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		RandomNumberGenerator_t2510243513 * L_1 = BigInteger_get_Rng_m2525288368(NULL /*static, unused*/, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_2 = BigInteger_GenerateRandom_m714043984(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_m1334731567 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	{
		BigInteger_Normalize_m1262742386(__this, /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t3527622107_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3327183165;
extern const uint32_t BigInteger_TestBit_m2460344121_MetadataUsageId;
extern "C"  bool BigInteger_TestBit_m2460344121 (BigInteger_t925946153 * __this, int32_t ___bitNum0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_TestBit_m2460344121_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t3527622107 * L_1 = (IndexOutOfRangeException_t3527622107 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3527622107_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1847153122(L_1, _stringLiteral3327183165, /*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_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		uint32_t L_9 = V_2;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_m426619300 (BigInteger_t925946153 * __this, uint32_t ___bitNum0, const MethodInfo* method)
{
	{
		uint32_t L_0 = ___bitNum0;
		BigInteger_SetBit_m576108355(__this, L_0, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Math.BigInteger::SetBit(System.UInt32,System.Boolean)
extern "C"  void BigInteger_SetBit_m576108355 (BigInteger_t925946153 * __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_t59386216* L_5 = __this->get_data_1();
		uint32_t L_6 = V_0;
		uint32_t* L_7 = ((L_5)->GetAddressAtUnchecked(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_t59386216* L_9 = __this->get_data_1();
		uint32_t L_10 = V_0;
		uint32_t* L_11 = ((L_9)->GetAddressAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_LowestSetBit_m1146240832_MetadataUsageId;
extern "C"  int32_t BigInteger_LowestSetBit_m1146240832 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_LowestSetBit_m1146240832_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_0 = BigInteger_op_Equality_m2683055762(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_m2460344121(__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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GetBytes_m767422614_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* BigInteger_GetBytes_m767422614 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GetBytes_m767422614_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t3397334013* 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_t925946153_il2cpp_TypeInfo_var);
		bool L_0 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, __this, 0, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0013;
		}
	}
	{
		return ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)1));
	}

IL_0013:
	{
		int32_t L_1 = BigInteger_BitCount_m1334731567(__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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_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_t59386216* L_9 = __this->get_data_1();
		int32_t L_10 = V_5;
		int32_t L_11 = L_10;
		uint32_t L_12 = (L_9)->GetAtUnchecked(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_t3397334013* L_14 = V_2;
		int32_t L_15 = V_4;
		int32_t L_16 = V_7;
		uint32_t L_17 = V_6;
		(L_14)->SetAtUnchecked(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_t3397334013* L_25 = V_2;
		return L_25;
	}
}
// System.String Mono.Math.BigInteger::ToString(System.UInt32)
extern Il2CppCodeGenString* _stringLiteral2201430650;
extern const uint32_t BigInteger_ToString_m1842353154_MetadataUsageId;
extern "C"  String_t* BigInteger_ToString_m1842353154 (BigInteger_t925946153 * __this, uint32_t ___radix0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ToString_m1842353154_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		uint32_t L_0 = ___radix0;
		String_t* L_1 = BigInteger_ToString_m2878297110(__this, L_0, _stringLiteral2201430650, /*hidden argument*/NULL);
		return L_1;
	}
}
// System.String Mono.Math.BigInteger::ToString(System.UInt32,System.String)
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Char_t3454481338_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2724263200;
extern Il2CppCodeGenString* _stringLiteral3203804411;
extern Il2CppCodeGenString* _stringLiteral423328942;
extern Il2CppCodeGenString* _stringLiteral4128928268;
extern Il2CppCodeGenString* _stringLiteral372029326;
extern Il2CppCodeGenString* _stringLiteral372029325;
extern const uint32_t BigInteger_ToString_m2878297110_MetadataUsageId;
extern "C"  String_t* BigInteger_ToString_m2878297110 (BigInteger_t925946153 * __this, uint32_t ___radix0, String_t* ___characterSet1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ToString_m2878297110_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	String_t* V_0 = NULL;
	BigInteger_t925946153 * V_1 = NULL;
	uint32_t V_2 = 0;
	{
		String_t* L_0 = ___characterSet1;
		int32_t L_1 = String_get_Length_m1606060069(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_t3259014390 * L_3 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m544251339(L_3, _stringLiteral2724263200, _stringLiteral3203804411, /*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_t3259014390 * L_5 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m544251339(L_5, _stringLiteral423328942, _stringLiteral4128928268, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

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

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

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_t925946153 * L_9 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_9, __this, /*hidden argument*/NULL);
		V_1 = L_9;
		goto IL_0086;
	}

IL_006b:
	{
		BigInteger_t925946153 * L_10 = V_1;
		uint32_t L_11 = ___radix0;
		uint32_t L_12 = Kernel_SingleByteDivideInPlace_m3631295848(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_m4230566705(L_13, L_14, /*hidden argument*/NULL);
		Il2CppChar L_16 = L_15;
		Il2CppObject * L_17 = Box(Char_t3454481338_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_m56707527(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		V_0 = L_19;
	}

IL_0086:
	{
		BigInteger_t925946153 * L_20 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_21 = BigInteger_op_Inequality_m744282323(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_m1262742386 (BigInteger_t925946153 * __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_t59386216* 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)->GetAtUnchecked(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_m2734785184 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		V_0 = 0;
		goto IL_0014;
	}

IL_0007:
	{
		UInt32U5BU5D_t59386216* L_0 = __this->get_data_1();
		int32_t L_1 = V_0;
		(L_0)->SetAtUnchecked(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_m1450276268 (BigInteger_t925946153 * __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_t59386216* 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)->GetAtUnchecked(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_m2806881644 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	{
		String_t* L_0 = BigInteger_ToString_m1842353154(__this, ((int32_t)10), /*hidden argument*/NULL);
		return L_0;
	}
}
// System.Boolean Mono.Math.BigInteger::Equals(System.Object)
extern Il2CppClass* Int32_t2071877448_il2cpp_TypeInfo_var;
extern Il2CppClass* UInt32_t2149682021_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_Equals_m1886728252_MetadataUsageId;
extern "C"  bool BigInteger_Equals_m1886728252 (BigInteger_t925946153 * __this, Il2CppObject * ___o0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_Equals_m1886728252_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * 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_t2071877448_il2cpp_TypeInfo_var)))
		{
			goto IL_002f;
		}
	}
	{
		Il2CppObject * L_2 = ___o0;
		if ((((int32_t)((*(int32_t*)((int32_t*)UnBox (L_2, Int32_t2071877448_il2cpp_TypeInfo_var))))) < ((int32_t)0)))
		{
			goto IL_002d;
		}
	}
	{
		Il2CppObject * L_3 = ___o0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_4 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, __this, ((*(uint32_t*)((uint32_t*)UnBox (L_3, UInt32_t2149682021_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_t925946153 *)IsInstClass(L_5, BigInteger_t925946153_il2cpp_TypeInfo_var));
		BigInteger_t925946153 * L_6 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_7 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_6, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_0044;
		}
	}
	{
		return (bool)0;
	}

IL_0044:
	{
		BigInteger_t925946153 * L_8 = V_0;
		int32_t L_9 = Kernel_Compare_m722412638(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_t925946153 * BigInteger_ModInverse_m1881894572 (BigInteger_t925946153 * __this, BigInteger_t925946153 * ___modulus0, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___modulus0;
		BigInteger_t925946153 * L_1 = Kernel_modInverse_m3230829577(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_t80355992_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_ModPow_m1418407677_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_ModPow_m1418407677 (BigInteger_t925946153 * __this, BigInteger_t925946153 * ___exp0, BigInteger_t925946153 * ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_ModPow_m1418407677_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ModulusRing_t80355992 * V_0 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___n1;
		ModulusRing_t80355992 * L_1 = (ModulusRing_t80355992 *)il2cpp_codegen_object_new(ModulusRing_t80355992_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m630117946(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ModulusRing_t80355992 * L_2 = V_0;
		BigInteger_t925946153 * L_3 = ___exp0;
		BigInteger_t925946153 * L_4 = ModulusRing_Pow_m2489265435(L_2, __this, L_3, /*hidden argument*/NULL);
		return L_4;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::GeneratePseudoPrime(System.Int32)
extern Il2CppClass* SequentialSearchPrimeGeneratorBase_t463670657_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_GeneratePseudoPrime_m2186059270_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_GeneratePseudoPrime_m2186059270 (Il2CppObject * __this /* static, unused */, int32_t ___bits0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_GeneratePseudoPrime_m2186059270_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	SequentialSearchPrimeGeneratorBase_t463670657 * V_0 = NULL;
	{
		SequentialSearchPrimeGeneratorBase_t463670657 * L_0 = (SequentialSearchPrimeGeneratorBase_t463670657 *)il2cpp_codegen_object_new(SequentialSearchPrimeGeneratorBase_t463670657_il2cpp_TypeInfo_var);
		SequentialSearchPrimeGeneratorBase__ctor_m3982028469(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		SequentialSearchPrimeGeneratorBase_t463670657 * L_1 = V_0;
		int32_t L_2 = ___bits0;
		BigInteger_t925946153 * L_3 = VirtFuncInvoker1< BigInteger_t925946153 *, 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_m505983313 (BigInteger_t925946153 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		V_0 = 0;
		UInt32U5BU5D_t59386216* L_0 = __this->get_data_1();
		uint32_t* L_1 = ((L_0)->GetAddressAtUnchecked(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_t59386216* L_2 = __this->get_data_1();
		int32_t L_3 = 0;
		uint32_t L_4 = (L_2)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_3));
		if ((!(((uint32_t)L_4) < ((uint32_t)2))))
		{
			goto IL_0077;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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)->GetAddressAtUnchecked(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_t59386216* L_9 = __this->get_data_1();
		int32_t L_10 = V_0;
		uint32_t* L_11 = ((L_9)->GetAddressAtUnchecked(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_t59386216* 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)->GetAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Implicit_m622924526_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_op_Implicit_m622924526 (Il2CppObject * __this /* static, unused */, uint32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Implicit_m622924526_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		uint32_t L_0 = ___value0;
		BigInteger_t925946153 * L_1 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3787562545(L_1, L_0, /*hidden argument*/NULL);
		return L_1;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_Implicit(System.Int32)
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1803325615;
extern const uint32_t BigInteger_op_Implicit_m3634001681_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_op_Implicit_m3634001681 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Implicit_m3634001681_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___value0;
		if ((((int32_t)L_0) >= ((int32_t)0)))
		{
			goto IL_0012;
		}
	}
	{
		ArgumentOutOfRangeException_t279959794 * L_1 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_1, _stringLiteral1803325615, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0012:
	{
		int32_t L_2 = ___value0;
		BigInteger_t925946153 * L_3 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3787562545(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Addition_m1734797151_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_op_Addition_m1734797151 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Addition_m1734797151_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0013;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi21;
		BigInteger_t925946153 * L_3 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_3, L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_0013:
	{
		BigInteger_t925946153 * L_4 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_4, 0, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0026;
		}
	}
	{
		BigInteger_t925946153 * L_6 = ___bi10;
		BigInteger_t925946153 * L_7 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_7, L_6, /*hidden argument*/NULL);
		return L_7;
	}

IL_0026:
	{
		BigInteger_t925946153 * L_8 = ___bi10;
		BigInteger_t925946153 * L_9 = ___bi21;
		BigInteger_t925946153 * L_10 = Kernel_AddSameSign_m4087322475(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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* ArithmeticException_t3261462543_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral884742087;
extern const uint32_t BigInteger_op_Subtraction_m972393015_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_op_Subtraction_m972393015 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Subtraction_m972393015_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		BigInteger_t925946153 * L_0 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0013;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi10;
		BigInteger_t925946153 * L_3 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_3, L_2, /*hidden argument*/NULL);
		return L_3;
	}

IL_0013:
	{
		BigInteger_t925946153 * L_4 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_4, 0, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_002a;
		}
	}
	{
		ArithmeticException_t3261462543 * L_6 = (ArithmeticException_t3261462543 *)il2cpp_codegen_object_new(ArithmeticException_t3261462543_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4208398840(L_6, _stringLiteral884742087, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_002a:
	{
		BigInteger_t925946153 * L_7 = ___bi10;
		BigInteger_t925946153 * L_8 = ___bi21;
		int32_t L_9 = Kernel_Compare_m722412638(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_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_11 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_11;
	}

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

IL_005a:
	{
		ArithmeticException_t3261462543 * L_15 = (ArithmeticException_t3261462543 *)il2cpp_codegen_object_new(ArithmeticException_t3261462543_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4208398840(L_15, _stringLiteral884742087, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_15);
	}

IL_0065:
	{
		Exception_t1927440687 * L_16 = (Exception_t1927440687 *)il2cpp_codegen_object_new(Exception_t1927440687_il2cpp_TypeInfo_var);
		Exception__ctor_m3886110570(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_m2895726170 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, uint32_t ___ui1, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi0;
		uint32_t L_1 = ___ui1;
		uint32_t L_2 = Kernel_DwordMod_m978954867(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_t925946153 * BigInteger_op_Modulus_m13450242 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		BigIntegerU5BU5D_t3157146938* L_2 = Kernel_multiByteDivide_m3157480645(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		int32_t L_3 = 1;
		BigInteger_t925946153 * L_4 = (L_2)->GetAtUnchecked(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_t925946153 * BigInteger_op_Division_m4076990896 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		BigIntegerU5BU5D_t3157146938* L_2 = Kernel_multiByteDivide_m3157480645(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		int32_t L_3 = 0;
		BigInteger_t925946153 * L_4 = (L_2)->GetAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* IndexOutOfRangeException_t3527622107_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4248199938;
extern Il2CppCodeGenString* _stringLiteral1398720325;
extern const uint32_t BigInteger_op_Multiply_m1833761647_MetadataUsageId;
extern "C"  BigInteger_t925946153 * BigInteger_op_Multiply_m1833761647 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Multiply_m1833761647_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi21;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_2, 0, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_001f;
		}
	}

IL_0018:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_4 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_4;
	}

IL_001f:
	{
		BigInteger_t925946153 * L_5 = ___bi10;
		UInt32U5BU5D_t59386216* L_6 = L_5->get_data_1();
		BigInteger_t925946153 * 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_t3527622107 * L_9 = (IndexOutOfRangeException_t3527622107 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3527622107_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1847153122(L_9, _stringLiteral4248199938, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003f:
	{
		BigInteger_t925946153 * L_10 = ___bi21;
		UInt32U5BU5D_t59386216* L_11 = L_10->get_data_1();
		BigInteger_t925946153 * 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_t3527622107 * L_14 = (IndexOutOfRangeException_t3527622107 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3527622107_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1847153122(L_14, _stringLiteral1398720325, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_14);
	}

IL_005f:
	{
		BigInteger_t925946153 * L_15 = ___bi10;
		uint32_t L_16 = L_15->get_length_0();
		BigInteger_t925946153 * L_17 = ___bi21;
		uint32_t L_18 = L_17->get_length_0();
		BigInteger_t925946153 * L_19 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_19, 1, ((int32_t)((int32_t)L_16+(int32_t)L_18)), /*hidden argument*/NULL);
		V_0 = L_19;
		BigInteger_t925946153 * L_20 = ___bi10;
		UInt32U5BU5D_t59386216* L_21 = L_20->get_data_1();
		BigInteger_t925946153 * L_22 = ___bi10;
		uint32_t L_23 = L_22->get_length_0();
		BigInteger_t925946153 * L_24 = ___bi21;
		UInt32U5BU5D_t59386216* L_25 = L_24->get_data_1();
		BigInteger_t925946153 * L_26 = ___bi21;
		uint32_t L_27 = L_26->get_length_0();
		BigInteger_t925946153 * L_28 = V_0;
		UInt32U5BU5D_t59386216* L_29 = L_28->get_data_1();
		Kernel_Multiply_m1938858919(NULL /*static, unused*/, L_21, 0, L_23, L_25, 0, L_27, L_29, 0, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_30 = V_0;
		BigInteger_Normalize_m1262742386(L_30, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_31 = V_0;
		return L_31;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger::op_LeftShift(Mono.Math.BigInteger,System.Int32)
extern "C"  BigInteger_t925946153 * BigInteger_op_LeftShift_m3361632170 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, int32_t ___shiftVal1, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		int32_t L_1 = ___shiftVal1;
		BigInteger_t925946153 * L_2 = Kernel_LeftShift_m3814364702(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_t925946153 * BigInteger_op_RightShift_m852685747 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, int32_t ___shiftVal1, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		int32_t L_1 = ___shiftVal1;
		BigInteger_t925946153 * L_2 = Kernel_RightShift_m2983108719(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_m2683055762 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, uint32_t ___ui1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		if ((((int32_t)L_1) == ((int32_t)1)))
		{
			goto IL_0012;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi10;
		BigInteger_Normalize_m1262742386(L_2, /*hidden argument*/NULL);
	}

IL_0012:
	{
		BigInteger_t925946153 * L_3 = ___bi10;
		uint32_t L_4 = L_3->get_length_0();
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_002b;
		}
	}
	{
		BigInteger_t925946153 * L_5 = ___bi10;
		UInt32U5BU5D_t59386216* L_6 = L_5->get_data_1();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAtUnchecked(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_m744282323 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, uint32_t ___ui1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		if ((((int32_t)L_1) == ((int32_t)1)))
		{
			goto IL_0012;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi10;
		BigInteger_Normalize_m1262742386(L_2, /*hidden argument*/NULL);
	}

IL_0012:
	{
		BigInteger_t925946153 * L_3 = ___bi10;
		uint32_t L_4 = L_3->get_length_0();
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_002b;
		}
	}
	{
		BigInteger_t925946153 * L_5 = ___bi10;
		UInt32U5BU5D_t59386216* L_6 = L_5->get_data_1();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Equality_m3089846781_MetadataUsageId;
extern "C"  bool BigInteger_op_Equality_m3089846781 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Equality_m3089846781_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		if ((!(((Il2CppObject*)(BigInteger_t925946153 *)L_0) == ((Il2CppObject*)(BigInteger_t925946153 *)L_1))))
		{
			goto IL_0009;
		}
	}
	{
		return (bool)1;
	}

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

IL_0021:
	{
		return (bool)0;
	}

IL_0023:
	{
		BigInteger_t925946153 * L_6 = ___bi10;
		BigInteger_t925946153 * L_7 = ___bi21;
		int32_t L_8 = Kernel_Compare_m722412638(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t BigInteger_op_Inequality_m4286929594_MetadataUsageId;
extern "C"  bool BigInteger_op_Inequality_m4286929594 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BigInteger_op_Inequality_m4286929594_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		if ((!(((Il2CppObject*)(BigInteger_t925946153 *)L_0) == ((Il2CppObject*)(BigInteger_t925946153 *)L_1))))
		{
			goto IL_0009;
		}
	}
	{
		return (bool)0;
	}

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

IL_0021:
	{
		return (bool)1;
	}

IL_0023:
	{
		BigInteger_t925946153 * L_6 = ___bi10;
		BigInteger_t925946153 * L_7 = ___bi21;
		int32_t L_8 = Kernel_Compare_m722412638(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_m2492620848 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m722412638(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_m3825358479 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m722412638(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_m2643115413 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m722412638(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_m3528380540 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m722412638(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_AddSameSign_m4087322475_MetadataUsageId;
extern "C"  BigInteger_t925946153 * Kernel_AddSameSign_m4087322475 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_AddSameSign_m4087322475_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	UInt32U5BU5D_t59386216* V_0 = NULL;
	UInt32U5BU5D_t59386216* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	BigInteger_t925946153 * V_5 = NULL;
	UInt32U5BU5D_t59386216* V_6 = NULL;
	uint64_t V_7 = 0;
	bool V_8 = false;
	uint32_t V_9 = 0;
	{
		V_4 = 0;
		BigInteger_t925946153 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t925946153 * 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_t925946153 * L_4 = ___bi21;
		UInt32U5BU5D_t59386216* L_5 = L_4->get_data_1();
		V_0 = L_5;
		BigInteger_t925946153 * L_6 = ___bi21;
		uint32_t L_7 = L_6->get_length_0();
		V_3 = L_7;
		BigInteger_t925946153 * L_8 = ___bi10;
		UInt32U5BU5D_t59386216* L_9 = L_8->get_data_1();
		V_1 = L_9;
		BigInteger_t925946153 * L_10 = ___bi10;
		uint32_t L_11 = L_10->get_length_0();
		V_2 = L_11;
		goto IL_0051;
	}

IL_0035:
	{
		BigInteger_t925946153 * L_12 = ___bi10;
		UInt32U5BU5D_t59386216* L_13 = L_12->get_data_1();
		V_0 = L_13;
		BigInteger_t925946153 * L_14 = ___bi10;
		uint32_t L_15 = L_14->get_length_0();
		V_3 = L_15;
		BigInteger_t925946153 * L_16 = ___bi21;
		UInt32U5BU5D_t59386216* L_17 = L_16->get_data_1();
		V_1 = L_17;
		BigInteger_t925946153 * 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_t925946153 * L_21 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_21, 1, ((int32_t)((int32_t)L_20+(int32_t)1)), /*hidden argument*/NULL);
		V_5 = L_21;
		BigInteger_t925946153 * L_22 = V_5;
		UInt32U5BU5D_t59386216* L_23 = L_22->get_data_1();
		V_6 = L_23;
		V_7 = (((int64_t)((int64_t)0)));
	}

IL_0069:
	{
		UInt32U5BU5D_t59386216* L_24 = V_0;
		uint32_t L_25 = V_4;
		uintptr_t L_26 = (((uintptr_t)L_25));
		uint32_t L_27 = (L_24)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_26));
		UInt32U5BU5D_t59386216* L_28 = V_1;
		uint32_t L_29 = V_4;
		uintptr_t L_30 = (((uintptr_t)L_29));
		uint32_t L_31 = (L_28)->GetAtUnchecked(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_t59386216* L_33 = V_6;
		uint32_t L_34 = V_4;
		uint64_t L_35 = V_7;
		(L_33)->SetAtUnchecked(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_t59386216* L_44 = V_6;
		uint32_t L_45 = V_4;
		UInt32U5BU5D_t59386216* L_46 = V_0;
		uint32_t L_47 = V_4;
		uintptr_t L_48 = (((uintptr_t)L_47));
		uint32_t L_49 = (L_46)->GetAtUnchecked(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)->SetAtUnchecked(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_t59386216* L_57 = V_6;
		uint32_t L_58 = V_4;
		(L_57)->SetAtUnchecked(static_cast<il2cpp_array_size_t>((((uintptr_t)L_58))), (uint32_t)1);
		BigInteger_t925946153 * 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_t925946153 * 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_t59386216* L_65 = V_6;
		uint32_t L_66 = V_4;
		UInt32U5BU5D_t59386216* L_67 = V_0;
		uint32_t L_68 = V_4;
		uintptr_t L_69 = (((uintptr_t)L_68));
		uint32_t L_70 = (L_67)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_69));
		(L_65)->SetAtUnchecked(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_t925946153 * L_74 = V_5;
		BigInteger_Normalize_m1262742386(L_74, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_75 = V_5;
		return L_75;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::Subtract(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_Subtract_m2224959291_MetadataUsageId;
extern "C"  BigInteger_t925946153 * Kernel_Subtract_m2224959291 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___big0, BigInteger_t925946153 * ___small1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_Subtract_m2224959291_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	UInt32U5BU5D_t59386216* V_1 = NULL;
	UInt32U5BU5D_t59386216* V_2 = NULL;
	UInt32U5BU5D_t59386216* V_3 = NULL;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	uint32_t V_6 = 0;
	uint32_t V_7 = 0;
	{
		BigInteger_t925946153 * L_0 = ___big0;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t925946153 * L_2 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_2, 1, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		BigInteger_t925946153 * L_3 = V_0;
		UInt32U5BU5D_t59386216* L_4 = L_3->get_data_1();
		V_1 = L_4;
		BigInteger_t925946153 * L_5 = ___big0;
		UInt32U5BU5D_t59386216* L_6 = L_5->get_data_1();
		V_2 = L_6;
		BigInteger_t925946153 * L_7 = ___small1;
		UInt32U5BU5D_t59386216* L_8 = L_7->get_data_1();
		V_3 = L_8;
		V_4 = 0;
		V_5 = 0;
	}

IL_0028:
	{
		UInt32U5BU5D_t59386216* L_9 = V_3;
		uint32_t L_10 = V_4;
		uintptr_t L_11 = (((uintptr_t)L_10));
		uint32_t L_12 = (L_9)->GetAtUnchecked(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_t59386216* L_17 = V_1;
		uint32_t L_18 = V_4;
		UInt32U5BU5D_t59386216* L_19 = V_2;
		uint32_t L_20 = V_4;
		uintptr_t L_21 = (((uintptr_t)L_20));
		uint32_t L_22 = (L_19)->GetAtUnchecked(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)->SetAtUnchecked(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_t925946153 * 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_t925946153 * 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_t59386216* L_35 = V_1;
		uint32_t L_36 = V_4;
		UInt32U5BU5D_t59386216* L_37 = V_2;
		uint32_t L_38 = V_4;
		uintptr_t L_39 = (((uintptr_t)L_38));
		uint32_t L_40 = (L_37)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_39));
		(L_35)->SetAtUnchecked(static_cast<il2cpp_array_size_t>((((uintptr_t)L_36))), (uint32_t)((int32_t)((int32_t)L_40-(int32_t)1)));
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_44));
		if (L_45)
		{
			goto IL_00b7;
		}
	}
	{
		uint32_t L_46 = V_4;
		BigInteger_t925946153 * 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_t925946153 * 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_t59386216* L_52 = V_1;
		uint32_t L_53 = V_4;
		UInt32U5BU5D_t59386216* L_54 = V_2;
		uint32_t L_55 = V_4;
		uintptr_t L_56 = (((uintptr_t)L_55));
		uint32_t L_57 = (L_54)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_56));
		(L_52)->SetAtUnchecked(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_t925946153 * 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_t925946153 * L_62 = V_0;
		BigInteger_Normalize_m1262742386(L_62, /*hidden argument*/NULL);
		BigInteger_t925946153 * 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_m1637138341 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___big0, BigInteger_t925946153 * ___small1, const MethodInfo* method)
{
	UInt32U5BU5D_t59386216* V_0 = NULL;
	UInt32U5BU5D_t59386216* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	uint32_t V_5 = 0;
	{
		BigInteger_t925946153 * L_0 = ___big0;
		UInt32U5BU5D_t59386216* L_1 = L_0->get_data_1();
		V_0 = L_1;
		BigInteger_t925946153 * L_2 = ___small1;
		UInt32U5BU5D_t59386216* L_3 = L_2->get_data_1();
		V_1 = L_3;
		V_2 = 0;
		V_3 = 0;
	}

IL_0012:
	{
		UInt32U5BU5D_t59386216* L_4 = V_1;
		uint32_t L_5 = V_2;
		uintptr_t L_6 = (((uintptr_t)L_5));
		uint32_t L_7 = (L_4)->GetAtUnchecked(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_t59386216* L_12 = V_0;
		uint32_t L_13 = V_2;
		uint32_t* L_14 = ((L_12)->GetAddressAtUnchecked(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_t925946153 * 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_t925946153 * 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_t59386216* L_27 = V_0;
		uint32_t L_28 = V_2;
		uint32_t* L_29 = ((L_27)->GetAddressAtUnchecked(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_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_33));
		if (L_34)
		{
			goto IL_0097;
		}
	}
	{
		uint32_t L_35 = V_2;
		BigInteger_t925946153 * 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_t925946153 * L_38 = ___big0;
		BigInteger_t925946153 * 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_t925946153 * L_41 = ___big0;
		uint32_t L_42 = L_41->get_length_0();
		if ((!(((uint32_t)L_42) > ((uint32_t)0))))
		{
			goto IL_00cb;
		}
	}
	{
		BigInteger_t925946153 * L_43 = ___big0;
		UInt32U5BU5D_t59386216* L_44 = L_43->get_data_1();
		BigInteger_t925946153 * 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_47));
		if (!L_48)
		{
			goto IL_009c;
		}
	}

IL_00cb:
	{
		BigInteger_t925946153 * L_49 = ___big0;
		uint32_t L_50 = L_49->get_length_0();
		if (L_50)
		{
			goto IL_00e4;
		}
	}
	{
		BigInteger_t925946153 * L_51 = ___big0;
		BigInteger_t925946153 * 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_m2259390883 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	UInt32U5BU5D_t59386216* V_0 = NULL;
	UInt32U5BU5D_t59386216* V_1 = NULL;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	uint32_t V_4 = 0;
	bool V_5 = false;
	UInt32U5BU5D_t59386216* 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_t925946153 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t925946153 * 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_t925946153 * L_4 = ___bi21;
		UInt32U5BU5D_t59386216* L_5 = L_4->get_data_1();
		V_0 = L_5;
		BigInteger_t925946153 * L_6 = ___bi21;
		uint32_t L_7 = L_6->get_length_0();
		V_3 = L_7;
		BigInteger_t925946153 * L_8 = ___bi10;
		UInt32U5BU5D_t59386216* L_9 = L_8->get_data_1();
		V_1 = L_9;
		BigInteger_t925946153 * L_10 = ___bi10;
		uint32_t L_11 = L_10->get_length_0();
		V_2 = L_11;
		goto IL_0057;
	}

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

IL_0057:
	{
		BigInteger_t925946153 * L_20 = ___bi10;
		UInt32U5BU5D_t59386216* 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_t59386216* L_23 = V_0;
		uint32_t L_24 = V_4;
		uintptr_t L_25 = (((uintptr_t)L_24));
		uint32_t L_26 = (L_23)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_25));
		UInt32U5BU5D_t59386216* L_27 = V_1;
		uint32_t L_28 = V_4;
		uintptr_t L_29 = (((uintptr_t)L_28));
		uint32_t L_30 = (L_27)->GetAtUnchecked(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_t59386216* L_31 = V_6;
		uint32_t L_32 = V_4;
		uint64_t L_33 = V_7;
		(L_31)->SetAtUnchecked(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_t59386216* L_42 = V_6;
		uint32_t L_43 = V_4;
		UInt32U5BU5D_t59386216* L_44 = V_0;
		uint32_t L_45 = V_4;
		uintptr_t L_46 = (((uintptr_t)L_45));
		uint32_t L_47 = (L_44)->GetAtUnchecked(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)->SetAtUnchecked(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_t59386216* L_55 = V_6;
		uint32_t L_56 = V_4;
		(L_55)->SetAtUnchecked(static_cast<il2cpp_array_size_t>((((uintptr_t)L_56))), (uint32_t)1);
		BigInteger_t925946153 * 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_t59386216* L_63 = V_6;
		uint32_t L_64 = V_4;
		UInt32U5BU5D_t59386216* L_65 = V_0;
		uint32_t L_66 = V_4;
		uintptr_t L_67 = (((uintptr_t)L_66));
		uint32_t L_68 = (L_65)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_67));
		(L_63)->SetAtUnchecked(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_t925946153 * L_72 = ___bi10;
		uint32_t L_73 = V_3;
		L_72->set_length_0(((int32_t)((int32_t)L_73+(int32_t)1)));
		BigInteger_t925946153 * L_74 = ___bi10;
		BigInteger_Normalize_m1262742386(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_m722412638 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	uint32_t V_0 = 0;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		uint32_t L_1 = L_0->get_length_0();
		V_0 = L_1;
		BigInteger_t925946153 * 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_t925946153 * L_6 = ___bi10;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_13 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_27 = ___bi10;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_30));
		BigInteger_t925946153 * L_32 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_35));
		if ((((int32_t)L_31) == ((int32_t)L_36)))
		{
			goto IL_0077;
		}
	}

IL_0098:
	{
		BigInteger_t925946153 * L_37 = ___bi10;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_40));
		BigInteger_t925946153 * L_42 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_47 = ___bi10;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_50));
		BigInteger_t925946153 * L_52 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_m3631295848 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___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_t925946153 * 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_t925946153 * L_4 = ___n0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_9 = ___n0;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_18 = ___n0;
		BigInteger_Normalize_m1262742386(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_m978954867 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___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_t925946153 * 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_t925946153 * L_4 = ___n0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_DwordDivMod_m3728402123_MetadataUsageId;
extern "C"  BigIntegerU5BU5D_t3157146938* Kernel_DwordDivMod_m3728402123 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___n0, uint32_t ___d1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_DwordDivMod_m3728402123_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	uint64_t V_1 = 0;
	uint32_t V_2 = 0;
	BigInteger_t925946153 * V_3 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___n0;
		uint32_t L_1 = L_0->get_length_0();
		BigInteger_t925946153 * L_2 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_2, 1, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		V_1 = (((int64_t)((int64_t)0)));
		BigInteger_t925946153 * 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_t925946153 * L_7 = ___n0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_12 = V_0;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_21 = V_0;
		BigInteger_Normalize_m1262742386(L_21, /*hidden argument*/NULL);
		uint64_t L_22 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_23 = BigInteger_op_Implicit_m622924526(NULL /*static, unused*/, (((int32_t)((uint32_t)L_22))), /*hidden argument*/NULL);
		V_3 = L_23;
		BigIntegerU5BU5D_t3157146938* L_24 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t925946153 * L_25 = V_0;
		ArrayElementTypeCheck (L_24, L_25);
		(L_24)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_25);
		BigIntegerU5BU5D_t3157146938* L_26 = L_24;
		BigInteger_t925946153 * L_27 = V_3;
		ArrayElementTypeCheck (L_26, L_27);
		(L_26)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_27);
		return L_26;
	}
}
// Mono.Math.BigInteger[] Mono.Math.BigInteger/Kernel::multiByteDivide(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_multiByteDivide_m3157480645_MetadataUsageId;
extern "C"  BigIntegerU5BU5D_t3157146938* Kernel_multiByteDivide_m3157480645 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi10, BigInteger_t925946153 * ___bi21, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_multiByteDivide_m3157480645_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t925946153 * V_6 = NULL;
	BigInteger_t925946153 * V_7 = NULL;
	UInt32U5BU5D_t59386216* 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_t3157146938* V_22 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___bi10;
		BigInteger_t925946153 * L_1 = ___bi21;
		int32_t L_2 = Kernel_Compare_m722412638(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_2) == ((uint32_t)(-1)))))
		{
			goto IL_0026;
		}
	}
	{
		BigIntegerU5BU5D_t3157146938* L_3 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_4 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_3, L_4);
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_4);
		BigIntegerU5BU5D_t3157146938* L_5 = L_3;
		BigInteger_t925946153 * L_6 = ___bi10;
		BigInteger_t925946153 * L_7 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_7, L_6, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_5, L_7);
		(L_5)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_7);
		return L_5;
	}

IL_0026:
	{
		BigInteger_t925946153 * L_8 = ___bi10;
		BigInteger_Normalize_m1262742386(L_8, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_9 = ___bi21;
		BigInteger_Normalize_m1262742386(L_9, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_10 = ___bi21;
		uint32_t L_11 = L_10->get_length_0();
		if ((!(((uint32_t)L_11) == ((uint32_t)1))))
		{
			goto IL_004d;
		}
	}
	{
		BigInteger_t925946153 * L_12 = ___bi10;
		BigInteger_t925946153 * L_13 = ___bi21;
		UInt32U5BU5D_t59386216* L_14 = L_13->get_data_1();
		int32_t L_15 = 0;
		uint32_t L_16 = (L_14)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_15));
		BigIntegerU5BU5D_t3157146938* L_17 = Kernel_DwordDivMod_m3728402123(NULL /*static, unused*/, L_12, L_16, /*hidden argument*/NULL);
		return L_17;
	}

IL_004d:
	{
		BigInteger_t925946153 * L_18 = ___bi10;
		uint32_t L_19 = L_18->get_length_0();
		V_0 = ((int32_t)((int32_t)L_19+(int32_t)1));
		BigInteger_t925946153 * 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_t925946153 * L_22 = ___bi21;
		UInt32U5BU5D_t59386216* L_23 = L_22->get_data_1();
		BigInteger_t925946153 * 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_26));
		V_3 = L_27;
		V_4 = 0;
		BigInteger_t925946153 * L_28 = ___bi10;
		uint32_t L_29 = L_28->get_length_0();
		BigInteger_t925946153 * 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_t925946153 * L_37 = ___bi10;
		uint32_t L_38 = L_37->get_length_0();
		BigInteger_t925946153 * L_39 = ___bi21;
		uint32_t L_40 = L_39->get_length_0();
		BigInteger_t925946153 * L_41 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(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_t925946153 * L_42 = ___bi10;
		int32_t L_43 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_44 = BigInteger_op_LeftShift_m3361632170(NULL /*static, unused*/, L_42, L_43, /*hidden argument*/NULL);
		V_7 = L_44;
		BigInteger_t925946153 * L_45 = V_7;
		UInt32U5BU5D_t59386216* L_46 = L_45->get_data_1();
		V_8 = L_46;
		BigInteger_t925946153 * L_47 = ___bi21;
		int32_t L_48 = V_4;
		BigInteger_t925946153 * L_49 = BigInteger_op_LeftShift_m3361632170(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		___bi21 = L_49;
		uint32_t L_50 = V_0;
		BigInteger_t925946153 * 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_t925946153 * L_54 = ___bi21;
		UInt32U5BU5D_t59386216* L_55 = L_54->get_data_1();
		BigInteger_t925946153 * 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_58));
		V_11 = L_59;
		BigInteger_t925946153 * L_60 = ___bi21;
		UInt32U5BU5D_t59386216* L_61 = L_60->get_data_1();
		BigInteger_t925946153 * 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_64));
		V_12 = (((int64_t)((uint64_t)L_65)));
		goto IL_0270;
	}

IL_0112:
	{
		UInt32U5BU5D_t59386216* L_66 = V_8;
		int32_t L_67 = V_10;
		int32_t L_68 = L_67;
		uint32_t L_69 = (L_66)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_68));
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t59386216* 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)->GetAtUnchecked(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_t925946153 * L_94 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t59386216* L_100 = V_8;
		int32_t L_101 = V_18;
		int32_t L_102 = L_101;
		uint32_t L_103 = (L_100)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_102));
		V_16 = L_103;
		UInt32U5BU5D_t59386216* L_104 = V_8;
		int32_t L_105 = V_18;
		uint32_t* L_106 = ((L_104)->GetAddressAtUnchecked(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_t59386216* L_109 = V_8;
		int32_t L_110 = V_18;
		int32_t L_111 = L_110;
		uint32_t L_112 = (L_109)->GetAtUnchecked(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_t59386216* L_123 = V_8;
		int32_t L_124 = V_18;
		int32_t L_125 = L_124;
		uint32_t L_126 = (L_123)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_125));
		BigInteger_t925946153 * L_127 = ___bi21;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(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_t59386216* L_133 = V_8;
		int32_t L_134 = V_18;
		uint64_t L_135 = V_21;
		(L_133)->SetAtUnchecked(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_t925946153 * L_141 = V_6;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_149 = V_6;
		BigInteger_Normalize_m1262742386(L_149, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_150 = V_7;
		BigInteger_Normalize_m1262742386(L_150, /*hidden argument*/NULL);
		BigIntegerU5BU5D_t3157146938* L_151 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t925946153 * L_152 = V_6;
		ArrayElementTypeCheck (L_151, L_152);
		(L_151)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_152);
		BigIntegerU5BU5D_t3157146938* L_153 = L_151;
		BigInteger_t925946153 * L_154 = V_7;
		ArrayElementTypeCheck (L_153, L_154);
		(L_153)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_154);
		V_22 = L_153;
		int32_t L_155 = V_4;
		if (!L_155)
		{
			goto IL_02b1;
		}
	}
	{
		BigIntegerU5BU5D_t3157146938* L_156 = V_22;
		BigInteger_t925946153 ** L_157 = ((L_156)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(1)));
		int32_t L_158 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_159 = BigInteger_op_RightShift_m852685747(NULL /*static, unused*/, (*((BigInteger_t925946153 **)L_157)), L_158, /*hidden argument*/NULL);
		*((Il2CppObject **)(L_157)) = (Il2CppObject *)L_159;
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_157), (Il2CppObject *)L_159);
	}

IL_02b1:
	{
		BigIntegerU5BU5D_t3157146938* L_160 = V_22;
		return L_160;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::LeftShift(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_LeftShift_m3814364702_MetadataUsageId;
extern "C"  BigInteger_t925946153 * Kernel_LeftShift_m3814364702 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, int32_t ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_LeftShift_m3814364702_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	BigInteger_t925946153 * 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_t925946153 * L_1 = ___bi0;
		BigInteger_t925946153 * L_2 = ___bi0;
		uint32_t L_3 = L_2->get_length_0();
		BigInteger_t925946153 * L_4 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3239748086(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_t925946153 * L_7 = ___bi0;
		uint32_t L_8 = L_7->get_length_0();
		int32_t L_9 = V_0;
		BigInteger_t925946153 * L_10 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(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_t925946153 * 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_t925946153 * L_14 = ___bi0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_17));
		V_4 = L_18;
		BigInteger_t925946153 * L_19 = V_1;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_31 = V_1;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_36 = V_1;
		UInt32U5BU5D_t59386216* 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_t925946153 * L_40 = ___bi0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_43));
		(L_37)->SetAtUnchecked(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_t925946153 * L_48 = V_1;
		BigInteger_Normalize_m1262742386(L_48, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_49 = V_1;
		return L_49;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/Kernel::RightShift(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_RightShift_m2983108719_MetadataUsageId;
extern "C"  BigInteger_t925946153 * Kernel_RightShift_m2983108719 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, int32_t ___n1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_RightShift_m2983108719_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t925946153 * 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_t925946153 * L_1 = ___bi0;
		BigInteger_t925946153 * L_2 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(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_t925946153 * L_5 = ___bi0;
		uint32_t L_6 = L_5->get_length_0();
		int32_t L_7 = V_0;
		BigInteger_t925946153 * L_8 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(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_t925946153 * L_9 = V_2;
		UInt32U5BU5D_t59386216* 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_t925946153 * L_12 = ___bi0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_16));
		V_4 = L_17;
		BigInteger_t925946153 * L_18 = V_2;
		UInt32U5BU5D_t59386216* 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)->SetAtUnchecked(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_t925946153 * L_28 = V_2;
		UInt32U5BU5D_t59386216* L_29 = L_28->get_data_1();
		uint32_t L_30 = V_3;
		BigInteger_t925946153 * L_31 = ___bi0;
		UInt32U5BU5D_t59386216* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_35));
		(L_29)->SetAtUnchecked(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_t925946153 * L_39 = V_2;
		BigInteger_Normalize_m1262742386(L_39, /*hidden argument*/NULL);
		BigInteger_t925946153 * 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_m1938858919 (Il2CppObject * __this /* static, unused */, UInt32U5BU5D_t59386216* ___x0, uint32_t ___xOffset1, uint32_t ___xLen2, UInt32U5BU5D_t59386216* ___y3, uint32_t ___yOffset4, uint32_t ___yLen5, UInt32U5BU5D_t59386216* ___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_t59386216* L_0 = ___x0;
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_2 = ___x0;
		G_B4_0 = ((uintptr_t)(((L_2)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_001c:
	{
		V_0 = (uint32_t*)G_B4_0;
		UInt32U5BU5D_t59386216* L_3 = ___y3;
		if (!L_3)
		{
			goto IL_002b;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_5 = ___y3;
		G_B8_0 = ((uintptr_t)(((L_5)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0039:
	{
		V_1 = (uint32_t*)G_B8_0;
		UInt32U5BU5D_t59386216* L_6 = ___d6;
		if (!L_6)
		{
			goto IL_004a;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_8 = ___d6;
		G_B12_0 = ((uintptr_t)(((L_8)->GetAddressAtUnchecked(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_m874406394 (Il2CppObject * __this /* static, unused */, UInt32U5BU5D_t59386216* ___x0, int32_t ___xOffset1, int32_t ___xLen2, UInt32U5BU5D_t59386216* ___y3, int32_t ___yOffest4, int32_t ___yLen5, UInt32U5BU5D_t59386216* ___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_t59386216* L_0 = ___x0;
		if (!L_0)
		{
			goto IL_000e;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_2 = ___x0;
		G_B4_0 = ((uintptr_t)(((L_2)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_001c:
	{
		V_0 = (uint32_t*)G_B4_0;
		UInt32U5BU5D_t59386216* L_3 = ___y3;
		if (!L_3)
		{
			goto IL_002b;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_5 = ___y3;
		G_B8_0 = ((uintptr_t)(((L_5)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(0)))));
	}

IL_0039:
	{
		V_1 = (uint32_t*)G_B8_0;
		UInt32U5BU5D_t59386216* L_6 = ___d6;
		if (!L_6)
		{
			goto IL_004a;
		}
	}
	{
		UInt32U5BU5D_t59386216* 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_t59386216* L_8 = ___d6;
		G_B12_0 = ((uintptr_t)(((L_8)->GetAddressAtUnchecked(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t Kernel_modInverse_m1848537133_MetadataUsageId;
extern "C"  uint32_t Kernel_modInverse_m1848537133 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, uint32_t ___modulus1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_modInverse_m1848537133_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t925946153 * L_1 = ___bi0;
		uint32_t L_2 = ___modulus1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		uint32_t L_3 = BigInteger_op_Modulus_m2895726170(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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var;
extern Il2CppClass* ModulusRing_t80355992_il2cpp_TypeInfo_var;
extern Il2CppClass* ArithmeticException_t3261462543_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4020384572;
extern const uint32_t Kernel_modInverse_m3230829577_MetadataUsageId;
extern "C"  BigInteger_t925946153 * Kernel_modInverse_m3230829577 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, BigInteger_t925946153 * ___modulus1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Kernel_modInverse_m3230829577_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigIntegerU5BU5D_t3157146938* V_0 = NULL;
	BigIntegerU5BU5D_t3157146938* V_1 = NULL;
	BigIntegerU5BU5D_t3157146938* V_2 = NULL;
	int32_t V_3 = 0;
	BigInteger_t925946153 * V_4 = NULL;
	BigInteger_t925946153 * V_5 = NULL;
	ModulusRing_t80355992 * V_6 = NULL;
	BigInteger_t925946153 * V_7 = NULL;
	BigIntegerU5BU5D_t3157146938* V_8 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___modulus1;
		uint32_t L_1 = L_0->get_length_0();
		if ((!(((uint32_t)L_1) == ((uint32_t)1))))
		{
			goto IL_0020;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___bi0;
		BigInteger_t925946153 * L_3 = ___modulus1;
		UInt32U5BU5D_t59386216* L_4 = L_3->get_data_1();
		int32_t L_5 = 0;
		uint32_t L_6 = (L_4)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		uint32_t L_7 = Kernel_modInverse_m1848537133(NULL /*static, unused*/, L_2, L_6, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_8 = BigInteger_op_Implicit_m622924526(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
		return L_8;
	}

IL_0020:
	{
		BigIntegerU5BU5D_t3157146938* L_9 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_10 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_9, L_10);
		(L_9)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_10);
		BigIntegerU5BU5D_t3157146938* L_11 = L_9;
		BigInteger_t925946153 * L_12 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_11, L_12);
		(L_11)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_12);
		V_0 = L_11;
		V_1 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		BigIntegerU5BU5D_t3157146938* L_13 = ((BigIntegerU5BU5D_t3157146938*)SZArrayNew(BigIntegerU5BU5D_t3157146938_il2cpp_TypeInfo_var, (uint32_t)2));
		BigInteger_t925946153 * L_14 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_13, L_14);
		(L_13)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_14);
		BigIntegerU5BU5D_t3157146938* L_15 = L_13;
		BigInteger_t925946153 * L_16 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_15, L_16);
		(L_15)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_16);
		V_2 = L_15;
		V_3 = 0;
		BigInteger_t925946153 * L_17 = ___modulus1;
		V_4 = L_17;
		BigInteger_t925946153 * L_18 = ___bi0;
		V_5 = L_18;
		BigInteger_t925946153 * L_19 = ___modulus1;
		ModulusRing_t80355992 * L_20 = (ModulusRing_t80355992 *)il2cpp_codegen_object_new(ModulusRing_t80355992_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m630117946(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_t80355992 * L_22 = V_6;
		BigIntegerU5BU5D_t3157146938* L_23 = V_0;
		int32_t L_24 = 0;
		BigInteger_t925946153 * L_25 = (L_23)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_24));
		BigIntegerU5BU5D_t3157146938* L_26 = V_0;
		int32_t L_27 = 1;
		BigInteger_t925946153 * L_28 = (L_26)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_27));
		BigIntegerU5BU5D_t3157146938* L_29 = V_1;
		int32_t L_30 = 0;
		BigInteger_t925946153 * L_31 = (L_29)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_30));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_32 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_28, L_31, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_33 = ModulusRing_Difference_m662924064(L_22, L_25, L_32, /*hidden argument*/NULL);
		V_7 = L_33;
		BigIntegerU5BU5D_t3157146938* L_34 = V_0;
		BigIntegerU5BU5D_t3157146938* L_35 = V_0;
		int32_t L_36 = 1;
		BigInteger_t925946153 * L_37 = (L_35)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_36));
		ArrayElementTypeCheck (L_34, L_37);
		(L_34)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_37);
		BigIntegerU5BU5D_t3157146938* L_38 = V_0;
		BigInteger_t925946153 * L_39 = V_7;
		ArrayElementTypeCheck (L_38, L_39);
		(L_38)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_39);
	}

IL_0097:
	{
		BigInteger_t925946153 * L_40 = V_4;
		BigInteger_t925946153 * L_41 = V_5;
		BigIntegerU5BU5D_t3157146938* L_42 = Kernel_multiByteDivide_m3157480645(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		V_8 = L_42;
		BigIntegerU5BU5D_t3157146938* L_43 = V_1;
		BigIntegerU5BU5D_t3157146938* L_44 = V_1;
		int32_t L_45 = 1;
		BigInteger_t925946153 * L_46 = (L_44)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_45));
		ArrayElementTypeCheck (L_43, L_46);
		(L_43)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_46);
		BigIntegerU5BU5D_t3157146938* L_47 = V_1;
		BigIntegerU5BU5D_t3157146938* L_48 = V_8;
		int32_t L_49 = 0;
		BigInteger_t925946153 * L_50 = (L_48)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_49));
		ArrayElementTypeCheck (L_47, L_50);
		(L_47)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_50);
		BigIntegerU5BU5D_t3157146938* L_51 = V_2;
		BigIntegerU5BU5D_t3157146938* L_52 = V_2;
		int32_t L_53 = 1;
		BigInteger_t925946153 * L_54 = (L_52)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_53));
		ArrayElementTypeCheck (L_51, L_54);
		(L_51)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (BigInteger_t925946153 *)L_54);
		BigIntegerU5BU5D_t3157146938* L_55 = V_2;
		BigIntegerU5BU5D_t3157146938* L_56 = V_8;
		int32_t L_57 = 1;
		BigInteger_t925946153 * L_58 = (L_56)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_57));
		ArrayElementTypeCheck (L_55, L_58);
		(L_55)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (BigInteger_t925946153 *)L_58);
		BigInteger_t925946153 * L_59 = V_5;
		V_4 = L_59;
		BigIntegerU5BU5D_t3157146938* L_60 = V_8;
		int32_t L_61 = 1;
		BigInteger_t925946153 * L_62 = (L_60)->GetAtUnchecked(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_t925946153 * L_64 = V_5;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_65 = BigInteger_op_Inequality_m744282323(NULL /*static, unused*/, L_64, 0, /*hidden argument*/NULL);
		if (L_65)
		{
			goto IL_006e;
		}
	}
	{
		BigIntegerU5BU5D_t3157146938* L_66 = V_2;
		int32_t L_67 = 0;
		BigInteger_t925946153 * L_68 = (L_66)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_67));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_69 = BigInteger_op_Inequality_m744282323(NULL /*static, unused*/, L_68, 1, /*hidden argument*/NULL);
		if (!L_69)
		{
			goto IL_00f0;
		}
	}
	{
		ArithmeticException_t3261462543 * L_70 = (ArithmeticException_t3261462543 *)il2cpp_codegen_object_new(ArithmeticException_t3261462543_il2cpp_TypeInfo_var);
		ArithmeticException__ctor_m4208398840(L_70, _stringLiteral4020384572, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_70);
	}

IL_00f0:
	{
		ModulusRing_t80355992 * L_71 = V_6;
		BigIntegerU5BU5D_t3157146938* L_72 = V_0;
		int32_t L_73 = 0;
		BigInteger_t925946153 * L_74 = (L_72)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_73));
		BigIntegerU5BU5D_t3157146938* L_75 = V_0;
		int32_t L_76 = 1;
		BigInteger_t925946153 * L_77 = (L_75)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_76));
		BigIntegerU5BU5D_t3157146938* L_78 = V_1;
		int32_t L_79 = 0;
		BigInteger_t925946153 * L_80 = (L_78)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_79));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_81 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_77, L_80, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_82 = ModulusRing_Difference_m662924064(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing__ctor_m630117946_MetadataUsageId;
extern "C"  void ModulusRing__ctor_m630117946 (ModulusRing_t80355992 * __this, BigInteger_t925946153 * ___modulus0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing__ctor_m630117946_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	uint32_t V_0 = 0;
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_0 = ___modulus0;
		__this->set_mod_0(L_0);
		BigInteger_t925946153 * 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_t925946153 * L_4 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_4, 1, ((int32_t)((int32_t)L_3+(int32_t)1)), /*hidden argument*/NULL);
		__this->set_constant_1(L_4);
		BigInteger_t925946153 * L_5 = __this->get_constant_1();
		UInt32U5BU5D_t59386216* L_6 = L_5->get_data_1();
		uint32_t L_7 = V_0;
		(L_6)->SetAtUnchecked(static_cast<il2cpp_array_size_t>((((uintptr_t)L_7))), (uint32_t)1);
		BigInteger_t925946153 * L_8 = __this->get_constant_1();
		BigInteger_t925946153 * L_9 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_10 = BigInteger_op_Division_m4076990896(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_t3527622107_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4079111162;
extern const uint32_t ModulusRing_BarrettReduction_m2802101099_MetadataUsageId;
extern "C"  void ModulusRing_BarrettReduction_m2802101099 (ModulusRing_t80355992 * __this, BigInteger_t925946153 * ___x0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_BarrettReduction_m2802101099_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	uint32_t V_3 = 0;
	BigInteger_t925946153 * V_4 = NULL;
	uint32_t V_5 = 0;
	BigInteger_t925946153 * V_6 = NULL;
	BigInteger_t925946153 * V_7 = NULL;
	uint32_t G_B7_0 = 0;
	{
		BigInteger_t925946153 * L_0 = __this->get_mod_0();
		V_0 = L_0;
		BigInteger_t925946153 * 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_t925946153 * 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_t925946153 * L_8 = ___x0;
		UInt32U5BU5D_t59386216* L_9 = L_8->get_data_1();
		BigInteger_t925946153 * 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_t3527622107 * L_12 = (IndexOutOfRangeException_t3527622107 *)il2cpp_codegen_object_new(IndexOutOfRangeException_t3527622107_il2cpp_TypeInfo_var);
		IndexOutOfRangeException__ctor_m1847153122(L_12, _stringLiteral4079111162, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0043:
	{
		BigInteger_t925946153 * L_13 = ___x0;
		uint32_t L_14 = L_13->get_length_0();
		uint32_t L_15 = V_3;
		BigInteger_t925946153 * L_16 = __this->get_constant_1();
		uint32_t L_17 = L_16->get_length_0();
		BigInteger_t925946153 * L_18 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(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_t925946153 * L_19 = ___x0;
		UInt32U5BU5D_t59386216* L_20 = L_19->get_data_1();
		uint32_t L_21 = V_3;
		BigInteger_t925946153 * L_22 = ___x0;
		uint32_t L_23 = L_22->get_length_0();
		uint32_t L_24 = V_3;
		BigInteger_t925946153 * L_25 = __this->get_constant_1();
		UInt32U5BU5D_t59386216* L_26 = L_25->get_data_1();
		BigInteger_t925946153 * L_27 = __this->get_constant_1();
		uint32_t L_28 = L_27->get_length_0();
		BigInteger_t925946153 * L_29 = V_4;
		UInt32U5BU5D_t59386216* L_30 = L_29->get_data_1();
		Kernel_Multiply_m1938858919(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_t925946153 * 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_t925946153 * 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_t925946153 * L_37 = ___x0;
		uint32_t L_38 = V_5;
		L_37->set_length_0(L_38);
		BigInteger_t925946153 * L_39 = ___x0;
		BigInteger_Normalize_m1262742386(L_39, /*hidden argument*/NULL);
		uint32_t L_40 = V_2;
		BigInteger_t925946153 * L_41 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_41, 1, L_40, /*hidden argument*/NULL);
		V_6 = L_41;
		BigInteger_t925946153 * L_42 = V_4;
		UInt32U5BU5D_t59386216* L_43 = L_42->get_data_1();
		uint32_t L_44 = V_2;
		BigInteger_t925946153 * L_45 = V_4;
		uint32_t L_46 = L_45->get_length_0();
		uint32_t L_47 = V_2;
		BigInteger_t925946153 * L_48 = V_0;
		UInt32U5BU5D_t59386216* L_49 = L_48->get_data_1();
		BigInteger_t925946153 * L_50 = V_0;
		uint32_t L_51 = L_50->get_length_0();
		BigInteger_t925946153 * L_52 = V_6;
		UInt32U5BU5D_t59386216* L_53 = L_52->get_data_1();
		uint32_t L_54 = V_2;
		Kernel_MultiplyMod2p32pmod_m874406394(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_t925946153 * L_55 = V_6;
		BigInteger_Normalize_m1262742386(L_55, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_56 = V_6;
		BigInteger_t925946153 * L_57 = ___x0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_58 = BigInteger_op_LessThanOrEqual_m3528380540(NULL /*static, unused*/, L_56, L_57, /*hidden argument*/NULL);
		if (!L_58)
		{
			goto IL_0110;
		}
	}
	{
		BigInteger_t925946153 * L_59 = ___x0;
		BigInteger_t925946153 * L_60 = V_6;
		Kernel_MinusEq_m1637138341(NULL /*static, unused*/, L_59, L_60, /*hidden argument*/NULL);
		goto IL_0137;
	}

IL_0110:
	{
		uint32_t L_61 = V_2;
		BigInteger_t925946153 * L_62 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m4013661868(L_62, 1, ((int32_t)((int32_t)L_61+(int32_t)1)), /*hidden argument*/NULL);
		V_7 = L_62;
		BigInteger_t925946153 * L_63 = V_7;
		UInt32U5BU5D_t59386216* L_64 = L_63->get_data_1();
		uint32_t L_65 = V_2;
		(L_64)->SetAtUnchecked(static_cast<il2cpp_array_size_t>((((uintptr_t)L_65))), (uint32_t)1);
		BigInteger_t925946153 * L_66 = V_7;
		BigInteger_t925946153 * L_67 = V_6;
		Kernel_MinusEq_m1637138341(NULL /*static, unused*/, L_66, L_67, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_68 = ___x0;
		BigInteger_t925946153 * L_69 = V_7;
		Kernel_PlusEq_m2259390883(NULL /*static, unused*/, L_68, L_69, /*hidden argument*/NULL);
	}

IL_0137:
	{
		goto IL_0143;
	}

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

IL_0143:
	{
		BigInteger_t925946153 * L_72 = ___x0;
		BigInteger_t925946153 * L_73 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_74 = BigInteger_op_GreaterThanOrEqual_m2643115413(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Multiply_m3113924743_MetadataUsageId;
extern "C"  BigInteger_t925946153 * ModulusRing_Multiply_m3113924743 (ModulusRing_t80355992 * __this, BigInteger_t925946153 * ___a0, BigInteger_t925946153 * ___b1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Multiply_m3113924743_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___a0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_1 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_0, 0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		BigInteger_t925946153 * L_2 = ___b1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_3 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_2, 0, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_001f;
		}
	}

IL_0018:
	{
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_4 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_4;
	}

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

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

IL_005d:
	{
		BigInteger_t925946153 * L_17 = ___a0;
		BigInteger_t925946153 * L_18 = ___b1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_19 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_20 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2991182310(L_20, L_19, /*hidden argument*/NULL);
		V_0 = L_20;
		BigInteger_t925946153 * L_21 = V_0;
		ModulusRing_BarrettReduction_m2802101099(__this, L_21, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_22 = V_0;
		return L_22;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Difference(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Difference_m662924064_MetadataUsageId;
extern "C"  BigInteger_t925946153 * ModulusRing_Difference_m662924064 (ModulusRing_t80355992 * __this, BigInteger_t925946153 * ___a0, BigInteger_t925946153 * ___b1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Difference_m662924064_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	BigInteger_t925946153 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		BigInteger_t925946153 * L_0 = ___a0;
		BigInteger_t925946153 * L_1 = ___b1;
		int32_t L_2 = Kernel_Compare_m722412638(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_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_5 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 0, /*hidden argument*/NULL);
		return L_5;
	}

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

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

IL_0044:
	{
		Exception_t1927440687 * L_12 = (Exception_t1927440687 *)il2cpp_codegen_object_new(Exception_t1927440687_il2cpp_TypeInfo_var);
		Exception__ctor_m3886110570(L_12, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_004a:
	{
		BigInteger_t925946153 * L_13 = V_1;
		BigInteger_t925946153 * L_14 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_15 = BigInteger_op_GreaterThanOrEqual_m2643115413(NULL /*static, unused*/, L_13, L_14, /*hidden argument*/NULL);
		if (!L_15)
		{
			goto IL_008c;
		}
	}
	{
		BigInteger_t925946153 * L_16 = V_1;
		uint32_t L_17 = L_16->get_length_0();
		BigInteger_t925946153 * 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_t925946153 * L_20 = V_1;
		BigInteger_t925946153 * L_21 = __this->get_mod_0();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_22 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_20, L_21, /*hidden argument*/NULL);
		V_1 = L_22;
		goto IL_008c;
	}

IL_0085:
	{
		BigInteger_t925946153 * L_23 = V_1;
		ModulusRing_BarrettReduction_m2802101099(__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_t925946153 * L_25 = __this->get_mod_0();
		BigInteger_t925946153 * L_26 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_27 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_25, L_26, /*hidden argument*/NULL);
		V_1 = L_27;
	}

IL_00a0:
	{
		BigInteger_t925946153 * L_28 = V_1;
		return L_28;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Pow(Mono.Math.BigInteger,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Pow_m2489265435_MetadataUsageId;
extern "C"  BigInteger_t925946153 * ModulusRing_Pow_m2489265435 (ModulusRing_t80355992 * __this, BigInteger_t925946153 * ___a0, BigInteger_t925946153 * ___k1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Pow_m2489265435_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	BigInteger_t925946153 * V_1 = NULL;
	int32_t V_2 = 0;
	{
		BigInteger_t925946153 * L_0 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3787562545(L_0, 1, /*hidden argument*/NULL);
		V_0 = L_0;
		BigInteger_t925946153 * L_1 = ___k1;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Equality_m2683055762(NULL /*static, unused*/, L_1, 0, /*hidden argument*/NULL);
		if (!L_2)
		{
			goto IL_0015;
		}
	}
	{
		BigInteger_t925946153 * L_3 = V_0;
		return L_3;
	}

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

IL_0025:
	{
		V_2 = 1;
		goto IL_004e;
	}

IL_002c:
	{
		BigInteger_t925946153 * L_8 = V_1;
		BigInteger_t925946153 * L_9 = V_1;
		BigInteger_t925946153 * L_10 = ModulusRing_Multiply_m3113924743(__this, L_8, L_9, /*hidden argument*/NULL);
		V_1 = L_10;
		BigInteger_t925946153 * L_11 = ___k1;
		int32_t L_12 = V_2;
		bool L_13 = BigInteger_TestBit_m2460344121(L_11, L_12, /*hidden argument*/NULL);
		if (!L_13)
		{
			goto IL_004a;
		}
	}
	{
		BigInteger_t925946153 * L_14 = V_1;
		BigInteger_t925946153 * L_15 = V_0;
		BigInteger_t925946153 * L_16 = ModulusRing_Multiply_m3113924743(__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_t925946153 * L_19 = ___k1;
		int32_t L_20 = BigInteger_BitCount_m1334731567(L_19, /*hidden argument*/NULL);
		if ((((int32_t)L_18) < ((int32_t)L_20)))
		{
			goto IL_002c;
		}
	}
	{
		BigInteger_t925946153 * L_21 = V_0;
		return L_21;
	}
}
// Mono.Math.BigInteger Mono.Math.BigInteger/ModulusRing::Pow(System.UInt32,Mono.Math.BigInteger)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t ModulusRing_Pow_m661630322_MetadataUsageId;
extern "C"  BigInteger_t925946153 * ModulusRing_Pow_m661630322 (ModulusRing_t80355992 * __this, uint32_t ___b0, BigInteger_t925946153 * ___exp1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ModulusRing_Pow_m661630322_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		uint32_t L_0 = ___b0;
		BigInteger_t925946153 * L_1 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m3787562545(L_1, L_0, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_2 = ___exp1;
		BigInteger_t925946153 * L_3 = ModulusRing_Pow_m2489265435(__this, L_1, L_2, /*hidden argument*/NULL);
		return L_3;
	}
}
// System.Void Mono.Math.Prime.Generator.PrimeGeneratorBase::.ctor()
extern "C"  void PrimeGeneratorBase__ctor_m4281387560 (PrimeGeneratorBase_t1053438168 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Math.Prime.ConfidenceFactor Mono.Math.Prime.Generator.PrimeGeneratorBase::get_Confidence()
extern "C"  int32_t PrimeGeneratorBase_get_Confidence_m3927471963 (PrimeGeneratorBase_t1053438168 * __this, const MethodInfo* method)
{
	{
		return (int32_t)(2);
	}
}
// Mono.Math.Prime.PrimalityTest Mono.Math.Prime.Generator.PrimeGeneratorBase::get_PrimalityTest()
extern Il2CppClass* PrimalityTest_t572679902_il2cpp_TypeInfo_var;
extern const MethodInfo* PrimalityTests_RabinMillerTest_m2029846965_MethodInfo_var;
extern const uint32_t PrimeGeneratorBase_get_PrimalityTest_m308005118_MetadataUsageId;
extern "C"  PrimalityTest_t572679902 * PrimeGeneratorBase_get_PrimalityTest_m308005118 (PrimeGeneratorBase_t1053438168 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrimeGeneratorBase_get_PrimalityTest_m308005118_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IntPtr_t L_0;
		L_0.set_m_value_0((void*)(void*)PrimalityTests_RabinMillerTest_m2029846965_MethodInfo_var);
		PrimalityTest_t572679902 * L_1 = (PrimalityTest_t572679902 *)il2cpp_codegen_object_new(PrimalityTest_t572679902_il2cpp_TypeInfo_var);
		PrimalityTest__ctor_m1351629431(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_m4192107199 (PrimeGeneratorBase_t1053438168 * __this, const MethodInfo* method)
{
	{
		return ((int32_t)4000);
	}
}
// System.Void Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::.ctor()
extern "C"  void SequentialSearchPrimeGeneratorBase__ctor_m3982028469 (SequentialSearchPrimeGeneratorBase_t463670657 * __this, const MethodInfo* method)
{
	{
		PrimeGeneratorBase__ctor_m4281387560(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateSearchBase(System.Int32,System.Object)
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m2930465198_MetadataUsageId;
extern "C"  BigInteger_t925946153 * SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m2930465198 (SequentialSearchPrimeGeneratorBase_t463670657 * __this, int32_t ___bits0, Il2CppObject * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SequentialSearchPrimeGeneratorBase_GenerateSearchBase_m2930465198_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	{
		int32_t L_0 = ___bits0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_1 = BigInteger_GenerateRandom_m1878468830(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		BigInteger_t925946153 * L_2 = V_0;
		BigInteger_SetBit_m426619300(L_2, 0, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_3 = V_0;
		return L_3;
	}
}
// Mono.Math.BigInteger Mono.Math.Prime.Generator.SequentialSearchPrimeGeneratorBase::GenerateNewPrime(System.Int32)
extern "C"  BigInteger_t925946153 * SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m2255936480 (SequentialSearchPrimeGeneratorBase_t463670657 * __this, int32_t ___bits0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___bits0;
		BigInteger_t925946153 * L_1 = VirtFuncInvoker2< BigInteger_t925946153 *, 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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m296245934_MetadataUsageId;
extern "C"  BigInteger_t925946153 * SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m296245934 (SequentialSearchPrimeGeneratorBase_t463670657 * __this, int32_t ___bits0, Il2CppObject * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SequentialSearchPrimeGeneratorBase_GenerateNewPrime_m296245934_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	uint32_t V_1 = 0;
	uint32_t V_2 = 0;
	int32_t V_3 = 0;
	UInt32U5BU5D_t59386216* V_4 = NULL;
	int32_t V_5 = 0;
	{
		int32_t L_0 = ___bits0;
		Il2CppObject * L_1 = ___context1;
		BigInteger_t925946153 * L_2 = VirtFuncInvoker2< BigInteger_t925946153 *, 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_t925946153 * L_3 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		uint32_t L_4 = BigInteger_op_Modulus_m2895726170(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_t59386216* L_6 = ((BigInteger_t925946153_StaticFields*)BigInteger_t925946153_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_t925946153 * L_16 = V_0;
		UInt32U5BU5D_t59386216* L_17 = V_4;
		int32_t L_18 = V_5;
		int32_t L_19 = L_18;
		uint32_t L_20 = (L_17)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_19));
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		uint32_t L_21 = BigInteger_op_Modulus_m2895726170(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_t59386216* L_24 = V_4;
		if ((((int32_t)L_23) >= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))))))
		{
			goto IL_00da;
		}
	}
	{
		UInt32U5BU5D_t59386216* L_25 = V_4;
		int32_t L_26 = V_5;
		int32_t L_27 = L_26;
		uint32_t L_28 = (L_25)->GetAtUnchecked(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_t925946153 * L_30 = V_0;
		Il2CppObject * L_31 = ___context1;
		bool L_32 = VirtFuncInvoker2< bool, BigInteger_t925946153 *, 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_t572679902 * L_33 = VirtFuncInvoker0< PrimalityTest_t572679902 * >::Invoke(5 /* Mono.Math.Prime.PrimalityTest Mono.Math.Prime.Generator.PrimeGeneratorBase::get_PrimalityTest() */, __this);
		BigInteger_t925946153 * 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_m4058801829(L_33, L_34, L_35, /*hidden argument*/NULL);
		if (!L_36)
		{
			goto IL_0105;
		}
	}
	{
		BigInteger_t925946153 * 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_t925946153 * L_41 = V_0;
		BigInteger_Incr2_m505983313(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_m3678219529 (SequentialSearchPrimeGeneratorBase_t463670657 * __this, BigInteger_t925946153 * ___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_m1351629431 (PrimalityTest_t572679902 * __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_m4058801829 (PrimalityTest_t572679902 * __this, BigInteger_t925946153 * ___bi0, int32_t ___confidence1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		PrimalityTest_Invoke_m4058801829((PrimalityTest_t572679902 *)__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_t925946153 * ___bi0, int32_t ___confidence1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___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_t925946153 * ___bi0, int32_t ___confidence1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___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_t1997037802_il2cpp_TypeInfo_var;
extern const uint32_t PrimalityTest_BeginInvoke_m1691702520_MetadataUsageId;
extern "C"  Il2CppObject * PrimalityTest_BeginInvoke_m1691702520 (PrimalityTest_t572679902 * __this, BigInteger_t925946153 * ___bi0, int32_t ___confidence1, AsyncCallback_t163412349 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTest_BeginInvoke_m1691702520_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	void *__d_args[3] = {0};
	__d_args[0] = ___bi0;
	__d_args[1] = Box(ConfidenceFactor_t1997037802_il2cpp_TypeInfo_var, &___confidence1);
	return (Il2CppObject *)il2cpp_codegen_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_m380367609 (PrimalityTest_t572679902 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_codegen_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_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral939326124;
extern Il2CppCodeGenString* _stringLiteral630944790;
extern const uint32_t PrimalityTests_GetSPPRounds_m873706010_MetadataUsageId;
extern "C"  int32_t PrimalityTests_GetSPPRounds_m873706010 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___bi0, int32_t ___confidence1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTests_GetSPPRounds_m873706010_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t925946153 * L_0 = ___bi0;
		int32_t L_1 = BigInteger_BitCount_m1334731567(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_t1927440687 * L_24 = (Exception_t1927440687 *)il2cpp_codegen_object_new(Exception_t1927440687_il2cpp_TypeInfo_var);
		Exception__ctor_m485833136(L_24, _stringLiteral939326124, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_24);
	}

IL_012f:
	{
		ArgumentOutOfRangeException_t279959794 * L_25 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_25, _stringLiteral630944790, /*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_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* ModulusRing_t80355992_il2cpp_TypeInfo_var;
extern const uint32_t PrimalityTests_RabinMillerTest_m2029846965_MetadataUsageId;
extern "C"  bool PrimalityTests_RabinMillerTest_m2029846965 (Il2CppObject * __this /* static, unused */, BigInteger_t925946153 * ___n0, int32_t ___confidence1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrimalityTests_RabinMillerTest_m2029846965_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	BigInteger_t925946153 * V_2 = NULL;
	int32_t V_3 = 0;
	BigInteger_t925946153 * V_4 = NULL;
	ModulusRing_t80355992 * V_5 = NULL;
	BigInteger_t925946153 * V_6 = NULL;
	int32_t V_7 = 0;
	BigInteger_t925946153 * V_8 = NULL;
	int32_t V_9 = 0;
	{
		BigInteger_t925946153 * L_0 = ___n0;
		int32_t L_1 = BigInteger_BitCount_m1334731567(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_3 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		int32_t L_4 = ___confidence1;
		int32_t L_5 = PrimalityTests_GetSPPRounds_m873706010(NULL /*static, unused*/, L_3, L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		BigInteger_t925946153 * L_6 = ___n0;
		BigInteger_t925946153 * L_7 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_8 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_6, L_7, /*hidden argument*/NULL);
		V_2 = L_8;
		BigInteger_t925946153 * L_9 = V_2;
		int32_t L_10 = BigInteger_LowestSetBit_m1146240832(L_9, /*hidden argument*/NULL);
		V_3 = L_10;
		BigInteger_t925946153 * L_11 = V_2;
		int32_t L_12 = V_3;
		BigInteger_t925946153 * L_13 = BigInteger_op_RightShift_m852685747(NULL /*static, unused*/, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		BigInteger_t925946153 * L_14 = ___n0;
		ModulusRing_t80355992 * L_15 = (ModulusRing_t80355992 *)il2cpp_codegen_object_new(ModulusRing_t80355992_il2cpp_TypeInfo_var);
		ModulusRing__ctor_m630117946(L_15, L_14, /*hidden argument*/NULL);
		V_5 = L_15;
		V_6 = (BigInteger_t925946153 *)NULL;
		BigInteger_t925946153 * L_16 = ___n0;
		int32_t L_17 = BigInteger_BitCount_m1334731567(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) <= ((int32_t)((int32_t)100))))
		{
			goto IL_0055;
		}
	}
	{
		ModulusRing_t80355992 * L_18 = V_5;
		BigInteger_t925946153 * L_19 = V_4;
		BigInteger_t925946153 * L_20 = ModulusRing_Pow_m661630322(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_t925946153 * L_22 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_23 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_22, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_23)
		{
			goto IL_00a9;
		}
	}

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

IL_0075:
	{
		int32_t L_24 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_25 = BigInteger_GenerateRandom_m1878468830(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		V_8 = L_25;
		BigInteger_t925946153 * L_26 = V_8;
		BigInteger_t925946153 * L_27 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 2, /*hidden argument*/NULL);
		bool L_28 = BigInteger_op_LessThanOrEqual_m3528380540(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_009c;
		}
	}
	{
		BigInteger_t925946153 * L_29 = V_8;
		BigInteger_t925946153 * L_30 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_31 = BigInteger_op_GreaterThanOrEqual_m2643115413(NULL /*static, unused*/, L_29, L_30, /*hidden argument*/NULL);
		if (L_31)
		{
			goto IL_0075;
		}
	}

IL_009c:
	{
		ModulusRing_t80355992 * L_32 = V_5;
		BigInteger_t925946153 * L_33 = V_8;
		BigInteger_t925946153 * L_34 = V_4;
		BigInteger_t925946153 * L_35 = ModulusRing_Pow_m2489265435(L_32, L_33, L_34, /*hidden argument*/NULL);
		V_6 = L_35;
	}

IL_00a9:
	{
		BigInteger_t925946153 * L_36 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_37 = BigInteger_op_Equality_m2683055762(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_t80355992 * L_38 = V_5;
		BigInteger_t925946153 * L_39 = V_6;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_40 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 2, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_41 = ModulusRing_Pow_m2489265435(L_38, L_39, L_40, /*hidden argument*/NULL);
		V_6 = L_41;
		BigInteger_t925946153 * L_42 = V_6;
		bool L_43 = BigInteger_op_Equality_m2683055762(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_t925946153 * L_47 = V_6;
		BigInteger_t925946153 * L_48 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_49 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		if (L_49)
		{
			goto IL_00c3;
		}
	}

IL_00fe:
	{
		BigInteger_t925946153 * L_50 = V_6;
		BigInteger_t925946153 * L_51 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_52 = BigInteger_op_Inequality_m4286929594(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_m32691595 (ASN1_t924533536 * __this, uint8_t ___tag0, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___tag0;
		ASN1__ctor_m3688855288(__this, L_0, (ByteU5BU5D_t3397334013*)(ByteU5BU5D_t3397334013*)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.ASN1::.ctor(System.Byte,System.Byte[])
extern "C"  void ASN1__ctor_m3688855288 (ASN1_t924533536 * __this, uint8_t ___tag0, ByteU5BU5D_t3397334013* ___data1, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		uint8_t L_0 = ___tag0;
		__this->set_m_nTag_0(L_0);
		ByteU5BU5D_t3397334013* L_1 = ___data1;
		__this->set_m_aValue_1(L_1);
		return;
	}
}
// System.Void Mono.Security.ASN1::.ctor(System.Byte[])
extern Il2CppClass* NotSupportedException_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral344208947;
extern const uint32_t ASN1__ctor_m2812922997_MetadataUsageId;
extern "C"  void ASN1__ctor_m2812922997 (ASN1_t924533536 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1__ctor_m2812922997_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		int32_t L_1 = 0;
		uint8_t L_2 = (L_0)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_1));
		__this->set_m_nTag_0(L_2);
		V_0 = 0;
		ByteU5BU5D_t3397334013* L_3 = ___data0;
		int32_t L_4 = 1;
		uint8_t L_5 = (L_3)->GetAtUnchecked(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_t3397334013* 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)->GetAtUnchecked(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_t1793819818 * L_18 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_18, _stringLiteral344208947, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_0067:
	{
		int32_t L_19 = V_1;
		__this->set_m_aValue_1(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_19)));
		ByteU5BU5D_t3397334013* L_20 = ___data0;
		int32_t L_21 = V_0;
		ByteU5BU5D_t3397334013* L_22 = __this->get_m_aValue_1();
		int32_t L_23 = V_1;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_26 = ___data0;
		ByteU5BU5D_t3397334013* L_27 = ___data0;
		ASN1_Decode_m947929221(__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_m579313466 (ASN1_t924533536 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * L_0 = __this->get_elist_2();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return 0;
	}

IL_000d:
	{
		ArrayList_t4252133567 * 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_m2798873007 (ASN1_t924533536 * __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_m778823697 (ASN1_t924533536 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_m_aValue_1();
		if (!L_0)
		{
			goto IL_0014;
		}
	}
	{
		ByteU5BU5D_t3397334013* 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_get_Value_m2229768312_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* ASN1_get_Value_m2229768312 (ASN1_t924533536 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_get_Value_m2229768312_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_m_aValue_1();
		if (L_0)
		{
			goto IL_0012;
		}
	}
	{
		VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, __this);
	}

IL_0012:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_m_aValue_1();
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_2, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.ASN1::set_Value(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_set_Value_m1063274345_MetadataUsageId;
extern "C"  void ASN1_set_Value_m1063274345 (ASN1_t924533536 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_set_Value_m1063274345_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		if (!L_0)
		{
			goto IL_0017;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = ___value0;
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		__this->set_m_aValue_1(((ByteU5BU5D_t3397334013*)Castclass(L_2, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var)));
	}

IL_0017:
	{
		return;
	}
}
// System.Boolean Mono.Security.ASN1::CompareArray(System.Byte[],System.Byte[])
extern "C"  bool ASN1_CompareArray_m2071014626 (ASN1_t924533536 * __this, ByteU5BU5D_t3397334013* ___array10, ByteU5BU5D_t3397334013* ___array21, const MethodInfo* method)
{
	bool V_0 = false;
	int32_t V_1 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___array10;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_3 = ___array10;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t3397334013* L_7 = ___array21;
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAtUnchecked(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_t3397334013* 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_m3117818461 (ASN1_t924533536 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_m_aValue_1();
		ByteU5BU5D_t3397334013* L_1 = ___value0;
		bool L_2 = ASN1_CompareArray_m2071014626(__this, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::Add(Mono.Security.ASN1)
extern Il2CppClass* ArrayList_t4252133567_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_Add_m1528660622_MetadataUsageId;
extern "C"  ASN1_t924533536 * ASN1_Add_m1528660622 (ASN1_t924533536 * __this, ASN1_t924533536 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_Add_m1528660622_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ASN1_t924533536 * L_0 = ___asn10;
		if (!L_0)
		{
			goto IL_0029;
		}
	}
	{
		ArrayList_t4252133567 * L_1 = __this->get_elist_2();
		if (L_1)
		{
			goto IL_001c;
		}
	}
	{
		ArrayList_t4252133567 * L_2 = (ArrayList_t4252133567 *)il2cpp_codegen_object_new(ArrayList_t4252133567_il2cpp_TypeInfo_var);
		ArrayList__ctor_m4012174379(L_2, /*hidden argument*/NULL);
		__this->set_elist_2(L_2);
	}

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

IL_0029:
	{
		ASN1_t924533536 * L_5 = ___asn10;
		return L_5;
	}
}
// System.Byte[] Mono.Security.ASN1::GetBytes()
extern Il2CppClass* ArrayList_t4252133567_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerator_t1466026749_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t2427283555_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_GetBytes_m3982410951_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* ASN1_GetBytes_m3982410951 (ASN1_t924533536 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_GetBytes_m3982410951_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	int32_t V_1 = 0;
	ArrayList_t4252133567 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	Il2CppObject * V_4 = NULL;
	ByteU5BU5D_t3397334013* V_5 = NULL;
	int32_t V_6 = 0;
	int32_t V_7 = 0;
	ByteU5BU5D_t3397334013* V_8 = NULL;
	ByteU5BU5D_t3397334013* V_9 = NULL;
	int32_t V_10 = 0;
	int32_t V_11 = 0;
	Il2CppObject * V_12 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (ByteU5BU5D_t3397334013*)NULL;
		int32_t L_0 = ASN1_get_Count_m579313466(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_0) <= ((int32_t)0)))
		{
			goto IL_00ca;
		}
	}
	{
		V_1 = 0;
		ArrayList_t4252133567 * L_1 = (ArrayList_t4252133567 *)il2cpp_codegen_object_new(ArrayList_t4252133567_il2cpp_TypeInfo_var);
		ArrayList__ctor_m4012174379(L_1, /*hidden argument*/NULL);
		V_2 = L_1;
		ArrayList_t4252133567 * 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_t1466026749_il2cpp_TypeInfo_var, L_4);
			V_3 = ((ASN1_t924533536 *)CastclassClass(L_5, ASN1_t924533536_il2cpp_TypeInfo_var));
			ASN1_t924533536 * L_6 = V_3;
			ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, L_6);
			V_5 = L_7;
			ArrayList_t4252133567 * L_8 = V_2;
			ByteU5BU5D_t3397334013* 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_t3397334013* 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_t1466026749_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_t1927440687 *)e.ex;
		goto FINALLY_005e;
	}

FINALLY_005e:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_14 = V_4;
			V_12 = ((Il2CppObject *)IsInst(L_14, IDisposable_t2427283555_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_t2427283555_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_t1927440687 *)
	}

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

IL_0086:
	{
		ArrayList_t4252133567 * 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_t3397334013*)Castclass(L_20, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
		ByteU5BU5D_t3397334013* L_21 = V_8;
		ByteU5BU5D_t3397334013* L_22 = V_0;
		int32_t L_23 = V_6;
		ByteU5BU5D_t3397334013* L_24 = V_8;
		Buffer_BlockCopy_m1586717258(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_t3397334013* 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_t4252133567 * 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_t3397334013* L_31 = __this->get_m_aValue_1();
		if (!L_31)
		{
			goto IL_00dc;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_32 = __this->get_m_aValue_1();
		V_0 = L_32;
	}

IL_00dc:
	{
		V_10 = 0;
		ByteU5BU5D_t3397334013* L_33 = V_0;
		if (!L_33)
		{
			goto IL_022a;
		}
	}
	{
		ByteU5BU5D_t3397334013* 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)3+(int32_t)L_37))));
		ByteU5BU5D_t3397334013* L_38 = V_0;
		ByteU5BU5D_t3397334013* L_39 = V_9;
		int32_t L_40 = V_11;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_38, 0, (Il2CppArray *)(Il2CppArray *)L_39, 3, L_40, /*hidden argument*/NULL);
		V_10 = ((int32_t)129);
		ByteU5BU5D_t3397334013* L_41 = V_9;
		int32_t L_42 = V_11;
		(L_41)->SetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4+(int32_t)L_44))));
		ByteU5BU5D_t3397334013* L_45 = V_0;
		ByteU5BU5D_t3397334013* L_46 = V_9;
		int32_t L_47 = V_11;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_45, 0, (Il2CppArray *)(Il2CppArray *)L_46, 4, L_47, /*hidden argument*/NULL);
		V_10 = ((int32_t)130);
		ByteU5BU5D_t3397334013* L_48 = V_9;
		int32_t L_49 = V_11;
		(L_48)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_49>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_50 = V_9;
		int32_t L_51 = V_11;
		(L_50)->SetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)5+(int32_t)L_53))));
		ByteU5BU5D_t3397334013* L_54 = V_0;
		ByteU5BU5D_t3397334013* L_55 = V_9;
		int32_t L_56 = V_11;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_54, 0, (Il2CppArray *)(Il2CppArray *)L_55, 5, L_56, /*hidden argument*/NULL);
		V_10 = ((int32_t)131);
		ByteU5BU5D_t3397334013* L_57 = V_9;
		int32_t L_58 = V_11;
		(L_57)->SetAtUnchecked(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_t3397334013* L_59 = V_9;
		int32_t L_60 = V_11;
		(L_59)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_60>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_61 = V_9;
		int32_t L_62 = V_11;
		(L_61)->SetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)6+(int32_t)L_63))));
		ByteU5BU5D_t3397334013* L_64 = V_0;
		ByteU5BU5D_t3397334013* L_65 = V_9;
		int32_t L_66 = V_11;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_64, 0, (Il2CppArray *)(Il2CppArray *)L_65, 6, L_66, /*hidden argument*/NULL);
		V_10 = ((int32_t)132);
		ByteU5BU5D_t3397334013* L_67 = V_9;
		int32_t L_68 = V_11;
		(L_67)->SetAtUnchecked(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_t3397334013* L_69 = V_9;
		int32_t L_70 = V_11;
		(L_69)->SetAtUnchecked(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_t3397334013* L_71 = V_9;
		int32_t L_72 = V_11;
		(L_71)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(4), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_72>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_73 = V_9;
		int32_t L_74 = V_11;
		(L_73)->SetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)2+(int32_t)L_75))));
		ByteU5BU5D_t3397334013* L_76 = V_0;
		ByteU5BU5D_t3397334013* L_77 = V_9;
		int32_t L_78 = V_11;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_80 = __this->get_m_aValue_1();
		if (L_80)
		{
			goto IL_0225;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_81 = V_0;
		__this->set_m_aValue_1(L_81);
	}

IL_0225:
	{
		goto IL_0232;
	}

IL_022a:
	{
		V_9 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)2));
	}

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

IL_0005:
	{
		ByteU5BU5D_t3397334013* L_0 = ___asn10;
		int32_t* L_1 = ___anPos1;
		ASN1_DecodeTLV_m2898581687(__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_t3397334013* L_4 = V_2;
		ASN1_t924533536 * L_5 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m3688855288(L_5, L_3, L_4, /*hidden argument*/NULL);
		ASN1_t924533536 * L_6 = ASN1_Add_m1528660622(__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_t924533536 * L_9 = V_3;
		ByteU5BU5D_t3397334013* L_10 = ___asn10;
		int32_t L_11 = V_4;
		int32_t L_12 = V_1;
		ASN1_Decode_m947929221(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_DecodeTLV_m2898581687_MetadataUsageId;
extern "C"  void ASN1_DecodeTLV_m2898581687 (ASN1_t924533536 * __this, ByteU5BU5D_t3397334013* ___asn10, int32_t* ___pos1, uint8_t* ___tag2, int32_t* ___length3, ByteU5BU5D_t3397334013** ___content4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_DecodeTLV_m2898581687_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	{
		uint8_t* L_0 = ___tag2;
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_6));
		*((int8_t*)(L_0)) = (int8_t)L_7;
		int32_t* L_8 = ___length3;
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(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_t3397334013* 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)->GetAtUnchecked(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_t3397334013** L_31 = ___content4;
		int32_t* L_32 = ___length3;
		*((Il2CppObject **)(L_31)) = (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(*((int32_t*)L_32))));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_31), (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(*((int32_t*)L_32)))));
		ByteU5BU5D_t3397334013* L_33 = ___asn10;
		int32_t* L_34 = ___pos1;
		ByteU5BU5D_t3397334013** L_35 = ___content4;
		int32_t* L_36 = ___length3;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_33, (*((int32_t*)L_34)), (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_35)), 0, (*((int32_t*)L_36)), /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::get_Item(System.Int32)
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_get_Item_m3505242534_MetadataUsageId;
extern "C"  ASN1_t924533536 * ASN1_get_Item_m3505242534 (ASN1_t924533536 * __this, int32_t ___index0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_get_Item_m3505242534_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t4252133567 * L_0 = __this->get_elist_2();
			if (!L_0)
			{
				goto IL_001c;
			}
		}

IL_000b:
		{
			int32_t L_1 = ___index0;
			ArrayList_t4252133567 * 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_t924533536 *)NULL;
			goto IL_004c;
		}

IL_0023:
		{
			ArrayList_t4252133567 * 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_t924533536 *)CastclassClass(L_6, ASN1_t924533536_il2cpp_TypeInfo_var));
			goto IL_004c;
		}

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

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

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

IL_004c:
	{
		ASN1_t924533536 * L_7 = V_0;
		return L_7;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1::Element(System.Int32,System.Byte)
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern const uint32_t ASN1_Element_m1568353429_MetadataUsageId;
extern "C"  ASN1_t924533536 * ASN1_Element_m1568353429 (ASN1_t924533536 * __this, int32_t ___index0, uint8_t ___anTag1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_Element_m1568353429_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	ASN1_t924533536 * V_1 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t4252133567 * L_0 = __this->get_elist_2();
			if (!L_0)
			{
				goto IL_001c;
			}
		}

IL_000b:
		{
			int32_t L_1 = ___index0;
			ArrayList_t4252133567 * 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_t924533536 *)NULL;
			goto IL_0061;
		}

IL_0023:
		{
			ArrayList_t4252133567 * 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_t924533536 *)CastclassClass(L_6, ASN1_t924533536_il2cpp_TypeInfo_var));
			ASN1_t924533536 * L_7 = V_0;
			uint8_t L_8 = ASN1_get_Tag_m2798873007(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_t924533536 * L_10 = V_0;
			V_1 = L_10;
			goto IL_0061;
		}

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

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

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

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

IL_0061:
	{
		ASN1_t924533536 * L_11 = V_1;
		return L_11;
	}
}
// System.String Mono.Security.ASN1::ToString()
extern Il2CppClass* StringBuilder_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32_t2071877448_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4064076781;
extern Il2CppCodeGenString* _stringLiteral3231012752;
extern Il2CppCodeGenString* _stringLiteral944141263;
extern Il2CppCodeGenString* _stringLiteral1444762321;
extern Il2CppCodeGenString* _stringLiteral391833900;
extern const uint32_t ASN1_ToString_m2669105451_MetadataUsageId;
extern "C"  String_t* ASN1_ToString_m2669105451 (ASN1_t924533536 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1_ToString_m2669105451_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	StringBuilder_t1221177846 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		StringBuilder_t1221177846 * L_0 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3946851802(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		StringBuilder_t1221177846 * L_1 = V_0;
		uint8_t* L_2 = __this->get_address_of_m_nTag_0();
		String_t* L_3 = Byte_ToString_m1309661918(L_2, _stringLiteral3231012752, /*hidden argument*/NULL);
		String_t* L_4 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m759296786(L_1, _stringLiteral4064076781, L_3, L_4, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = ASN1_get_Value_m2229768312(__this, /*hidden argument*/NULL);
		int32_t L_7 = (((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length))));
		Il2CppObject * L_8 = Box(Int32_t2071877448_il2cpp_TypeInfo_var, &L_7);
		String_t* L_9 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m759296786(L_5, _stringLiteral944141263, L_8, L_9, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_10 = V_0;
		StringBuilder_Append_m3636508479(L_10, _stringLiteral1444762321, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_11 = V_0;
		String_t* L_12 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(L_11, L_12, /*hidden argument*/NULL);
		V_1 = 0;
		goto IL_00a7;
	}

IL_0064:
	{
		StringBuilder_t1221177846 * L_13 = V_0;
		ByteU5BU5D_t3397334013* L_14 = ASN1_get_Value_m2229768312(__this, /*hidden argument*/NULL);
		int32_t L_15 = V_1;
		String_t* L_16 = Byte_ToString_m1309661918(((L_14)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(L_15))), _stringLiteral3231012752, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m3265503696(L_13, _stringLiteral391833900, 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_t1221177846 * L_18 = V_0;
		String_t* L_19 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_AppendFormat_m1879616656(L_18, L_19, ((ObjectU5BU5D_t3614634134*)SZArrayNew(ObjectU5BU5D_t3614634134_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_t3397334013* L_22 = ASN1_get_Value_m2229768312(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_21) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length)))))))
		{
			goto IL_0064;
		}
	}
	{
		StringBuilder_t1221177846 * L_23 = V_0;
		String_t* L_24 = StringBuilder_ToString_m1507807375(L_23, /*hidden argument*/NULL);
		return L_24;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1Convert::FromInt32(System.Int32)
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ASN1Convert_FromInt32_m1048976215_MetadataUsageId;
extern "C"  ASN1_t924533536 * ASN1Convert_FromInt32_m1048976215 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_FromInt32_m1048976215_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t924533536 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	int32_t V_4 = 0;
	{
		int32_t L_0 = ___value0;
		ByteU5BU5D_t3397334013* L_1 = BitConverterLE_GetBytes_m1242468557(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t3397334013* L_2 = V_0;
		Array_Reverse_m3883292526(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_t3397334013* L_5 = V_0;
		if ((((int32_t)L_4) >= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_0029;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_6 = V_0;
		int32_t L_7 = V_1;
		int32_t L_8 = L_7;
		uint8_t L_9 = (L_6)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_8));
		if (!L_9)
		{
			goto IL_0014;
		}
	}

IL_0029:
	{
		ASN1_t924533536 * L_10 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(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_t924533536 * L_14 = V_2;
		ByteU5BU5D_t3397334013* L_15 = V_0;
		ASN1_set_Value_m1063274345(L_14, L_15, /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0053:
	{
		ASN1_t924533536 * L_16 = V_2;
		ASN1_set_Value_m1063274345(L_16, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)1)), /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0064:
	{
		int32_t L_17 = V_1;
		V_3 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4-(int32_t)L_17))));
		ByteU5BU5D_t3397334013* L_18 = V_0;
		int32_t L_19 = V_1;
		ByteU5BU5D_t3397334013* L_20 = V_3;
		ByteU5BU5D_t3397334013* L_21 = V_3;
		Buffer_BlockCopy_m1586717258(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_t924533536 * L_22 = V_2;
		ByteU5BU5D_t3397334013* L_23 = V_3;
		ASN1_set_Value_m1063274345(L_22, L_23, /*hidden argument*/NULL);
		goto IL_0085;
	}

IL_0085:
	{
		ASN1_t924533536 * L_24 = V_2;
		return L_24;
	}
}
// Mono.Security.ASN1 Mono.Security.ASN1Convert::FromOid(System.String)
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptoConfig_t896479599_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral339799274;
extern const uint32_t ASN1Convert_FromOid_m3277257826_MetadataUsageId;
extern "C"  ASN1_t924533536 * ASN1Convert_FromOid_m3277257826 (Il2CppObject * __this /* static, unused */, String_t* ___oid0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_FromOid_m3277257826_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		String_t* L_0 = ___oid0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral339799274, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		String_t* L_2 = ___oid0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t896479599_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_3 = CryptoConfig_EncodeOID_m276236568(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		ASN1_t924533536 * L_4 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_4, L_3, /*hidden argument*/NULL);
		return L_4;
	}
}
// System.Int32 Mono.Security.ASN1Convert::ToInt32(Mono.Security.ASN1)
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* FormatException_t2948921286_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral406162701;
extern Il2CppCodeGenString* _stringLiteral1796848059;
extern const uint32_t ASN1Convert_ToInt32_m2121135414_MetadataUsageId;
extern "C"  int32_t ASN1Convert_ToInt32_m2121135414 (Il2CppObject * __this /* static, unused */, ASN1_t924533536 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToInt32_m2121135414_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		ASN1_t924533536 * L_0 = ___asn10;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral406162701, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ASN1_t924533536 * L_2 = ___asn10;
		uint8_t L_3 = ASN1_get_Tag_m2798873007(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)2)))
		{
			goto IL_0028;
		}
	}
	{
		FormatException_t2948921286 * L_4 = (FormatException_t2948921286 *)il2cpp_codegen_object_new(FormatException_t2948921286_il2cpp_TypeInfo_var);
		FormatException__ctor_m1466217969(L_4, _stringLiteral1796848059, /*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_t924533536 * L_6 = ___asn10;
		ByteU5BU5D_t3397334013* L_7 = ASN1_get_Value_m2229768312(L_6, /*hidden argument*/NULL);
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAtUnchecked(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_t924533536 * L_13 = ___asn10;
		ByteU5BU5D_t3397334013* L_14 = ASN1_get_Value_m2229768312(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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* StringBuilder_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral406162701;
extern Il2CppCodeGenString* _stringLiteral372029316;
extern const uint32_t ASN1Convert_ToOid_m35757129_MetadataUsageId;
extern "C"  String_t* ASN1Convert_ToOid_m35757129 (Il2CppObject * __this /* static, unused */, ASN1_t924533536 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToOid_m35757129_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	StringBuilder_t1221177846 * V_1 = NULL;
	uint8_t V_2 = 0x0;
	uint8_t V_3 = 0x0;
	uint64_t V_4 = 0;
	{
		ASN1_t924533536 * L_0 = ___asn10;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral406162701, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ASN1_t924533536 * L_2 = ___asn10;
		ByteU5BU5D_t3397334013* L_3 = ASN1_get_Value_m2229768312(L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		StringBuilder_t1221177846 * L_4 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3946851802(L_4, /*hidden argument*/NULL);
		V_1 = L_4;
		ByteU5BU5D_t3397334013* L_5 = V_0;
		int32_t L_6 = 0;
		uint8_t L_7 = (L_5)->GetAtUnchecked(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_t3397334013* L_8 = V_0;
		int32_t L_9 = 0;
		uint8_t L_10 = (L_8)->GetAtUnchecked(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_t1221177846 * L_14 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_15 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_16 = Byte_ToString_m3547765450((&V_2), L_15, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(L_14, L_16, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_17 = V_1;
		StringBuilder_Append_m3636508479(L_17, _stringLiteral372029316, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_18 = V_1;
		CultureInfo_t3500843524 * L_19 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_20 = Byte_ToString_m3547765450((&V_3), L_19, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(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_t3397334013* L_22 = V_0;
		uint8_t L_23 = V_2;
		uint8_t L_24 = L_23;
		uint8_t L_25 = (L_22)->GetAtUnchecked(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_t3397334013* L_26 = V_0;
		uint8_t L_27 = V_2;
		uint8_t L_28 = L_27;
		uint8_t L_29 = (L_26)->GetAtUnchecked(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_t1221177846 * L_30 = V_1;
		StringBuilder_Append_m3636508479(L_30, _stringLiteral372029316, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_31 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_32 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_33 = UInt64_ToString_m2892887310((&V_4), L_32, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(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_t3397334013* L_36 = V_0;
		if ((((int32_t)L_35) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_36)->max_length)))))))
		{
			goto IL_007f;
		}
	}
	{
		StringBuilder_t1221177846 * L_37 = V_1;
		String_t* L_38 = StringBuilder_ToString_m1507807375(L_37, /*hidden argument*/NULL);
		return L_38;
	}
}
// System.DateTime Mono.Security.ASN1Convert::ToDateTime(Mono.Security.ASN1)
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t663144255_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppClass* Convert_t2607082565_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppClass* Char_t3454481338_il2cpp_TypeInfo_var;
extern Il2CppClass* DateTime_t693205669_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3457519049;
extern Il2CppCodeGenString* _stringLiteral2971002714;
extern Il2CppCodeGenString* _stringLiteral2471497760;
extern Il2CppCodeGenString* _stringLiteral98844768;
extern Il2CppCodeGenString* _stringLiteral3776705602;
extern Il2CppCodeGenString* _stringLiteral2436348051;
extern Il2CppCodeGenString* _stringLiteral3733646330;
extern const uint32_t ASN1Convert_ToDateTime_m2305963290_MetadataUsageId;
extern "C"  DateTime_t693205669  ASN1Convert_ToDateTime_m2305963290 (Il2CppObject * __this /* static, unused */, ASN1_t924533536 * ___time0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ASN1Convert_ToDateTime_m2305963290_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t924533536 * L_0 = ___time0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral3457519049, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t663144255_il2cpp_TypeInfo_var);
		Encoding_t663144255 * L_2 = Encoding_get_ASCII_m2727409419(NULL /*static, unused*/, /*hidden argument*/NULL);
		ASN1_t924533536 * L_3 = ___time0;
		ByteU5BU5D_t3397334013* L_4 = ASN1_get_Value_m2229768312(L_3, /*hidden argument*/NULL);
		String_t* L_5 = VirtFuncInvoker1< String_t*, ByteU5BU5D_t3397334013* >::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_m1606060069(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 = _stringLiteral2971002714;
		goto IL_016b;
	}

IL_0062:
	{
		String_t* L_9 = V_0;
		String_t* L_10 = String_Substring_m12482732(L_9, 0, 2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_11 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
		int16_t L_12 = Convert_ToInt16_m3462984061(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_m2596409543(NULL /*static, unused*/, _stringLiteral2471497760, 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_m2596409543(NULL /*static, unused*/, _stringLiteral98844768, L_16, /*hidden argument*/NULL);
		V_0 = L_17;
	}

IL_009a:
	{
		V_1 = _stringLiteral3776705602;
		goto IL_016b;
	}

IL_00a5:
	{
		V_1 = _stringLiteral3776705602;
		goto IL_016b;
	}

IL_00b0:
	{
		String_t* L_18 = V_0;
		String_t* L_19 = String_Substring_m12482732(L_18, 0, 2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_20 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
		int16_t L_21 = Convert_ToInt16_m3462984061(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 = _stringLiteral2471497760;
		goto IL_00da;
	}

IL_00d5:
	{
		G_B13_0 = _stringLiteral98844768;
	}

IL_00da:
	{
		V_3 = G_B13_0;
		String_t* L_23 = V_0;
		Il2CppChar L_24 = String_get_Chars_m4230566705(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_t3614634134* L_25 = ((ObjectU5BU5D_t3614634134*)SZArrayNew(ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var, (uint32_t)7));
		String_t* L_26 = V_3;
		ArrayElementTypeCheck (L_25, L_26);
		(L_25)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (Il2CppObject *)L_26);
		ObjectU5BU5D_t3614634134* L_27 = L_25;
		String_t* L_28 = V_0;
		String_t* L_29 = String_Substring_m12482732(L_28, 0, ((int32_t)12), /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_27, L_29);
		(L_27)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (Il2CppObject *)L_29);
		ObjectU5BU5D_t3614634134* L_30 = L_27;
		Il2CppChar L_31 = V_4;
		Il2CppChar L_32 = L_31;
		Il2CppObject * L_33 = Box(Char_t3454481338_il2cpp_TypeInfo_var, &L_32);
		ArrayElementTypeCheck (L_30, L_33);
		(L_30)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (Il2CppObject *)L_33);
		ObjectU5BU5D_t3614634134* L_34 = L_30;
		String_t* L_35 = V_0;
		Il2CppChar L_36 = String_get_Chars_m4230566705(L_35, ((int32_t)13), /*hidden argument*/NULL);
		Il2CppChar L_37 = L_36;
		Il2CppObject * L_38 = Box(Char_t3454481338_il2cpp_TypeInfo_var, &L_37);
		ArrayElementTypeCheck (L_34, L_38);
		(L_34)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(3), (Il2CppObject *)L_38);
		ObjectU5BU5D_t3614634134* L_39 = L_34;
		String_t* L_40 = V_0;
		Il2CppChar L_41 = String_get_Chars_m4230566705(L_40, ((int32_t)14), /*hidden argument*/NULL);
		Il2CppChar L_42 = L_41;
		Il2CppObject * L_43 = Box(Char_t3454481338_il2cpp_TypeInfo_var, &L_42);
		ArrayElementTypeCheck (L_39, L_43);
		(L_39)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(4), (Il2CppObject *)L_43);
		ObjectU5BU5D_t3614634134* L_44 = L_39;
		String_t* L_45 = V_0;
		Il2CppChar L_46 = String_get_Chars_m4230566705(L_45, ((int32_t)15), /*hidden argument*/NULL);
		Il2CppChar L_47 = L_46;
		Il2CppObject * L_48 = Box(Char_t3454481338_il2cpp_TypeInfo_var, &L_47);
		ArrayElementTypeCheck (L_44, L_48);
		(L_44)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(5), (Il2CppObject *)L_48);
		ObjectU5BU5D_t3614634134* L_49 = L_44;
		String_t* L_50 = V_0;
		Il2CppChar L_51 = String_get_Chars_m4230566705(L_50, ((int32_t)16), /*hidden argument*/NULL);
		Il2CppChar L_52 = L_51;
		Il2CppObject * L_53 = Box(Char_t3454481338_il2cpp_TypeInfo_var, &L_52);
		ArrayElementTypeCheck (L_49, L_53);
		(L_49)->SetAtUnchecked(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_m1263743648(NULL /*static, unused*/, _stringLiteral2436348051, L_49, /*hidden argument*/NULL);
		V_0 = L_54;
		V_1 = _stringLiteral3733646330;
		goto IL_016b;
	}

IL_016b:
	{
		String_t* L_55 = V_0;
		String_t* L_56 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_57 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t693205669_il2cpp_TypeInfo_var);
		DateTime_t693205669  L_58 = DateTime_ParseExact_m1833429974(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_t3195628829_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t BitConverterLE_GetUIntBytes_m2975603021_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* BitConverterLE_GetUIntBytes_m2975603021 (Il2CppObject * __this /* static, unused */, uint8_t* ___bytes0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BitConverterLE_GetUIntBytes_m2975603021_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t3195628829_il2cpp_TypeInfo_var);
		bool L_0 = ((BitConverter_t3195628829_StaticFields*)BitConverter_t3195628829_il2cpp_TypeInfo_var->static_fields)->get_IsLittleEndian_1();
		if (!L_0)
		{
			goto IL_002b;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4));
		uint8_t* L_2 = ___bytes0;
		(L_1)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)(*((uint8_t*)L_2)));
		ByteU5BU5D_t3397334013* L_3 = L_1;
		uint8_t* L_4 = ___bytes0;
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_4+(int32_t)1)))));
		ByteU5BU5D_t3397334013* L_5 = L_3;
		uint8_t* L_6 = ___bytes0;
		(L_5)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_6+(int32_t)2)))));
		ByteU5BU5D_t3397334013* L_7 = L_5;
		uint8_t* L_8 = ___bytes0;
		(L_7)->SetAtUnchecked(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_t3397334013* L_9 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4));
		uint8_t* L_10 = ___bytes0;
		(L_9)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_10+(int32_t)3)))));
		ByteU5BU5D_t3397334013* L_11 = L_9;
		uint8_t* L_12 = ___bytes0;
		(L_11)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_12+(int32_t)2)))));
		ByteU5BU5D_t3397334013* L_13 = L_11;
		uint8_t* L_14 = ___bytes0;
		(L_13)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(*((uint8_t*)((uint8_t*)((intptr_t)L_14+(int32_t)1)))));
		ByteU5BU5D_t3397334013* L_15 = L_13;
		uint8_t* L_16 = ___bytes0;
		(L_15)->SetAtUnchecked(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_t3397334013* BitConverterLE_GetBytes_m1242468557 (Il2CppObject * __this /* static, unused */, int32_t ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = BitConverterLE_GetUIntBytes_m2975603021(NULL /*static, unused*/, (uint8_t*)(uint8_t*)(&___value0), /*hidden argument*/NULL);
		return L_0;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::.ctor()
extern Il2CppClass* RC4_t2789934315_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed__ctor_m2922048522_MetadataUsageId;
extern "C"  void ARC4Managed__ctor_m2922048522 (ARC4Managed_t3379271383 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed__ctor_m2922048522_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(RC4_t2789934315_il2cpp_TypeInfo_var);
		RC4__ctor_m1585026462(__this, /*hidden argument*/NULL);
		__this->set_state_13(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_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_m4206406046 (ARC4Managed_t3379271383 * __this, const MethodInfo* method)
{
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1927440687 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		SymmetricAlgorithm_Finalize_m1665128997(__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_t1927440687 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::Dispose(System.Boolean)
extern "C"  void ARC4Managed_Dispose_m4102232694 (ARC4Managed_t3379271383 * __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_t3397334013* L_1 = __this->get_key_12();
		if (!L_1)
		{
			goto IL_003f;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_2 = __this->get_key_12();
		ByteU5BU5D_t3397334013* L_3 = __this->get_key_12();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_003f:
	{
		ByteU5BU5D_t3397334013* L_4 = __this->get_state_13();
		ByteU5BU5D_t3397334013* L_5 = __this->get_state_13();
		Array_Clear_m782967417(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_t3397334013*)NULL);
		GC_SuppressFinalize_m953228702(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_get_Key_m3234603170_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* ARC4Managed_get_Key_m3234603170 (ARC4Managed_t3379271383 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_get_Key_m3234603170_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_key_12();
		Il2CppObject * L_1 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_1, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::set_Key(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_set_Key_m663161993_MetadataUsageId;
extern "C"  void ARC4Managed_set_Key_m663161993 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_set_Key_m663161993_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		Il2CppObject * L_1 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		__this->set_key_12(((ByteU5BU5D_t3397334013*)Castclass(L_1, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var)));
		ByteU5BU5D_t3397334013* L_2 = __this->get_key_12();
		ARC4Managed_KeySetup_m73384687(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Cryptography.ARC4Managed::get_CanReuseTransform()
extern "C"  bool ARC4Managed_get_CanReuseTransform_m3235470105 (ARC4Managed_t3379271383 * __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_m800891464 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___rgbKey0, ByteU5BU5D_t3397334013* ___rgvIV1, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___rgbKey0;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::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_m2848783948 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___rgbKey0, ByteU5BU5D_t3397334013* ___rgvIV1, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___rgbKey0;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_GenerateIV_m2815460576_MetadataUsageId;
extern "C"  void ARC4Managed_GenerateIV_m2815460576 (ARC4Managed_t3379271383 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_GenerateIV_m2815460576_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(10 /* System.Void Mono.Security.Cryptography.RC4::set_IV(System.Byte[]) */, __this, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0)));
		return;
	}
}
// System.Void Mono.Security.Cryptography.ARC4Managed::GenerateKey()
extern "C"  void ARC4Managed_GenerateKey_m716135508 (ARC4Managed_t3379271383 * __this, const MethodInfo* method)
{
	{
		int32_t L_0 = ((SymmetricAlgorithm_t1108166522 *)__this)->get_KeySizeValue_2();
		ByteU5BU5D_t3397334013* L_1 = KeyBuilder_Key_m3814433741(NULL /*static, unused*/, ((int32_t)((int32_t)L_0>>(int32_t)3)), /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::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_m73384687 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___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_t3397334013* L_0 = __this->get_state_13();
		int32_t L_1 = V_2;
		int32_t L_2 = V_2;
		(L_0)->SetAtUnchecked(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_t3397334013* L_5 = ___key0;
		uint8_t L_6 = V_0;
		uint8_t L_7 = L_6;
		uint8_t L_8 = (L_5)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		ByteU5BU5D_t3397334013* L_9 = __this->get_state_13();
		int32_t L_10 = V_3;
		int32_t L_11 = L_10;
		uint8_t L_12 = (L_9)->GetAtUnchecked(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_t3397334013* L_14 = __this->get_state_13();
		int32_t L_15 = V_3;
		int32_t L_16 = L_15;
		uint8_t L_17 = (L_14)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_16));
		V_4 = L_17;
		ByteU5BU5D_t3397334013* L_18 = __this->get_state_13();
		int32_t L_19 = V_3;
		ByteU5BU5D_t3397334013* L_20 = __this->get_state_13();
		uint8_t L_21 = V_1;
		uint8_t L_22 = L_21;
		uint8_t L_23 = (L_20)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_22));
		(L_18)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_19), (uint8_t)L_23);
		ByteU5BU5D_t3397334013* L_24 = __this->get_state_13();
		uint8_t L_25 = V_1;
		uint8_t L_26 = V_4;
		(L_24)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_25), (uint8_t)L_26);
		uint8_t L_27 = V_0;
		ByteU5BU5D_t3397334013* 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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral609194916;
extern Il2CppCodeGenString* _stringLiteral3110660963;
extern Il2CppCodeGenString* _stringLiteral816987394;
extern Il2CppCodeGenString* _stringLiteral2737893205;
extern Il2CppCodeGenString* _stringLiteral5961480;
extern const uint32_t ARC4Managed_CheckInput_m3033530539_MetadataUsageId;
extern "C"  void ARC4Managed_CheckInput_m3033530539 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_CheckInput_m3033530539_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ___inputBuffer0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral609194916, /*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_t279959794 * L_3 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m4234257711(L_3, _stringLiteral3110660963, _stringLiteral816987394, /*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_t279959794 * L_5 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m4234257711(L_5, _stringLiteral2737893205, _stringLiteral816987394, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003f:
	{
		int32_t L_6 = ___inputOffset1;
		ByteU5BU5D_t3397334013* 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_m1644072174(NULL /*static, unused*/, _stringLiteral5961480, /*hidden argument*/NULL);
		ArgumentException_t3259014390 * L_10 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m544251339(L_10, _stringLiteral609194916, 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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2553810003;
extern Il2CppCodeGenString* _stringLiteral106791344;
extern Il2CppCodeGenString* _stringLiteral816987394;
extern Il2CppCodeGenString* _stringLiteral5961480;
extern const uint32_t ARC4Managed_TransformBlock_m1197694862_MetadataUsageId;
extern "C"  int32_t ARC4Managed_TransformBlock_m1197694862 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, ByteU5BU5D_t3397334013* ___outputBuffer3, int32_t ___outputOffset4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_TransformBlock_m1197694862_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ___inputBuffer0;
		int32_t L_1 = ___inputOffset1;
		int32_t L_2 = ___inputCount2;
		ARC4Managed_CheckInput_m3033530539(__this, L_0, L_1, L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = ___outputBuffer3;
		if (L_3)
		{
			goto IL_001b;
		}
	}
	{
		ArgumentNullException_t628810857 * L_4 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_4, _stringLiteral2553810003, /*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_t279959794 * L_6 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m4234257711(L_6, _stringLiteral106791344, _stringLiteral816987394, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0033:
	{
		int32_t L_7 = ___outputOffset4;
		ByteU5BU5D_t3397334013* 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_m1644072174(NULL /*static, unused*/, _stringLiteral5961480, /*hidden argument*/NULL);
		ArgumentException_t3259014390 * L_11 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m544251339(L_11, _stringLiteral2553810003, L_10, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0055:
	{
		ByteU5BU5D_t3397334013* L_12 = ___inputBuffer0;
		int32_t L_13 = ___inputOffset1;
		int32_t L_14 = ___inputCount2;
		ByteU5BU5D_t3397334013* L_15 = ___outputBuffer3;
		int32_t L_16 = ___outputOffset4;
		int32_t L_17 = ARC4Managed_InternalTransformBlock_m1999805545(__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_m1999805545 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, ByteU5BU5D_t3397334013* ___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_t3397334013* 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)->GetAtUnchecked(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_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_8));
		V_2 = L_9;
		ByteU5BU5D_t3397334013* L_10 = __this->get_state_13();
		uint8_t L_11 = __this->get_x_14();
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_14));
		(L_10)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_11), (uint8_t)L_15);
		ByteU5BU5D_t3397334013* L_16 = __this->get_state_13();
		uint8_t L_17 = __this->get_y_15();
		uint8_t L_18 = V_2;
		(L_16)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_17), (uint8_t)L_18);
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_21));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(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_t3397334013* L_27 = ___outputBuffer3;
		int32_t L_28 = ___outputOffset4;
		int32_t L_29 = V_1;
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_33));
		ByteU5BU5D_t3397334013* L_35 = __this->get_state_13();
		uint8_t L_36 = V_0;
		uint8_t L_37 = L_36;
		uint8_t L_38 = (L_35)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_37));
		(L_27)->SetAtUnchecked(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ARC4Managed_TransformFinalBlock_m2162658128_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* ARC4Managed_TransformFinalBlock_m2162658128 (ARC4Managed_t3379271383 * __this, ByteU5BU5D_t3397334013* ___inputBuffer0, int32_t ___inputOffset1, int32_t ___inputCount2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ARC4Managed_TransformFinalBlock_m2162658128_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ___inputBuffer0;
		int32_t L_1 = ___inputOffset1;
		int32_t L_2 = ___inputCount2;
		ARC4Managed_CheckInput_m3033530539(__this, L_0, L_1, L_2, /*hidden argument*/NULL);
		int32_t L_3 = ___inputCount2;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_3));
		ByteU5BU5D_t3397334013* L_4 = ___inputBuffer0;
		int32_t L_5 = ___inputOffset1;
		int32_t L_6 = ___inputCount2;
		ByteU5BU5D_t3397334013* L_7 = V_0;
		ARC4Managed_InternalTransformBlock_m1999805545(__this, L_4, L_5, L_6, L_7, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_8 = V_0;
		return L_8;
	}
}
// System.String Mono.Security.Cryptography.CryptoConvert::ToHex(System.Byte[])
extern Il2CppClass* StringBuilder_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3231012752;
extern const uint32_t CryptoConvert_ToHex_m3804747475_MetadataUsageId;
extern "C"  String_t* CryptoConvert_ToHex_m3804747475 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___input0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CryptoConvert_ToHex_m3804747475_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	StringBuilder_t1221177846 * V_0 = NULL;
	uint8_t V_1 = 0x0;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	int32_t V_3 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___input0;
		if (L_0)
		{
			goto IL_0008;
		}
	}
	{
		return (String_t*)NULL;
	}

IL_0008:
	{
		ByteU5BU5D_t3397334013* L_1 = ___input0;
		StringBuilder_t1221177846 * L_2 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m536337337(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_t3397334013* L_3 = ___input0;
		V_2 = L_3;
		V_3 = 0;
		goto IL_003c;
	}

IL_001c:
	{
		ByteU5BU5D_t3397334013* L_4 = V_2;
		int32_t L_5 = V_3;
		int32_t L_6 = L_5;
		uint8_t L_7 = (L_4)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_6));
		V_1 = L_7;
		StringBuilder_t1221177846 * L_8 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_9 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_10 = Byte_ToString_m3956930818((&V_1), _stringLiteral3231012752, L_9, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(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_t3397334013* L_13 = V_2;
		if ((((int32_t)L_12) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))))))
		{
			goto IL_001c;
		}
	}
	{
		StringBuilder_t1221177846 * L_14 = V_0;
		String_t* L_15 = StringBuilder_ToString_m1507807375(L_14, /*hidden argument*/NULL);
		return L_15;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::.ctor(System.String,System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3162791842;
extern const uint32_t HMAC__ctor_m2605930831_MetadataUsageId;
extern "C"  void HMAC__ctor_m2605930831 (HMAC_t2707728663 * __this, String_t* ___hashName0, ByteU5BU5D_t3397334013* ___rgbKey1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HMAC__ctor_m2605930831_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		KeyedHashAlgorithm__ctor_m2868676404(__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_m1606060069(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_001e;
		}
	}

IL_0017:
	{
		___hashName0 = _stringLiteral3162791842;
	}

IL_001e:
	{
		String_t* L_3 = ___hashName0;
		HashAlgorithm_t2624936259 * L_4 = HashAlgorithm_Create_m1224939073(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
		__this->set_hash_5(L_4);
		HashAlgorithm_t2624936259 * 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_t2624936259 *)__this)->set_HashSizeValue_1(L_6);
		ByteU5BU5D_t3397334013* L_7 = ___rgbKey1;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length))))) <= ((int32_t)((int32_t)64))))
		{
			goto IL_005c;
		}
	}
	{
		HashAlgorithm_t2624936259 * L_8 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_9 = ___rgbKey1;
		ByteU5BU5D_t3397334013* L_10 = HashAlgorithm_ComputeHash_m3637856778(L_8, L_9, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1374150027 *)__this)->set_KeyValue_4(L_10);
		goto IL_006d;
	}

IL_005c:
	{
		ByteU5BU5D_t3397334013* L_11 = ___rgbKey1;
		Il2CppObject * L_12 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_11, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1374150027 *)__this)->set_KeyValue_4(((ByteU5BU5D_t3397334013*)Castclass(L_12, ByteU5BU5D_t3397334013_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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_get_Key_m2528863640_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* HMAC_get_Key_m2528863640 (HMAC_t2707728663 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HMAC_get_Key_m2528863640_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ((KeyedHashAlgorithm_t1374150027 *)__this)->get_KeyValue_4();
		Il2CppObject * L_1 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_0, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_1, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.HMAC::set_Key(System.Byte[])
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2661076728;
extern const uint32_t HMAC_set_Key_m3745565827_MetadataUsageId;
extern "C"  void HMAC_set_Key_m3745565827 (HMAC_t2707728663 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HMAC_set_Key_m3745565827_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_hashing_6();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		Exception_t1927440687 * L_1 = (Exception_t1927440687 *)il2cpp_codegen_object_new(Exception_t1927440687_il2cpp_TypeInfo_var);
		Exception__ctor_m485833136(L_1, _stringLiteral2661076728, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

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

IL_0037:
	{
		ByteU5BU5D_t3397334013* L_6 = ___value0;
		Il2CppObject * L_7 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_6, /*hidden argument*/NULL);
		((KeyedHashAlgorithm_t1374150027 *)__this)->set_KeyValue_4(((ByteU5BU5D_t3397334013*)Castclass(L_7, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var)));
	}

IL_0048:
	{
		HMAC_initializePad_m3828610671(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.HMAC::Initialize()
extern "C"  void HMAC_Initialize_m3052649104 (HMAC_t2707728663 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t2624936259 * L_0 = __this->get_hash_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HMAC_initializePad_m3828610671(__this, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)0);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.HMAC::HashFinal()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_HashFinal_m1045191164_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* HMAC_HashFinal_m1045191164 (HMAC_t2707728663 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HMAC_HashFinal_m1045191164_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0034;
		}
	}
	{
		HashAlgorithm_t2624936259 * L_1 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_2 = __this->get_innerPad_7();
		ByteU5BU5D_t3397334013* L_3 = __this->get_innerPad_7();
		ByteU5BU5D_t3397334013* L_4 = __this->get_innerPad_7();
		HashAlgorithm_TransformBlock_m4190258810(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_t2624936259 * L_5 = __this->get_hash_5();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_5, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_6 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_6);
		V_0 = L_7;
		HashAlgorithm_t2624936259 * L_8 = __this->get_hash_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_8);
		HashAlgorithm_t2624936259 * L_9 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_10 = __this->get_outerPad_8();
		ByteU5BU5D_t3397334013* L_11 = __this->get_outerPad_8();
		ByteU5BU5D_t3397334013* L_12 = __this->get_outerPad_8();
		HashAlgorithm_TransformBlock_m4190258810(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_13 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_14 = V_0;
		ByteU5BU5D_t3397334013* L_15 = V_0;
		HashAlgorithm_TransformFinalBlock_m3071802428(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_t2624936259 * L_16 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_17 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_m3394319142 (HMAC_t2707728663 * __this, ByteU5BU5D_t3397334013* ___array0, int32_t ___ibStart1, int32_t ___cbSize2, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_hashing_6();
		if (L_0)
		{
			goto IL_0034;
		}
	}
	{
		HashAlgorithm_t2624936259 * L_1 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_2 = __this->get_innerPad_7();
		ByteU5BU5D_t3397334013* L_3 = __this->get_innerPad_7();
		ByteU5BU5D_t3397334013* L_4 = __this->get_innerPad_7();
		HashAlgorithm_TransformBlock_m4190258810(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_t2624936259 * L_5 = __this->get_hash_5();
		ByteU5BU5D_t3397334013* L_6 = ___array0;
		int32_t L_7 = ___ibStart1;
		int32_t L_8 = ___cbSize2;
		ByteU5BU5D_t3397334013* L_9 = ___array0;
		int32_t L_10 = ___ibStart1;
		HashAlgorithm_TransformBlock_m4190258810(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t HMAC_initializePad_m3828610671_MetadataUsageId;
extern "C"  void HMAC_initializePad_m3828610671 (HMAC_t2707728663 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HMAC_initializePad_m3828610671_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		__this->set_innerPad_7(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		__this->set_outerPad_8(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		V_0 = 0;
		goto IL_004d;
	}

IL_0021:
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_innerPad_7();
		int32_t L_1 = V_0;
		ByteU5BU5D_t3397334013* L_2 = ((KeyedHashAlgorithm_t1374150027 *)__this)->get_KeyValue_4();
		int32_t L_3 = V_0;
		int32_t L_4 = L_3;
		uint8_t L_5 = (L_2)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4));
		(L_0)->SetAtUnchecked(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_t3397334013* L_6 = __this->get_outerPad_8();
		int32_t L_7 = V_0;
		ByteU5BU5D_t3397334013* L_8 = ((KeyedHashAlgorithm_t1374150027 *)__this)->get_KeyValue_4();
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint8_t L_11 = (L_8)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_10));
		(L_6)->SetAtUnchecked(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_t3397334013* L_14 = ((KeyedHashAlgorithm_t1374150027 *)__this)->get_KeyValue_4();
		if ((((int32_t)L_13) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_14)->max_length)))))))
		{
			goto IL_0021;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_15 = ((KeyedHashAlgorithm_t1374150027 *)__this)->get_KeyValue_4();
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_15)->max_length))));
		goto IL_0081;
	}

IL_0069:
	{
		ByteU5BU5D_t3397334013* L_16 = __this->get_innerPad_7();
		int32_t L_17 = V_1;
		(L_16)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_17), (uint8_t)((int32_t)54));
		ByteU5BU5D_t3397334013* L_18 = __this->get_outerPad_8();
		int32_t L_19 = V_1;
		(L_18)->SetAtUnchecked(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_t3965881085_il2cpp_TypeInfo_var;
extern const uint32_t KeyBuilder_get_Rng_m2539978716_MetadataUsageId;
extern "C"  RandomNumberGenerator_t2510243513 * KeyBuilder_get_Rng_m2539978716 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (KeyBuilder_get_Rng_m2539978716_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		RandomNumberGenerator_t2510243513 * L_0 = ((KeyBuilder_t3965881085_StaticFields*)KeyBuilder_t3965881085_il2cpp_TypeInfo_var->static_fields)->get_rng_0();
		if (L_0)
		{
			goto IL_0014;
		}
	}
	{
		RandomNumberGenerator_t2510243513 * L_1 = RandomNumberGenerator_Create_m2275686895(NULL /*static, unused*/, /*hidden argument*/NULL);
		((KeyBuilder_t3965881085_StaticFields*)KeyBuilder_t3965881085_il2cpp_TypeInfo_var->static_fields)->set_rng_0(L_1);
	}

IL_0014:
	{
		RandomNumberGenerator_t2510243513 * L_2 = ((KeyBuilder_t3965881085_StaticFields*)KeyBuilder_t3965881085_il2cpp_TypeInfo_var->static_fields)->get_rng_0();
		return L_2;
	}
}
// System.Byte[] Mono.Security.Cryptography.KeyBuilder::Key(System.Int32)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t KeyBuilder_Key_m3814433741_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* KeyBuilder_Key_m3814433741 (Il2CppObject * __this /* static, unused */, int32_t ___size0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (KeyBuilder_Key_m3814433741_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		int32_t L_0 = ___size0;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_0));
		RandomNumberGenerator_t2510243513 * L_1 = KeyBuilder_get_Rng_m2539978716(NULL /*static, unused*/, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_2 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_1, L_2);
		ByteU5BU5D_t3397334013* L_3 = V_0;
		return L_3;
	}
}
// System.Void Mono.Security.Cryptography.MD2::.ctor()
extern "C"  void MD2__ctor_m3133818738 (MD2_t726199179 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m3777008390(__this, /*hidden argument*/NULL);
		((HashAlgorithm_t2624936259 *)__this)->set_HashSizeValue_1(((int32_t)128));
		return;
	}
}
// Mono.Security.Cryptography.MD2 Mono.Security.Cryptography.MD2::Create()
extern Il2CppCodeGenString* _stringLiteral3162791839;
extern const uint32_t MD2_Create_m3241404171_MetadataUsageId;
extern "C"  MD2_t726199179 * MD2_Create_m3241404171 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2_Create_m3241404171_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		MD2_t726199179 * L_0 = MD2_Create_m539024737(NULL /*static, unused*/, _stringLiteral3162791839, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.Cryptography.MD2 Mono.Security.Cryptography.MD2::Create(System.String)
extern Il2CppClass* CryptoConfig_t896479599_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2Managed_t1421454332_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2_t726199179_il2cpp_TypeInfo_var;
extern const uint32_t MD2_Create_m539024737_MetadataUsageId;
extern "C"  MD2_t726199179 * MD2_Create_m539024737 (Il2CppObject * __this /* static, unused */, String_t* ___hashName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2_Create_m539024737_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	{
		String_t* L_0 = ___hashName0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t896479599_il2cpp_TypeInfo_var);
		Il2CppObject * L_1 = CryptoConfig_CreateFromName_m391442950(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		MD2Managed_t1421454332 * L_3 = (MD2Managed_t1421454332 *)il2cpp_codegen_object_new(MD2Managed_t1421454332_il2cpp_TypeInfo_var);
		MD2Managed__ctor_m1696123663(L_3, /*hidden argument*/NULL);
		V_0 = L_3;
	}

IL_0013:
	{
		Il2CppObject * L_4 = V_0;
		return ((MD2_t726199179 *)CastclassClass(L_4, MD2_t726199179_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::.ctor()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed__ctor_m1696123663_MetadataUsageId;
extern "C"  void MD2Managed__ctor_m1696123663 (MD2Managed_t1421454332 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed__ctor_m1696123663_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		MD2__ctor_m3133818738(__this, /*hidden argument*/NULL);
		__this->set_state_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_checksum_5(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_buffer_6(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_x_8(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* MD2Managed_t1421454332_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D5_1_FieldInfo_var;
extern const uint32_t MD2Managed__cctor_m3575944986_MetadataUsageId;
extern "C"  void MD2Managed__cctor_m3575944986 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed__cctor_m3575944986_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)256)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D5_1_FieldInfo_var), /*hidden argument*/NULL);
		((MD2Managed_t1421454332_StaticFields*)MD2Managed_t1421454332_il2cpp_TypeInfo_var->static_fields)->set_PI_SUBST_9(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD2Managed::Padding(System.Int32)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_Padding_m410163267_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD2Managed_Padding_m410163267 (MD2Managed_t1421454332 * __this, int32_t ___nLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_Padding_m410163267_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_1));
		V_1 = 0;
		goto IL_001e;
	}

IL_0015:
	{
		ByteU5BU5D_t3397334013* L_2 = V_0;
		int32_t L_3 = V_1;
		int32_t L_4 = ___nLength0;
		(L_2)->SetAtUnchecked(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_t3397334013* L_7 = V_0;
		if ((((int32_t)L_6) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))))))
		{
			goto IL_0015;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_8 = V_0;
		return L_8;
	}

IL_0029:
	{
		return (ByteU5BU5D_t3397334013*)NULL;
	}
}
// System.Void Mono.Security.Cryptography.MD2Managed::Initialize()
extern "C"  void MD2Managed_Initialize_m1330748427 (MD2Managed_t1421454332 * __this, const MethodInfo* method)
{
	{
		__this->set_count_7(0);
		ByteU5BU5D_t3397334013* L_0 = __this->get_state_4();
		Array_Clear_m782967417(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = __this->get_checksum_5();
		Array_Clear_m782967417(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_2 = __this->get_buffer_6();
		Array_Clear_m782967417(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = __this->get_x_8();
		Array_Clear_m782967417(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_m248147901 (MD2Managed_t1421454332 * __this, ByteU5BU5D_t3397334013* ___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_t3397334013* L_6 = ___array0;
		int32_t L_7 = ___ibStart1;
		ByteU5BU5D_t3397334013* L_8 = __this->get_buffer_6();
		int32_t L_9 = V_1;
		int32_t L_10 = V_2;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, L_7, (Il2CppArray *)(Il2CppArray *)L_8, L_9, L_10, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_11 = __this->get_state_4();
		ByteU5BU5D_t3397334013* L_12 = __this->get_checksum_5();
		ByteU5BU5D_t3397334013* L_13 = __this->get_buffer_6();
		MD2Managed_MD2Transform_m3825201358(__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_t3397334013* L_15 = __this->get_state_4();
		ByteU5BU5D_t3397334013* L_16 = __this->get_checksum_5();
		ByteU5BU5D_t3397334013* L_17 = ___array0;
		int32_t L_18 = V_0;
		MD2Managed_MD2Transform_m3825201358(__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_t3397334013* L_22 = ___array0;
		int32_t L_23 = ___ibStart1;
		int32_t L_24 = V_0;
		ByteU5BU5D_t3397334013* 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_m1586717258(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_HashFinal_m4151214661_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD2Managed_HashFinal_m4151214661 (MD2Managed_t1421454332 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_HashFinal_m4151214661_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t3397334013* 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_t3397334013* L_4 = MD2Managed_Padding_m410163267(__this, L_3, /*hidden argument*/NULL);
		int32_t L_5 = V_1;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013* L_6 = __this->get_checksum_5();
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013* L_7 = __this->get_state_4();
		Il2CppObject * L_8 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_7, /*hidden argument*/NULL);
		V_2 = ((ByteU5BU5D_t3397334013*)Castclass(L_8, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD2Managed::Initialize() */, __this);
		ByteU5BU5D_t3397334013* 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_t1421454332_il2cpp_TypeInfo_var;
extern const uint32_t MD2Managed_MD2Transform_m3825201358_MetadataUsageId;
extern "C"  void MD2Managed_MD2Transform_m3825201358 (MD2Managed_t1421454332 * __this, ByteU5BU5D_t3397334013* ___state0, ByteU5BU5D_t3397334013* ___checksum1, ByteU5BU5D_t3397334013* ___block2, int32_t ___index3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD2Managed_MD2Transform_m3825201358_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t3397334013* L_0 = ___state0;
		ByteU5BU5D_t3397334013* L_1 = __this->get_x_8();
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, 0, (Il2CppArray *)(Il2CppArray *)L_1, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_2 = ___block2;
		int32_t L_3 = ___index3;
		ByteU5BU5D_t3397334013* L_4 = __this->get_x_8();
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_5 = __this->get_x_8();
		int32_t L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = ___state0;
		int32_t L_8 = V_0;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_9));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_14));
		(L_5)->SetAtUnchecked(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_t3397334013* L_18 = __this->get_x_8();
		int32_t L_19 = V_3;
		uint8_t* L_20 = ((L_18)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(L_19)));
		IL2CPP_RUNTIME_CLASS_INIT(MD2Managed_t1421454332_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_21 = ((MD2Managed_t1421454332_StaticFields*)MD2Managed_t1421454332_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)->GetAtUnchecked(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_t3397334013* L_33 = __this->get_x_8();
		ByteU5BU5D_t3397334013* L_34 = ___state0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_33, 0, (Il2CppArray *)(Il2CppArray *)L_34, 0, ((int32_t)16), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_35 = ___checksum1;
		int32_t L_36 = ((int32_t)15);
		uint8_t L_37 = (L_35)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_36));
		V_1 = L_37;
		V_4 = 0;
		goto IL_00e0;
	}

IL_00b8:
	{
		ByteU5BU5D_t3397334013* L_38 = ___checksum1;
		int32_t L_39 = V_4;
		uint8_t* L_40 = ((L_38)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(L_39)));
		IL2CPP_RUNTIME_CLASS_INIT(MD2Managed_t1421454332_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_41 = ((MD2Managed_t1421454332_StaticFields*)MD2Managed_t1421454332_il2cpp_TypeInfo_var->static_fields)->get_PI_SUBST_9();
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(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)->GetAtUnchecked(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_m2366413460 (MD4_t1888998593 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m3777008390(__this, /*hidden argument*/NULL);
		((HashAlgorithm_t2624936259 *)__this)->set_HashSizeValue_1(((int32_t)128));
		return;
	}
}
// Mono.Security.Cryptography.MD4 Mono.Security.Cryptography.MD4::Create()
extern Il2CppCodeGenString* _stringLiteral3162791841;
extern const uint32_t MD4_Create_m3565183915_MetadataUsageId;
extern "C"  MD4_t1888998593 * MD4_Create_m3565183915 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD4_Create_m3565183915_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		MD4_t1888998593 * L_0 = MD4_Create_m2582504069(NULL /*static, unused*/, _stringLiteral3162791841, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.Cryptography.MD4 Mono.Security.Cryptography.MD4::Create(System.String)
extern Il2CppClass* CryptoConfig_t896479599_il2cpp_TypeInfo_var;
extern Il2CppClass* MD4Managed_t2176273562_il2cpp_TypeInfo_var;
extern Il2CppClass* MD4_t1888998593_il2cpp_TypeInfo_var;
extern const uint32_t MD4_Create_m2582504069_MetadataUsageId;
extern "C"  MD4_t1888998593 * MD4_Create_m2582504069 (Il2CppObject * __this /* static, unused */, String_t* ___hashName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD4_Create_m2582504069_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	{
		String_t* L_0 = ___hashName0;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t896479599_il2cpp_TypeInfo_var);
		Il2CppObject * L_1 = CryptoConfig_CreateFromName_m391442950(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		MD4Managed_t2176273562 * L_3 = (MD4Managed_t2176273562 *)il2cpp_codegen_object_new(MD4Managed_t2176273562_il2cpp_TypeInfo_var);
		MD4Managed__ctor_m796835377(L_3, /*hidden argument*/NULL);
		V_0 = L_3;
	}

IL_0013:
	{
		Il2CppObject * L_4 = V_0;
		return ((MD4_t1888998593 *)CastclassClass(L_4, MD4_t1888998593_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.MD4Managed::.ctor()
extern Il2CppClass* UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed__ctor_m796835377_MetadataUsageId;
extern "C"  void MD4Managed__ctor_m796835377 (MD4Managed_t2176273562 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed__ctor_m796835377_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		MD4__ctor_m2366413460(__this, /*hidden argument*/NULL);
		__this->set_state_4(((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)4)));
		__this->set_count_6(((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_il2cpp_TypeInfo_var, (uint32_t)2)));
		__this->set_buffer_5(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64))));
		__this->set_digest_8(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16))));
		__this->set_x_7(((UInt32U5BU5D_t59386216*)SZArrayNew(UInt32U5BU5D_t59386216_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_m2316730601 (MD4Managed_t2176273562 * __this, const MethodInfo* method)
{
	{
		UInt32U5BU5D_t59386216* L_0 = __this->get_count_6();
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint32_t)0);
		UInt32U5BU5D_t59386216* L_1 = __this->get_count_6();
		(L_1)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint32_t)0);
		UInt32U5BU5D_t59386216* L_2 = __this->get_state_4();
		(L_2)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint32_t)((int32_t)1732584193));
		UInt32U5BU5D_t59386216* L_3 = __this->get_state_4();
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint32_t)((int32_t)-271733879));
		UInt32U5BU5D_t59386216* L_4 = __this->get_state_4();
		(L_4)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint32_t)((int32_t)-1732584194));
		UInt32U5BU5D_t59386216* L_5 = __this->get_state_4();
		(L_5)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(3), (uint32_t)((int32_t)271733878));
		ByteU5BU5D_t3397334013* L_6 = __this->get_buffer_5();
		Array_Clear_m782967417(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, 0, ((int32_t)64), /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* L_7 = __this->get_x_7();
		Array_Clear_m782967417(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_m3133543859 (MD4Managed_t2176273562 * __this, ByteU5BU5D_t3397334013* ___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_t59386216* L_0 = __this->get_count_6();
		int32_t L_1 = 0;
		uint32_t L_2 = (L_0)->GetAtUnchecked(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_t59386216* L_3 = __this->get_count_6();
		uint32_t* L_4 = ((L_3)->GetAddressAtUnchecked(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_t59386216* L_6 = __this->get_count_6();
		int32_t L_7 = 0;
		uint32_t L_8 = (L_6)->GetAtUnchecked(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_t59386216* L_10 = __this->get_count_6();
		uint32_t* L_11 = ((L_10)->GetAddressAtUnchecked(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_t59386216* L_12 = __this->get_count_6();
		uint32_t* L_13 = ((L_12)->GetAddressAtUnchecked(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_t3397334013* L_18 = ___array0;
		int32_t L_19 = ___ibStart1;
		ByteU5BU5D_t3397334013* L_20 = __this->get_buffer_5();
		int32_t L_21 = V_0;
		int32_t L_22 = V_1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, L_19, (Il2CppArray *)(Il2CppArray *)L_20, L_21, L_22, /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* L_23 = __this->get_state_4();
		ByteU5BU5D_t3397334013* L_24 = __this->get_buffer_5();
		MD4Managed_MD4Transform_m2648331494(__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_t59386216* L_26 = __this->get_state_4();
		ByteU5BU5D_t3397334013* L_27 = ___array0;
		int32_t L_28 = V_2;
		MD4Managed_MD4Transform_m2648331494(__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_t3397334013* L_32 = ___array0;
		int32_t L_33 = ___ibStart1;
		int32_t L_34 = V_2;
		ByteU5BU5D_t3397334013* 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_m1586717258(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed_HashFinal_m1777895823_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD4Managed_HashFinal_m1777895823 (MD4Managed_t2176273562 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed_HashFinal_m1777895823_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	uint32_t V_1 = 0;
	int32_t V_2 = 0;
	int32_t G_B3_0 = 0;
	{
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)8));
		ByteU5BU5D_t3397334013* L_0 = V_0;
		UInt32U5BU5D_t59386216* L_1 = __this->get_count_6();
		MD4Managed_Encode_m2097839378(__this, L_0, L_1, /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* L_2 = __this->get_count_6();
		int32_t L_3 = 0;
		uint32_t L_4 = (L_2)->GetAtUnchecked(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_t3397334013* L_9 = MD4Managed_Padding_m2920052321(__this, L_8, /*hidden argument*/NULL);
		int32_t L_10 = V_2;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013* L_11 = V_0;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013* L_12 = __this->get_digest_8();
		UInt32U5BU5D_t59386216* L_13 = __this->get_state_4();
		MD4Managed_Encode_m2097839378(__this, L_12, L_13, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(13 /* System.Void Mono.Security.Cryptography.MD4Managed::Initialize() */, __this);
		ByteU5BU5D_t3397334013* L_14 = __this->get_digest_8();
		return L_14;
	}
}
// System.Byte[] Mono.Security.Cryptography.MD4Managed::Padding(System.Int32)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD4Managed_Padding_m2920052321_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD4Managed_Padding_m2920052321 (MD4Managed_t2176273562 * __this, int32_t ___nLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD4Managed_Padding_m2920052321_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_1));
		ByteU5BU5D_t3397334013* L_2 = V_0;
		(L_2)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)((int32_t)128));
		ByteU5BU5D_t3397334013* L_3 = V_0;
		return L_3;
	}

IL_0018:
	{
		return (ByteU5BU5D_t3397334013*)NULL;
	}
}
// System.UInt32 Mono.Security.Cryptography.MD4Managed::F(System.UInt32,System.UInt32,System.UInt32)
extern "C"  uint32_t MD4Managed_F_m2501978380 (MD4Managed_t2176273562 * __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_m1121848465 (MD4Managed_t2176273562 * __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_m4236752602 (MD4Managed_t2176273562 * __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_m2970841588 (MD4Managed_t2176273562 * __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_m784377458 (MD4Managed_t2176273562 * __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_m2501978380(__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_m2970841588(__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_m1462438360 (MD4Managed_t2176273562 * __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_m1121848465(__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_m2970841588(__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_m2172169314 (MD4Managed_t2176273562 * __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_m4236752602(__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_m2970841588(__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_m2097839378 (MD4Managed_t2176273562 * __this, ByteU5BU5D_t3397334013* ___output0, UInt32U5BU5D_t59386216* ___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_t3397334013* L_0 = ___output0;
		int32_t L_1 = V_1;
		UInt32U5BU5D_t59386216* L_2 = ___input1;
		int32_t L_3 = V_0;
		int32_t L_4 = L_3;
		uint32_t L_5 = (L_2)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4));
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)(((int32_t)((uint8_t)L_5))));
		ByteU5BU5D_t3397334013* L_6 = ___output0;
		int32_t L_7 = V_1;
		UInt32U5BU5D_t59386216* L_8 = ___input1;
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint32_t L_11 = (L_8)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_10));
		(L_6)->SetAtUnchecked(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_t3397334013* L_12 = ___output0;
		int32_t L_13 = V_1;
		UInt32U5BU5D_t59386216* L_14 = ___input1;
		int32_t L_15 = V_0;
		int32_t L_16 = L_15;
		uint32_t L_17 = (L_14)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_16));
		(L_12)->SetAtUnchecked(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_t3397334013* L_18 = ___output0;
		int32_t L_19 = V_1;
		UInt32U5BU5D_t59386216* L_20 = ___input1;
		int32_t L_21 = V_0;
		int32_t L_22 = L_21;
		uint32_t L_23 = (L_20)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_22));
		(L_18)->SetAtUnchecked(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_t3397334013* 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_m1036272973 (MD4Managed_t2176273562 * __this, UInt32U5BU5D_t59386216* ___output0, ByteU5BU5D_t3397334013* ___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_t59386216* L_1 = ___output0;
		int32_t L_2 = V_0;
		ByteU5BU5D_t3397334013* L_3 = ___input1;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_9));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_13));
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_17));
		(L_1)->SetAtUnchecked(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_t59386216* 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_m2648331494 (MD4Managed_t2176273562 * __this, UInt32U5BU5D_t59386216* ___state0, ByteU5BU5D_t3397334013* ___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_t59386216* L_0 = ___state0;
		int32_t L_1 = 0;
		uint32_t L_2 = (L_0)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_1));
		V_0 = L_2;
		UInt32U5BU5D_t59386216* L_3 = ___state0;
		int32_t L_4 = 1;
		uint32_t L_5 = (L_3)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4));
		V_1 = L_5;
		UInt32U5BU5D_t59386216* L_6 = ___state0;
		int32_t L_7 = 2;
		uint32_t L_8 = (L_6)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		V_2 = L_8;
		UInt32U5BU5D_t59386216* L_9 = ___state0;
		int32_t L_10 = 3;
		uint32_t L_11 = (L_9)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_10));
		V_3 = L_11;
		UInt32U5BU5D_t59386216* L_12 = __this->get_x_7();
		ByteU5BU5D_t3397334013* L_13 = ___block1;
		int32_t L_14 = ___index2;
		MD4Managed_Decode_m1036272973(__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_t59386216* L_18 = __this->get_x_7();
		int32_t L_19 = 0;
		uint32_t L_20 = (L_18)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_19));
		MD4Managed_FF_m784377458(__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_t59386216* L_24 = __this->get_x_7();
		int32_t L_25 = 1;
		uint32_t L_26 = (L_24)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_25));
		MD4Managed_FF_m784377458(__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_t59386216* L_30 = __this->get_x_7();
		int32_t L_31 = 2;
		uint32_t L_32 = (L_30)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_31));
		MD4Managed_FF_m784377458(__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_t59386216* L_36 = __this->get_x_7();
		int32_t L_37 = 3;
		uint32_t L_38 = (L_36)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_37));
		MD4Managed_FF_m784377458(__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_t59386216* L_42 = __this->get_x_7();
		int32_t L_43 = 4;
		uint32_t L_44 = (L_42)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_43));
		MD4Managed_FF_m784377458(__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_t59386216* L_48 = __this->get_x_7();
		int32_t L_49 = 5;
		uint32_t L_50 = (L_48)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_49));
		MD4Managed_FF_m784377458(__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_t59386216* L_54 = __this->get_x_7();
		int32_t L_55 = 6;
		uint32_t L_56 = (L_54)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_55));
		MD4Managed_FF_m784377458(__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_t59386216* L_60 = __this->get_x_7();
		int32_t L_61 = 7;
		uint32_t L_62 = (L_60)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_61));
		MD4Managed_FF_m784377458(__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_t59386216* L_66 = __this->get_x_7();
		int32_t L_67 = 8;
		uint32_t L_68 = (L_66)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_67));
		MD4Managed_FF_m784377458(__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_t59386216* L_72 = __this->get_x_7();
		int32_t L_73 = ((int32_t)9);
		uint32_t L_74 = (L_72)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_73));
		MD4Managed_FF_m784377458(__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_t59386216* L_78 = __this->get_x_7();
		int32_t L_79 = ((int32_t)10);
		uint32_t L_80 = (L_78)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_79));
		MD4Managed_FF_m784377458(__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_t59386216* L_84 = __this->get_x_7();
		int32_t L_85 = ((int32_t)11);
		uint32_t L_86 = (L_84)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_85));
		MD4Managed_FF_m784377458(__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_t59386216* L_90 = __this->get_x_7();
		int32_t L_91 = ((int32_t)12);
		uint32_t L_92 = (L_90)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_91));
		MD4Managed_FF_m784377458(__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_t59386216* L_96 = __this->get_x_7();
		int32_t L_97 = ((int32_t)13);
		uint32_t L_98 = (L_96)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_97));
		MD4Managed_FF_m784377458(__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_t59386216* L_102 = __this->get_x_7();
		int32_t L_103 = ((int32_t)14);
		uint32_t L_104 = (L_102)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_103));
		MD4Managed_FF_m784377458(__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_t59386216* L_108 = __this->get_x_7();
		int32_t L_109 = ((int32_t)15);
		uint32_t L_110 = (L_108)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_109));
		MD4Managed_FF_m784377458(__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_t59386216* L_114 = __this->get_x_7();
		int32_t L_115 = 0;
		uint32_t L_116 = (L_114)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_115));
		MD4Managed_GG_m1462438360(__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_t59386216* L_120 = __this->get_x_7();
		int32_t L_121 = 4;
		uint32_t L_122 = (L_120)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_121));
		MD4Managed_GG_m1462438360(__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_t59386216* L_126 = __this->get_x_7();
		int32_t L_127 = 8;
		uint32_t L_128 = (L_126)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_127));
		MD4Managed_GG_m1462438360(__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_t59386216* L_132 = __this->get_x_7();
		int32_t L_133 = ((int32_t)12);
		uint32_t L_134 = (L_132)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_133));
		MD4Managed_GG_m1462438360(__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_t59386216* L_138 = __this->get_x_7();
		int32_t L_139 = 1;
		uint32_t L_140 = (L_138)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_139));
		MD4Managed_GG_m1462438360(__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_t59386216* L_144 = __this->get_x_7();
		int32_t L_145 = 5;
		uint32_t L_146 = (L_144)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_145));
		MD4Managed_GG_m1462438360(__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_t59386216* L_150 = __this->get_x_7();
		int32_t L_151 = ((int32_t)9);
		uint32_t L_152 = (L_150)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_151));
		MD4Managed_GG_m1462438360(__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_t59386216* L_156 = __this->get_x_7();
		int32_t L_157 = ((int32_t)13);
		uint32_t L_158 = (L_156)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_157));
		MD4Managed_GG_m1462438360(__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_t59386216* L_162 = __this->get_x_7();
		int32_t L_163 = 2;
		uint32_t L_164 = (L_162)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_163));
		MD4Managed_GG_m1462438360(__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_t59386216* L_168 = __this->get_x_7();
		int32_t L_169 = 6;
		uint32_t L_170 = (L_168)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_169));
		MD4Managed_GG_m1462438360(__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_t59386216* L_174 = __this->get_x_7();
		int32_t L_175 = ((int32_t)10);
		uint32_t L_176 = (L_174)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_175));
		MD4Managed_GG_m1462438360(__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_t59386216* L_180 = __this->get_x_7();
		int32_t L_181 = ((int32_t)14);
		uint32_t L_182 = (L_180)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_181));
		MD4Managed_GG_m1462438360(__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_t59386216* L_186 = __this->get_x_7();
		int32_t L_187 = 3;
		uint32_t L_188 = (L_186)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_187));
		MD4Managed_GG_m1462438360(__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_t59386216* L_192 = __this->get_x_7();
		int32_t L_193 = 7;
		uint32_t L_194 = (L_192)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_193));
		MD4Managed_GG_m1462438360(__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_t59386216* L_198 = __this->get_x_7();
		int32_t L_199 = ((int32_t)11);
		uint32_t L_200 = (L_198)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_199));
		MD4Managed_GG_m1462438360(__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_t59386216* L_204 = __this->get_x_7();
		int32_t L_205 = ((int32_t)15);
		uint32_t L_206 = (L_204)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_205));
		MD4Managed_GG_m1462438360(__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_t59386216* L_210 = __this->get_x_7();
		int32_t L_211 = 0;
		uint32_t L_212 = (L_210)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_211));
		MD4Managed_HH_m2172169314(__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_t59386216* L_216 = __this->get_x_7();
		int32_t L_217 = 8;
		uint32_t L_218 = (L_216)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_217));
		MD4Managed_HH_m2172169314(__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_t59386216* L_222 = __this->get_x_7();
		int32_t L_223 = 4;
		uint32_t L_224 = (L_222)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_223));
		MD4Managed_HH_m2172169314(__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_t59386216* L_228 = __this->get_x_7();
		int32_t L_229 = ((int32_t)12);
		uint32_t L_230 = (L_228)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_229));
		MD4Managed_HH_m2172169314(__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_t59386216* L_234 = __this->get_x_7();
		int32_t L_235 = 2;
		uint32_t L_236 = (L_234)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_235));
		MD4Managed_HH_m2172169314(__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_t59386216* L_240 = __this->get_x_7();
		int32_t L_241 = ((int32_t)10);
		uint32_t L_242 = (L_240)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_241));
		MD4Managed_HH_m2172169314(__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_t59386216* L_246 = __this->get_x_7();
		int32_t L_247 = 6;
		uint32_t L_248 = (L_246)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_247));
		MD4Managed_HH_m2172169314(__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_t59386216* L_252 = __this->get_x_7();
		int32_t L_253 = ((int32_t)14);
		uint32_t L_254 = (L_252)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_253));
		MD4Managed_HH_m2172169314(__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_t59386216* L_258 = __this->get_x_7();
		int32_t L_259 = 1;
		uint32_t L_260 = (L_258)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_259));
		MD4Managed_HH_m2172169314(__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_t59386216* L_264 = __this->get_x_7();
		int32_t L_265 = ((int32_t)9);
		uint32_t L_266 = (L_264)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_265));
		MD4Managed_HH_m2172169314(__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_t59386216* L_270 = __this->get_x_7();
		int32_t L_271 = 5;
		uint32_t L_272 = (L_270)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_271));
		MD4Managed_HH_m2172169314(__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_t59386216* L_276 = __this->get_x_7();
		int32_t L_277 = ((int32_t)13);
		uint32_t L_278 = (L_276)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_277));
		MD4Managed_HH_m2172169314(__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_t59386216* L_282 = __this->get_x_7();
		int32_t L_283 = 3;
		uint32_t L_284 = (L_282)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_283));
		MD4Managed_HH_m2172169314(__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_t59386216* L_288 = __this->get_x_7();
		int32_t L_289 = ((int32_t)11);
		uint32_t L_290 = (L_288)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_289));
		MD4Managed_HH_m2172169314(__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_t59386216* L_294 = __this->get_x_7();
		int32_t L_295 = 7;
		uint32_t L_296 = (L_294)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_295));
		MD4Managed_HH_m2172169314(__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_t59386216* L_300 = __this->get_x_7();
		int32_t L_301 = ((int32_t)15);
		uint32_t L_302 = (L_300)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_301));
		MD4Managed_HH_m2172169314(__this, (&V_1), L_297, L_298, L_299, L_302, ((int32_t)15), /*hidden argument*/NULL);
		UInt32U5BU5D_t59386216* L_303 = ___state0;
		uint32_t* L_304 = ((L_303)->GetAddressAtUnchecked(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_t59386216* L_306 = ___state0;
		uint32_t* L_307 = ((L_306)->GetAddressAtUnchecked(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_t59386216* L_309 = ___state0;
		uint32_t* L_310 = ((L_309)->GetAddressAtUnchecked(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_t59386216* L_312 = ___state0;
		uint32_t* L_313 = ((L_312)->GetAddressAtUnchecked(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_m371038734 (MD5SHA1_t3340472487 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm__ctor_m3777008390(__this, /*hidden argument*/NULL);
		MD5_t1507972490 * L_0 = MD5_Create_m1572997499(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_md5_4(L_0);
		SHA1_t3336793149 * L_1 = SHA1_Create_m139442991(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_sha_5(L_1);
		HashAlgorithm_t2624936259 * 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_t2624936259 * 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_t2624936259 *)__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_m3440022970 (MD5SHA1_t3340472487 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t2624936259 * L_0 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HashAlgorithm_t2624936259 * 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t MD5SHA1_HashFinal_m4051142254_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD5SHA1_HashFinal_m4051142254 (MD5SHA1_t3340472487 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_HashFinal_m4051142254_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* 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_t2624936259 * L_1 = __this->get_md5_4();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_1, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_2 = __this->get_sha_5();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_2, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0)), 0, 0, /*hidden argument*/NULL);
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)36)));
		HashAlgorithm_t2624936259 * L_3 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_4 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_3);
		ByteU5BU5D_t3397334013* L_5 = V_0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_4, 0, (Il2CppArray *)(Il2CppArray *)L_5, 0, ((int32_t)16), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_6 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_6);
		ByteU5BU5D_t3397334013* L_8 = V_0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_7, 0, (Il2CppArray *)(Il2CppArray *)L_8, ((int32_t)16), ((int32_t)20), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* 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_m2043482644 (MD5SHA1_t3340472487 * __this, ByteU5BU5D_t3397334013* ___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_t2624936259 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_2 = ___array0;
		int32_t L_3 = ___ibStart1;
		int32_t L_4 = ___cbSize2;
		ByteU5BU5D_t3397334013* L_5 = ___array0;
		int32_t L_6 = ___ibStart1;
		HashAlgorithm_TransformBlock_m4190258810(L_1, L_2, L_3, L_4, L_5, L_6, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_7 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_8 = ___array0;
		int32_t L_9 = ___ibStart1;
		int32_t L_10 = ___cbSize2;
		ByteU5BU5D_t3397334013* L_11 = ___array0;
		int32_t L_12 = ___ibStart1;
		HashAlgorithm_TransformBlock_m4190258810(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_t4184064416_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral85499051;
extern Il2CppCodeGenString* _stringLiteral1277011235;
extern const uint32_t MD5SHA1_CreateSignature_m4274114929_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* MD5SHA1_CreateSignature_m4274114929 (MD5SHA1_t3340472487 * __this, RSA_t3719518354 * ___rsa0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_CreateSignature_m4274114929_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSASslSignatureFormatter_t1282301050 * V_0 = NULL;
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_1 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_1, _stringLiteral85499051, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		RSA_t3719518354 * L_2 = ___rsa0;
		RSASslSignatureFormatter_t1282301050 * L_3 = (RSASslSignatureFormatter_t1282301050 *)il2cpp_codegen_object_new(RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var);
		RSASslSignatureFormatter__ctor_m2530528184(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		RSASslSignatureFormatter_t1282301050 * L_4 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetHashAlgorithm(System.String) */, L_4, _stringLiteral1277011235);
		RSASslSignatureFormatter_t1282301050 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t4184064416_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureDeformatter_t389653629_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral85499051;
extern Il2CppCodeGenString* _stringLiteral4199376247;
extern Il2CppCodeGenString* _stringLiteral1277011235;
extern const uint32_t MD5SHA1_VerifySignature_m507888141_MetadataUsageId;
extern "C"  bool MD5SHA1_VerifySignature_m507888141 (MD5SHA1_t3340472487 * __this, RSA_t3719518354 * ___rsa0, ByteU5BU5D_t3397334013* ___rgbSignature1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (MD5SHA1_VerifySignature_m507888141_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSASslSignatureDeformatter_t389653629 * V_0 = NULL;
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_1 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_1, _stringLiteral85499051, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		ByteU5BU5D_t3397334013* L_2 = ___rgbSignature1;
		if (L_2)
		{
			goto IL_0022;
		}
	}
	{
		ArgumentNullException_t628810857 * L_3 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_3, _stringLiteral4199376247, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0022:
	{
		RSA_t3719518354 * L_4 = ___rsa0;
		RSASslSignatureDeformatter_t389653629 * L_5 = (RSASslSignatureDeformatter_t389653629 *)il2cpp_codegen_object_new(RSASslSignatureDeformatter_t389653629_il2cpp_TypeInfo_var);
		RSASslSignatureDeformatter__ctor_m2325995515(L_5, L_4, /*hidden argument*/NULL);
		V_0 = L_5;
		RSASslSignatureDeformatter_t389653629 * L_6 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::SetHashAlgorithm(System.String) */, L_6, _stringLiteral1277011235);
		RSASslSignatureDeformatter_t389653629 * L_7 = V_0;
		ByteU5BU5D_t3397334013* L_8 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t3397334013* L_9 = ___rgbSignature1;
		bool L_10 = VirtFuncInvoker2< bool, ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3312870481_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D6_2_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D7_3_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D8_4_FieldInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D9_5_FieldInfo_var;
extern const uint32_t PKCS1__cctor_m1002943778_MetadataUsageId;
extern "C"  void PKCS1__cctor_m1002943778 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1__cctor_m1002943778_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)20)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D6_2_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3312870481_StaticFields*)PKCS1_t3312870481_il2cpp_TypeInfo_var->static_fields)->set_emptySHA1_0(L_0);
		ByteU5BU5D_t3397334013* L_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)32)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_1, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D7_3_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3312870481_StaticFields*)PKCS1_t3312870481_il2cpp_TypeInfo_var->static_fields)->set_emptySHA256_1(L_1);
		ByteU5BU5D_t3397334013* L_2 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_2, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D8_4_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3312870481_StaticFields*)PKCS1_t3312870481_il2cpp_TypeInfo_var->static_fields)->set_emptySHA384_2(L_2);
		ByteU5BU5D_t3397334013* L_3 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)64)));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_3, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D9_5_FieldInfo_var), /*hidden argument*/NULL);
		((PKCS1_t3312870481_StaticFields*)PKCS1_t3312870481_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_m552424558 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___array10, ByteU5BU5D_t3397334013* ___array21, const MethodInfo* method)
{
	bool V_0 = false;
	int32_t V_1 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___array10;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_3 = ___array10;
		int32_t L_4 = V_1;
		int32_t L_5 = L_4;
		uint8_t L_6 = (L_3)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t3397334013* L_7 = ___array21;
		int32_t L_8 = V_1;
		int32_t L_9 = L_8;
		uint8_t L_10 = (L_7)->GetAtUnchecked(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_t3397334013* 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_I2OSP_m647014786_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PKCS1_I2OSP_m647014786 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___x0, int32_t ___size1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_I2OSP_m647014786_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		int32_t L_0 = ___size1;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_0));
		ByteU5BU5D_t3397334013* L_1 = ___x0;
		ByteU5BU5D_t3397334013* L_2 = V_0;
		ByteU5BU5D_t3397334013* L_3 = V_0;
		ByteU5BU5D_t3397334013* L_4 = ___x0;
		ByteU5BU5D_t3397334013* L_5 = ___x0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_6 = V_0;
		return L_6;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::OS2IP(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_OS2IP_m2226560443_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PKCS1_OS2IP_m2226560443 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___x0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_OS2IP_m2226560443_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		V_0 = 0;
		goto IL_0007;
	}

IL_0007:
	{
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_3));
		if (L_4)
		{
			goto IL_001c;
		}
	}
	{
		int32_t L_5 = V_0;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_9 = ___x0;
		int32_t L_10 = V_0;
		V_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_9)->max_length))))-(int32_t)L_10))));
		ByteU5BU5D_t3397334013* L_11 = ___x0;
		int32_t L_12 = V_0;
		ByteU5BU5D_t3397334013* L_13 = V_1;
		ByteU5BU5D_t3397334013* L_14 = V_1;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_15 = V_1;
		return L_15;
	}

IL_0040:
	{
		ByteU5BU5D_t3397334013* L_16 = ___x0;
		return L_16;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS1::RSASP1(System.Security.Cryptography.RSA,System.Byte[])
extern "C"  ByteU5BU5D_t3397334013* PKCS1_RSASP1_m1748738009 (Il2CppObject * __this /* static, unused */, RSA_t3719518354 * ___rsa0, ByteU5BU5D_t3397334013* ___m1, const MethodInfo* method)
{
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		ByteU5BU5D_t3397334013* L_1 = ___m1;
		ByteU5BU5D_t3397334013* L_2 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t3397334013* PKCS1_RSAVP1_m1644175986 (Il2CppObject * __this /* static, unused */, RSA_t3719518354 * ___rsa0, ByteU5BU5D_t3397334013* ___s1, const MethodInfo* method)
{
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		ByteU5BU5D_t3397334013* L_1 = ___s1;
		ByteU5BU5D_t3397334013* L_2 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t3312870481_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Sign_v15_m554806303_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PKCS1_Sign_v15_m554806303 (Il2CppObject * __this /* static, unused */, RSA_t3719518354 * ___rsa0, HashAlgorithm_t2624936259 * ___hash1, ByteU5BU5D_t3397334013* ___hashValue2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Sign_v15_m554806303_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	{
		RSA_t3719518354 * 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_t2624936259 * L_2 = ___hash1;
		ByteU5BU5D_t3397334013* L_3 = ___hashValue2;
		int32_t L_4 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_5 = PKCS1_Encode_v15_m1038051160(NULL /*static, unused*/, L_2, L_3, L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		ByteU5BU5D_t3397334013* L_6 = V_1;
		ByteU5BU5D_t3397334013* L_7 = PKCS1_OS2IP_m2226560443(NULL /*static, unused*/, L_6, /*hidden argument*/NULL);
		V_2 = L_7;
		RSA_t3719518354 * L_8 = ___rsa0;
		ByteU5BU5D_t3397334013* L_9 = V_2;
		ByteU5BU5D_t3397334013* L_10 = PKCS1_RSASP1_m1748738009(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		V_3 = L_10;
		ByteU5BU5D_t3397334013* L_11 = V_3;
		int32_t L_12 = V_0;
		ByteU5BU5D_t3397334013* L_13 = PKCS1_I2OSP_m647014786(NULL /*static, unused*/, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		ByteU5BU5D_t3397334013* 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_t3312870481_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Verify_v15_m3855588030_MetadataUsageId;
extern "C"  bool PKCS1_Verify_v15_m3855588030 (Il2CppObject * __this /* static, unused */, RSA_t3719518354 * ___rsa0, HashAlgorithm_t2624936259 * ___hash1, ByteU5BU5D_t3397334013* ___hashValue2, ByteU5BU5D_t3397334013* ___signature3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Verify_v15_m3855588030_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		HashAlgorithm_t2624936259 * L_1 = ___hash1;
		ByteU5BU5D_t3397334013* L_2 = ___hashValue2;
		ByteU5BU5D_t3397334013* L_3 = ___signature3;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		bool L_4 = PKCS1_Verify_v15_m478274703(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_t3312870481_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PKCS1_Verify_v15_m478274703_MetadataUsageId;
extern "C"  bool PKCS1_Verify_v15_m478274703 (Il2CppObject * __this /* static, unused */, RSA_t3719518354 * ___rsa0, HashAlgorithm_t2624936259 * ___hash1, ByteU5BU5D_t3397334013* ___hashValue2, ByteU5BU5D_t3397334013* ___signature3, bool ___tryNonStandardEncoding4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Verify_v15_m478274703_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	bool V_5 = false;
	int32_t V_6 = 0;
	ByteU5BU5D_t3397334013* V_7 = NULL;
	{
		RSA_t3719518354 * 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_t3397334013* L_2 = ___signature3;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_3 = PKCS1_OS2IP_m2226560443(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		RSA_t3719518354 * L_4 = ___rsa0;
		ByteU5BU5D_t3397334013* L_5 = V_1;
		ByteU5BU5D_t3397334013* L_6 = PKCS1_RSAVP1_m1644175986(NULL /*static, unused*/, L_4, L_5, /*hidden argument*/NULL);
		V_2 = L_6;
		ByteU5BU5D_t3397334013* L_7 = V_2;
		int32_t L_8 = V_0;
		ByteU5BU5D_t3397334013* L_9 = PKCS1_I2OSP_m647014786(NULL /*static, unused*/, L_7, L_8, /*hidden argument*/NULL);
		V_3 = L_9;
		HashAlgorithm_t2624936259 * L_10 = ___hash1;
		ByteU5BU5D_t3397334013* L_11 = ___hashValue2;
		int32_t L_12 = V_0;
		ByteU5BU5D_t3397334013* L_13 = PKCS1_Encode_v15_m1038051160(NULL /*static, unused*/, L_10, L_11, L_12, /*hidden argument*/NULL);
		V_4 = L_13;
		ByteU5BU5D_t3397334013* L_14 = V_4;
		ByteU5BU5D_t3397334013* L_15 = V_3;
		bool L_16 = PKCS1_Compare_m552424558(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_t3397334013* L_20 = V_3;
		int32_t L_21 = 0;
		uint8_t L_22 = (L_20)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_21));
		if (L_22)
		{
			goto IL_0056;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_23 = V_3;
		int32_t L_24 = 1;
		uint8_t L_25 = (L_23)->GetAtUnchecked(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_t3397334013* L_26 = V_3;
		int32_t L_27 = V_6;
		int32_t L_28 = L_27;
		uint8_t L_29 = (L_26)->GetAtUnchecked(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_t3397334013* L_32 = V_3;
		ByteU5BU5D_t3397334013* 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_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_37));
		if (!L_38)
		{
			goto IL_0096;
		}
	}
	{
		return (bool)0;
	}

IL_0096:
	{
		ByteU5BU5D_t3397334013* L_39 = ___hashValue2;
		V_7 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_39)->max_length))))));
		ByteU5BU5D_t3397334013* L_40 = V_3;
		int32_t L_41 = V_6;
		ByteU5BU5D_t3397334013* L_42 = V_7;
		ByteU5BU5D_t3397334013* L_43 = V_7;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_44 = V_7;
		ByteU5BU5D_t3397334013* L_45 = ___hashValue2;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		bool L_46 = PKCS1_Compare_m552424558(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_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptoConfig_t896479599_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4199231658;
extern const uint32_t PKCS1_Encode_v15_m1038051160_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PKCS1_Encode_v15_m1038051160 (Il2CppObject * __this /* static, unused */, HashAlgorithm_t2624936259 * ___hash0, ByteU5BU5D_t3397334013* ___hashValue1, int32_t ___emLength2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PKCS1_Encode_v15_m1038051160_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	String_t* V_1 = NULL;
	ASN1_t924533536 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	ASN1_t924533536 * V_4 = NULL;
	int32_t V_5 = 0;
	ByteU5BU5D_t3397334013* V_6 = NULL;
	int32_t V_7 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___hashValue1;
		HashAlgorithm_t2624936259 * 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_t2624936259 * 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_m2596409543(NULL /*static, unused*/, _stringLiteral4199231658, L_4, /*hidden argument*/NULL);
		CryptographicException_t3349726436 * L_6 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_6, L_5, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0026:
	{
		V_0 = (ByteU5BU5D_t3397334013*)NULL;
		HashAlgorithm_t2624936259 * L_7 = ___hash0;
		String_t* L_8 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Object::ToString() */, L_7);
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t896479599_il2cpp_TypeInfo_var);
		String_t* L_9 = CryptoConfig_MapNameToOID_m2433158723(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_t924533536 * L_11 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(L_11, ((int32_t)48), /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t924533536 * L_12 = V_2;
		String_t* L_13 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CryptoConfig_t896479599_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_14 = CryptoConfig_EncodeOID_m276236568(NULL /*static, unused*/, L_13, /*hidden argument*/NULL);
		ASN1_t924533536 * L_15 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_15, L_14, /*hidden argument*/NULL);
		ASN1_Add_m1528660622(L_12, L_15, /*hidden argument*/NULL);
		ASN1_t924533536 * L_16 = V_2;
		ASN1_t924533536 * L_17 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(L_17, 5, /*hidden argument*/NULL);
		ASN1_Add_m1528660622(L_16, L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_18 = ___hashValue1;
		ASN1_t924533536 * L_19 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m3688855288(L_19, 4, L_18, /*hidden argument*/NULL);
		V_3 = L_19;
		ASN1_t924533536 * L_20 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(L_20, ((int32_t)48), /*hidden argument*/NULL);
		V_4 = L_20;
		ASN1_t924533536 * L_21 = V_4;
		ASN1_t924533536 * L_22 = V_2;
		ASN1_Add_m1528660622(L_21, L_22, /*hidden argument*/NULL);
		ASN1_t924533536 * L_23 = V_4;
		ASN1_t924533536 * L_24 = V_3;
		ASN1_Add_m1528660622(L_23, L_24, /*hidden argument*/NULL);
		ASN1_t924533536 * L_25 = V_4;
		ByteU5BU5D_t3397334013* L_26 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Byte[] Mono.Security.ASN1::GetBytes() */, L_25);
		V_0 = L_26;
		goto IL_0093;
	}

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

IL_0093:
	{
		ByteU5BU5D_t3397334013* L_28 = ___hashValue1;
		ByteU5BU5D_t3397334013* L_29 = V_0;
		ByteU5BU5D_t3397334013* L_30 = V_0;
		ByteU5BU5D_t3397334013* L_31 = ___hashValue1;
		ByteU5BU5D_t3397334013* L_32 = ___hashValue1;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_34 = V_0;
		int32_t L_35 = Math_Max_m2671311541(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_t3397334013* L_37 = V_0;
		V_6 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_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_t3397334013* L_38 = V_6;
		(L_38)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)1);
		V_7 = 2;
		goto IL_00e0;
	}

IL_00d0:
	{
		ByteU5BU5D_t3397334013* L_39 = V_6;
		int32_t L_40 = V_7;
		(L_39)->SetAtUnchecked(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_t3397334013* L_44 = V_0;
		ByteU5BU5D_t3397334013* L_45 = V_6;
		int32_t L_46 = V_5;
		ByteU5BU5D_t3397334013* L_47 = V_0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_48 = V_6;
		return L_48;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::.ctor()
extern "C"  void EncryptedPrivateKeyInfo__ctor_m569026543 (EncryptedPrivateKeyInfo_t1722354998 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::.ctor(System.Byte[])
extern "C"  void EncryptedPrivateKeyInfo__ctor_m3398795484 (EncryptedPrivateKeyInfo_t1722354998 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	{
		EncryptedPrivateKeyInfo__ctor_m569026543(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		EncryptedPrivateKeyInfo_Decode_m1706190306(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.String Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_Algorithm()
extern "C"  String_t* EncryptedPrivateKeyInfo_get_Algorithm_m3024753760 (EncryptedPrivateKeyInfo_t1722354998 * __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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedPrivateKeyInfo_get_EncryptedData_m598672214_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* EncryptedPrivateKeyInfo_get_EncryptedData_m598672214 (EncryptedPrivateKeyInfo_t1722354998 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_get_EncryptedData_m598672214_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* G_B3_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get__data_3();
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		G_B3_0 = ((ByteU5BU5D_t3397334013*)(NULL));
		goto IL_0021;
	}

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

IL_0021:
	{
		return G_B3_0;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_Salt()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedPrivateKeyInfo_get_Salt_m590211404_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* EncryptedPrivateKeyInfo_get_Salt_m590211404 (EncryptedPrivateKeyInfo_t1722354998 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_get_Salt_m590211404_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RandomNumberGenerator_t2510243513 * V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get__salt_1();
		if (L_0)
		{
			goto IL_0029;
		}
	}
	{
		RandomNumberGenerator_t2510243513 * L_1 = RandomNumberGenerator_Create_m2275686895(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_1;
		__this->set__salt_1(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)8)));
		RandomNumberGenerator_t2510243513 * L_2 = V_0;
		ByteU5BU5D_t3397334013* L_3 = __this->get__salt_1();
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(4 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetBytes(System.Byte[]) */, L_2, L_3);
	}

IL_0029:
	{
		ByteU5BU5D_t3397334013* L_4 = __this->get__salt_1();
		Il2CppObject * L_5 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_4, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_5, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Int32 Mono.Security.Cryptography.PKCS8/EncryptedPrivateKeyInfo::get_IterationCount()
extern "C"  int32_t EncryptedPrivateKeyInfo_get_IterationCount_m2407997966 (EncryptedPrivateKeyInfo_t1722354998 * __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_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3671805615;
extern Il2CppCodeGenString* _stringLiteral4075326317;
extern Il2CppCodeGenString* _stringLiteral2181690916;
extern Il2CppCodeGenString* _stringLiteral3658957323;
extern Il2CppCodeGenString* _stringLiteral3571332347;
extern Il2CppCodeGenString* _stringLiteral2941059717;
extern Il2CppCodeGenString* _stringLiteral2894171519;
extern const uint32_t EncryptedPrivateKeyInfo_Decode_m1706190306_MetadataUsageId;
extern "C"  void EncryptedPrivateKeyInfo_Decode_m1706190306 (EncryptedPrivateKeyInfo_t1722354998 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (EncryptedPrivateKeyInfo_Decode_m1706190306_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	ASN1_t924533536 * V_1 = NULL;
	ASN1_t924533536 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	ASN1_t924533536 * V_4 = NULL;
	ASN1_t924533536 * V_5 = NULL;
	ASN1_t924533536 * V_6 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		ASN1_t924533536 * L_1 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t924533536 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m2798873007(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3349726436 * L_4 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_4, _stringLiteral3671805615, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t924533536 * L_5 = V_0;
		ASN1_t924533536 * L_6 = ASN1_get_Item_m3505242534(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t924533536 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m2798873007(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)((int32_t)48))))
		{
			goto IL_003f;
		}
	}
	{
		CryptographicException_t3349726436 * L_9 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_9, _stringLiteral4075326317, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003f:
	{
		ASN1_t924533536 * L_10 = V_1;
		ASN1_t924533536 * L_11 = ASN1_get_Item_m3505242534(L_10, 0, /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t924533536 * L_12 = V_2;
		uint8_t L_13 = ASN1_get_Tag_m2798873007(L_12, /*hidden argument*/NULL);
		if ((((int32_t)L_13) == ((int32_t)6)))
		{
			goto IL_005e;
		}
	}
	{
		CryptographicException_t3349726436 * L_14 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_14, _stringLiteral2181690916, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_14);
	}

IL_005e:
	{
		ASN1_t924533536 * L_15 = V_2;
		String_t* L_16 = ASN1Convert_ToOid_m35757129(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		__this->set__algorithm_0(L_16);
		ASN1_t924533536 * L_17 = V_1;
		int32_t L_18 = ASN1_get_Count_m579313466(L_17, /*hidden argument*/NULL);
		if ((((int32_t)L_18) <= ((int32_t)1)))
		{
			goto IL_00f2;
		}
	}
	{
		ASN1_t924533536 * L_19 = V_1;
		ASN1_t924533536 * L_20 = ASN1_get_Item_m3505242534(L_19, 1, /*hidden argument*/NULL);
		V_3 = L_20;
		ASN1_t924533536 * L_21 = V_3;
		uint8_t L_22 = ASN1_get_Tag_m2798873007(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)((int32_t)48))))
		{
			goto IL_0096;
		}
	}
	{
		CryptographicException_t3349726436 * L_23 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_23, _stringLiteral3658957323, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_0096:
	{
		ASN1_t924533536 * L_24 = V_3;
		ASN1_t924533536 * L_25 = ASN1_get_Item_m3505242534(L_24, 0, /*hidden argument*/NULL);
		V_4 = L_25;
		ASN1_t924533536 * L_26 = V_4;
		uint8_t L_27 = ASN1_get_Tag_m2798873007(L_26, /*hidden argument*/NULL);
		if ((((int32_t)L_27) == ((int32_t)4)))
		{
			goto IL_00b7;
		}
	}
	{
		CryptographicException_t3349726436 * L_28 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_28, _stringLiteral3571332347, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_28);
	}

IL_00b7:
	{
		ASN1_t924533536 * L_29 = V_4;
		ByteU5BU5D_t3397334013* L_30 = ASN1_get_Value_m2229768312(L_29, /*hidden argument*/NULL);
		__this->set__salt_1(L_30);
		ASN1_t924533536 * L_31 = V_3;
		ASN1_t924533536 * L_32 = ASN1_get_Item_m3505242534(L_31, 1, /*hidden argument*/NULL);
		V_5 = L_32;
		ASN1_t924533536 * L_33 = V_5;
		uint8_t L_34 = ASN1_get_Tag_m2798873007(L_33, /*hidden argument*/NULL);
		if ((((int32_t)L_34) == ((int32_t)2)))
		{
			goto IL_00e5;
		}
	}
	{
		CryptographicException_t3349726436 * L_35 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_35, _stringLiteral2941059717, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_35);
	}

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

IL_00f2:
	{
		ASN1_t924533536 * L_38 = V_0;
		ASN1_t924533536 * L_39 = ASN1_get_Item_m3505242534(L_38, 1, /*hidden argument*/NULL);
		V_6 = L_39;
		ASN1_t924533536 * L_40 = V_6;
		uint8_t L_41 = ASN1_get_Tag_m2798873007(L_40, /*hidden argument*/NULL);
		if ((((int32_t)L_41) == ((int32_t)4)))
		{
			goto IL_0113;
		}
	}
	{
		CryptographicException_t3349726436 * L_42 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_42, _stringLiteral2894171519, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_42);
	}

IL_0113:
	{
		ASN1_t924533536 * L_43 = V_6;
		ByteU5BU5D_t3397334013* L_44 = ASN1_get_Value_m2229768312(L_43, /*hidden argument*/NULL);
		__this->set__data_3(L_44);
		return;
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::.ctor()
extern Il2CppClass* ArrayList_t4252133567_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo__ctor_m2683279425_MetadataUsageId;
extern "C"  void PrivateKeyInfo__ctor_m2683279425 (PrivateKeyInfo_t92917104 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo__ctor_m2683279425_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		__this->set__version_0(0);
		ArrayList_t4252133567 * L_0 = (ArrayList_t4252133567 *)il2cpp_codegen_object_new(ArrayList_t4252133567_il2cpp_TypeInfo_var);
		ArrayList__ctor_m4012174379(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_m3851924948 (PrivateKeyInfo_t92917104 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	{
		PrivateKeyInfo__ctor_m2683279425(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		PrivateKeyInfo_Decode_m1053025782(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::get_PrivateKey()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_get_PrivateKey_m2127503870_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PrivateKeyInfo_get_PrivateKey_m2127503870 (PrivateKeyInfo_t92917104 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_get_PrivateKey_m2127503870_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get__key_2();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t3397334013*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get__key_2();
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_2, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::Decode(System.Byte[])
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1266891717;
extern Il2CppCodeGenString* _stringLiteral2992694867;
extern Il2CppCodeGenString* _stringLiteral2181690916;
extern Il2CppCodeGenString* _stringLiteral1646033205;
extern const uint32_t PrivateKeyInfo_Decode_m1053025782_MetadataUsageId;
extern "C"  void PrivateKeyInfo_Decode_m1053025782 (PrivateKeyInfo_t92917104 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_Decode_m1053025782_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	ASN1_t924533536 * V_1 = NULL;
	ASN1_t924533536 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	ASN1_t924533536 * V_4 = NULL;
	ASN1_t924533536 * V_5 = NULL;
	int32_t V_6 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		ASN1_t924533536 * L_1 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t924533536 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m2798873007(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3349726436 * L_4 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_4, _stringLiteral1266891717, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t924533536 * L_5 = V_0;
		ASN1_t924533536 * L_6 = ASN1_get_Item_m3505242534(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t924533536 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m2798873007(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)2)))
		{
			goto IL_003e;
		}
	}
	{
		CryptographicException_t3349726436 * L_9 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_9, _stringLiteral2992694867, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003e:
	{
		ASN1_t924533536 * L_10 = V_1;
		ByteU5BU5D_t3397334013* L_11 = ASN1_get_Value_m2229768312(L_10, /*hidden argument*/NULL);
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_12));
		__this->set__version_0(L_13);
		ASN1_t924533536 * L_14 = V_0;
		ASN1_t924533536 * L_15 = ASN1_get_Item_m3505242534(L_14, 1, /*hidden argument*/NULL);
		V_2 = L_15;
		ASN1_t924533536 * L_16 = V_2;
		uint8_t L_17 = ASN1_get_Tag_m2798873007(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) == ((int32_t)((int32_t)48))))
		{
			goto IL_006c;
		}
	}
	{
		CryptographicException_t3349726436 * L_18 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_18, _stringLiteral2181690916, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_006c:
	{
		ASN1_t924533536 * L_19 = V_2;
		ASN1_t924533536 * L_20 = ASN1_get_Item_m3505242534(L_19, 0, /*hidden argument*/NULL);
		V_3 = L_20;
		ASN1_t924533536 * L_21 = V_3;
		uint8_t L_22 = ASN1_get_Tag_m2798873007(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)6)))
		{
			goto IL_008b;
		}
	}
	{
		CryptographicException_t3349726436 * L_23 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_23, _stringLiteral1646033205, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_008b:
	{
		ASN1_t924533536 * L_24 = V_3;
		String_t* L_25 = ASN1Convert_ToOid_m35757129(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		__this->set__algorithm_1(L_25);
		ASN1_t924533536 * L_26 = V_0;
		ASN1_t924533536 * L_27 = ASN1_get_Item_m3505242534(L_26, 2, /*hidden argument*/NULL);
		V_4 = L_27;
		ASN1_t924533536 * L_28 = V_4;
		ByteU5BU5D_t3397334013* L_29 = ASN1_get_Value_m2229768312(L_28, /*hidden argument*/NULL);
		__this->set__key_2(L_29);
		ASN1_t924533536 * L_30 = V_0;
		int32_t L_31 = ASN1_get_Count_m579313466(L_30, /*hidden argument*/NULL);
		if ((((int32_t)L_31) <= ((int32_t)3)))
		{
			goto IL_00f3;
		}
	}
	{
		ASN1_t924533536 * L_32 = V_0;
		ASN1_t924533536 * L_33 = ASN1_get_Item_m3505242534(L_32, 3, /*hidden argument*/NULL);
		V_5 = L_33;
		V_6 = 0;
		goto IL_00e5;
	}

IL_00ca:
	{
		ArrayList_t4252133567 * L_34 = __this->get__list_3();
		ASN1_t924533536 * L_35 = V_5;
		int32_t L_36 = V_6;
		ASN1_t924533536 * L_37 = ASN1_get_Item_m3505242534(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_t924533536 * L_40 = V_5;
		int32_t L_41 = ASN1_get_Count_m579313466(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_RemoveLeadingZero_m3396807048_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PrivateKeyInfo_RemoveLeadingZero_m3396807048 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___bigInt0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_RemoveLeadingZero_m3396807048_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	{
		V_0 = 0;
		ByteU5BU5D_t3397334013* L_0 = ___bigInt0;
		V_1 = (((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))));
		ByteU5BU5D_t3397334013* L_1 = ___bigInt0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_5));
		ByteU5BU5D_t3397334013* L_6 = ___bigInt0;
		int32_t L_7 = V_0;
		ByteU5BU5D_t3397334013* L_8 = V_2;
		int32_t L_9 = V_1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_6, L_7, (Il2CppArray *)(Il2CppArray *)L_8, 0, L_9, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_10 = V_2;
		return L_10;
	}
}
// System.Byte[] Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::Normalize(System.Byte[],System.Int32)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t PrivateKeyInfo_Normalize_m1192796352_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* PrivateKeyInfo_Normalize_m1192796352 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___bigInt0, int32_t ___length1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_Normalize_m1192796352_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* 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_t3397334013* L_2 = ___bigInt0;
		return L_2;
	}

IL_000b:
	{
		ByteU5BU5D_t3397334013* 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_t3397334013* L_5 = ___bigInt0;
		ByteU5BU5D_t3397334013* L_6 = PrivateKeyInfo_RemoveLeadingZero_m3396807048(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		return L_6;
	}

IL_001b:
	{
		int32_t L_7 = ___length1;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_7));
		ByteU5BU5D_t3397334013* L_8 = ___bigInt0;
		ByteU5BU5D_t3397334013* L_9 = V_0;
		int32_t L_10 = ___length1;
		ByteU5BU5D_t3397334013* L_11 = ___bigInt0;
		ByteU5BU5D_t3397334013* L_12 = ___bigInt0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_13 = V_0;
		return L_13;
	}
}
// System.Security.Cryptography.RSA Mono.Security.Cryptography.PKCS8/PrivateKeyInfo::DecodeRSA(System.Byte[])
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAParameters_t1462703416_il2cpp_TypeInfo_var;
extern Il2CppClass* CspParameters_t46065560_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral600239592;
extern Il2CppCodeGenString* _stringLiteral1441437598;
extern Il2CppCodeGenString* _stringLiteral2155676142;
extern const uint32_t PrivateKeyInfo_DecodeRSA_m919734506_MetadataUsageId;
extern "C"  RSA_t3719518354 * PrivateKeyInfo_DecodeRSA_m919734506 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___keypair0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_DecodeRSA_m919734506_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	ASN1_t924533536 * V_1 = NULL;
	RSAParameters_t1462703416  V_2;
	memset(&V_2, 0, sizeof(V_2));
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	RSA_t3719518354 * V_5 = NULL;
	CspParameters_t46065560 * V_6 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		ByteU5BU5D_t3397334013* L_0 = ___keypair0;
		ASN1_t924533536 * L_1 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t924533536 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m2798873007(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)((int32_t)48))))
		{
			goto IL_001f;
		}
	}
	{
		CryptographicException_t3349726436 * L_4 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_4, _stringLiteral600239592, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001f:
	{
		ASN1_t924533536 * L_5 = V_0;
		ASN1_t924533536 * L_6 = ASN1_get_Item_m3505242534(L_5, 0, /*hidden argument*/NULL);
		V_1 = L_6;
		ASN1_t924533536 * L_7 = V_1;
		uint8_t L_8 = ASN1_get_Tag_m2798873007(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) == ((int32_t)2)))
		{
			goto IL_003e;
		}
	}
	{
		CryptographicException_t3349726436 * L_9 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_9, _stringLiteral1441437598, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003e:
	{
		ASN1_t924533536 * L_10 = V_0;
		int32_t L_11 = ASN1_get_Count_m579313466(L_10, /*hidden argument*/NULL);
		if ((((int32_t)L_11) >= ((int32_t)((int32_t)9))))
		{
			goto IL_0056;
		}
	}
	{
		CryptographicException_t3349726436 * L_12 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_12, _stringLiteral2155676142, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0056:
	{
		Initobj (RSAParameters_t1462703416_il2cpp_TypeInfo_var, (&V_2));
		ASN1_t924533536 * L_13 = V_0;
		ASN1_t924533536 * L_14 = ASN1_get_Item_m3505242534(L_13, 1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_15 = ASN1_get_Value_m2229768312(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_16 = PrivateKeyInfo_RemoveLeadingZero_m3396807048(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		(&V_2)->set_Modulus_6(L_16);
		ByteU5BU5D_t3397334013* 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_t924533536 * L_19 = V_0;
		ASN1_t924533536 * L_20 = ASN1_get_Item_m3505242534(L_19, 3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_21 = ASN1_get_Value_m2229768312(L_20, /*hidden argument*/NULL);
		int32_t L_22 = V_3;
		ByteU5BU5D_t3397334013* L_23 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_21, L_22, /*hidden argument*/NULL);
		(&V_2)->set_D_2(L_23);
		ASN1_t924533536 * L_24 = V_0;
		ASN1_t924533536 * L_25 = ASN1_get_Item_m3505242534(L_24, 6, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_26 = ASN1_get_Value_m2229768312(L_25, /*hidden argument*/NULL);
		int32_t L_27 = V_4;
		ByteU5BU5D_t3397334013* L_28 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		(&V_2)->set_DP_3(L_28);
		ASN1_t924533536 * L_29 = V_0;
		ASN1_t924533536 * L_30 = ASN1_get_Item_m3505242534(L_29, 7, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_31 = ASN1_get_Value_m2229768312(L_30, /*hidden argument*/NULL);
		int32_t L_32 = V_4;
		ByteU5BU5D_t3397334013* L_33 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_31, L_32, /*hidden argument*/NULL);
		(&V_2)->set_DQ_4(L_33);
		ASN1_t924533536 * L_34 = V_0;
		ASN1_t924533536 * L_35 = ASN1_get_Item_m3505242534(L_34, 2, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_36 = ASN1_get_Value_m2229768312(L_35, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_37 = PrivateKeyInfo_RemoveLeadingZero_m3396807048(NULL /*static, unused*/, L_36, /*hidden argument*/NULL);
		(&V_2)->set_Exponent_7(L_37);
		ASN1_t924533536 * L_38 = V_0;
		ASN1_t924533536 * L_39 = ASN1_get_Item_m3505242534(L_38, 8, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_40 = ASN1_get_Value_m2229768312(L_39, /*hidden argument*/NULL);
		int32_t L_41 = V_4;
		ByteU5BU5D_t3397334013* L_42 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		(&V_2)->set_InverseQ_5(L_42);
		ASN1_t924533536 * L_43 = V_0;
		ASN1_t924533536 * L_44 = ASN1_get_Item_m3505242534(L_43, 4, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_45 = ASN1_get_Value_m2229768312(L_44, /*hidden argument*/NULL);
		int32_t L_46 = V_4;
		ByteU5BU5D_t3397334013* L_47 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_45, L_46, /*hidden argument*/NULL);
		(&V_2)->set_P_0(L_47);
		ASN1_t924533536 * L_48 = V_0;
		ASN1_t924533536 * L_49 = ASN1_get_Item_m3505242534(L_48, 5, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_50 = ASN1_get_Value_m2229768312(L_49, /*hidden argument*/NULL);
		int32_t L_51 = V_4;
		ByteU5BU5D_t3397334013* L_52 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_50, L_51, /*hidden argument*/NULL);
		(&V_2)->set_Q_1(L_52);
		V_5 = (RSA_t3719518354 *)NULL;
	}

IL_013b:
	try
	{ // begin try (depth: 1)
		RSA_t3719518354 * L_53 = RSA_Create_m4148185627(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_5 = L_53;
		RSA_t3719518354 * L_54 = V_5;
		RSAParameters_t1462703416  L_55 = V_2;
		VirtActionInvoker1< RSAParameters_t1462703416  >::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_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (CryptographicException_t3349726436_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_014f;
		throw e;
	}

CATCH_014f:
	{ // begin catch(System.Security.Cryptography.CryptographicException)
		CspParameters_t46065560 * L_56 = (CspParameters_t46065560 *)il2cpp_codegen_object_new(CspParameters_t46065560_il2cpp_TypeInfo_var);
		CspParameters__ctor_m2480441577(L_56, /*hidden argument*/NULL);
		V_6 = L_56;
		CspParameters_t46065560 * L_57 = V_6;
		CspParameters_set_Flags_m4131471722(L_57, 1, /*hidden argument*/NULL);
		CspParameters_t46065560 * L_58 = V_6;
		RSACryptoServiceProvider_t4229286967 * L_59 = (RSACryptoServiceProvider_t4229286967 *)il2cpp_codegen_object_new(RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var);
		RSACryptoServiceProvider__ctor_m4088808429(L_59, L_58, /*hidden argument*/NULL);
		V_5 = L_59;
		RSA_t3719518354 * L_60 = V_5;
		RSAParameters_t1462703416  L_61 = V_2;
		VirtActionInvoker1< RSAParameters_t1462703416  >::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_t3719518354 * 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_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral600239592;
extern const uint32_t PrivateKeyInfo_DecodeDSA_m2497561917_MetadataUsageId;
extern "C"  DSA_t903174880 * PrivateKeyInfo_DecodeDSA_m2497561917 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___privateKey0, DSAParameters_t1872138834  ___dsaParameters1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (PrivateKeyInfo_DecodeDSA_m2497561917_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	DSA_t903174880 * V_1 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ___privateKey0;
		ASN1_t924533536 * L_1 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_1, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ASN1_t924533536 * L_2 = V_0;
		uint8_t L_3 = ASN1_get_Tag_m2798873007(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) == ((int32_t)2)))
		{
			goto IL_001e;
		}
	}
	{
		CryptographicException_t3349726436 * L_4 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_4, _stringLiteral600239592, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_001e:
	{
		ASN1_t924533536 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = ASN1_get_Value_m2229768312(L_5, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_7 = PrivateKeyInfo_Normalize_m1192796352(NULL /*static, unused*/, L_6, ((int32_t)20), /*hidden argument*/NULL);
		(&___dsaParameters1)->set_X_6(L_7);
		DSA_t903174880 * L_8 = DSA_Create_m1032215987(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_1 = L_8;
		DSA_t903174880 * L_9 = V_1;
		DSAParameters_t1872138834  L_10 = ___dsaParameters1;
		VirtActionInvoker1< DSAParameters_t1872138834  >::Invoke(12 /* System.Void System.Security.Cryptography.DSA::ImportParameters(System.Security.Cryptography.DSAParameters) */, L_9, L_10);
		DSA_t903174880 * L_11 = V_1;
		return L_11;
	}
}
// System.Void Mono.Security.Cryptography.RC4::.ctor()
extern Il2CppClass* RC4_t2789934315_il2cpp_TypeInfo_var;
extern const uint32_t RC4__ctor_m1585026462_MetadataUsageId;
extern "C"  void RC4__ctor_m1585026462 (RC4_t2789934315 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RC4__ctor_m1585026462_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		SymmetricAlgorithm__ctor_m851603055(__this, /*hidden argument*/NULL);
		((SymmetricAlgorithm_t1108166522 *)__this)->set_KeySizeValue_2(((int32_t)128));
		((SymmetricAlgorithm_t1108166522 *)__this)->set_BlockSizeValue_0(((int32_t)64));
		int32_t L_0 = ((SymmetricAlgorithm_t1108166522 *)__this)->get_BlockSizeValue_0();
		((SymmetricAlgorithm_t1108166522 *)__this)->set_FeedbackSizeValue_6(L_0);
		IL2CPP_RUNTIME_CLASS_INIT(RC4_t2789934315_il2cpp_TypeInfo_var);
		KeySizesU5BU5D_t1153004758* L_1 = ((RC4_t2789934315_StaticFields*)RC4_t2789934315_il2cpp_TypeInfo_var->static_fields)->get_s_legalBlockSizes_10();
		((SymmetricAlgorithm_t1108166522 *)__this)->set_LegalBlockSizesValue_4(L_1);
		KeySizesU5BU5D_t1153004758* L_2 = ((RC4_t2789934315_StaticFields*)RC4_t2789934315_il2cpp_TypeInfo_var->static_fields)->get_s_legalKeySizes_11();
		((SymmetricAlgorithm_t1108166522 *)__this)->set_LegalKeySizesValue_5(L_2);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RC4::.cctor()
extern Il2CppClass* KeySizesU5BU5D_t1153004758_il2cpp_TypeInfo_var;
extern Il2CppClass* KeySizes_t3144736271_il2cpp_TypeInfo_var;
extern Il2CppClass* RC4_t2789934315_il2cpp_TypeInfo_var;
extern const uint32_t RC4__cctor_m523650203_MetadataUsageId;
extern "C"  void RC4__cctor_m523650203 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RC4__cctor_m523650203_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		KeySizesU5BU5D_t1153004758* L_0 = ((KeySizesU5BU5D_t1153004758*)SZArrayNew(KeySizesU5BU5D_t1153004758_il2cpp_TypeInfo_var, (uint32_t)1));
		KeySizes_t3144736271 * L_1 = (KeySizes_t3144736271 *)il2cpp_codegen_object_new(KeySizes_t3144736271_il2cpp_TypeInfo_var);
		KeySizes__ctor_m3526899007(L_1, ((int32_t)64), ((int32_t)64), 0, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_0, L_1);
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (KeySizes_t3144736271 *)L_1);
		((RC4_t2789934315_StaticFields*)RC4_t2789934315_il2cpp_TypeInfo_var->static_fields)->set_s_legalBlockSizes_10(L_0);
		KeySizesU5BU5D_t1153004758* L_2 = ((KeySizesU5BU5D_t1153004758*)SZArrayNew(KeySizesU5BU5D_t1153004758_il2cpp_TypeInfo_var, (uint32_t)1));
		KeySizes_t3144736271 * L_3 = (KeySizes_t3144736271 *)il2cpp_codegen_object_new(KeySizes_t3144736271_il2cpp_TypeInfo_var);
		KeySizes__ctor_m3526899007(L_3, ((int32_t)40), ((int32_t)2048), 8, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_2, L_3);
		(L_2)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (KeySizes_t3144736271 *)L_3);
		((RC4_t2789934315_StaticFields*)RC4_t2789934315_il2cpp_TypeInfo_var->static_fields)->set_s_legalKeySizes_11(L_2);
		return;
	}
}
// System.Byte[] Mono.Security.Cryptography.RC4::get_IV()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t RC4_get_IV_m506011366_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RC4_get_IV_m506011366 (RC4_t2789934315 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RC4_get_IV_m506011366_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		return ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0));
	}
}
// System.Void Mono.Security.Cryptography.RC4::set_IV(System.Byte[])
extern "C"  void RC4_set_IV_m4096786929 (RC4_t2789934315 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::.ctor()
extern "C"  void RSAManaged__ctor_m1370411656 (RSAManaged_t3034748748 * __this, const MethodInfo* method)
{
	{
		RSAManaged__ctor_m1680944437(__this, ((int32_t)1024), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::.ctor(System.Int32)
extern Il2CppClass* KeySizesU5BU5D_t1153004758_il2cpp_TypeInfo_var;
extern Il2CppClass* KeySizes_t3144736271_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged__ctor_m1680944437_MetadataUsageId;
extern "C"  void RSAManaged__ctor_m1680944437 (RSAManaged_t3034748748 * __this, int32_t ___keySize0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged__ctor_m1680944437_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_keyBlinding_3((bool)1);
		RSA__ctor_m375023755(__this, /*hidden argument*/NULL);
		((AsymmetricAlgorithm_t784058677 *)__this)->set_LegalKeySizesValue_1(((KeySizesU5BU5D_t1153004758*)SZArrayNew(KeySizesU5BU5D_t1153004758_il2cpp_TypeInfo_var, (uint32_t)1)));
		KeySizesU5BU5D_t1153004758* L_0 = ((AsymmetricAlgorithm_t784058677 *)__this)->get_LegalKeySizesValue_1();
		KeySizes_t3144736271 * L_1 = (KeySizes_t3144736271 *)il2cpp_codegen_object_new(KeySizes_t3144736271_il2cpp_TypeInfo_var);
		KeySizes__ctor_m3526899007(L_1, ((int32_t)384), ((int32_t)16384), 8, /*hidden argument*/NULL);
		ArrayElementTypeCheck (L_0, L_1);
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (KeySizes_t3144736271 *)L_1);
		int32_t L_2 = ___keySize0;
		AsymmetricAlgorithm_set_KeySize_m3920505304(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::Finalize()
extern "C"  void RSAManaged_Finalize_m3491799840 (RSAManaged_t3034748748 * __this, const MethodInfo* method)
{
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1927440687 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m4087144328(__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_t1927440687 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::GenerateKeyPair()
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_GenerateKeyPair_m1213111262_MetadataUsageId;
extern "C"  void RSAManaged_GenerateKeyPair_m1213111262 (RSAManaged_t3034748748 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_GenerateKeyPair_m1213111262_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	uint32_t V_2 = 0;
	BigInteger_t925946153 * V_3 = NULL;
	BigInteger_t925946153 * V_4 = NULL;
	BigInteger_t925946153 * 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_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_3 = BigInteger_op_Implicit_m622924526(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_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_5 = BigInteger_GeneratePseudoPrime_m2186059270(NULL /*static, unused*/, L_4, /*hidden argument*/NULL);
		__this->set_p_7(L_5);
		BigInteger_t925946153 * L_6 = __this->get_p_7();
		uint32_t L_7 = BigInteger_op_Modulus_m2895726170(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_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_9 = BigInteger_GeneratePseudoPrime_m2186059270(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		__this->set_q_8(L_9);
		BigInteger_t925946153 * L_10 = __this->get_q_8();
		uint32_t L_11 = BigInteger_op_Modulus_m2895726170(NULL /*static, unused*/, L_10, ((int32_t)17), /*hidden argument*/NULL);
		if ((((int32_t)L_11) == ((int32_t)1)))
		{
			goto IL_0093;
		}
	}
	{
		BigInteger_t925946153 * L_12 = __this->get_p_7();
		BigInteger_t925946153 * L_13 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_14 = BigInteger_op_Inequality_m4286929594(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_t925946153 * L_15 = __this->get_p_7();
		BigInteger_t925946153 * L_16 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_17 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_15, L_16, /*hidden argument*/NULL);
		__this->set_n_12(L_17);
		BigInteger_t925946153 * L_18 = __this->get_n_12();
		int32_t L_19 = BigInteger_BitCount_m1334731567(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_t925946153 * L_21 = __this->get_p_7();
		BigInteger_t925946153 * L_22 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_23 = BigInteger_op_LessThan_m3825358479(NULL /*static, unused*/, L_21, L_22, /*hidden argument*/NULL);
		if (!L_23)
		{
			goto IL_00ec;
		}
	}
	{
		BigInteger_t925946153 * L_24 = __this->get_q_8();
		__this->set_p_7(L_24);
	}

IL_00ec:
	{
		goto IL_0054;
	}

IL_00f1:
	{
		BigInteger_t925946153 * L_25 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_26 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_27 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_25, L_26, /*hidden argument*/NULL);
		V_3 = L_27;
		BigInteger_t925946153 * L_28 = __this->get_q_8();
		BigInteger_t925946153 * L_29 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_30 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_28, L_29, /*hidden argument*/NULL);
		V_4 = L_30;
		BigInteger_t925946153 * L_31 = V_3;
		BigInteger_t925946153 * L_32 = V_4;
		BigInteger_t925946153 * L_33 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_31, L_32, /*hidden argument*/NULL);
		V_5 = L_33;
		BigInteger_t925946153 * L_34 = __this->get_e_13();
		BigInteger_t925946153 * L_35 = V_5;
		BigInteger_t925946153 * L_36 = BigInteger_ModInverse_m1881894572(L_34, L_35, /*hidden argument*/NULL);
		__this->set_d_6(L_36);
		BigInteger_t925946153 * L_37 = __this->get_d_6();
		BigInteger_t925946153 * L_38 = V_3;
		BigInteger_t925946153 * L_39 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_37, L_38, /*hidden argument*/NULL);
		__this->set_dp_9(L_39);
		BigInteger_t925946153 * L_40 = __this->get_d_6();
		BigInteger_t925946153 * L_41 = V_4;
		BigInteger_t925946153 * L_42 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_40, L_41, /*hidden argument*/NULL);
		__this->set_dq_10(L_42);
		BigInteger_t925946153 * L_43 = __this->get_q_8();
		BigInteger_t925946153 * L_44 = __this->get_p_7();
		BigInteger_t925946153 * L_45 = BigInteger_ModInverse_m1881894572(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_t108853710 * L_46 = __this->get_KeyGenerated_14();
		if (!L_46)
		{
			goto IL_0195;
		}
	}
	{
		KeyGeneratedEventHandler_t108853710 * L_47 = __this->get_KeyGenerated_14();
		KeyGeneratedEventHandler_Invoke_m1298576133(L_47, __this, (EventArgs_t3289624707 *)NULL, /*hidden argument*/NULL);
	}

IL_0195:
	{
		return;
	}
}
// System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize()
extern "C"  int32_t RSAManaged_get_KeySize_m3478823737 (RSAManaged_t3034748748 * __this, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		bool L_0 = __this->get_keypairGenerated_4();
		if (!L_0)
		{
			goto IL_0029;
		}
	}
	{
		BigInteger_t925946153 * L_1 = __this->get_n_12();
		int32_t L_2 = BigInteger_BitCount_m1334731567(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_m566706127(__this, /*hidden argument*/NULL);
		return L_7;
	}
}
// System.Boolean Mono.Security.Cryptography.RSAManaged::get_PublicOnly()
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_get_PublicOnly_m343941928_MetadataUsageId;
extern "C"  bool RSAManaged_get_PublicOnly_m343941928 (RSAManaged_t3034748748 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_get_PublicOnly_m343941928_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t925946153 * L_1 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_1, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_002a;
		}
	}
	{
		BigInteger_t925946153 * L_3 = __this->get_n_12();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_4 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_3, (BigInteger_t925946153 *)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_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3528316826;
extern Il2CppCodeGenString* _stringLiteral3358510665;
extern const uint32_t RSAManaged_DecryptValue_m1225349489_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RSAManaged_DecryptValue_m1225349489 (RSAManaged_t3034748748 * __this, ByteU5BU5D_t3397334013* ___rgb0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_DecryptValue_m1225349489_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	BigInteger_t925946153 * V_1 = NULL;
	BigInteger_t925946153 * V_2 = NULL;
	BigInteger_t925946153 * V_3 = NULL;
	BigInteger_t925946153 * V_4 = NULL;
	BigInteger_t925946153 * V_5 = NULL;
	ByteU5BU5D_t3397334013* V_6 = NULL;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		ObjectDisposedException_t2695136451 * L_1 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(L_1, _stringLiteral3528316826, /*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_m1213111262(__this, /*hidden argument*/NULL);
	}

IL_0027:
	{
		ByteU5BU5D_t3397334013* L_3 = ___rgb0;
		BigInteger_t925946153 * L_4 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_4, L_3, /*hidden argument*/NULL);
		V_0 = L_4;
		V_1 = (BigInteger_t925946153 *)NULL;
		bool L_5 = __this->get_keyBlinding_3();
		if (!L_5)
		{
			goto IL_0070;
		}
	}
	{
		BigInteger_t925946153 * L_6 = __this->get_n_12();
		int32_t L_7 = BigInteger_BitCount_m1334731567(L_6, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_8 = BigInteger_GenerateRandom_m1878468830(NULL /*static, unused*/, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		BigInteger_t925946153 * L_9 = V_1;
		BigInteger_t925946153 * L_10 = __this->get_e_13();
		BigInteger_t925946153 * L_11 = __this->get_n_12();
		BigInteger_t925946153 * L_12 = BigInteger_ModPow_m1418407677(L_9, L_10, L_11, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_13 = V_0;
		BigInteger_t925946153 * L_14 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_12, L_13, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_15 = __this->get_n_12();
		BigInteger_t925946153 * L_16 = BigInteger_op_Modulus_m13450242(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_t925946153 * L_18 = V_0;
		BigInteger_t925946153 * L_19 = __this->get_dp_9();
		BigInteger_t925946153 * L_20 = __this->get_p_7();
		BigInteger_t925946153 * L_21 = BigInteger_ModPow_m1418407677(L_18, L_19, L_20, /*hidden argument*/NULL);
		V_3 = L_21;
		BigInteger_t925946153 * L_22 = V_0;
		BigInteger_t925946153 * L_23 = __this->get_dq_10();
		BigInteger_t925946153 * L_24 = __this->get_q_8();
		BigInteger_t925946153 * L_25 = BigInteger_ModPow_m1418407677(L_22, L_23, L_24, /*hidden argument*/NULL);
		V_4 = L_25;
		BigInteger_t925946153 * L_26 = V_4;
		BigInteger_t925946153 * L_27 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_28 = BigInteger_op_GreaterThan_m2492620848(NULL /*static, unused*/, L_26, L_27, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_00f4;
		}
	}
	{
		BigInteger_t925946153 * L_29 = __this->get_p_7();
		BigInteger_t925946153 * L_30 = V_4;
		BigInteger_t925946153 * L_31 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_32 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_30, L_31, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_33 = __this->get_qInv_11();
		BigInteger_t925946153 * L_34 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_32, L_33, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_35 = __this->get_p_7();
		BigInteger_t925946153 * L_36 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_34, L_35, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_37 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_29, L_36, /*hidden argument*/NULL);
		V_5 = L_37;
		BigInteger_t925946153 * L_38 = V_4;
		BigInteger_t925946153 * L_39 = __this->get_q_8();
		BigInteger_t925946153 * L_40 = V_5;
		BigInteger_t925946153 * L_41 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_39, L_40, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_42 = BigInteger_op_Addition_m1734797151(NULL /*static, unused*/, L_38, L_41, /*hidden argument*/NULL);
		V_2 = L_42;
		goto IL_0129;
	}

IL_00f4:
	{
		BigInteger_t925946153 * L_43 = V_3;
		BigInteger_t925946153 * L_44 = V_4;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_45 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_43, L_44, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_46 = __this->get_qInv_11();
		BigInteger_t925946153 * L_47 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_45, L_46, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_48 = __this->get_p_7();
		BigInteger_t925946153 * L_49 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_47, L_48, /*hidden argument*/NULL);
		V_5 = L_49;
		BigInteger_t925946153 * L_50 = V_4;
		BigInteger_t925946153 * L_51 = __this->get_q_8();
		BigInteger_t925946153 * L_52 = V_5;
		BigInteger_t925946153 * L_53 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_51, L_52, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_54 = BigInteger_op_Addition_m1734797151(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_m343941928(__this, /*hidden argument*/NULL);
		if (L_55)
		{
			goto IL_0151;
		}
	}
	{
		BigInteger_t925946153 * L_56 = V_0;
		BigInteger_t925946153 * L_57 = __this->get_d_6();
		BigInteger_t925946153 * L_58 = __this->get_n_12();
		BigInteger_t925946153 * L_59 = BigInteger_ModPow_m1418407677(L_56, L_57, L_58, /*hidden argument*/NULL);
		V_2 = L_59;
		goto IL_0161;
	}

IL_0151:
	{
		String_t* L_60 = Locale_GetText_m1644072174(NULL /*static, unused*/, _stringLiteral3358510665, /*hidden argument*/NULL);
		CryptographicException_t3349726436 * L_61 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(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_t925946153 * L_63 = V_2;
		BigInteger_t925946153 * L_64 = V_1;
		BigInteger_t925946153 * L_65 = __this->get_n_12();
		BigInteger_t925946153 * L_66 = BigInteger_ModInverse_m1881894572(L_64, L_65, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_67 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_63, L_66, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_68 = __this->get_n_12();
		BigInteger_t925946153 * L_69 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_67, L_68, /*hidden argument*/NULL);
		V_2 = L_69;
		BigInteger_t925946153 * L_70 = V_1;
		BigInteger_Clear_m2734785184(L_70, /*hidden argument*/NULL);
	}

IL_0190:
	{
		BigInteger_t925946153 * L_71 = V_2;
		int32_t L_72 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		ByteU5BU5D_t3397334013* L_73 = RSAManaged_GetPaddedValue_m2972141669(__this, L_71, ((int32_t)((int32_t)L_72>>(int32_t)3)), /*hidden argument*/NULL);
		V_6 = L_73;
		BigInteger_t925946153 * L_74 = V_0;
		BigInteger_Clear_m2734785184(L_74, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_75 = V_2;
		BigInteger_Clear_m2734785184(L_75, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_76 = V_6;
		return L_76;
	}
}
// System.Byte[] Mono.Security.Cryptography.RSAManaged::EncryptValue(System.Byte[])
extern Il2CppClass* ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3206830748;
extern const uint32_t RSAManaged_EncryptValue_m1847230963_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RSAManaged_EncryptValue_m1847230963 (RSAManaged_t3034748748 * __this, ByteU5BU5D_t3397334013* ___rgb0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_EncryptValue_m1847230963_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	BigInteger_t925946153 * V_0 = NULL;
	BigInteger_t925946153 * V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	{
		bool L_0 = __this->get_m_disposed_5();
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		ObjectDisposedException_t2695136451 * L_1 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(L_1, _stringLiteral3206830748, /*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_m1213111262(__this, /*hidden argument*/NULL);
	}

IL_0027:
	{
		ByteU5BU5D_t3397334013* L_3 = ___rgb0;
		BigInteger_t925946153 * L_4 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_4, L_3, /*hidden argument*/NULL);
		V_0 = L_4;
		BigInteger_t925946153 * L_5 = V_0;
		BigInteger_t925946153 * L_6 = __this->get_e_13();
		BigInteger_t925946153 * L_7 = __this->get_n_12();
		BigInteger_t925946153 * L_8 = BigInteger_ModPow_m1418407677(L_5, L_6, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		BigInteger_t925946153 * L_9 = V_1;
		int32_t L_10 = VirtFuncInvoker0< int32_t >::Invoke(5 /* System.Int32 Mono.Security.Cryptography.RSAManaged::get_KeySize() */, __this);
		ByteU5BU5D_t3397334013* L_11 = RSAManaged_GetPaddedValue_m2972141669(__this, L_9, ((int32_t)((int32_t)L_10>>(int32_t)3)), /*hidden argument*/NULL);
		V_2 = L_11;
		BigInteger_t925946153 * L_12 = V_0;
		BigInteger_Clear_m2734785184(L_12, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_13 = V_1;
		BigInteger_Clear_m2734785184(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_14 = V_2;
		return L_14;
	}
}
// System.Security.Cryptography.RSAParameters Mono.Security.Cryptography.RSAManaged::ExportParameters(System.Boolean)
extern Il2CppClass* ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAParameters_t1462703416_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral216748811;
extern Il2CppCodeGenString* _stringLiteral144598766;
extern const uint32_t RSAManaged_ExportParameters_m2871338879_MetadataUsageId;
extern "C"  RSAParameters_t1462703416  RSAManaged_ExportParameters_m2871338879 (RSAManaged_t3034748748 * __this, bool ___includePrivateParameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ExportParameters_m2871338879_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSAParameters_t1462703416  V_0;
	memset(&V_0, 0, sizeof(V_0));
	ByteU5BU5D_t3397334013* 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_m1644072174(NULL /*static, unused*/, _stringLiteral216748811, /*hidden argument*/NULL);
		ObjectDisposedException_t2695136451 * L_2 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(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_m1213111262(__this, /*hidden argument*/NULL);
	}

IL_002c:
	{
		Initobj (RSAParameters_t1462703416_il2cpp_TypeInfo_var, (&V_0));
		BigInteger_t925946153 * L_4 = __this->get_e_13();
		ByteU5BU5D_t3397334013* L_5 = BigInteger_GetBytes_m767422614(L_4, /*hidden argument*/NULL);
		(&V_0)->set_Exponent_7(L_5);
		BigInteger_t925946153 * L_6 = __this->get_n_12();
		ByteU5BU5D_t3397334013* L_7 = BigInteger_GetBytes_m767422614(L_6, /*hidden argument*/NULL);
		(&V_0)->set_Modulus_6(L_7);
		bool L_8 = ___includePrivateParameters0;
		if (!L_8)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t925946153 * L_9 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_10 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_9, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_007a;
		}
	}
	{
		CryptographicException_t3349726436 * L_11 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_11, _stringLiteral144598766, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_007a:
	{
		BigInteger_t925946153 * L_12 = __this->get_d_6();
		ByteU5BU5D_t3397334013* L_13 = BigInteger_GetBytes_m767422614(L_12, /*hidden argument*/NULL);
		(&V_0)->set_D_2(L_13);
		ByteU5BU5D_t3397334013* L_14 = (&V_0)->get_D_2();
		ByteU5BU5D_t3397334013* 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_t3397334013* L_16 = (&V_0)->get_Modulus_6();
		V_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))));
		ByteU5BU5D_t3397334013* L_17 = (&V_0)->get_D_2();
		ByteU5BU5D_t3397334013* L_18 = V_1;
		ByteU5BU5D_t3397334013* L_19 = V_1;
		ByteU5BU5D_t3397334013* L_20 = (&V_0)->get_D_2();
		ByteU5BU5D_t3397334013* L_21 = (&V_0)->get_D_2();
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_22 = V_1;
		(&V_0)->set_D_2(L_22);
	}

IL_00de:
	{
		BigInteger_t925946153 * L_23 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_24 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_23, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_24)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t925946153 * L_25 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_26 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_25, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_26)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t925946153 * L_27 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_28 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_27, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_28)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t925946153 * L_29 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_30 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_29, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_30)
		{
			goto IL_01a0;
		}
	}
	{
		BigInteger_t925946153 * L_31 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_32 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_31, (BigInteger_t925946153 *)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_t925946153 * L_34 = __this->get_p_7();
		int32_t L_35 = V_2;
		ByteU5BU5D_t3397334013* L_36 = RSAManaged_GetPaddedValue_m2972141669(__this, L_34, L_35, /*hidden argument*/NULL);
		(&V_0)->set_P_0(L_36);
		BigInteger_t925946153 * L_37 = __this->get_q_8();
		int32_t L_38 = V_2;
		ByteU5BU5D_t3397334013* L_39 = RSAManaged_GetPaddedValue_m2972141669(__this, L_37, L_38, /*hidden argument*/NULL);
		(&V_0)->set_Q_1(L_39);
		BigInteger_t925946153 * L_40 = __this->get_dp_9();
		int32_t L_41 = V_2;
		ByteU5BU5D_t3397334013* L_42 = RSAManaged_GetPaddedValue_m2972141669(__this, L_40, L_41, /*hidden argument*/NULL);
		(&V_0)->set_DP_3(L_42);
		BigInteger_t925946153 * L_43 = __this->get_dq_10();
		int32_t L_44 = V_2;
		ByteU5BU5D_t3397334013* L_45 = RSAManaged_GetPaddedValue_m2972141669(__this, L_43, L_44, /*hidden argument*/NULL);
		(&V_0)->set_DQ_4(L_45);
		BigInteger_t925946153 * L_46 = __this->get_qInv_11();
		int32_t L_47 = V_2;
		ByteU5BU5D_t3397334013* L_48 = RSAManaged_GetPaddedValue_m2972141669(__this, L_46, L_47, /*hidden argument*/NULL);
		(&V_0)->set_InverseQ_5(L_48);
	}

IL_01a0:
	{
		RSAParameters_t1462703416  L_49 = V_0;
		return L_49;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged::ImportParameters(System.Security.Cryptography.RSAParameters)
extern Il2CppClass* ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppClass* CryptographicException_t3349726436_il2cpp_TypeInfo_var;
extern Il2CppClass* BigInteger_t925946153_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral216748811;
extern Il2CppCodeGenString* _stringLiteral2657213619;
extern Il2CppCodeGenString* _stringLiteral812084409;
extern Il2CppCodeGenString* _stringLiteral2677776708;
extern const uint32_t RSAManaged_ImportParameters_m3060955884_MetadataUsageId;
extern "C"  void RSAManaged_ImportParameters_m3060955884 (RSAManaged_t3034748748 * __this, RSAParameters_t1462703416  ___parameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ImportParameters_m3060955884_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	bool V_0 = false;
	bool V_1 = false;
	BigInteger_t925946153 * V_2 = NULL;
	BigInteger_t925946153 * V_3 = NULL;
	BigInteger_t925946153 * V_4 = NULL;
	BigInteger_t925946153 * V_5 = NULL;
	int32_t G_B22_0 = 0;
	RSAManaged_t3034748748 * G_B25_0 = NULL;
	RSAManaged_t3034748748 * G_B23_0 = NULL;
	RSAManaged_t3034748748 * G_B24_0 = NULL;
	int32_t G_B26_0 = 0;
	RSAManaged_t3034748748 * 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_m1644072174(NULL /*static, unused*/, _stringLiteral216748811, /*hidden argument*/NULL);
		ObjectDisposedException_t2695136451 * L_2 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(L_2, L_1, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001b:
	{
		ByteU5BU5D_t3397334013* L_3 = (&___parameters0)->get_Exponent_7();
		if (L_3)
		{
			goto IL_0037;
		}
	}
	{
		String_t* L_4 = Locale_GetText_m1644072174(NULL /*static, unused*/, _stringLiteral2657213619, /*hidden argument*/NULL);
		CryptographicException_t3349726436 * L_5 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_5, L_4, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0037:
	{
		ByteU5BU5D_t3397334013* L_6 = (&___parameters0)->get_Modulus_6();
		if (L_6)
		{
			goto IL_0053;
		}
	}
	{
		String_t* L_7 = Locale_GetText_m1644072174(NULL /*static, unused*/, _stringLiteral812084409, /*hidden argument*/NULL);
		CryptographicException_t3349726436 * L_8 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(L_8, L_7, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

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

IL_0095:
	{
		ByteU5BU5D_t3397334013* L_16 = (&___parameters0)->get_DP_3();
		if (!L_16)
		{
			goto IL_00b3;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_17 = (&___parameters0)->get_DP_3();
		BigInteger_t925946153 * L_18 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_18, L_17, /*hidden argument*/NULL);
		__this->set_dp_9(L_18);
	}

IL_00b3:
	{
		ByteU5BU5D_t3397334013* L_19 = (&___parameters0)->get_DQ_4();
		if (!L_19)
		{
			goto IL_00d1;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_20 = (&___parameters0)->get_DQ_4();
		BigInteger_t925946153 * L_21 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_21, L_20, /*hidden argument*/NULL);
		__this->set_dq_10(L_21);
	}

IL_00d1:
	{
		ByteU5BU5D_t3397334013* L_22 = (&___parameters0)->get_InverseQ_5();
		if (!L_22)
		{
			goto IL_00ef;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_23 = (&___parameters0)->get_InverseQ_5();
		BigInteger_t925946153 * L_24 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_24, L_23, /*hidden argument*/NULL);
		__this->set_qInv_11(L_24);
	}

IL_00ef:
	{
		ByteU5BU5D_t3397334013* L_25 = (&___parameters0)->get_P_0();
		if (!L_25)
		{
			goto IL_010d;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_26 = (&___parameters0)->get_P_0();
		BigInteger_t925946153 * L_27 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_27, L_26, /*hidden argument*/NULL);
		__this->set_p_7(L_27);
	}

IL_010d:
	{
		ByteU5BU5D_t3397334013* L_28 = (&___parameters0)->get_Q_1();
		if (!L_28)
		{
			goto IL_012b;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_29 = (&___parameters0)->get_Q_1();
		BigInteger_t925946153 * L_30 = (BigInteger_t925946153 *)il2cpp_codegen_object_new(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger__ctor_m2998639688(L_30, L_29, /*hidden argument*/NULL);
		__this->set_q_8(L_30);
	}

IL_012b:
	{
		__this->set_keypairGenerated_4((bool)1);
		BigInteger_t925946153 * L_31 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_32 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_31, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_32)
		{
			goto IL_0162;
		}
	}
	{
		BigInteger_t925946153 * L_33 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_34 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_33, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_34)
		{
			goto IL_0162;
		}
	}
	{
		BigInteger_t925946153 * L_35 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_36 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_35, (BigInteger_t925946153 *)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_t925946153 * L_38 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_39 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_38, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		G_B24_0 = G_B23_0;
		if (!L_39)
		{
			G_B25_0 = G_B23_0;
			goto IL_018a;
		}
	}
	{
		BigInteger_t925946153 * L_40 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_41 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_40, (BigInteger_t925946153 *)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_t925946153 * L_43 = __this->get_n_12();
		BigInteger_t925946153 * L_44 = __this->get_p_7();
		BigInteger_t925946153 * L_45 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_46 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_44, L_45, /*hidden argument*/NULL);
		bool L_47 = BigInteger_op_Equality_m3089846781(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_t925946153 * L_49 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_50 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_51 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_49, L_50, /*hidden argument*/NULL);
		V_2 = L_51;
		BigInteger_t925946153 * L_52 = __this->get_q_8();
		BigInteger_t925946153 * L_53 = BigInteger_op_Implicit_m3634001681(NULL /*static, unused*/, 1, /*hidden argument*/NULL);
		BigInteger_t925946153 * L_54 = BigInteger_op_Subtraction_m972393015(NULL /*static, unused*/, L_52, L_53, /*hidden argument*/NULL);
		V_3 = L_54;
		BigInteger_t925946153 * L_55 = V_2;
		BigInteger_t925946153 * L_56 = V_3;
		BigInteger_t925946153 * L_57 = BigInteger_op_Multiply_m1833761647(NULL /*static, unused*/, L_55, L_56, /*hidden argument*/NULL);
		V_4 = L_57;
		BigInteger_t925946153 * L_58 = __this->get_e_13();
		BigInteger_t925946153 * L_59 = V_4;
		BigInteger_t925946153 * L_60 = BigInteger_ModInverse_m1881894572(L_58, L_59, /*hidden argument*/NULL);
		V_5 = L_60;
		BigInteger_t925946153 * L_61 = __this->get_d_6();
		BigInteger_t925946153 * L_62 = V_5;
		bool L_63 = BigInteger_op_Equality_m3089846781(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_t925946153 * L_66 = __this->get_dp_9();
		BigInteger_t925946153 * L_67 = V_5;
		BigInteger_t925946153 * L_68 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_69 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_67, L_68, /*hidden argument*/NULL);
		bool L_70 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_66, L_69, /*hidden argument*/NULL);
		if (!L_70)
		{
			goto IL_0263;
		}
	}
	{
		BigInteger_t925946153 * L_71 = __this->get_dq_10();
		BigInteger_t925946153 * L_72 = V_5;
		BigInteger_t925946153 * L_73 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		BigInteger_t925946153 * L_74 = BigInteger_op_Modulus_m13450242(NULL /*static, unused*/, L_72, L_73, /*hidden argument*/NULL);
		bool L_75 = BigInteger_op_Equality_m3089846781(NULL /*static, unused*/, L_71, L_74, /*hidden argument*/NULL);
		if (!L_75)
		{
			goto IL_0263;
		}
	}
	{
		BigInteger_t925946153 * L_76 = __this->get_qInv_11();
		BigInteger_t925946153 * L_77 = __this->get_q_8();
		BigInteger_t925946153 * L_78 = __this->get_p_7();
		BigInteger_t925946153 * L_79 = BigInteger_ModInverse_m1881894572(L_77, L_78, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_80 = BigInteger_op_Equality_m3089846781(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_m1644072174(NULL /*static, unused*/, _stringLiteral2677776708, /*hidden argument*/NULL);
		CryptographicException_t3349726436 * L_83 = (CryptographicException_t3349726436 *)il2cpp_codegen_object_new(CryptographicException_t3349726436_il2cpp_TypeInfo_var);
		CryptographicException__ctor_m2415891459(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_t925946153_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_Dispose_m160261748_MetadataUsageId;
extern "C"  void RSAManaged_Dispose_m160261748 (RSAManaged_t3034748748 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_Dispose_m160261748_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_m_disposed_5();
		if (L_0)
		{
			goto IL_0129;
		}
	}
	{
		BigInteger_t925946153 * L_1 = __this->get_d_6();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_2 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_1, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_2)
		{
			goto IL_002e;
		}
	}
	{
		BigInteger_t925946153 * L_3 = __this->get_d_6();
		BigInteger_Clear_m2734785184(L_3, /*hidden argument*/NULL);
		__this->set_d_6((BigInteger_t925946153 *)NULL);
	}

IL_002e:
	{
		BigInteger_t925946153 * L_4 = __this->get_p_7();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_5 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_4, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0051;
		}
	}
	{
		BigInteger_t925946153 * L_6 = __this->get_p_7();
		BigInteger_Clear_m2734785184(L_6, /*hidden argument*/NULL);
		__this->set_p_7((BigInteger_t925946153 *)NULL);
	}

IL_0051:
	{
		BigInteger_t925946153 * L_7 = __this->get_q_8();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_8 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_7, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_0074;
		}
	}
	{
		BigInteger_t925946153 * L_9 = __this->get_q_8();
		BigInteger_Clear_m2734785184(L_9, /*hidden argument*/NULL);
		__this->set_q_8((BigInteger_t925946153 *)NULL);
	}

IL_0074:
	{
		BigInteger_t925946153 * L_10 = __this->get_dp_9();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_11 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_10, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_11)
		{
			goto IL_0097;
		}
	}
	{
		BigInteger_t925946153 * L_12 = __this->get_dp_9();
		BigInteger_Clear_m2734785184(L_12, /*hidden argument*/NULL);
		__this->set_dp_9((BigInteger_t925946153 *)NULL);
	}

IL_0097:
	{
		BigInteger_t925946153 * L_13 = __this->get_dq_10();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_14 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_13, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_14)
		{
			goto IL_00ba;
		}
	}
	{
		BigInteger_t925946153 * L_15 = __this->get_dq_10();
		BigInteger_Clear_m2734785184(L_15, /*hidden argument*/NULL);
		__this->set_dq_10((BigInteger_t925946153 *)NULL);
	}

IL_00ba:
	{
		BigInteger_t925946153 * L_16 = __this->get_qInv_11();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_17 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_16, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_17)
		{
			goto IL_00dd;
		}
	}
	{
		BigInteger_t925946153 * L_18 = __this->get_qInv_11();
		BigInteger_Clear_m2734785184(L_18, /*hidden argument*/NULL);
		__this->set_qInv_11((BigInteger_t925946153 *)NULL);
	}

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

IL_0106:
	{
		BigInteger_t925946153 * L_23 = __this->get_n_12();
		IL2CPP_RUNTIME_CLASS_INIT(BigInteger_t925946153_il2cpp_TypeInfo_var);
		bool L_24 = BigInteger_op_Inequality_m4286929594(NULL /*static, unused*/, L_23, (BigInteger_t925946153 *)NULL, /*hidden argument*/NULL);
		if (!L_24)
		{
			goto IL_0129;
		}
	}
	{
		BigInteger_t925946153 * L_25 = __this->get_n_12();
		BigInteger_Clear_m2734785184(L_25, /*hidden argument*/NULL);
		__this->set_n_12((BigInteger_t925946153 *)NULL);
	}

IL_0129:
	{
		__this->set_m_disposed_5((bool)1);
		return;
	}
}
// System.String Mono.Security.Cryptography.RSAManaged::ToXmlString(System.Boolean)
extern Il2CppClass* StringBuilder_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* Convert_t2607082565_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3092939630;
extern Il2CppCodeGenString* _stringLiteral1054404423;
extern Il2CppCodeGenString* _stringLiteral1356539126;
extern Il2CppCodeGenString* _stringLiteral3640090853;
extern Il2CppCodeGenString* _stringLiteral3902532686;
extern Il2CppCodeGenString* _stringLiteral124729648;
extern Il2CppCodeGenString* _stringLiteral3060106029;
extern Il2CppCodeGenString* _stringLiteral2853613003;
extern Il2CppCodeGenString* _stringLiteral3060106028;
extern Il2CppCodeGenString* _stringLiteral3713249476;
extern Il2CppCodeGenString* _stringLiteral4033978725;
extern Il2CppCodeGenString* _stringLiteral3713249475;
extern Il2CppCodeGenString* _stringLiteral1305095370;
extern Il2CppCodeGenString* _stringLiteral2613920527;
extern Il2CppCodeGenString* _stringLiteral924226302;
extern Il2CppCodeGenString* _stringLiteral3162789196;
extern Il2CppCodeGenString* _stringLiteral3060106049;
extern Il2CppCodeGenString* _stringLiteral2737546005;
extern const uint32_t RSAManaged_ToXmlString_m2606223477_MetadataUsageId;
extern "C"  String_t* RSAManaged_ToXmlString_m2606223477 (RSAManaged_t3034748748 * __this, bool ___includePrivateParameters0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_ToXmlString_m2606223477_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	StringBuilder_t1221177846 * V_0 = NULL;
	RSAParameters_t1462703416  V_1;
	memset(&V_1, 0, sizeof(V_1));
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		StringBuilder_t1221177846 * L_0 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3946851802(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		bool L_1 = ___includePrivateParameters0;
		RSAParameters_t1462703416  L_2 = VirtFuncInvoker1< RSAParameters_t1462703416 , 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_t1221177846 * L_3 = V_0;
			StringBuilder_Append_m3636508479(L_3, _stringLiteral3092939630, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_4 = V_0;
			StringBuilder_Append_m3636508479(L_4, _stringLiteral1054404423, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_5 = V_0;
			ByteU5BU5D_t3397334013* L_6 = (&V_1)->get_Modulus_6();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_7 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_6, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_5, L_7, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_8 = V_0;
			StringBuilder_Append_m3636508479(L_8, _stringLiteral1356539126, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_9 = V_0;
			StringBuilder_Append_m3636508479(L_9, _stringLiteral3640090853, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_10 = V_0;
			ByteU5BU5D_t3397334013* L_11 = (&V_1)->get_Exponent_7();
			String_t* L_12 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_10, L_12, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_13 = V_0;
			StringBuilder_Append_m3636508479(L_13, _stringLiteral3902532686, /*hidden argument*/NULL);
			bool L_14 = ___includePrivateParameters0;
			if (!L_14)
			{
				goto IL_01b4;
			}
		}

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

IL_0082:
		{
			StringBuilder_t1221177846 * L_16 = V_0;
			StringBuilder_Append_m3636508479(L_16, _stringLiteral124729648, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_17 = V_0;
			ByteU5BU5D_t3397334013* L_18 = (&V_1)->get_P_0();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_19 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_18, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_17, L_19, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_20 = V_0;
			StringBuilder_Append_m3636508479(L_20, _stringLiteral3060106029, /*hidden argument*/NULL);
		}

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

IL_00b9:
		{
			StringBuilder_t1221177846 * L_22 = V_0;
			StringBuilder_Append_m3636508479(L_22, _stringLiteral2853613003, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_23 = V_0;
			ByteU5BU5D_t3397334013* L_24 = (&V_1)->get_Q_1();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_25 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_23, L_25, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_26 = V_0;
			StringBuilder_Append_m3636508479(L_26, _stringLiteral3060106028, /*hidden argument*/NULL);
		}

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

IL_00f0:
		{
			StringBuilder_t1221177846 * L_28 = V_0;
			StringBuilder_Append_m3636508479(L_28, _stringLiteral3713249476, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_29 = V_0;
			ByteU5BU5D_t3397334013* L_30 = (&V_1)->get_DP_3();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_31 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_30, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_29, L_31, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_32 = V_0;
			StringBuilder_Append_m3636508479(L_32, _stringLiteral4033978725, /*hidden argument*/NULL);
		}

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

IL_0127:
		{
			StringBuilder_t1221177846 * L_34 = V_0;
			StringBuilder_Append_m3636508479(L_34, _stringLiteral3713249475, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_35 = V_0;
			ByteU5BU5D_t3397334013* L_36 = (&V_1)->get_DQ_4();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_37 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_36, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_35, L_37, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_38 = V_0;
			StringBuilder_Append_m3636508479(L_38, _stringLiteral1305095370, /*hidden argument*/NULL);
		}

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

IL_015e:
		{
			StringBuilder_t1221177846 * L_40 = V_0;
			StringBuilder_Append_m3636508479(L_40, _stringLiteral2613920527, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_41 = V_0;
			ByteU5BU5D_t3397334013* L_42 = (&V_1)->get_InverseQ_5();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_43 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_42, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_41, L_43, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_44 = V_0;
			StringBuilder_Append_m3636508479(L_44, _stringLiteral924226302, /*hidden argument*/NULL);
		}

IL_0189:
		{
			StringBuilder_t1221177846 * L_45 = V_0;
			StringBuilder_Append_m3636508479(L_45, _stringLiteral3162789196, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_46 = V_0;
			ByteU5BU5D_t3397334013* L_47 = (&V_1)->get_D_2();
			IL2CPP_RUNTIME_CLASS_INIT(Convert_t2607082565_il2cpp_TypeInfo_var);
			String_t* L_48 = Convert_ToBase64String_m1936815455(NULL /*static, unused*/, L_47, /*hidden argument*/NULL);
			StringBuilder_Append_m3636508479(L_46, L_48, /*hidden argument*/NULL);
			StringBuilder_t1221177846 * L_49 = V_0;
			StringBuilder_Append_m3636508479(L_49, _stringLiteral3060106049, /*hidden argument*/NULL);
		}

IL_01b4:
		{
			StringBuilder_t1221177846 * L_50 = V_0;
			StringBuilder_Append_m3636508479(L_50, _stringLiteral2737546005, /*hidden argument*/NULL);
			goto IL_0299;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)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_t3397334013* L_51 = (&V_1)->get_P_0();
			if (!L_51)
			{
				goto IL_01e8;
			}
		}

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

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

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

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

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

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

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

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

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

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

IL_027c:
		{
			ByteU5BU5D_t3397334013* L_67 = (&V_1)->get_D_2();
			ByteU5BU5D_t3397334013* L_68 = (&V_1)->get_D_2();
			Array_Clear_m782967417(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_t1221177846 * L_69 = V_0;
		String_t* L_70 = StringBuilder_ToString_m1507807375(L_69, /*hidden argument*/NULL);
		return L_70;
	}
}
// System.Byte[] Mono.Security.Cryptography.RSAManaged::GetPaddedValue(Mono.Math.BigInteger,System.Int32)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t RSAManaged_GetPaddedValue_m2972141669_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RSAManaged_GetPaddedValue_m2972141669 (RSAManaged_t3034748748 * __this, BigInteger_t925946153 * ___value0, int32_t ___length1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSAManaged_GetPaddedValue_m2972141669_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		BigInteger_t925946153 * L_0 = ___value0;
		ByteU5BU5D_t3397334013* L_1 = BigInteger_GetBytes_m767422614(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_4 = V_0;
		return L_4;
	}

IL_0012:
	{
		int32_t L_5 = ___length1;
		V_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_5));
		ByteU5BU5D_t3397334013* L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = V_1;
		int32_t L_8 = ___length1;
		ByteU5BU5D_t3397334013* L_9 = V_0;
		ByteU5BU5D_t3397334013* L_10 = V_0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_11 = V_0;
		ByteU5BU5D_t3397334013* L_12 = V_0;
		Array_Clear_m782967417(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = V_1;
		return L_13;
	}
}
// System.Void Mono.Security.Cryptography.RSAManaged/KeyGeneratedEventHandler::.ctor(System.Object,System.IntPtr)
extern "C"  void KeyGeneratedEventHandler__ctor_m639133899 (KeyGeneratedEventHandler_t108853710 * __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_m1298576133 (KeyGeneratedEventHandler_t108853710 * __this, Il2CppObject * ___sender0, EventArgs_t3289624707 * ___e1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		KeyGeneratedEventHandler_Invoke_m1298576133((KeyGeneratedEventHandler_t108853710 *)__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_t3289624707 * ___e1, const MethodInfo* method);
		((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___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_t3289624707 * ___e1, const MethodInfo* method);
		((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___sender0, ___e1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef void (*FunctionPointerType) (void* __this, EventArgs_t3289624707 * ___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_m2404438262 (KeyGeneratedEventHandler_t108853710 * __this, Il2CppObject * ___sender0, EventArgs_t3289624707 * ___e1, AsyncCallback_t163412349 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___sender0;
	__d_args[1] = ___e1;
	return (Il2CppObject *)il2cpp_codegen_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_m80374889 (KeyGeneratedEventHandler_t108853710 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	il2cpp_codegen_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor()
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo__ctor_m3727742917_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m3727742917 (ContentInfo_t1443605388 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m3727742917_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		ASN1_t924533536 * L_0 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(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_m3579805263 (ContentInfo_t1443605388 * __this, String_t* ___oid0, const MethodInfo* method)
{
	{
		ContentInfo__ctor_m3727742917(__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_t924533536_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo__ctor_m2845339866_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m2845339866 (ContentInfo_t1443605388 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m2845339866_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		ASN1_t924533536 * L_1 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_1, L_0, /*hidden argument*/NULL);
		ContentInfo__ctor_m3871771681(__this, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.PKCS7/ContentInfo::.ctor(Mono.Security.ASN1)
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1825991234;
extern Il2CppCodeGenString* _stringLiteral2530123980;
extern Il2CppCodeGenString* _stringLiteral1193127324;
extern const uint32_t ContentInfo__ctor_m3871771681_MetadataUsageId;
extern "C"  void ContentInfo__ctor_m3871771681 (ContentInfo_t1443605388 * __this, ASN1_t924533536 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo__ctor_m3871771681_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		ASN1_t924533536 * L_0 = ___asn10;
		uint8_t L_1 = ASN1_get_Tag_m2798873007(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_002b;
		}
	}
	{
		ASN1_t924533536 * L_2 = ___asn10;
		int32_t L_3 = ASN1_get_Count_m579313466(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) >= ((int32_t)1)))
		{
			goto IL_0036;
		}
	}
	{
		ASN1_t924533536 * L_4 = ___asn10;
		int32_t L_5 = ASN1_get_Count_m579313466(L_4, /*hidden argument*/NULL);
		if ((((int32_t)L_5) <= ((int32_t)2)))
		{
			goto IL_0036;
		}
	}

IL_002b:
	{
		ArgumentException_t3259014390 * L_6 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_6, _stringLiteral1825991234, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_6);
	}

IL_0036:
	{
		ASN1_t924533536 * L_7 = ___asn10;
		ASN1_t924533536 * L_8 = ASN1_get_Item_m3505242534(L_7, 0, /*hidden argument*/NULL);
		uint8_t L_9 = ASN1_get_Tag_m2798873007(L_8, /*hidden argument*/NULL);
		if ((((int32_t)L_9) == ((int32_t)6)))
		{
			goto IL_0053;
		}
	}
	{
		ArgumentException_t3259014390 * L_10 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_10, _stringLiteral2530123980, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_0053:
	{
		ASN1_t924533536 * L_11 = ___asn10;
		ASN1_t924533536 * L_12 = ASN1_get_Item_m3505242534(L_11, 0, /*hidden argument*/NULL);
		String_t* L_13 = ASN1Convert_ToOid_m35757129(NULL /*static, unused*/, L_12, /*hidden argument*/NULL);
		__this->set_contentType_0(L_13);
		ASN1_t924533536 * L_14 = ___asn10;
		int32_t L_15 = ASN1_get_Count_m579313466(L_14, /*hidden argument*/NULL);
		if ((((int32_t)L_15) <= ((int32_t)1)))
		{
			goto IL_009f;
		}
	}
	{
		ASN1_t924533536 * L_16 = ___asn10;
		ASN1_t924533536 * L_17 = ASN1_get_Item_m3505242534(L_16, 1, /*hidden argument*/NULL);
		uint8_t L_18 = ASN1_get_Tag_m2798873007(L_17, /*hidden argument*/NULL);
		if ((((int32_t)L_18) == ((int32_t)((int32_t)160))))
		{
			goto IL_0092;
		}
	}
	{
		ArgumentException_t3259014390 * L_19 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_19, _stringLiteral1193127324, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_19);
	}

IL_0092:
	{
		ASN1_t924533536 * L_20 = ___asn10;
		ASN1_t924533536 * L_21 = ASN1_get_Item_m3505242534(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_t924533536 * ContentInfo_get_ASN1_m1697727120 (ContentInfo_t1443605388 * __this, const MethodInfo* method)
{
	{
		ASN1_t924533536 * L_0 = ContentInfo_GetASN1_m1560623629(__this, /*hidden argument*/NULL);
		return L_0;
	}
}
// Mono.Security.ASN1 Mono.Security.PKCS7/ContentInfo::get_Content()
extern "C"  ASN1_t924533536 * ContentInfo_get_Content_m1802070908 (ContentInfo_t1443605388 * __this, const MethodInfo* method)
{
	{
		ASN1_t924533536 * 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_m3643334361 (ContentInfo_t1443605388 * __this, ASN1_t924533536 * ___value0, const MethodInfo* method)
{
	{
		ASN1_t924533536 * 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_m2984320800 (ContentInfo_t1443605388 * __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_m1242338355 (ContentInfo_t1443605388 * __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_t924533536_il2cpp_TypeInfo_var;
extern const uint32_t ContentInfo_GetASN1_m1560623629_MetadataUsageId;
extern "C"  ASN1_t924533536 * ContentInfo_GetASN1_m1560623629 (ContentInfo_t1443605388 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ContentInfo_GetASN1_m1560623629_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	{
		ASN1_t924533536 * L_0 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(L_0, ((int32_t)48), /*hidden argument*/NULL);
		V_0 = L_0;
		ASN1_t924533536 * L_1 = V_0;
		String_t* L_2 = __this->get_contentType_0();
		ASN1_t924533536 * L_3 = ASN1Convert_FromOid_m3277257826(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		ASN1_Add_m1528660622(L_1, L_3, /*hidden argument*/NULL);
		ASN1_t924533536 * L_4 = __this->get_content_1();
		if (!L_4)
		{
			goto IL_0043;
		}
	}
	{
		ASN1_t924533536 * L_5 = __this->get_content_1();
		int32_t L_6 = ASN1_get_Count_m579313466(L_5, /*hidden argument*/NULL);
		if ((((int32_t)L_6) <= ((int32_t)0)))
		{
			goto IL_0043;
		}
	}
	{
		ASN1_t924533536 * L_7 = V_0;
		ASN1_t924533536 * L_8 = __this->get_content_1();
		ASN1_Add_m1528660622(L_7, L_8, /*hidden argument*/NULL);
	}

IL_0043:
	{
		ASN1_t924533536 * L_9 = V_0;
		return L_9;
	}
}
// System.Void Mono.Security.PKCS7/EncryptedData::.ctor()
extern "C"  void EncryptedData__ctor_m3834592644 (EncryptedData_t2656813773 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		__this->set__version_0(0);
		return;
	}
}
// System.Void Mono.Security.PKCS7/EncryptedData::.ctor(Mono.Security.ASN1)
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppClass* ContentInfo_t1443605388_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2985635423;
extern Il2CppCodeGenString* _stringLiteral2364697139;
extern Il2CppCodeGenString* _stringLiteral1115332569;
extern Il2CppCodeGenString* _stringLiteral3096747480;
extern Il2CppCodeGenString* _stringLiteral375813953;
extern Il2CppCodeGenString* _stringLiteral3185619862;
extern const uint32_t EncryptedData__ctor_m3866918584_MetadataUsageId;
extern "C"  void EncryptedData__ctor_m3866918584 (EncryptedData_t2656813773 * __this, ASN1_t924533536 * ___asn10, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (EncryptedData__ctor_m3866918584_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	ASN1_t924533536 * V_1 = NULL;
	ASN1_t924533536 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	{
		EncryptedData__ctor_m3834592644(__this, /*hidden argument*/NULL);
		ASN1_t924533536 * L_0 = ___asn10;
		uint8_t L_1 = ASN1_get_Tag_m2798873007(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_001f;
		}
	}
	{
		ASN1_t924533536 * L_2 = ___asn10;
		int32_t L_3 = ASN1_get_Count_m579313466(L_2, /*hidden argument*/NULL);
		if ((((int32_t)L_3) >= ((int32_t)2)))
		{
			goto IL_002a;
		}
	}

IL_001f:
	{
		ArgumentException_t3259014390 * L_4 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_4, _stringLiteral2985635423, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_4);
	}

IL_002a:
	{
		ASN1_t924533536 * L_5 = ___asn10;
		ASN1_t924533536 * L_6 = ASN1_get_Item_m3505242534(L_5, 0, /*hidden argument*/NULL);
		uint8_t L_7 = ASN1_get_Tag_m2798873007(L_6, /*hidden argument*/NULL);
		if ((((int32_t)L_7) == ((int32_t)2)))
		{
			goto IL_0047;
		}
	}
	{
		ArgumentException_t3259014390 * L_8 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_8, _stringLiteral2364697139, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_0047:
	{
		ASN1_t924533536 * L_9 = ___asn10;
		ASN1_t924533536 * L_10 = ASN1_get_Item_m3505242534(L_9, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_11 = ASN1_get_Value_m2229768312(L_10, /*hidden argument*/NULL);
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_12));
		__this->set__version_0(L_13);
		ASN1_t924533536 * L_14 = ___asn10;
		ASN1_t924533536 * L_15 = ASN1_get_Item_m3505242534(L_14, 1, /*hidden argument*/NULL);
		V_0 = L_15;
		ASN1_t924533536 * L_16 = V_0;
		uint8_t L_17 = ASN1_get_Tag_m2798873007(L_16, /*hidden argument*/NULL);
		if ((((int32_t)L_17) == ((int32_t)((int32_t)48))))
		{
			goto IL_007b;
		}
	}
	{
		ArgumentException_t3259014390 * L_18 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_18, _stringLiteral1115332569, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_18);
	}

IL_007b:
	{
		ASN1_t924533536 * L_19 = V_0;
		ASN1_t924533536 * L_20 = ASN1_get_Item_m3505242534(L_19, 0, /*hidden argument*/NULL);
		V_1 = L_20;
		ASN1_t924533536 * L_21 = V_1;
		uint8_t L_22 = ASN1_get_Tag_m2798873007(L_21, /*hidden argument*/NULL);
		if ((((int32_t)L_22) == ((int32_t)6)))
		{
			goto IL_009a;
		}
	}
	{
		ArgumentException_t3259014390 * L_23 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_23, _stringLiteral3096747480, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_009a:
	{
		ASN1_t924533536 * L_24 = V_1;
		String_t* L_25 = ASN1Convert_ToOid_m35757129(NULL /*static, unused*/, L_24, /*hidden argument*/NULL);
		ContentInfo_t1443605388 * L_26 = (ContentInfo_t1443605388 *)il2cpp_codegen_object_new(ContentInfo_t1443605388_il2cpp_TypeInfo_var);
		ContentInfo__ctor_m3579805263(L_26, L_25, /*hidden argument*/NULL);
		__this->set__content_1(L_26);
		ASN1_t924533536 * L_27 = V_0;
		ASN1_t924533536 * L_28 = ASN1_get_Item_m3505242534(L_27, 1, /*hidden argument*/NULL);
		V_2 = L_28;
		ASN1_t924533536 * L_29 = V_2;
		uint8_t L_30 = ASN1_get_Tag_m2798873007(L_29, /*hidden argument*/NULL);
		if ((((int32_t)L_30) == ((int32_t)((int32_t)48))))
		{
			goto IL_00cb;
		}
	}
	{
		ArgumentException_t3259014390 * L_31 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_31, _stringLiteral375813953, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_31);
	}

IL_00cb:
	{
		ASN1_t924533536 * L_32 = V_2;
		ASN1_t924533536 * L_33 = ASN1_get_Item_m3505242534(L_32, 0, /*hidden argument*/NULL);
		String_t* L_34 = ASN1Convert_ToOid_m35757129(NULL /*static, unused*/, L_33, /*hidden argument*/NULL);
		ContentInfo_t1443605388 * L_35 = (ContentInfo_t1443605388 *)il2cpp_codegen_object_new(ContentInfo_t1443605388_il2cpp_TypeInfo_var);
		ContentInfo__ctor_m3579805263(L_35, L_34, /*hidden argument*/NULL);
		__this->set__encryptionAlgorithm_2(L_35);
		ContentInfo_t1443605388 * L_36 = __this->get__encryptionAlgorithm_2();
		ASN1_t924533536 * L_37 = V_2;
		ASN1_t924533536 * L_38 = ASN1_get_Item_m3505242534(L_37, 1, /*hidden argument*/NULL);
		ContentInfo_set_Content_m3643334361(L_36, L_38, /*hidden argument*/NULL);
		ASN1_t924533536 * L_39 = V_0;
		ASN1_t924533536 * L_40 = ASN1_get_Item_m3505242534(L_39, 2, /*hidden argument*/NULL);
		V_3 = L_40;
		ASN1_t924533536 * L_41 = V_3;
		uint8_t L_42 = ASN1_get_Tag_m2798873007(L_41, /*hidden argument*/NULL);
		if ((((int32_t)L_42) == ((int32_t)((int32_t)128))))
		{
			goto IL_0117;
		}
	}
	{
		ArgumentException_t3259014390 * L_43 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_43, _stringLiteral3185619862, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_43);
	}

IL_0117:
	{
		ASN1_t924533536 * L_44 = V_3;
		ByteU5BU5D_t3397334013* L_45 = ASN1_get_Value_m2229768312(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_t1443605388 * EncryptedData_get_EncryptionAlgorithm_m3585820551 (EncryptedData_t2656813773 * __this, const MethodInfo* method)
{
	{
		ContentInfo_t1443605388 * L_0 = __this->get__encryptionAlgorithm_2();
		return L_0;
	}
}
// System.Byte[] Mono.Security.PKCS7/EncryptedData::get_EncryptedContent()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t EncryptedData_get_EncryptedContent_m3832882582_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* EncryptedData_get_EncryptedContent_m3832882582 (EncryptedData_t2656813773 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (EncryptedData_get_EncryptedContent_m3832882582_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get__encrypted_3();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t3397334013*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get__encrypted_3();
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_2, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.Void Mono.Security.Protocol.Tls.Alert::.ctor(Mono.Security.Protocol.Tls.AlertDescription)
extern "C"  void Alert__ctor_m264447866 (Alert_t3405955216 * __this, uint8_t ___description0, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		Alert_inferAlertLevel_m1194123772(__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_m287829582 (Alert_t3405955216 * __this, uint8_t ___level0, uint8_t ___description1, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__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_m2913362942 (Alert_t3405955216 * __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_m3856702046 (Alert_t3405955216 * __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_m427004807 (Alert_t3405955216 * __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_m577852330 (Alert_t3405955216 * __this, const MethodInfo* method)
{
	{
		bool L_0 = Alert_get_IsWarning_m427004807(__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_m1194123772 (Alert_t3405955216 * __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* _stringLiteral2783594492;
extern const uint32_t Alert_GetAlertMessage_m325996256_MetadataUsageId;
extern "C"  String_t* Alert_GetAlertMessage_m325996256 (Il2CppObject * __this /* static, unused */, uint8_t ___description0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Alert_GetAlertMessage_m325996256_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		return _stringLiteral2783594492;
	}
}
// System.Void Mono.Security.Protocol.Tls.CertificateSelectionCallback::.ctor(System.Object,System.IntPtr)
extern "C"  void CertificateSelectionCallback__ctor_m2302751912 (CertificateSelectionCallback_t3721235490 * __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_t283079845 * CertificateSelectionCallback_Invoke_m2902629105 (CertificateSelectionCallback_t3721235490 * __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateSelectionCallback_Invoke_m2902629105((CertificateSelectionCallback_t3721235490 *)__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_t283079845 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef X509Certificate_t283079845 * (*FunctionPointerType) (void* __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___clientCertificates0, ___serverCertificate1, ___targetHost2, ___serverRequestedCertificates3,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef X509Certificate_t283079845 * (*FunctionPointerType) (void* __this, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___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_m990408067 (CertificateSelectionCallback_t3721235490 * __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, AsyncCallback_t163412349 * ___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_codegen_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_t283079845 * CertificateSelectionCallback_EndInvoke_m3525317639 (CertificateSelectionCallback_t3721235490 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_codegen_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (X509Certificate_t283079845 *)__result;
}
// System.Void Mono.Security.Protocol.Tls.CertificateValidationCallback::.ctor(System.Object,System.IntPtr)
extern "C"  void CertificateValidationCallback__ctor_m1298586051 (CertificateValidationCallback_t989458295 * __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_m2500463874 (CertificateValidationCallback_t989458295 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateValidationCallback_Invoke_m2500463874((CertificateValidationCallback_t989458295 *)__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_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___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_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___certificate0, ___certificateErrors1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef bool (*FunctionPointerType) (void* __this, Int32U5BU5D_t3030399641* ___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_m3625803269 (CertificateValidationCallback_t989458295 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, AsyncCallback_t163412349 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___certificate0;
	__d_args[1] = ___certificateErrors1;
	return (Il2CppObject *)il2cpp_codegen_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_m2418808873 (CertificateValidationCallback_t989458295 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_codegen_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_m1915259009 (CertificateValidationCallback2_t3318447433 * __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_t1782558132 * CertificateValidationCallback2_Invoke_m436894540 (CertificateValidationCallback2_t3318447433 * __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		CertificateValidationCallback2_Invoke_m436894540((CertificateValidationCallback2_t3318447433 *)__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_t1782558132 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___collection0,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef ValidationResult_t1782558132 * (*FunctionPointerType) (void* __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___collection0,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef ValidationResult_t1782558132 * (*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_m3996282202 (CertificateValidationCallback2_t3318447433 * __this, X509CertificateCollection_t3592472866 * ___collection0, AsyncCallback_t163412349 * ___callback1, Il2CppObject * ___object2, const MethodInfo* method)
{
	void *__d_args[2] = {0};
	__d_args[0] = ___collection0;
	return (Il2CppObject *)il2cpp_codegen_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_t1782558132 * CertificateValidationCallback2_EndInvoke_m1734587200 (CertificateValidationCallback2_t3318447433 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_codegen_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (ValidationResult_t1782558132 *)__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_m440966622 (CipherSuite_t491456551 * __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_m2551263788(__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_m3748598203(__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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite__cctor_m2232817620_MetadataUsageId;
extern "C"  void CipherSuite__cctor_m2232817620 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite__cctor_m2232817620_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->set_EmptyArray_0(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)0)));
		return;
	}
}
// System.Security.Cryptography.ICryptoTransform Mono.Security.Protocol.Tls.CipherSuite::get_EncryptionCipher()
extern "C"  Il2CppObject * CipherSuite_get_EncryptionCipher_m1019312730 (CipherSuite_t491456551 * __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_m3464788382 (CipherSuite_t491456551 * __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_t1374150027 * CipherSuite_get_ClientHMAC_m2261562571 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	{
		KeyedHashAlgorithm_t1374150027 * L_0 = __this->get_clientHMAC_19();
		return L_0;
	}
}
// System.Security.Cryptography.KeyedHashAlgorithm Mono.Security.Protocol.Tls.CipherSuite::get_ServerHMAC()
extern "C"  KeyedHashAlgorithm_t1374150027 * CipherSuite_get_ServerHMAC_m3566778727 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	{
		KeyedHashAlgorithm_t1374150027 * 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_m750379757 (CipherSuite_t491456551 * __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* _stringLiteral3162791842;
extern Il2CppCodeGenString* _stringLiteral3390779939;
extern Il2CppCodeGenString* _stringLiteral1414246128;
extern const uint32_t CipherSuite_get_HashAlgorithmName_m3238654725_MetadataUsageId;
extern "C"  String_t* CipherSuite_get_HashAlgorithmName_m3238654725 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_get_HashAlgorithmName_m3238654725_MetadataUsageId);
		s_Il2CppMethodInitialized = 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 _stringLiteral3162791842;
	}

IL_0024:
	{
		return _stringLiteral3390779939;
	}

IL_002a:
	{
		return _stringLiteral1414246128;
	}
}
// Mono.Security.Protocol.Tls.HashAlgorithmType Mono.Security.Protocol.Tls.CipherSuite::get_HashAlgorithmType()
extern "C"  int32_t CipherSuite_get_HashAlgorithmType_m3902365773 (CipherSuite_t491456551 * __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_m3748598203 (CipherSuite_t491456551 * __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_m3219223789 (CipherSuite_t491456551 * __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_m2346658878 (CipherSuite_t491456551 * __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_m3902213587 (CipherSuite_t491456551 * __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_m3914703358 (CipherSuite_t491456551 * __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_m136354150 (CipherSuite_t491456551 * __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_m4222492337 (CipherSuite_t491456551 * __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_m2993514247 (CipherSuite_t491456551 * __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_m296573450 (CipherSuite_t491456551 * __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_m3588203390 (CipherSuite_t491456551 * __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_m2971966910 (CipherSuite_t491456551 * __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_t4285182719 * CipherSuite_get_Context_m1298687213 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * 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_m4127897124 (CipherSuite_t491456551 * __this, Context_t4285182719 * ___value0, const MethodInfo* method)
{
	{
		Context_t4285182719 * 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_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1673268925;
extern const uint32_t CipherSuite_Write_m1271196675_MetadataUsageId;
extern "C"  void CipherSuite_Write_m1271196675 (CipherSuite_t491456551 * __this, ByteU5BU5D_t3397334013* ___array0, int32_t ___offset1, int16_t ___value2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Write_m1271196675_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___offset1;
		ByteU5BU5D_t3397334013* 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_t3259014390 * L_2 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_2, _stringLiteral1673268925, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0016:
	{
		ByteU5BU5D_t3397334013* L_3 = ___array0;
		int32_t L_4 = ___offset1;
		int16_t L_5 = ___value2;
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_5>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_6 = ___array0;
		int32_t L_7 = ___offset1;
		int16_t L_8 = ___value2;
		(L_6)->SetAtUnchecked(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_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1673268925;
extern const uint32_t CipherSuite_Write_m827355463_MetadataUsageId;
extern "C"  void CipherSuite_Write_m827355463 (CipherSuite_t491456551 * __this, ByteU5BU5D_t3397334013* ___array0, int32_t ___offset1, uint64_t ___value2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Write_m827355463_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___offset1;
		ByteU5BU5D_t3397334013* 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_t3259014390 * L_2 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_2, _stringLiteral1673268925, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0016:
	{
		ByteU5BU5D_t3397334013* L_3 = ___array0;
		int32_t L_4 = ___offset1;
		uint64_t L_5 = ___value2;
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4), (uint8_t)(((int32_t)((uint8_t)((int64_t)((uint64_t)L_5>>((int32_t)56)))))));
		ByteU5BU5D_t3397334013* L_6 = ___array0;
		int32_t L_7 = ___offset1;
		uint64_t L_8 = ___value2;
		(L_6)->SetAtUnchecked(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_t3397334013* L_9 = ___array0;
		int32_t L_10 = ___offset1;
		uint64_t L_11 = ___value2;
		(L_9)->SetAtUnchecked(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_t3397334013* L_12 = ___array0;
		int32_t L_13 = ___offset1;
		uint64_t L_14 = ___value2;
		(L_12)->SetAtUnchecked(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_t3397334013* L_15 = ___array0;
		int32_t L_16 = ___offset1;
		uint64_t L_17 = ___value2;
		(L_15)->SetAtUnchecked(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_t3397334013* L_18 = ___array0;
		int32_t L_19 = ___offset1;
		uint64_t L_20 = ___value2;
		(L_18)->SetAtUnchecked(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_t3397334013* L_21 = ___array0;
		int32_t L_22 = ___offset1;
		uint64_t L_23 = ___value2;
		(L_21)->SetAtUnchecked(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_t3397334013* L_24 = ___array0;
		int32_t L_25 = ___offset1;
		uint64_t L_26 = ___value2;
		(L_24)->SetAtUnchecked(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_m229247572 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	{
		CipherSuite_createEncryptionCipher_m1926075645(__this, /*hidden argument*/NULL);
		CipherSuite_createDecryptionCipher_m1118350455(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::EncryptRecord(System.Byte[],System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ICryptoTransform_t281704372_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_EncryptRecord_m3421046381_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* CipherSuite_EncryptRecord_m3421046381 (CipherSuite_t491456551 * __this, ByteU5BU5D_t3397334013* ___fragment0, ByteU5BU5D_t3397334013* ___mac1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_EncryptRecord_m3421046381_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	int32_t V_3 = 0;
	int32_t V_4 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___fragment0;
		ByteU5BU5D_t3397334013* 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_m2346658878(__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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_11));
		ByteU5BU5D_t3397334013* L_12 = ___fragment0;
		ByteU5BU5D_t3397334013* L_13 = V_2;
		ByteU5BU5D_t3397334013* L_14 = ___fragment0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_15 = ___mac1;
		ByteU5BU5D_t3397334013* L_16 = V_2;
		ByteU5BU5D_t3397334013* L_17 = ___fragment0;
		ByteU5BU5D_t3397334013* L_18 = ___mac1;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_20 = ___fragment0;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_23 = V_2;
		int32_t L_24 = V_4;
		int32_t L_25 = V_1;
		(L_23)->SetAtUnchecked(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_m1019312730(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_31 = V_2;
		ByteU5BU5D_t3397334013* L_32 = V_2;
		ByteU5BU5D_t3397334013* L_33 = V_2;
		InterfaceFuncInvoker5< int32_t, ByteU5BU5D_t3397334013*, int32_t, int32_t, ByteU5BU5D_t3397334013*, int32_t >::Invoke(1 /* System.Int32 System.Security.Cryptography.ICryptoTransform::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32) */, ICryptoTransform_t281704372_il2cpp_TypeInfo_var, L_30, L_31, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length)))), L_33, 0);
		ByteU5BU5D_t3397334013* L_34 = V_2;
		return L_34;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::DecryptRecord(System.Byte[],System.Byte[]&,System.Byte[]&)
extern Il2CppClass* ICryptoTransform_t281704372_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_DecryptRecord_m1247194570_MetadataUsageId;
extern "C"  void CipherSuite_DecryptRecord_m1247194570 (CipherSuite_t491456551 * __this, ByteU5BU5D_t3397334013* ___fragment0, ByteU5BU5D_t3397334013** ___dcrFragment1, ByteU5BU5D_t3397334013** ___dcrMAC2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_DecryptRecord_m1247194570_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		V_0 = 0;
		V_1 = 0;
		Il2CppObject * L_0 = CipherSuite_get_DecryptionCipher_m3464788382(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = ___fragment0;
		ByteU5BU5D_t3397334013* L_2 = ___fragment0;
		ByteU5BU5D_t3397334013* L_3 = ___fragment0;
		InterfaceFuncInvoker5< int32_t, ByteU5BU5D_t3397334013*, int32_t, int32_t, ByteU5BU5D_t3397334013*, int32_t >::Invoke(1 /* System.Int32 System.Security.Cryptography.ICryptoTransform::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32) */, ICryptoTransform_t281704372_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_m2346658878(__this, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_4) == ((uint32_t)1))))
		{
			goto IL_003f;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_5 = ___fragment0;
		ByteU5BU5D_t3397334013* 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)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		V_1 = L_8;
		ByteU5BU5D_t3397334013* L_9 = ___fragment0;
		int32_t L_10 = V_1;
		int32_t L_11 = CipherSuite_get_HashSize_m3748598203(__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_t3397334013* L_12 = ___fragment0;
		int32_t L_13 = CipherSuite_get_HashSize_m3748598203(__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_t3397334013** L_14 = ___dcrFragment1;
		int32_t L_15 = V_0;
		*((Il2CppObject **)(L_14)) = (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_15));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_14), (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_15)));
		ByteU5BU5D_t3397334013** L_16 = ___dcrMAC2;
		int32_t L_17 = CipherSuite_get_HashSize_m3748598203(__this, /*hidden argument*/NULL);
		*((Il2CppObject **)(L_16)) = (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_17));
		Il2CppCodeGenWriteBarrier((Il2CppObject **)(L_16), (Il2CppObject *)((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_17)));
		ByteU5BU5D_t3397334013* L_18 = ___fragment0;
		ByteU5BU5D_t3397334013** L_19 = ___dcrFragment1;
		ByteU5BU5D_t3397334013** L_20 = ___dcrFragment1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, 0, (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_19)), 0, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_20)))->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_21 = ___fragment0;
		ByteU5BU5D_t3397334013** L_22 = ___dcrFragment1;
		ByteU5BU5D_t3397334013** L_23 = ___dcrMAC2;
		ByteU5BU5D_t3397334013** L_24 = ___dcrMAC2;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_21, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_22)))->max_length)))), (Il2CppArray *)(Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_23)), 0, (((int32_t)((int32_t)(((Il2CppArray *)(*((ByteU5BU5D_t3397334013**)L_24)))->max_length)))), /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.CipherSuite::CreatePremasterSecret()
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_CreatePremasterSecret_m3728217834_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* CipherSuite_CreatePremasterSecret_m3728217834 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_CreatePremasterSecret_m3728217834_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		Context_t4285182719 * L_0 = __this->get_context_14();
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		Context_t4285182719 * L_1 = __this->get_context_14();
		ByteU5BU5D_t3397334013* L_2 = Context_GetSecureRandomBytes_m1065353673(L_1, ((int32_t)48), /*hidden argument*/NULL);
		V_1 = L_2;
		ByteU5BU5D_t3397334013* L_3 = V_1;
		ClientContext_t3002158488 * L_4 = V_0;
		int16_t L_5 = ClientContext_get_ClientHelloProtocol_m1765198120(L_4, /*hidden argument*/NULL);
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_5>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_6 = V_1;
		ClientContext_t3002158488 * L_7 = V_0;
		int16_t L_8 = ClientContext_get_ClientHelloProtocol_m1765198120(L_7, /*hidden argument*/NULL);
		(L_6)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)L_8))));
		ByteU5BU5D_t3397334013* 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_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t663144255_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3162791842;
extern Il2CppCodeGenString* _stringLiteral3390779939;
extern const uint32_t CipherSuite_PRF_m3379816948_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* CipherSuite_PRF_m3379816948 (CipherSuite_t491456551 * __this, ByteU5BU5D_t3397334013* ___secret0, String_t* ___label1, ByteU5BU5D_t3397334013* ___data2, int32_t ___length3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_PRF_m3379816948_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	TlsStream_t4089752859 * V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	ByteU5BU5D_t3397334013* V_5 = NULL;
	ByteU5BU5D_t3397334013* V_6 = NULL;
	ByteU5BU5D_t3397334013* V_7 = NULL;
	int32_t V_8 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___secret0;
		V_0 = ((int32_t)((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_0)->max_length))))>>(int32_t)1));
		ByteU5BU5D_t3397334013* 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_t4089752859 * L_3 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_3, /*hidden argument*/NULL);
		V_1 = L_3;
		TlsStream_t4089752859 * L_4 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t663144255_il2cpp_TypeInfo_var);
		Encoding_t663144255 * L_5 = Encoding_get_ASCII_m2727409419(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_6 = ___label1;
		ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, String_t* >::Invoke(10 /* System.Byte[] System.Text.Encoding::GetBytes(System.String) */, L_5, L_6);
		TlsStream_Write_m3425460533(L_4, L_7, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_8 = V_1;
		ByteU5BU5D_t3397334013* L_9 = ___data2;
		TlsStream_Write_m3425460533(L_8, L_9, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_10 = V_1;
		ByteU5BU5D_t3397334013* L_11 = TlsStream_ToArray_m3731779317(L_10, /*hidden argument*/NULL);
		V_2 = L_11;
		TlsStream_t4089752859 * L_12 = V_1;
		TlsStream_Reset_m1504601050(L_12, /*hidden argument*/NULL);
		int32_t L_13 = V_0;
		V_3 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_13));
		ByteU5BU5D_t3397334013* L_14 = ___secret0;
		ByteU5BU5D_t3397334013* L_15 = V_3;
		int32_t L_16 = V_0;
		Buffer_BlockCopy_m1586717258(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_17));
		ByteU5BU5D_t3397334013* L_18 = ___secret0;
		ByteU5BU5D_t3397334013* L_19 = ___secret0;
		int32_t L_20 = V_0;
		ByteU5BU5D_t3397334013* L_21 = V_4;
		int32_t L_22 = V_0;
		Buffer_BlockCopy_m1586717258(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_t3397334013* L_23 = V_3;
		ByteU5BU5D_t3397334013* L_24 = V_2;
		int32_t L_25 = ___length3;
		ByteU5BU5D_t3397334013* L_26 = CipherSuite_Expand_m1800208652(__this, _stringLiteral3162791842, L_23, L_24, L_25, /*hidden argument*/NULL);
		V_5 = L_26;
		ByteU5BU5D_t3397334013* L_27 = V_4;
		ByteU5BU5D_t3397334013* L_28 = V_2;
		int32_t L_29 = ___length3;
		ByteU5BU5D_t3397334013* L_30 = CipherSuite_Expand_m1800208652(__this, _stringLiteral3390779939, L_27, L_28, L_29, /*hidden argument*/NULL);
		V_6 = L_30;
		int32_t L_31 = ___length3;
		V_7 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_31));
		V_8 = 0;
		goto IL_00b3;
	}

IL_009c:
	{
		ByteU5BU5D_t3397334013* L_32 = V_7;
		int32_t L_33 = V_8;
		ByteU5BU5D_t3397334013* L_34 = V_5;
		int32_t L_35 = V_8;
		int32_t L_36 = L_35;
		uint8_t L_37 = (L_34)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_36));
		ByteU5BU5D_t3397334013* L_38 = V_6;
		int32_t L_39 = V_8;
		int32_t L_40 = L_39;
		uint8_t L_41 = (L_38)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_40));
		(L_32)->SetAtUnchecked(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_t3397334013* L_44 = V_7;
		if ((((int32_t)L_43) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))))))
		{
			goto IL_009c;
		}
	}
	{
		ByteU5BU5D_t3397334013* 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_t2707728663_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5DU5BU5D_t717853552_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3162791842;
extern const uint32_t CipherSuite_Expand_m1800208652_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* CipherSuite_Expand_m1800208652 (CipherSuite_t491456551 * __this, String_t* ___hashName0, ByteU5BU5D_t3397334013* ___secret1, ByteU5BU5D_t3397334013* ___seed2, int32_t ___length3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_Expand_m1800208652_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	HMAC_t2707728663 * V_2 = NULL;
	TlsStream_t4089752859 * V_3 = NULL;
	ByteU5BU5DU5BU5D_t717853552* V_4 = NULL;
	int32_t V_5 = 0;
	TlsStream_t4089752859 * V_6 = NULL;
	ByteU5BU5D_t3397334013* 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_m1790663636(NULL /*static, unused*/, L_0, _stringLiteral3162791842, /*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_t3397334013* L_8 = ___secret1;
		HMAC_t2707728663 * L_9 = (HMAC_t2707728663 *)il2cpp_codegen_object_new(HMAC_t2707728663_il2cpp_TypeInfo_var);
		HMAC__ctor_m2605930831(L_9, L_7, L_8, /*hidden argument*/NULL);
		V_2 = L_9;
		TlsStream_t4089752859 * L_10 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_10, /*hidden argument*/NULL);
		V_3 = L_10;
		int32_t L_11 = V_1;
		V_4 = ((ByteU5BU5DU5BU5D_t717853552*)SZArrayNew(ByteU5BU5DU5BU5D_t717853552_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)L_11+(int32_t)1))));
		ByteU5BU5DU5BU5D_t717853552* L_12 = V_4;
		ByteU5BU5D_t3397334013* L_13 = ___seed2;
		ArrayElementTypeCheck (L_12, L_13);
		(L_12)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (ByteU5BU5D_t3397334013*)L_13);
		V_5 = 1;
		goto IL_00c0;
	}

IL_0052:
	{
		TlsStream_t4089752859 * L_14 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_14, /*hidden argument*/NULL);
		V_6 = L_14;
		HMAC_t2707728663 * L_15 = V_2;
		ByteU5BU5DU5BU5D_t717853552* L_16 = V_4;
		int32_t L_17 = V_5;
		int32_t L_18 = ((int32_t)((int32_t)L_17-(int32_t)1));
		ByteU5BU5D_t3397334013* L_19 = (L_16)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_18));
		ByteU5BU5DU5BU5D_t717853552* L_20 = V_4;
		int32_t L_21 = V_5;
		int32_t L_22 = ((int32_t)((int32_t)L_21-(int32_t)1));
		ByteU5BU5D_t3397334013* L_23 = (L_20)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_22));
		HashAlgorithm_TransformFinalBlock_m3071802428(L_15, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_23)->max_length)))), /*hidden argument*/NULL);
		ByteU5BU5DU5BU5D_t717853552* L_24 = V_4;
		int32_t L_25 = V_5;
		HMAC_t2707728663 * L_26 = V_2;
		ByteU5BU5D_t3397334013* L_27 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_26);
		ArrayElementTypeCheck (L_24, L_27);
		(L_24)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_25), (ByteU5BU5D_t3397334013*)L_27);
		TlsStream_t4089752859 * L_28 = V_6;
		ByteU5BU5DU5BU5D_t717853552* L_29 = V_4;
		int32_t L_30 = V_5;
		int32_t L_31 = L_30;
		ByteU5BU5D_t3397334013* L_32 = (L_29)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_31));
		TlsStream_Write_m3425460533(L_28, L_32, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_33 = V_6;
		ByteU5BU5D_t3397334013* L_34 = ___seed2;
		TlsStream_Write_m3425460533(L_33, L_34, /*hidden argument*/NULL);
		HMAC_t2707728663 * L_35 = V_2;
		TlsStream_t4089752859 * L_36 = V_6;
		ByteU5BU5D_t3397334013* L_37 = TlsStream_ToArray_m3731779317(L_36, /*hidden argument*/NULL);
		TlsStream_t4089752859 * 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_m3071802428(L_35, L_37, 0, (((int32_t)((int32_t)L_39))), /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_40 = V_3;
		HMAC_t2707728663 * L_41 = V_2;
		ByteU5BU5D_t3397334013* L_42 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_41);
		TlsStream_Write_m3425460533(L_40, L_42, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_43 = V_6;
		TlsStream_Reset_m1504601050(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_47));
		TlsStream_t4089752859 * L_48 = V_3;
		ByteU5BU5D_t3397334013* L_49 = TlsStream_ToArray_m3731779317(L_48, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_50 = V_7;
		ByteU5BU5D_t3397334013* L_51 = V_7;
		Buffer_BlockCopy_m1586717258(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_t4089752859 * L_52 = V_3;
		TlsStream_Reset_m1504601050(L_52, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_53 = V_7;
		return L_53;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuite::createEncryptionCipher()
extern Il2CppClass* DES_t1353513560_il2cpp_TypeInfo_var;
extern Il2CppClass* ARC4Managed_t3379271383_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* HMAC_t2707728663_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_createEncryptionCipher_m1926075645_MetadataUsageId;
extern "C"  void CipherSuite_createEncryptionCipher_m1926075645 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_createEncryptionCipher_m1926075645_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t1353513560_il2cpp_TypeInfo_var);
		DES_t1353513560 * L_2 = DES_Create_m638366307(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_2);
		goto IL_007e;
	}

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

IL_004e:
	{
		ARC4Managed_t3379271383 * L_4 = (ARC4Managed_t3379271383 *)il2cpp_codegen_object_new(ARC4Managed_t3379271383_il2cpp_TypeInfo_var);
		ARC4Managed__ctor_m2922048522(L_4, /*hidden argument*/NULL);
		__this->set_encryptionAlgorithm_15(L_4);
		goto IL_007e;
	}

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

IL_006e:
	{
		Rijndael_t2154803531 * L_6 = Rijndael_Create_m369328687(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_t1108166522 * 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_t1108166522 * 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_t1108166522 * 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_t1108166522 * 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_t4285182719 * L_15 = __this->get_context_14();
		if (!((ClientContext_t3002158488 *)IsInstClass(L_15, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_010e;
		}
	}
	{
		SymmetricAlgorithm_t1108166522 * L_16 = __this->get_encryptionAlgorithm_15();
		Context_t4285182719 * L_17 = __this->get_context_14();
		ByteU5BU5D_t3397334013* L_18 = Context_get_ClientWriteKey_m2235605337(L_17, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_16, L_18);
		SymmetricAlgorithm_t1108166522 * L_19 = __this->get_encryptionAlgorithm_15();
		Context_t4285182719 * L_20 = __this->get_context_14();
		ByteU5BU5D_t3397334013* L_21 = Context_get_ClientWriteIV_m2171757117(L_20, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_19, L_21);
		goto IL_013a;
	}

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

IL_013a:
	{
		SymmetricAlgorithm_t1108166522 * 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_t4285182719 * L_30 = __this->get_context_14();
		if (!((ClientContext_t3002158488 *)IsInstClass(L_30, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0181;
		}
	}
	{
		String_t* L_31 = CipherSuite_get_HashAlgorithmName_m3238654725(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_32 = __this->get_context_14();
		SecurityParameters_t2290372928 * L_33 = Context_get_Negotiating_m3946476110(L_32, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_34 = SecurityParameters_get_ClientWriteMAC_m2756307972(L_33, /*hidden argument*/NULL);
		HMAC_t2707728663 * L_35 = (HMAC_t2707728663 *)il2cpp_codegen_object_new(HMAC_t2707728663_il2cpp_TypeInfo_var);
		HMAC__ctor_m2605930831(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_m3238654725(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_37 = __this->get_context_14();
		SecurityParameters_t2290372928 * L_38 = Context_get_Negotiating_m3946476110(L_37, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_39 = SecurityParameters_get_ServerWriteMAC_m244028400(L_38, /*hidden argument*/NULL);
		HMAC_t2707728663 * L_40 = (HMAC_t2707728663 *)il2cpp_codegen_object_new(HMAC_t2707728663_il2cpp_TypeInfo_var);
		HMAC__ctor_m2605930831(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_t1353513560_il2cpp_TypeInfo_var;
extern Il2CppClass* ARC4Managed_t3379271383_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* HMAC_t2707728663_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuite_createDecryptionCipher_m1118350455_MetadataUsageId;
extern "C"  void CipherSuite_createDecryptionCipher_m1118350455 (CipherSuite_t491456551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuite_createDecryptionCipher_m1118350455_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t1353513560_il2cpp_TypeInfo_var);
		DES_t1353513560 * L_2 = DES_Create_m638366307(NULL /*static, unused*/, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_2);
		goto IL_007e;
	}

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

IL_004e:
	{
		ARC4Managed_t3379271383 * L_4 = (ARC4Managed_t3379271383 *)il2cpp_codegen_object_new(ARC4Managed_t3379271383_il2cpp_TypeInfo_var);
		ARC4Managed__ctor_m2922048522(L_4, /*hidden argument*/NULL);
		__this->set_decryptionAlgorithm_17(L_4);
		goto IL_007e;
	}

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

IL_006e:
	{
		Rijndael_t2154803531 * L_6 = Rijndael_Create_m369328687(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_t1108166522 * 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_t1108166522 * 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_t1108166522 * 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_t1108166522 * 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_t4285182719 * L_15 = __this->get_context_14();
		if (!((ClientContext_t3002158488 *)IsInstClass(L_15, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_010e;
		}
	}
	{
		SymmetricAlgorithm_t1108166522 * L_16 = __this->get_decryptionAlgorithm_17();
		Context_t4285182719 * L_17 = __this->get_context_14();
		ByteU5BU5D_t3397334013* L_18 = Context_get_ServerWriteKey_m1780148437(L_17, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(12 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_Key(System.Byte[]) */, L_16, L_18);
		SymmetricAlgorithm_t1108166522 * L_19 = __this->get_decryptionAlgorithm_17();
		Context_t4285182719 * L_20 = __this->get_context_14();
		ByteU5BU5D_t3397334013* L_21 = Context_get_ServerWriteIV_m2960700649(L_20, /*hidden argument*/NULL);
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(10 /* System.Void System.Security.Cryptography.SymmetricAlgorithm::set_IV(System.Byte[]) */, L_19, L_21);
		goto IL_013a;
	}

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

IL_013a:
	{
		SymmetricAlgorithm_t1108166522 * 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_t4285182719 * L_30 = __this->get_context_14();
		if (!((ClientContext_t3002158488 *)IsInstClass(L_30, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0181;
		}
	}
	{
		String_t* L_31 = CipherSuite_get_HashAlgorithmName_m3238654725(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_32 = __this->get_context_14();
		SecurityParameters_t2290372928 * L_33 = Context_get_Negotiating_m3946476110(L_32, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_34 = SecurityParameters_get_ServerWriteMAC_m244028400(L_33, /*hidden argument*/NULL);
		HMAC_t2707728663 * L_35 = (HMAC_t2707728663 *)il2cpp_codegen_object_new(HMAC_t2707728663_il2cpp_TypeInfo_var);
		HMAC__ctor_m2605930831(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_m3238654725(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_37 = __this->get_context_14();
		SecurityParameters_t2290372928 * L_38 = Context_get_Negotiating_m3946476110(L_37, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_39 = SecurityParameters_get_ClientWriteMAC_m2756307972(L_38, /*hidden argument*/NULL);
		HMAC_t2707728663 * L_40 = (HMAC_t2707728663 *)il2cpp_codegen_object_new(HMAC_t2707728663_il2cpp_TypeInfo_var);
		HMAC__ctor_m2605930831(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_t4252133567_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection__ctor_m2154226461_MetadataUsageId;
extern "C"  void CipherSuiteCollection__ctor_m2154226461 (CipherSuiteCollection_t2431504453 * __this, int32_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection__ctor_m2154226461_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		int32_t L_0 = ___protocol0;
		__this->set_protocol_1(L_0);
		ArrayList_t4252133567 * L_1 = (ArrayList_t4252133567 *)il2cpp_codegen_object_new(ArrayList_t4252133567_il2cpp_TypeInfo_var);
		ArrayList__ctor_m4012174379(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_m218755780 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___index0;
		CipherSuite_t491456551 * L_1 = CipherSuiteCollection_get_Item_m280627160(__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_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_set_Item_m750275607_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_set_Item_m750275607 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, Il2CppObject * ___value1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_set_Item_m750275607_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___index0;
		Il2CppObject * L_1 = ___value1;
		CipherSuiteCollection_set_Item_m1064755671(__this, L_0, ((CipherSuite_t491456551 *)CastclassClass(L_1, CipherSuite_t491456551_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_m36679989 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m2818114049 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m1600967134 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Contains_m3239163601_MetadataUsageId;
extern "C"  bool CipherSuiteCollection_System_Collections_IList_Contains_m3239163601 (CipherSuiteCollection_t2431504453 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Contains_m3239163601_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)IsInstClass(L_1, CipherSuite_t491456551_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.IndexOf(System.Object)
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_IndexOf_m540536407_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_System_Collections_IList_IndexOf_m540536407 (CipherSuiteCollection_t2431504453 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_IndexOf_m540536407_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)IsInstClass(L_1, CipherSuite_t491456551_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Insert(System.Int32,System.Object)
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Insert_m3923805048_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_Insert_m3923805048 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, Il2CppObject * ___value1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Insert_m3923805048_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)IsInstClass(L_2, CipherSuite_t491456551_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.CipherSuiteCollection::System.Collections.IList.Remove(System.Object)
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Remove_m4022085178_MetadataUsageId;
extern "C"  void CipherSuiteCollection_System_Collections_IList_Remove_m4022085178 (CipherSuiteCollection_t2431504453 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Remove_m4022085178_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)IsInstClass(L_1, CipherSuite_t491456551_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_m143866082 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_System_Collections_IList_Add_m2644442861_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_System_Collections_IList_Add_m2644442861 (CipherSuiteCollection_t2431504453 * __this, Il2CppObject * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_System_Collections_IList_Add_m2644442861_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)IsInstClass(L_1, CipherSuite_t491456551_il2cpp_TypeInfo_var)));
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Item(System.String)
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m3667070847_MetadataUsageId;
extern "C"  CipherSuite_t491456551 * CipherSuiteCollection_get_Item_m3667070847 (CipherSuiteCollection_t2431504453 * __this, String_t* ___name0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m3667070847_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * L_0 = __this->get_cipherSuites_0();
		String_t* L_1 = ___name0;
		int32_t L_2 = CipherSuiteCollection_IndexOf_m204129362(__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_t491456551 *)CastclassClass(L_3, CipherSuite_t491456551_il2cpp_TypeInfo_var));
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Item(System.Int32)
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m280627160_MetadataUsageId;
extern "C"  CipherSuite_t491456551 * CipherSuiteCollection_get_Item_m280627160 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m280627160_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * 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_t491456551 *)CastclassClass(L_2, CipherSuite_t491456551_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_m1064755671 (CipherSuiteCollection_t2431504453 * __this, int32_t ___index0, CipherSuite_t491456551 * ___value1, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * L_0 = __this->get_cipherSuites_0();
		int32_t L_1 = ___index0;
		CipherSuite_t491456551 * 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_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_get_Item_m2606225922_MetadataUsageId;
extern "C"  CipherSuite_t491456551 * CipherSuiteCollection_get_Item_m2606225922 (CipherSuiteCollection_t2431504453 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_get_Item_m2606225922_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ArrayList_t4252133567 * L_0 = __this->get_cipherSuites_0();
		int16_t L_1 = ___code0;
		int32_t L_2 = CipherSuiteCollection_IndexOf_m4089218779(__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_t491456551 *)CastclassClass(L_3, CipherSuite_t491456551_il2cpp_TypeInfo_var));
	}
}
// System.Int32 Mono.Security.Protocol.Tls.CipherSuiteCollection::get_Count()
extern "C"  int32_t CipherSuiteCollection_get_Count_m1700100413 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m2849280449 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m2233332798 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m869893074 (CipherSuiteCollection_t2431504453 * __this, Il2CppArray * ___array0, int32_t ___index1, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_m533808424 (CipherSuiteCollection_t2431504453 * __this, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * 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_t1466026749_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t2427283555_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_IndexOf_m204129362_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_IndexOf_m204129362 (CipherSuiteCollection_t2431504453 * __this, String_t* ___name0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_IndexOf_m204129362_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t491456551 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	int32_t V_3 = 0;
	Il2CppObject * V_4 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = 0;
		ArrayList_t4252133567 * 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_t1466026749_il2cpp_TypeInfo_var, L_2);
			V_1 = ((CipherSuite_t491456551 *)CastclassClass(L_3, CipherSuite_t491456551_il2cpp_TypeInfo_var));
			CipherSuite_t491456551 * L_4 = V_1;
			String_t* L_5 = CipherSuite_get_Name_m3914703358(L_4, /*hidden argument*/NULL);
			String_t* L_6 = ___name0;
			bool L_7 = CipherSuiteCollection_cultureAwareCompare_m1825407448(__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_t1466026749_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_t1927440687 *)e.ex;
		goto FINALLY_004c;
	}

FINALLY_004c:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_12 = V_2;
			V_4 = ((Il2CppObject *)IsInst(L_12, IDisposable_t2427283555_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_t2427283555_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_t1927440687 *)
	}

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_t1466026749_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t2427283555_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_IndexOf_m4089218779_MetadataUsageId;
extern "C"  int32_t CipherSuiteCollection_IndexOf_m4089218779 (CipherSuiteCollection_t2431504453 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_IndexOf_m4089218779_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t491456551 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	int32_t V_3 = 0;
	Il2CppObject * V_4 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = 0;
		ArrayList_t4252133567 * 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_t1466026749_il2cpp_TypeInfo_var, L_2);
			V_1 = ((CipherSuite_t491456551 *)CastclassClass(L_3, CipherSuite_t491456551_il2cpp_TypeInfo_var));
			CipherSuite_t491456551 * L_4 = V_1;
			int16_t L_5 = CipherSuite_get_Code_m3902213587(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_t1466026749_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_t1927440687 *)e.ex;
		goto FINALLY_0046;
	}

FINALLY_0046:
	{ // begin finally (depth: 1)
		{
			Il2CppObject * L_11 = V_2;
			V_4 = ((Il2CppObject *)IsInst(L_11, IDisposable_t2427283555_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_t2427283555_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_t1927440687 *)
	}

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_t396038680_il2cpp_TypeInfo_var;
extern Il2CppClass* SslCipherSuite_t1404755603_il2cpp_TypeInfo_var;
extern Il2CppClass* NotSupportedException_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3454590267;
extern const uint32_t CipherSuiteCollection_Add_m3114709461_MetadataUsageId;
extern "C"  CipherSuite_t491456551 * CipherSuiteCollection_Add_m3114709461 (CipherSuiteCollection_t2431504453 * __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_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_Add_m3114709461_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t396038680 * L_17 = (TlsCipherSuite_t396038680 *)il2cpp_codegen_object_new(TlsCipherSuite_t396038680_il2cpp_TypeInfo_var);
		TlsCipherSuite__ctor_m2983563913(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_t396038680 * L_18 = CipherSuiteCollection_add_m2465397903(__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_t1404755603 * L_31 = (SslCipherSuite_t1404755603 *)il2cpp_codegen_object_new(SslCipherSuite_t1404755603_il2cpp_TypeInfo_var);
		SslCipherSuite__ctor_m1382988490(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_t1404755603 * L_32 = CipherSuiteCollection_add_m513562767(__this, L_31, /*hidden argument*/NULL);
		return L_32;
	}

IL_0074:
	{
		NotSupportedException_t1793819818 * L_33 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_33, _stringLiteral3454590267, /*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_t396038680 * CipherSuiteCollection_add_m2465397903 (CipherSuiteCollection_t2431504453 * __this, TlsCipherSuite_t396038680 * ___cipherSuite0, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * L_0 = __this->get_cipherSuites_0();
		TlsCipherSuite_t396038680 * L_1 = ___cipherSuite0;
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_0, L_1);
		TlsCipherSuite_t396038680 * 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_t1404755603 * CipherSuiteCollection_add_m513562767 (CipherSuiteCollection_t2431504453 * __this, SslCipherSuite_t1404755603 * ___cipherSuite0, const MethodInfo* method)
{
	{
		ArrayList_t4252133567 * L_0 = __this->get_cipherSuites_0();
		SslCipherSuite_t1404755603 * L_1 = ___cipherSuite0;
		VirtFuncInvoker1< int32_t, Il2CppObject * >::Invoke(30 /* System.Int32 System.Collections.ArrayList::Add(System.Object) */, L_0, L_1);
		SslCipherSuite_t1404755603 * L_2 = ___cipherSuite0;
		return L_2;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.CipherSuiteCollection::cultureAwareCompare(System.String,System.String)
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern const uint32_t CipherSuiteCollection_cultureAwareCompare_m1825407448_MetadataUsageId;
extern "C"  bool CipherSuiteCollection_cultureAwareCompare_m1825407448 (CipherSuiteCollection_t2431504453 * __this, String_t* ___strA0, String_t* ___strB1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteCollection_cultureAwareCompare_m1825407448_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t G_B3_0 = 0;
	{
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_0 = CultureInfo_get_CurrentCulture_m711066087(NULL /*static, unused*/, /*hidden argument*/NULL);
		CompareInfo_t2310920157 * L_1 = VirtFuncInvoker0< CompareInfo_t2310920157 * >::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_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2663767609;
extern const uint32_t CipherSuiteFactory_GetSupportedCiphers_m338097823_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2431504453 * CipherSuiteFactory_GetSupportedCiphers_m338097823 (Il2CppObject * __this /* static, unused */, int32_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetSupportedCiphers_m338097823_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t2431504453 * L_5 = CipherSuiteFactory_GetTls1SupportedCiphers_m2952983549(NULL /*static, unused*/, /*hidden argument*/NULL);
		return L_5;
	}

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

IL_0039:
	{
		NotSupportedException_t1793819818 * L_7 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_7, _stringLiteral2663767609, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.CipherSuiteFactory::GetTls1SupportedCiphers()
extern Il2CppClass* CipherSuiteCollection_t2431504453_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1596372771;
extern Il2CppCodeGenString* _stringLiteral4088102889;
extern Il2CppCodeGenString* _stringLiteral3016048756;
extern Il2CppCodeGenString* _stringLiteral220213298;
extern Il2CppCodeGenString* _stringLiteral4018046068;
extern Il2CppCodeGenString* _stringLiteral3328210584;
extern Il2CppCodeGenString* _stringLiteral3585013206;
extern Il2CppCodeGenString* _stringLiteral3397245091;
extern Il2CppCodeGenString* _stringLiteral3561646483;
extern Il2CppCodeGenString* _stringLiteral873818931;
extern Il2CppCodeGenString* _stringLiteral749945432;
extern Il2CppCodeGenString* _stringLiteral4030363387;
extern Il2CppCodeGenString* _stringLiteral417090365;
extern const uint32_t CipherSuiteFactory_GetTls1SupportedCiphers_m2952983549_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2431504453 * CipherSuiteFactory_GetTls1SupportedCiphers_m2952983549 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetTls1SupportedCiphers_m2952983549_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	CipherSuiteCollection_t2431504453 * V_0 = NULL;
	{
		CipherSuiteCollection_t2431504453 * L_0 = (CipherSuiteCollection_t2431504453 *)il2cpp_codegen_object_new(CipherSuiteCollection_t2431504453_il2cpp_TypeInfo_var);
		CipherSuiteCollection__ctor_m2154226461(L_0, ((int32_t)192), /*hidden argument*/NULL);
		V_0 = L_0;
		CipherSuiteCollection_t2431504453 * L_1 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_1, ((int32_t)53), _stringLiteral1596372771, 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_t2431504453 * L_2 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_2, ((int32_t)47), _stringLiteral4088102889, 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_t2431504453 * L_3 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_3, ((int32_t)10), _stringLiteral3016048756, 6, 2, 3, (bool)0, (bool)1, ((int32_t)24), ((int32_t)24), ((int32_t)168), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_4 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_4, 5, _stringLiteral220213298, 3, 2, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_5 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_5, 4, _stringLiteral4018046068, 3, 0, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_6 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_6, ((int32_t)9), _stringLiteral3328210584, 0, 2, 3, (bool)0, (bool)1, 8, 8, ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_7 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_7, 3, _stringLiteral3585013206, 3, 0, 3, (bool)1, (bool)0, 5, ((int32_t)16), ((int32_t)40), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_8 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_8, 6, _stringLiteral3397245091, 2, 0, 3, (bool)1, (bool)1, 5, ((int32_t)16), ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_9 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_9, 8, _stringLiteral3561646483, 0, 2, 3, (bool)1, (bool)1, 5, 8, ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_10 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_10, ((int32_t)96), _stringLiteral873818931, 3, 0, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_11 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_11, ((int32_t)97), _stringLiteral749945432, 2, 0, 3, (bool)1, (bool)1, 7, ((int32_t)16), ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_12 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_12, ((int32_t)98), _stringLiteral4030363387, 0, 2, 3, (bool)1, (bool)1, 8, 8, ((int32_t)64), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_13 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_13, ((int32_t)100), _stringLiteral417090365, 3, 2, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_14 = V_0;
		return L_14;
	}
}
// Mono.Security.Protocol.Tls.CipherSuiteCollection Mono.Security.Protocol.Tls.CipherSuiteFactory::GetSsl3SupportedCiphers()
extern Il2CppClass* CipherSuiteCollection_t2431504453_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1877530224;
extern Il2CppCodeGenString* _stringLiteral180345311;
extern Il2CppCodeGenString* _stringLiteral2645212265;
extern Il2CppCodeGenString* _stringLiteral1737628319;
extern Il2CppCodeGenString* _stringLiteral2983233471;
extern Il2CppCodeGenString* _stringLiteral319220063;
extern Il2CppCodeGenString* _stringLiteral2015897758;
extern Il2CppCodeGenString* _stringLiteral3401879818;
extern Il2CppCodeGenString* _stringLiteral3030412160;
extern Il2CppCodeGenString* _stringLiteral2146089831;
extern Il2CppCodeGenString* _stringLiteral4148841154;
extern Il2CppCodeGenString* _stringLiteral2042016318;
extern const uint32_t CipherSuiteFactory_GetSsl3SupportedCiphers_m2476597368_MetadataUsageId;
extern "C"  CipherSuiteCollection_t2431504453 * CipherSuiteFactory_GetSsl3SupportedCiphers_m2476597368 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (CipherSuiteFactory_GetSsl3SupportedCiphers_m2476597368_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	CipherSuiteCollection_t2431504453 * V_0 = NULL;
	{
		CipherSuiteCollection_t2431504453 * L_0 = (CipherSuiteCollection_t2431504453 *)il2cpp_codegen_object_new(CipherSuiteCollection_t2431504453_il2cpp_TypeInfo_var);
		CipherSuiteCollection__ctor_m2154226461(L_0, ((int32_t)48), /*hidden argument*/NULL);
		V_0 = L_0;
		CipherSuiteCollection_t2431504453 * L_1 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_1, ((int32_t)53), _stringLiteral1877530224, 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_t2431504453 * L_2 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_2, ((int32_t)10), _stringLiteral180345311, 6, 2, 3, (bool)0, (bool)1, ((int32_t)24), ((int32_t)24), ((int32_t)168), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_3 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_3, 5, _stringLiteral2645212265, 3, 2, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_4 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_4, 4, _stringLiteral1737628319, 3, 0, 3, (bool)0, (bool)0, ((int32_t)16), ((int32_t)16), ((int32_t)128), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_5 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_5, ((int32_t)9), _stringLiteral2983233471, 0, 2, 3, (bool)0, (bool)1, 8, 8, ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_6 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_6, 3, _stringLiteral319220063, 3, 0, 3, (bool)1, (bool)0, 5, ((int32_t)16), ((int32_t)40), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_7 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_7, 6, _stringLiteral2015897758, 2, 0, 3, (bool)1, (bool)1, 5, ((int32_t)16), ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_8 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_8, 8, _stringLiteral3401879818, 0, 2, 3, (bool)1, (bool)1, 5, 8, ((int32_t)40), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_9 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_9, ((int32_t)96), _stringLiteral3030412160, 3, 0, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_10 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_10, ((int32_t)97), _stringLiteral2146089831, 2, 0, 3, (bool)1, (bool)1, 7, ((int32_t)16), ((int32_t)56), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_11 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_11, ((int32_t)98), _stringLiteral4148841154, 0, 2, 3, (bool)1, (bool)1, 8, 8, ((int32_t)64), 8, 8, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_12 = V_0;
		CipherSuiteCollection_Add_m3114709461(L_12, ((int32_t)100), _stringLiteral2042016318, 3, 2, 3, (bool)1, (bool)0, 7, ((int32_t)16), ((int32_t)56), 0, 0, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * 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_m1008306089 (ClientContext_t3002158488 * __this, SslClientStream_t3918817353 * ___stream0, int32_t ___securityProtocolType1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___clientCertificates3, const MethodInfo* method)
{
	{
		int32_t L_0 = ___securityProtocolType1;
		Context__ctor_m3963941463(__this, L_0, /*hidden argument*/NULL);
		SslClientStream_t3918817353 * L_1 = ___stream0;
		__this->set_sslStream_30(L_1);
		TlsClientSettings_t2311449551 * L_2 = Context_get_ClientSettings_m1185615112(__this, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_3 = ___clientCertificates3;
		TlsClientSettings_set_Certificates_m1110280480(L_2, L_3, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_4 = Context_get_ClientSettings_m1185615112(__this, /*hidden argument*/NULL);
		String_t* L_5 = ___targetHost2;
		TlsClientSettings_set_TargetHost_m3421266913(L_4, L_5, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.Protocol.Tls.SslClientStream Mono.Security.Protocol.Tls.ClientContext::get_SslStream()
extern "C"  SslClientStream_t3918817353 * ClientContext_get_SslStream_m360110741 (ClientContext_t3002158488 * __this, const MethodInfo* method)
{
	{
		SslClientStream_t3918817353 * 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_m1765198120 (ClientContext_t3002158488 * __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_m2246603449 (ClientContext_t3002158488 * __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_m1290084423 (ClientContext_t3002158488 * __this, const MethodInfo* method)
{
	{
		__this->set_clientHelloProtocol_31(0);
		Context_Clear_m4000337070(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientRecordProtocol::.ctor(System.IO.Stream,Mono.Security.Protocol.Tls.ClientContext)
extern Il2CppClass* RecordProtocol_t3166895267_il2cpp_TypeInfo_var;
extern const uint32_t ClientRecordProtocol__ctor_m648586559_MetadataUsageId;
extern "C"  void ClientRecordProtocol__ctor_m648586559 (ClientRecordProtocol_t2694504884 * __this, Stream_t3255436806 * ___innerStream0, ClientContext_t3002158488 * ___context1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol__ctor_m648586559_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Stream_t3255436806 * L_0 = ___innerStream0;
		ClientContext_t3002158488 * L_1 = ___context1;
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t3166895267_il2cpp_TypeInfo_var);
		RecordProtocol__ctor_m168945279(__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_t3938752374 * ClientRecordProtocol_GetMessage_m2649269799 (ClientRecordProtocol_t2694504884 * __this, uint8_t ___type0, const MethodInfo* method)
{
	HandshakeMessage_t3938752374 * V_0 = NULL;
	{
		uint8_t L_0 = ___type0;
		HandshakeMessage_t3938752374 * L_1 = ClientRecordProtocol_createClientHandshakeMessage_m811708715(__this, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		HandshakeMessage_t3938752374 * L_2 = V_0;
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientRecordProtocol::ProcessHandshakeMessage(Mono.Security.Protocol.Tls.TlsStream)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ClientRecordProtocol_ProcessHandshakeMessage_m3590516592_MetadataUsageId;
extern "C"  void ClientRecordProtocol_ProcessHandshakeMessage_m3590516592 (ClientRecordProtocol_t2694504884 * __this, TlsStream_t4089752859 * ___handMsg0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_ProcessHandshakeMessage_m3590516592_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	uint8_t V_0 = 0;
	HandshakeMessage_t3938752374 * V_1 = NULL;
	int32_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	{
		TlsStream_t4089752859 * L_0 = ___handMsg0;
		uint8_t L_1 = TlsStream_ReadByte_m1935235961(L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		V_1 = (HandshakeMessage_t3938752374 *)NULL;
		TlsStream_t4089752859 * L_2 = ___handMsg0;
		int32_t L_3 = TlsStream_ReadInt24_m1268450166(L_2, /*hidden argument*/NULL);
		V_2 = L_3;
		V_3 = (ByteU5BU5D_t3397334013*)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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_5));
		TlsStream_t4089752859 * L_6 = ___handMsg0;
		ByteU5BU5D_t3397334013* L_7 = V_3;
		int32_t L_8 = V_2;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t3397334013* L_10 = V_3;
		HandshakeMessage_t3938752374 * L_11 = ClientRecordProtocol_createServerHandshakeMessage_m3939790866(__this, L_9, L_10, /*hidden argument*/NULL);
		V_1 = L_11;
		HandshakeMessage_t3938752374 * L_12 = V_1;
		if (!L_12)
		{
			goto IL_003f;
		}
	}
	{
		HandshakeMessage_t3938752374 * L_13 = V_1;
		HandshakeMessage_Process_m2688076118(L_13, /*hidden argument*/NULL);
	}

IL_003f:
	{
		Context_t4285182719 * L_14 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		uint8_t L_15 = V_0;
		Context_set_LastHandshakeMsg_m3162558586(L_14, L_15, /*hidden argument*/NULL);
		HandshakeMessage_t3938752374 * L_16 = V_1;
		if (!L_16)
		{
			goto IL_0095;
		}
	}
	{
		HandshakeMessage_t3938752374 * L_17 = V_1;
		VirtActionInvoker0::Invoke(26 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Update() */, L_17);
		Context_t4285182719 * L_18 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_19 = Context_get_HandshakeMessages_m2765912589(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_t4285182719 * L_21 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_22 = Context_get_HandshakeMessages_m2765912589(L_21, /*hidden argument*/NULL);
		int32_t L_23 = V_2;
		TlsStream_WriteInt24_m1660453494(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_t4285182719 * L_25 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_26 = Context_get_HandshakeMessages_m2765912589(L_25, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_27 = V_3;
		ByteU5BU5D_t3397334013* L_28 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t2939633944_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientCertificate_t2537917473_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientKeyExchange_t3808761250_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientCertificateVerify_t4150496570_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3939745042_il2cpp_TypeInfo_var;
extern Il2CppClass* HandshakeType_t2540099417_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* InvalidOperationException_t721527559_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2353887511;
extern const uint32_t ClientRecordProtocol_createClientHandshakeMessage_m811708715_MetadataUsageId;
extern "C"  HandshakeMessage_t3938752374 * ClientRecordProtocol_createClientHandshakeMessage_m811708715 (ClientRecordProtocol_t2694504884 * __this, uint8_t ___type0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_createClientHandshakeMessage_m811708715_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t4285182719 * L_4 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		TlsClientHello_t2939633944 * L_5 = (TlsClientHello_t2939633944 *)il2cpp_codegen_object_new(TlsClientHello_t2939633944_il2cpp_TypeInfo_var);
		TlsClientHello__ctor_m1699671541(L_5, L_4, /*hidden argument*/NULL);
		return L_5;
	}

IL_0043:
	{
		Context_t4285182719 * L_6 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		TlsClientCertificate_t2537917473 * L_7 = (TlsClientCertificate_t2537917473 *)il2cpp_codegen_object_new(TlsClientCertificate_t2537917473_il2cpp_TypeInfo_var);
		TlsClientCertificate__ctor_m987604448(L_7, L_6, /*hidden argument*/NULL);
		return L_7;
	}

IL_004f:
	{
		Context_t4285182719 * L_8 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		TlsClientKeyExchange_t3808761250 * L_9 = (TlsClientKeyExchange_t3808761250 *)il2cpp_codegen_object_new(TlsClientKeyExchange_t3808761250_il2cpp_TypeInfo_var);
		TlsClientKeyExchange__ctor_m2741078239(L_9, L_8, /*hidden argument*/NULL);
		return L_9;
	}

IL_005b:
	{
		Context_t4285182719 * L_10 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		TlsClientCertificateVerify_t4150496570 * L_11 = (TlsClientCertificateVerify_t4150496570 *)il2cpp_codegen_object_new(TlsClientCertificateVerify_t4150496570_il2cpp_TypeInfo_var);
		TlsClientCertificateVerify__ctor_m110646389(L_11, L_10, /*hidden argument*/NULL);
		return L_11;
	}

IL_0067:
	{
		Context_t4285182719 * L_12 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		TlsClientFinished_t3939745042 * L_13 = (TlsClientFinished_t3939745042 *)il2cpp_codegen_object_new(TlsClientFinished_t3939745042_il2cpp_TypeInfo_var);
		TlsClientFinished__ctor_m3019203717(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_t2540099417_il2cpp_TypeInfo_var, &L_15);
		String_t* L_17 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Enum::ToString() */, (Enum_t2459695545 *)L_16);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_18 = String_Concat_m2596409543(NULL /*static, unused*/, _stringLiteral2353887511, L_17, /*hidden argument*/NULL);
		InvalidOperationException_t721527559 * L_19 = (InvalidOperationException_t721527559 *)il2cpp_codegen_object_new(InvalidOperationException_t721527559_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m2801133788(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_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerHello_t1289300668_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerCertificate_t905088469_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerKeyExchange_t2172608670_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerCertificateRequest_t2187269356_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerHelloDone_t530021076_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t1869592958_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppClass* HandshakeType_t2540099417_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2308271513;
extern const uint32_t ClientRecordProtocol_createServerHandshakeMessage_m3939790866_MetadataUsageId;
extern "C"  HandshakeMessage_t3938752374 * ClientRecordProtocol_createServerHandshakeMessage_m3939790866 (ClientRecordProtocol_t2694504884 * __this, uint8_t ___type0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientRecordProtocol_createServerHandshakeMessage_m3939790866_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	uint8_t V_1 = 0;
	{
		Context_t4285182719 * L_0 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_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_t3002158488 * L_4 = V_0;
		int32_t L_5 = Context_get_HandshakeState_m3443153737(L_4, /*hidden argument*/NULL);
		if ((((int32_t)L_5) == ((int32_t)1)))
		{
			goto IL_006e;
		}
	}
	{
		ClientContext_t3002158488 * L_6 = V_0;
		Context_set_HandshakeState_m1586089840(L_6, 0, /*hidden argument*/NULL);
		goto IL_0077;
	}

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

IL_0077:
	{
		return (HandshakeMessage_t3938752374 *)NULL;
	}

IL_0079:
	{
		Context_t4285182719 * L_7 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_8 = ___buffer1;
		TlsServerHello_t1289300668 * L_9 = (TlsServerHello_t1289300668 *)il2cpp_codegen_object_new(TlsServerHello_t1289300668_il2cpp_TypeInfo_var);
		TlsServerHello__ctor_m3032108168(L_9, L_7, L_8, /*hidden argument*/NULL);
		return L_9;
	}

IL_0086:
	{
		Context_t4285182719 * L_10 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_11 = ___buffer1;
		TlsServerCertificate_t905088469 * L_12 = (TlsServerCertificate_t905088469 *)il2cpp_codegen_object_new(TlsServerCertificate_t905088469_il2cpp_TypeInfo_var);
		TlsServerCertificate__ctor_m3697944709(L_12, L_10, L_11, /*hidden argument*/NULL);
		return L_12;
	}

IL_0093:
	{
		Context_t4285182719 * L_13 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_14 = ___buffer1;
		TlsServerKeyExchange_t2172608670 * L_15 = (TlsServerKeyExchange_t2172608670 *)il2cpp_codegen_object_new(TlsServerKeyExchange_t2172608670_il2cpp_TypeInfo_var);
		TlsServerKeyExchange__ctor_m247733406(L_15, L_13, L_14, /*hidden argument*/NULL);
		return L_15;
	}

IL_00a0:
	{
		Context_t4285182719 * L_16 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_17 = ___buffer1;
		TlsServerCertificateRequest_t2187269356 * L_18 = (TlsServerCertificateRequest_t2187269356 *)il2cpp_codegen_object_new(TlsServerCertificateRequest_t2187269356_il2cpp_TypeInfo_var);
		TlsServerCertificateRequest__ctor_m1684270714(L_18, L_16, L_17, /*hidden argument*/NULL);
		return L_18;
	}

IL_00ad:
	{
		Context_t4285182719 * L_19 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_20 = ___buffer1;
		TlsServerHelloDone_t530021076 * L_21 = (TlsServerHelloDone_t530021076 *)il2cpp_codegen_object_new(TlsServerHelloDone_t530021076_il2cpp_TypeInfo_var);
		TlsServerHelloDone__ctor_m2125611008(L_21, L_19, L_20, /*hidden argument*/NULL);
		return L_21;
	}

IL_00ba:
	{
		Context_t4285182719 * L_22 = ((RecordProtocol_t3166895267 *)__this)->get_context_2();
		ByteU5BU5D_t3397334013* L_23 = ___buffer1;
		TlsServerFinished_t1869592958 * L_24 = (TlsServerFinished_t1869592958 *)il2cpp_codegen_object_new(TlsServerFinished_t1869592958_il2cpp_TypeInfo_var);
		TlsServerFinished__ctor_m3517940960(L_24, L_22, L_23, /*hidden argument*/NULL);
		return L_24;
	}

IL_00c7:
	{
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_25 = CultureInfo_get_CurrentUICulture_m3242413191(NULL /*static, unused*/, /*hidden argument*/NULL);
		ObjectU5BU5D_t3614634134* L_26 = ((ObjectU5BU5D_t3614634134*)SZArrayNew(ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var, (uint32_t)1));
		uint8_t L_27 = ___type0;
		uint8_t L_28 = L_27;
		Il2CppObject * L_29 = Box(HandshakeType_t2540099417_il2cpp_TypeInfo_var, &L_28);
		String_t* L_30 = VirtFuncInvoker0< String_t* >::Invoke(3 /* System.String System.Enum::ToString() */, (Enum_t2459695545 *)L_29);
		ArrayElementTypeCheck (L_26, L_30);
		(L_26)->SetAtUnchecked(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_m876527052(NULL /*static, unused*/, L_25, _stringLiteral2308271513, L_26, /*hidden argument*/NULL);
		TlsException_t583514812 * L_32 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(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_t909839986_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache__cctor_m1134810266_MetadataUsageId;
extern "C"  void ClientSessionCache__cctor_m1134810266 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache__cctor_m1134810266_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Hashtable_t909839986 * L_0 = (Hashtable_t909839986 *)il2cpp_codegen_object_new(Hashtable_t909839986_il2cpp_TypeInfo_var);
		Hashtable__ctor_m1884964176(L_0, /*hidden argument*/NULL);
		((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->set_cache_0(L_0);
		Il2CppObject * L_1 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m2551263788(L_1, /*hidden argument*/NULL);
		((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppClass* BitConverter_t3195628829_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_Add_m987180603_MetadataUsageId;
extern "C"  void ClientSessionCache_Add_m987180603 (Il2CppObject * __this /* static, unused */, String_t* ___host0, ByteU5BU5D_t3397334013* ___id1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_Add_m987180603_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	String_t* V_1 = NULL;
	ClientSessionInfo_t3468069089 * V_2 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t3397334013* L_2 = ___id1;
			IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t3195628829_il2cpp_TypeInfo_var);
			String_t* L_3 = BitConverter_ToString_m927173850(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
			V_1 = L_3;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			Hashtable_t909839986 * L_4 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t3468069089 *)CastclassClass(L_6, ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var));
			ClientSessionInfo_t3468069089 * L_7 = V_2;
			if (L_7)
			{
				goto IL_0041;
			}
		}

IL_002a:
		{
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			Hashtable_t909839986 * L_8 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_9 = V_1;
			String_t* L_10 = ___host0;
			ByteU5BU5D_t3397334013* L_11 = ___id1;
			ClientSessionInfo_t3468069089 * L_12 = (ClientSessionInfo_t3468069089 *)il2cpp_codegen_object_new(ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var);
			ClientSessionInfo__ctor_m759726440(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_t3468069089 * L_13 = V_2;
			String_t* L_14 = ClientSessionInfo_get_HostName_m759522668(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_m1790663636(NULL /*static, unused*/, L_14, L_15, /*hidden argument*/NULL);
			if (!L_16)
			{
				goto IL_005d;
			}
		}

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

IL_005d:
		{
			ClientSessionInfo_t3468069089 * L_18 = V_2;
			ClientSessionInfo_Dispose_m3315842124(L_18, /*hidden argument*/NULL);
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			Hashtable_t909839986 * L_19 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t909839986 * L_21 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_cache_0();
			String_t* L_22 = V_1;
			String_t* L_23 = ___host0;
			ByteU5BU5D_t3397334013* L_24 = ___id1;
			ClientSessionInfo_t3468069089 * L_25 = (ClientSessionInfo_t3468069089 *)il2cpp_codegen_object_new(ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var);
			ClientSessionInfo__ctor_m759726440(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_t1927440687 *)e.ex;
		goto FINALLY_0085;
	}

FINALLY_0085:
	{ // begin finally (depth: 1)
		Il2CppObject * L_26 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_008c:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.ClientSessionCache::FromHost(System.String)
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerable_t2911409499_il2cpp_TypeInfo_var;
extern Il2CppClass* IEnumerator_t1466026749_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* IDisposable_t2427283555_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_FromHost_m1396036471_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* ClientSessionCache_FromHost_m1396036471 (Il2CppObject * __this /* static, unused */, String_t* ___host0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_FromHost_m1396036471_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t3468069089 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	Il2CppObject * V_4 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			Hashtable_t909839986 * L_2 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t2911409499_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_t1466026749_il2cpp_TypeInfo_var, L_5);
				V_1 = ((ClientSessionInfo_t3468069089 *)CastclassClass(L_6, ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var));
				ClientSessionInfo_t3468069089 * L_7 = V_1;
				String_t* L_8 = ClientSessionInfo_get_HostName_m759522668(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_m1790663636(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
				if (!L_10)
				{
					goto IL_005b;
				}
			}

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

IL_0049:
			{
				ClientSessionInfo_t3468069089 * L_13 = V_1;
				ClientSessionInfo_KeepAlive_m3125408381(L_13, /*hidden argument*/NULL);
				ClientSessionInfo_t3468069089 * L_14 = V_1;
				ByteU5BU5D_t3397334013* L_15 = ClientSessionInfo_get_Id_m3046630969(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_t1466026749_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_t1927440687 *)e.ex;
			goto FINALLY_006b;
		}

FINALLY_006b:
		{ // begin finally (depth: 2)
			{
				Il2CppObject * L_18 = V_2;
				V_4 = ((Il2CppObject *)IsInst(L_18, IDisposable_t2427283555_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_t2427283555_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_t1927440687 *)
		}

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

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

FINALLY_008c:
	{ // begin finally (depth: 1)
		Il2CppObject * L_21 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0093:
	{
		ByteU5BU5D_t3397334013* 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_t3195628829_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_FromContext_m3886959254_MetadataUsageId;
extern "C"  ClientSessionInfo_t3468069089 * ClientSessionCache_FromContext_m3886959254 (Il2CppObject * __this /* static, unused */, Context_t4285182719 * ___context0, bool ___checkValidity1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_FromContext_m3886959254_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	String_t* V_1 = NULL;
	ClientSessionInfo_t3468069089 * V_2 = NULL;
	{
		Context_t4285182719 * L_0 = ___context0;
		if (L_0)
		{
			goto IL_0008;
		}
	}
	{
		return (ClientSessionInfo_t3468069089 *)NULL;
	}

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

IL_001d:
	{
		return (ClientSessionInfo_t3468069089 *)NULL;
	}

IL_001f:
	{
		ByteU5BU5D_t3397334013* L_5 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(BitConverter_t3195628829_il2cpp_TypeInfo_var);
		String_t* L_6 = BitConverter_ToString_m927173850(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
		V_1 = L_6;
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Hashtable_t909839986 * L_7 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t3468069089 *)CastclassClass(L_9, ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var));
		ClientSessionInfo_t3468069089 * L_10 = V_2;
		if (L_10)
		{
			goto IL_003f;
		}
	}
	{
		return (ClientSessionInfo_t3468069089 *)NULL;
	}

IL_003f:
	{
		Context_t4285182719 * L_11 = ___context0;
		TlsClientSettings_t2311449551 * L_12 = Context_get_ClientSettings_m1185615112(L_11, /*hidden argument*/NULL);
		String_t* L_13 = TlsClientSettings_get_TargetHost_m2817634620(L_12, /*hidden argument*/NULL);
		ClientSessionInfo_t3468069089 * L_14 = V_2;
		String_t* L_15 = ClientSessionInfo_get_HostName_m759522668(L_14, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		bool L_16 = String_op_Inequality_m304203149(NULL /*static, unused*/, L_13, L_15, /*hidden argument*/NULL);
		if (!L_16)
		{
			goto IL_005c;
		}
	}
	{
		return (ClientSessionInfo_t3468069089 *)NULL;
	}

IL_005c:
	{
		bool L_17 = ___checkValidity1;
		if (!L_17)
		{
			goto IL_0080;
		}
	}
	{
		ClientSessionInfo_t3468069089 * L_18 = V_2;
		bool L_19 = ClientSessionInfo_get_Valid_m3589823308(L_18, /*hidden argument*/NULL);
		if (L_19)
		{
			goto IL_0080;
		}
	}
	{
		ClientSessionInfo_t3468069089 * L_20 = V_2;
		ClientSessionInfo_Dispose_m3315842124(L_20, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Hashtable_t909839986 * L_21 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_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_t3468069089 *)NULL;
	}

IL_0080:
	{
		ClientSessionInfo_t3468069089 * L_23 = V_2;
		return L_23;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ClientSessionCache::SetContextInCache(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_SetContextInCache_m907788136_MetadataUsageId;
extern "C"  bool ClientSessionCache_SetContextInCache_m907788136 (Il2CppObject * __this /* static, unused */, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_SetContextInCache_m907788136_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t3468069089 * V_1 = NULL;
	bool V_2 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			Context_t4285182719 * L_2 = ___context0;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			ClientSessionInfo_t3468069089 * L_3 = ClientSessionCache_FromContext_m3886959254(NULL /*static, unused*/, L_2, (bool)0, /*hidden argument*/NULL);
			V_1 = L_3;
			ClientSessionInfo_t3468069089 * L_4 = V_1;
			if (L_4)
			{
				goto IL_0021;
			}
		}

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

IL_0021:
		{
			ClientSessionInfo_t3468069089 * L_5 = V_1;
			Context_t4285182719 * L_6 = ___context0;
			ClientSessionInfo_GetContext_m301320023(L_5, L_6, /*hidden argument*/NULL);
			ClientSessionInfo_t3468069089 * L_7 = V_1;
			ClientSessionInfo_KeepAlive_m3125408381(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_t1927440687 *)e.ex;
		goto FINALLY_003a;
	}

FINALLY_003a:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_t3595945587_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionCache_SetContextFromCache_m3917528339_MetadataUsageId;
extern "C"  bool ClientSessionCache_SetContextFromCache_m3917528339 (Il2CppObject * __this /* static, unused */, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionCache_SetContextFromCache_m3917528339_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ClientSessionInfo_t3468069089 * V_1 = NULL;
	bool V_2 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		Il2CppObject * L_0 = ((ClientSessionCache_t3595945587_StaticFields*)ClientSessionCache_t3595945587_il2cpp_TypeInfo_var->static_fields)->get_locker_1();
		V_0 = L_0;
		Il2CppObject * L_1 = V_0;
		Monitor_Enter_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		{
			Context_t4285182719 * L_2 = ___context0;
			IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
			ClientSessionInfo_t3468069089 * L_3 = ClientSessionCache_FromContext_m3886959254(NULL /*static, unused*/, L_2, (bool)1, /*hidden argument*/NULL);
			V_1 = L_3;
			ClientSessionInfo_t3468069089 * L_4 = V_1;
			if (L_4)
			{
				goto IL_0021;
			}
		}

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

IL_0021:
		{
			ClientSessionInfo_t3468069089 * L_5 = V_1;
			Context_t4285182719 * L_6 = ___context0;
			ClientSessionInfo_SetContext_m2649357891(L_5, L_6, /*hidden argument*/NULL);
			ClientSessionInfo_t3468069089 * L_7 = V_1;
			ClientSessionInfo_KeepAlive_m3125408381(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_t1927440687 *)e.ex;
		goto FINALLY_003a;
	}

FINALLY_003a:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_m759726440 (ClientSessionInfo_t3468069089 * __this, String_t* ___hostname0, ByteU5BU5D_t3397334013* ___id1, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		String_t* L_0 = ___hostname0;
		__this->set_host_3(L_0);
		ByteU5BU5D_t3397334013* L_1 = ___id1;
		__this->set_sid_4(L_1);
		ClientSessionInfo_KeepAlive_m3125408381(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::.cctor()
extern Il2CppClass* ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3821306765;
extern const uint32_t ClientSessionInfo__cctor_m1353980836_MetadataUsageId;
extern "C"  void ClientSessionInfo__cctor_m1353980836 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo__cctor_m1353980836_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	String_t* V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		String_t* L_0 = Environment_GetEnvironmentVariable_m4292917946(NULL /*static, unused*/, _stringLiteral3821306765, /*hidden argument*/NULL);
		V_0 = L_0;
		String_t* L_1 = V_0;
		if (L_1)
		{
			goto IL_0020;
		}
	}
	{
		((ClientSessionInfo_t3468069089_StaticFields*)ClientSessionInfo_t3468069089_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_m3683414232(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		((ClientSessionInfo_t3468069089_StaticFields*)ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var->static_fields)->set_ValidityInterval_0(L_3);
		goto IL_0040;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)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_t3468069089_StaticFields*)ClientSessionInfo_t3468069089_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_m1198775539 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2571428025(__this, (bool)0, /*hidden argument*/NULL);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t1927440687 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m4087144328(__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_t1927440687 *)
	}

IL_0013:
	{
		return;
	}
}
// System.String Mono.Security.Protocol.Tls.ClientSessionInfo::get_HostName()
extern "C"  String_t* ClientSessionInfo_get_HostName_m759522668 (ClientSessionInfo_t3468069089 * __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_t3397334013* ClientSessionInfo_get_Id_m3046630969 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_sid_4();
		return L_0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.ClientSessionInfo::get_Valid()
extern Il2CppClass* DateTime_t693205669_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_get_Valid_m3589823308_MetadataUsageId;
extern "C"  bool ClientSessionInfo_get_Valid_m3589823308 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_get_Valid_m3589823308_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t G_B3_0 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_masterSecret_5();
		if (!L_0)
		{
			goto IL_001d;
		}
	}
	{
		DateTime_t693205669  L_1 = __this->get_validuntil_2();
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t693205669_il2cpp_TypeInfo_var);
		DateTime_t693205669  L_2 = DateTime_get_UtcNow_m1309841468(NULL /*static, unused*/, /*hidden argument*/NULL);
		bool L_3 = DateTime_op_GreaterThan_m2730200039(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_GetContext_m301320023_MetadataUsageId;
extern "C"  void ClientSessionInfo_GetContext_m301320023 (ClientSessionInfo_t3468069089 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_GetContext_m301320023_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ClientSessionInfo_CheckDisposed_m1394638186(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = Context_get_MasterSecret_m231851308(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_2 = ___context0;
		ByteU5BU5D_t3397334013* L_3 = Context_get_MasterSecret_m231851308(L_2, /*hidden argument*/NULL);
		Il2CppObject * L_4 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_3, /*hidden argument*/NULL);
		__this->set_masterSecret_5(((ByteU5BU5D_t3397334013*)Castclass(L_4, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var)));
	}

IL_0027:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::SetContext(Mono.Security.Protocol.Tls.Context)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_SetContext_m2649357891_MetadataUsageId;
extern "C"  void ClientSessionInfo_SetContext_m2649357891 (ClientSessionInfo_t3468069089 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_SetContext_m2649357891_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ClientSessionInfo_CheckDisposed_m1394638186(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = __this->get_masterSecret_5();
		if (!L_0)
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_1 = ___context0;
		ByteU5BU5D_t3397334013* L_2 = __this->get_masterSecret_5();
		Il2CppObject * L_3 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_2, /*hidden argument*/NULL);
		Context_set_MasterSecret_m1422386411(L_1, ((ByteU5BU5D_t3397334013*)Castclass(L_3, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
	}

IL_0027:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::KeepAlive()
extern Il2CppClass* DateTime_t693205669_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_KeepAlive_m3125408381_MetadataUsageId;
extern "C"  void ClientSessionInfo_KeepAlive_m3125408381 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_KeepAlive_m3125408381_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	DateTime_t693205669  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		ClientSessionInfo_CheckDisposed_m1394638186(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t693205669_il2cpp_TypeInfo_var);
		DateTime_t693205669  L_0 = DateTime_get_UtcNow_m1309841468(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var);
		int32_t L_1 = ((ClientSessionInfo_t3468069089_StaticFields*)ClientSessionInfo_t3468069089_il2cpp_TypeInfo_var->static_fields)->get_ValidityInterval_0();
		DateTime_t693205669  L_2 = DateTime_AddSeconds_m722082155((&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_m3315842124 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	{
		ClientSessionInfo_Dispose_m2571428025(__this, (bool)1, /*hidden argument*/NULL);
		GC_SuppressFinalize_m953228702(NULL /*static, unused*/, __this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::Dispose(System.Boolean)
extern Il2CppClass* DateTime_t693205669_il2cpp_TypeInfo_var;
extern const uint32_t ClientSessionInfo_Dispose_m2571428025_MetadataUsageId;
extern "C"  void ClientSessionInfo_Dispose_m2571428025 (ClientSessionInfo_t3468069089 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_Dispose_m2571428025_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_disposed_1();
		if (L_0)
		{
			goto IL_004a;
		}
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t693205669_il2cpp_TypeInfo_var);
		DateTime_t693205669  L_1 = ((DateTime_t693205669_StaticFields*)DateTime_t693205669_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_t3397334013*)NULL);
		ByteU5BU5D_t3397334013* L_2 = __this->get_masterSecret_5();
		if (!L_2)
		{
			goto IL_004a;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_3 = __this->get_masterSecret_5();
		ByteU5BU5D_t3397334013* L_4 = __this->get_masterSecret_5();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_004a:
	{
		__this->set_disposed_1((bool)1);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.ClientSessionInfo::CheckDisposed()
extern Il2CppClass* ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3189063148;
extern const uint32_t ClientSessionInfo_CheckDisposed_m1394638186_MetadataUsageId;
extern "C"  void ClientSessionInfo_CheckDisposed_m1394638186 (ClientSessionInfo_t3468069089 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ClientSessionInfo_CheckDisposed_m1394638186_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_m1644072174(NULL /*static, unused*/, _stringLiteral3189063148, /*hidden argument*/NULL);
		V_0 = L_1;
		String_t* L_2 = V_0;
		ObjectDisposedException_t2695136451 * L_3 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(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_t403340211_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientSettings_t2311449551_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern const uint32_t Context__ctor_m3963941463_MetadataUsageId;
extern "C"  void Context__ctor_m3963941463 (Context_t4285182719 * __this, int32_t ___securityProtocolType0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context__ctor_m3963941463_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		int32_t L_0 = ___securityProtocolType0;
		Context_set_SecurityProtocol_m4153223312(__this, L_0, /*hidden argument*/NULL);
		__this->set_compressionMethod_2(0);
		TlsServerSettings_t403340211 * L_1 = (TlsServerSettings_t403340211 *)il2cpp_codegen_object_new(TlsServerSettings_t403340211_il2cpp_TypeInfo_var);
		TlsServerSettings__ctor_m1125867683(L_1, /*hidden argument*/NULL);
		__this->set_serverSettings_3(L_1);
		TlsClientSettings_t2311449551 * L_2 = (TlsClientSettings_t2311449551 *)il2cpp_codegen_object_new(TlsClientSettings_t2311449551_il2cpp_TypeInfo_var);
		TlsClientSettings__ctor_m3065987087(L_2, /*hidden argument*/NULL);
		__this->set_clientSettings_4(L_2);
		TlsStream_t4089752859 * L_3 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_3, /*hidden argument*/NULL);
		__this->set_handshakeMessages_27(L_3);
		__this->set_sessionId_1((ByteU5BU5D_t3397334013*)NULL);
		__this->set_handshakeState_11(0);
		RandomNumberGenerator_t2510243513 * L_4 = RandomNumberGenerator_Create_m2275686895(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_m2972837690 (Context_t4285182719 * __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_m4080371327 (Context_t4285182719 * __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_m624488778 (Context_t4285182719 * __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_m1177527245 (Context_t4285182719 * __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_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2663767609;
extern const uint32_t Context_get_SecurityProtocol_m1600902905_MetadataUsageId;
extern "C"  int32_t Context_get_SecurityProtocol_m1600902905 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_get_SecurityProtocol_m1600902905_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t1793819818 * L_3 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_3, _stringLiteral2663767609, /*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_m4153223312 (Context_t4285182719 * __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_m3295551796 (Context_t4285182719 * __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_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2663767609;
extern const uint32_t Context_get_Protocol_m1537476188_MetadataUsageId;
extern "C"  int16_t Context_get_Protocol_m1537476188 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Protocol_m1537476188_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		int32_t L_0 = Context_get_SecurityProtocol_m1600902905(__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_t1793819818 * L_5 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_5, _stringLiteral2663767609, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_SessionId()
extern "C"  ByteU5BU5D_t3397334013* Context_get_SessionId_m1296338025 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1229908268 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1938328556 (Context_t4285182719 * __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_m2848483559 (Context_t4285182719 * __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_t403340211 * Context_get_ServerSettings_m225713600 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		TlsServerSettings_t403340211 * L_0 = __this->get_serverSettings_3();
		return L_0;
	}
}
// Mono.Security.Protocol.Tls.TlsClientSettings Mono.Security.Protocol.Tls.Context::get_ClientSettings()
extern "C"  TlsClientSettings_t2311449551 * Context_get_ClientSettings_m1185615112 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		TlsClientSettings_t2311449551 * 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_m873777031 (Context_t4285182719 * __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_m3162558586 (Context_t4285182719 * __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_m3443153737 (Context_t4285182719 * __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_m1586089840 (Context_t4285182719 * __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_m3369356276 (Context_t4285182719 * __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_m213831275 (Context_t4285182719 * __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_m3114190867 (Context_t4285182719 * __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_m2641458842 (Context_t4285182719 * __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_t2431504453 * Context_get_SupportedCiphers_m2172827298 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		CipherSuiteCollection_t2431504453 * 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_m3994965527 (Context_t4285182719 * __this, CipherSuiteCollection_t2431504453 * ___value0, const MethodInfo* method)
{
	{
		CipherSuiteCollection_t2431504453 * 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_t4089752859 * Context_get_HandshakeMessages_m2765912589 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		TlsStream_t4089752859 * 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_m243492531 (Context_t4285182719 * __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_m3356252710 (Context_t4285182719 * __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_m2586681610 (Context_t4285182719 * __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_m3303454459 (Context_t4285182719 * __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_t3397334013* Context_get_ClientRandom_m697914474 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m631392719 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_clientRandom_18(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerRandom()
extern "C"  ByteU5BU5D_t3397334013* Context_get_ServerRandom_m3526559022 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m173601139 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_serverRandom_19(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_RandomCS()
extern "C"  ByteU5BU5D_t3397334013* Context_get_RandomCS_m3946020109 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m2334825038 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_randomCS_20(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_RandomSC()
extern "C"  ByteU5BU5D_t3397334013* Context_get_RandomSC_m1687420621 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m2057392782 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_randomSC_21(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_MasterSecret()
extern "C"  ByteU5BU5D_t3397334013* Context_get_MasterSecret_m231851308 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1422386411 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_masterSecret_22(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ClientWriteKey()
extern "C"  ByteU5BU5D_t3397334013* Context_get_ClientWriteKey_m2235605337 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1137238126 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_clientWriteKey_23(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerWriteKey()
extern "C"  ByteU5BU5D_t3397334013* Context_get_ServerWriteKey_m1780148437 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m2317745418 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_serverWriteKey_24(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ClientWriteIV()
extern "C"  ByteU5BU5D_t3397334013* Context_get_ClientWriteIV_m2171757117 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m70615452 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_clientWriteIV_25(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Context::get_ServerWriteIV()
extern "C"  ByteU5BU5D_t3397334013* Context_get_ServerWriteIV_m2960700649 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m3391477120 (Context_t4285182719 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_t3166895267 * Context_get_RecordProtocol_m1527823481 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		RecordProtocol_t3166895267 * 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_m1968834768 (Context_t4285182719 * __this, RecordProtocol_t3166895267 * ___value0, const MethodInfo* method)
{
	{
		RecordProtocol_t3166895267 * L_0 = ___value0;
		__this->set_recordProtocol_29(L_0);
		return;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.Context::GetUnixTime()
extern Il2CppClass* DateTime_t693205669_il2cpp_TypeInfo_var;
extern const uint32_t Context_GetUnixTime_m3777795180_MetadataUsageId;
extern "C"  int32_t Context_GetUnixTime_m3777795180 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_GetUnixTime_m3777795180_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	DateTime_t693205669  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		IL2CPP_RUNTIME_CLASS_INIT(DateTime_t693205669_il2cpp_TypeInfo_var);
		DateTime_t693205669  L_0 = DateTime_get_UtcNow_m1309841468(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		int64_t L_1 = DateTime_get_Ticks_m310281298((&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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t Context_GetSecureRandomBytes_m1065353673_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* Context_GetSecureRandomBytes_m1065353673 (Context_t4285182719 * __this, int32_t ___count0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_GetSecureRandomBytes_m1065353673_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		int32_t L_0 = ___count0;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_0));
		RandomNumberGenerator_t2510243513 * L_1 = __this->get_random_28();
		ByteU5BU5D_t3397334013* L_2 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(5 /* System.Void System.Security.Cryptography.RandomNumberGenerator::GetNonZeroBytes(System.Byte[]) */, L_1, L_2);
		ByteU5BU5D_t3397334013* L_3 = V_0;
		return L_3;
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::Clear()
extern Il2CppClass* TlsServerSettings_t403340211_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientSettings_t2311449551_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern const uint32_t Context_Clear_m4000337070_MetadataUsageId;
extern "C"  void Context_Clear_m4000337070 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_Clear_m4000337070_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_compressionMethod_2(0);
		TlsServerSettings_t403340211 * L_0 = (TlsServerSettings_t403340211 *)il2cpp_codegen_object_new(TlsServerSettings_t403340211_il2cpp_TypeInfo_var);
		TlsServerSettings__ctor_m1125867683(L_0, /*hidden argument*/NULL);
		__this->set_serverSettings_3(L_0);
		TlsClientSettings_t2311449551 * L_1 = (TlsClientSettings_t2311449551 *)il2cpp_codegen_object_new(TlsClientSettings_t2311449551_il2cpp_TypeInfo_var);
		TlsClientSettings__ctor_m3065987087(L_1, /*hidden argument*/NULL);
		__this->set_clientSettings_4(L_1);
		TlsStream_t4089752859 * L_2 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_2, /*hidden argument*/NULL);
		__this->set_handshakeMessages_27(L_2);
		__this->set_sessionId_1((ByteU5BU5D_t3397334013*)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_m205678623 (Context_t4285182719 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_masterSecret_22();
		if (!L_0)
		{
			goto IL_0026;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_masterSecret_22();
		ByteU5BU5D_t3397334013* L_2 = __this->get_masterSecret_22();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_0026:
	{
		ByteU5BU5D_t3397334013* L_3 = __this->get_clientRandom_18();
		if (!L_3)
		{
			goto IL_004c;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_4 = __this->get_clientRandom_18();
		ByteU5BU5D_t3397334013* L_5 = __this->get_clientRandom_18();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_004c:
	{
		ByteU5BU5D_t3397334013* L_6 = __this->get_serverRandom_19();
		if (!L_6)
		{
			goto IL_0072;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_7 = __this->get_serverRandom_19();
		ByteU5BU5D_t3397334013* L_8 = __this->get_serverRandom_19();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_0072:
	{
		ByteU5BU5D_t3397334013* L_9 = __this->get_randomCS_20();
		if (!L_9)
		{
			goto IL_0098;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_10 = __this->get_randomCS_20();
		ByteU5BU5D_t3397334013* L_11 = __this->get_randomCS_20();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_0098:
	{
		ByteU5BU5D_t3397334013* L_12 = __this->get_randomSC_21();
		if (!L_12)
		{
			goto IL_00be;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_13 = __this->get_randomSC_21();
		ByteU5BU5D_t3397334013* L_14 = __this->get_randomSC_21();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_00be:
	{
		ByteU5BU5D_t3397334013* L_15 = __this->get_clientWriteKey_23();
		if (!L_15)
		{
			goto IL_00e4;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_16 = __this->get_clientWriteKey_23();
		ByteU5BU5D_t3397334013* L_17 = __this->get_clientWriteKey_23();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_00e4:
	{
		ByteU5BU5D_t3397334013* L_18 = __this->get_clientWriteIV_25();
		if (!L_18)
		{
			goto IL_010a;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_19 = __this->get_clientWriteIV_25();
		ByteU5BU5D_t3397334013* L_20 = __this->get_clientWriteIV_25();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_010a:
	{
		ByteU5BU5D_t3397334013* L_21 = __this->get_serverWriteKey_24();
		if (!L_21)
		{
			goto IL_0130;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_22 = __this->get_serverWriteKey_24();
		ByteU5BU5D_t3397334013* L_23 = __this->get_serverWriteKey_24();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_0130:
	{
		ByteU5BU5D_t3397334013* L_24 = __this->get_serverWriteIV_26();
		if (!L_24)
		{
			goto IL_0156;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_25 = __this->get_serverWriteIV_26();
		ByteU5BU5D_t3397334013* L_26 = __this->get_serverWriteIV_26();
		Array_Clear_m782967417(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_t3397334013*)NULL);
	}

IL_0156:
	{
		TlsStream_t4089752859 * L_27 = __this->get_handshakeMessages_27();
		TlsStream_Reset_m1504601050(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_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2663767609;
extern const uint32_t Context_DecodeProtocolCode_m4051353560_MetadataUsageId;
extern "C"  int32_t Context_DecodeProtocolCode_m4051353560 (Context_t4285182719 * __this, int16_t ___code0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_DecodeProtocolCode_m4051353560_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t1793819818 * L_3 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_3, _stringLiteral2663767609, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}
}
// System.Void Mono.Security.Protocol.Tls.Context::ChangeProtocol(System.Int16)
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1178301581;
extern const uint32_t Context_ChangeProtocol_m46663628_MetadataUsageId;
extern "C"  void Context_ChangeProtocol_m46663628 (Context_t4285182719 * __this, int16_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_ChangeProtocol_m46663628_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		int16_t L_0 = ___protocol0;
		int32_t L_1 = Context_DecodeProtocolCode_m4051353560(__this, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		int32_t L_2 = V_0;
		int32_t L_3 = Context_get_SecurityProtocolFlags_m3295551796(__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_m3295551796(__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_m4153223312(__this, L_6, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_7 = Context_get_SupportedCiphers_m2172827298(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_Clear_m533808424(L_7, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m3994965527(__this, (CipherSuiteCollection_t2431504453 *)NULL, /*hidden argument*/NULL);
		int32_t L_8 = V_0;
		CipherSuiteCollection_t2431504453 * L_9 = CipherSuiteFactory_GetSupportedCiphers_m338097823(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m3994965527(__this, L_9, /*hidden argument*/NULL);
		goto IL_0063;
	}

IL_0056:
	{
		TlsException_t583514812 * L_10 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_10, ((int32_t)70), _stringLiteral1178301581, /*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_t2290372928_il2cpp_TypeInfo_var;
extern const uint32_t Context_get_Current_m2717045324_MetadataUsageId;
extern "C"  SecurityParameters_t2290372928 * Context_get_Current_m2717045324 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Current_m2717045324_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		SecurityParameters_t2290372928 * L_0 = __this->get_current_5();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		SecurityParameters_t2290372928 * L_1 = (SecurityParameters_t2290372928 *)il2cpp_codegen_object_new(SecurityParameters_t2290372928_il2cpp_TypeInfo_var);
		SecurityParameters__ctor_m3136793890(L_1, /*hidden argument*/NULL);
		__this->set_current_5(L_1);
	}

IL_0016:
	{
		SecurityParameters_t2290372928 * L_2 = __this->get_current_5();
		CipherSuite_t491456551 * L_3 = SecurityParameters_get_Cipher_m2392911632(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0037;
		}
	}
	{
		SecurityParameters_t2290372928 * L_4 = __this->get_current_5();
		CipherSuite_t491456551 * L_5 = SecurityParameters_get_Cipher_m2392911632(L_4, /*hidden argument*/NULL);
		CipherSuite_set_Context_m4127897124(L_5, __this, /*hidden argument*/NULL);
	}

IL_0037:
	{
		SecurityParameters_t2290372928 * L_6 = __this->get_current_5();
		return L_6;
	}
}
// Mono.Security.Protocol.Tls.SecurityParameters Mono.Security.Protocol.Tls.Context::get_Negotiating()
extern Il2CppClass* SecurityParameters_t2290372928_il2cpp_TypeInfo_var;
extern const uint32_t Context_get_Negotiating_m3946476110_MetadataUsageId;
extern "C"  SecurityParameters_t2290372928 * Context_get_Negotiating_m3946476110 (Context_t4285182719 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (Context_get_Negotiating_m3946476110_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		SecurityParameters_t2290372928 * L_0 = __this->get_negotiating_6();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		SecurityParameters_t2290372928 * L_1 = (SecurityParameters_t2290372928 *)il2cpp_codegen_object_new(SecurityParameters_t2290372928_il2cpp_TypeInfo_var);
		SecurityParameters__ctor_m3136793890(L_1, /*hidden argument*/NULL);
		__this->set_negotiating_6(L_1);
	}

IL_0016:
	{
		SecurityParameters_t2290372928 * L_2 = __this->get_negotiating_6();
		CipherSuite_t491456551 * L_3 = SecurityParameters_get_Cipher_m2392911632(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0037;
		}
	}
	{
		SecurityParameters_t2290372928 * L_4 = __this->get_negotiating_6();
		CipherSuite_t491456551 * L_5 = SecurityParameters_get_Cipher_m2392911632(L_4, /*hidden argument*/NULL);
		CipherSuite_set_Context_m4127897124(L_5, __this, /*hidden argument*/NULL);
	}

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

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

IL_003b:
	{
		SecurityParameters_t2290372928 * 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_m1613076777 (Context_t4285182719 * __this, bool ___client0, const MethodInfo* method)
{
	SecurityParameters_t2290372928 * V_0 = NULL;
	{
		bool L_0 = ___client0;
		if (!L_0)
		{
			goto IL_001e;
		}
	}
	{
		SecurityParameters_t2290372928 * L_1 = __this->get_read_7();
		V_0 = L_1;
		SecurityParameters_t2290372928 * L_2 = __this->get_current_5();
		__this->set_read_7(L_2);
		goto IL_0031;
	}

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

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

IL_003d:
	{
		SecurityParameters_t2290372928 * 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_m987604448 (TlsClientCertificate_t2537917473 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		HandshakeMessage__ctor_m3783158590(__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_t283079845 * TlsClientCertificate_get_ClientCertificate_m3062440489 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	{
		bool L_0 = __this->get_clientCertSelected_9();
		if (L_0)
		{
			goto IL_0018;
		}
	}
	{
		TlsClientCertificate_GetClientCertificate_m2808467979(__this, /*hidden argument*/NULL);
		__this->set_clientCertSelected_9((bool)1);
	}

IL_0018:
	{
		X509Certificate_t283079845 * L_1 = __this->get_clientCert_10();
		return L_1;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::Update()
extern "C"  void TlsClientCertificate_Update_m3781462820 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::GetClientCertificate()
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t283079845_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_GetClientCertificate_m2808467979_MetadataUsageId;
extern "C"  void TlsClientCertificate_GetClientCertificate_m2808467979 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_GetClientCertificate_m2808467979_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		ClientContext_t3002158488 * L_1 = V_0;
		TlsClientSettings_t2311449551 * L_2 = Context_get_ClientSettings_m1185615112(L_1, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_3 = TlsClientSettings_get_Certificates_m2509165647(L_2, /*hidden argument*/NULL);
		if (!L_3)
		{
			goto IL_0084;
		}
	}
	{
		ClientContext_t3002158488 * L_4 = V_0;
		TlsClientSettings_t2311449551 * L_5 = Context_get_ClientSettings_m1185615112(L_4, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_6 = TlsClientSettings_get_Certificates_m2509165647(L_5, /*hidden argument*/NULL);
		int32_t L_7 = CollectionBase_get_Count_m740218359(L_6, /*hidden argument*/NULL);
		if ((((int32_t)L_7) <= ((int32_t)0)))
		{
			goto IL_0084;
		}
	}
	{
		ClientContext_t3002158488 * L_8 = V_0;
		SslClientStream_t3918817353 * L_9 = ClientContext_get_SslStream_m360110741(L_8, /*hidden argument*/NULL);
		Context_t4285182719 * L_10 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_11 = Context_get_ClientSettings_m1185615112(L_10, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_12 = TlsClientSettings_get_Certificates_m2509165647(L_11, /*hidden argument*/NULL);
		Context_t4285182719 * L_13 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_14 = Context_get_ServerSettings_m225713600(L_13, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_15 = TlsServerSettings_get_Certificates_m3301336199(L_14, /*hidden argument*/NULL);
		X509Certificate_t324051958 * L_16 = X509CertificateCollection_get_Item_m123527754(L_15, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_17 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_16);
		X509Certificate_t283079845 * L_18 = (X509Certificate_t283079845 *)il2cpp_codegen_object_new(X509Certificate_t283079845_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m1497774341(L_18, L_17, /*hidden argument*/NULL);
		Context_t4285182719 * L_19 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_20 = Context_get_ClientSettings_m1185615112(L_19, /*hidden argument*/NULL);
		String_t* L_21 = TlsClientSettings_get_TargetHost_m2817634620(L_20, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_22 = SslClientStream_RaiseClientCertificateSelection_m3933788312(L_9, L_12, L_18, L_21, (X509CertificateCollection_t1197680765 *)NULL, /*hidden argument*/NULL);
		__this->set_clientCert_10(L_22);
	}

IL_0084:
	{
		ClientContext_t3002158488 * L_23 = V_0;
		TlsClientSettings_t2311449551 * L_24 = Context_get_ClientSettings_m1185615112(L_23, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_25 = __this->get_clientCert_10();
		TlsClientSettings_set_ClientCertificate_m442292512(L_24, L_25, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::SendCertificates()
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_SendCertificates_m1096074091_MetadataUsageId;
extern "C"  void TlsClientCertificate_SendCertificates_m1096074091 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_SendCertificates_m1096074091_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	X509Certificate_t283079845 * V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	{
		TlsStream_t4089752859 * L_0 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		X509Certificate_t283079845 * L_1 = TlsClientCertificate_get_ClientCertificate_m3062440489(__this, /*hidden argument*/NULL);
		V_1 = L_1;
		goto IL_0031;
	}

IL_0012:
	{
		X509Certificate_t283079845 * L_2 = V_1;
		ByteU5BU5D_t3397334013* L_3 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_2);
		V_2 = L_3;
		TlsStream_t4089752859 * L_4 = V_0;
		ByteU5BU5D_t3397334013* L_5 = V_2;
		TlsStream_WriteInt24_m1660453494(L_4, (((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))), /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = V_2;
		TlsStream_Write_m3425460533(L_6, L_7, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_8 = V_1;
		X509Certificate_t283079845 * L_9 = TlsClientCertificate_FindParentCertificate_m10738514(__this, L_8, /*hidden argument*/NULL);
		V_1 = L_9;
	}

IL_0031:
	{
		X509Certificate_t283079845 * L_10 = V_1;
		if (L_10)
		{
			goto IL_0012;
		}
	}
	{
		TlsStream_t4089752859 * 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_m1660453494(__this, (((int32_t)((int32_t)L_12))), /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_13 = V_0;
		ByteU5BU5D_t3397334013* L_14 = TlsStream_ToArray_m3731779317(L_13, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(__this, L_14, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificate::ProcessAsSsl3()
extern "C"  void TlsClientCertificate_ProcessAsSsl3_m3634449507 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = TlsClientCertificate_get_ClientCertificate_m3062440489(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		TlsClientCertificate_SendCertificates_m1096074091(__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_m1772516248 (TlsClientCertificate_t2537917473 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = TlsClientCertificate_get_ClientCertificate_m3062440489(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_0016;
		}
	}
	{
		TlsClientCertificate_SendCertificates_m1096074091(__this, /*hidden argument*/NULL);
		goto IL_001d;
	}

IL_0016:
	{
		TlsStream_WriteInt24_m1660453494(__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_t2427283555_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificate_FindParentCertificate_m10738514_MetadataUsageId;
extern "C"  X509Certificate_t283079845 * TlsClientCertificate_FindParentCertificate_m10738514 (TlsClientCertificate_t2537917473 * __this, X509Certificate_t283079845 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificate_FindParentCertificate_m10738514_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	X509Certificate_t283079845 * V_0 = NULL;
	X509CertificateEnumerator_t1208230922 * V_1 = NULL;
	X509Certificate_t283079845 * V_2 = NULL;
	Il2CppObject * V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		X509Certificate_t283079845 * L_0 = ___cert0;
		String_t* L_1 = VirtFuncInvoker0< String_t* >::Invoke(12 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetName() */, L_0);
		X509Certificate_t283079845 * 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_m1790663636(NULL /*static, unused*/, L_1, L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0018;
		}
	}
	{
		return (X509Certificate_t283079845 *)NULL;
	}

IL_0018:
	{
		Context_t4285182719 * L_5 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_6 = Context_get_ClientSettings_m1185615112(L_5, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_7 = TlsClientSettings_get_Certificates_m2509165647(L_6, /*hidden argument*/NULL);
		X509CertificateEnumerator_t1208230922 * L_8 = X509CertificateCollection_GetEnumerator_m1618085929(L_7, /*hidden argument*/NULL);
		V_1 = L_8;
	}

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

IL_0033:
		{
			X509CertificateEnumerator_t1208230922 * L_9 = V_1;
			X509Certificate_t283079845 * L_10 = X509CertificateEnumerator_get_Current_m3202551321(L_9, /*hidden argument*/NULL);
			V_0 = L_10;
			X509Certificate_t283079845 * L_11 = ___cert0;
			String_t* L_12 = VirtFuncInvoker0< String_t* >::Invoke(12 /* System.String System.Security.Cryptography.X509Certificates.X509Certificate::GetName() */, L_11);
			X509Certificate_t283079845 * 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_m1790663636(NULL /*static, unused*/, L_12, L_14, /*hidden argument*/NULL);
			if (!L_15)
			{
				goto IL_0057;
			}
		}

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

IL_0057:
		{
			X509CertificateEnumerator_t1208230922 * L_17 = V_1;
			bool L_18 = X509CertificateEnumerator_MoveNext_m1691973768(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_t1927440687 *)e.ex;
		goto FINALLY_0067;
	}

FINALLY_0067:
	{ // begin finally (depth: 1)
		{
			X509CertificateEnumerator_t1208230922 * L_19 = V_1;
			V_3 = ((Il2CppObject *)IsInst(L_19, IDisposable_t2427283555_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_t2427283555_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_t1927440687 *)
	}

IL_0079:
	{
		return (X509Certificate_t283079845 *)NULL;
	}

IL_007b:
	{
		X509Certificate_t283079845 * 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_m110646389 (TlsClientCertificateVerify_t4150496570 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		HandshakeMessage__ctor_m3783158590(__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_m1622071203 (TlsClientCertificateVerify_t4150496570 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::ProcessAsSsl3()
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var;
extern Il2CppClass* RSA_t3719518354_il2cpp_TypeInfo_var;
extern Il2CppClass* NotImplementedException_t2785117854_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral783533938;
extern const uint32_t TlsClientCertificateVerify_ProcessAsSsl3_m3377063356_MetadataUsageId;
extern "C"  void TlsClientCertificateVerify_ProcessAsSsl3_m3377063356 (TlsClientCertificateVerify_t4150496570 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_ProcessAsSsl3_m3377063356_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	AsymmetricAlgorithm_t784058677 * V_0 = NULL;
	ClientContext_t3002158488 * V_1 = NULL;
	SslHandshakeHash_t3044322977 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	RSA_t3719518354 * V_4 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (AsymmetricAlgorithm_t784058677 *)NULL;
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_1 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		ClientContext_t3002158488 * L_1 = V_1;
		SslClientStream_t3918817353 * L_2 = ClientContext_get_SslStream_m360110741(L_1, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_3 = V_1;
		TlsClientSettings_t2311449551 * L_4 = Context_get_ClientSettings_m1185615112(L_3, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_5 = TlsClientSettings_get_ClientCertificate_m89435195(L_4, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_6 = V_1;
		TlsClientSettings_t2311449551 * L_7 = Context_get_ClientSettings_m1185615112(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m2817634620(L_7, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t784058677 * L_9 = SslClientStream_RaisePrivateKeySelection_m2326189090(L_2, L_5, L_8, /*hidden argument*/NULL);
		V_0 = L_9;
		AsymmetricAlgorithm_t784058677 * L_10 = V_0;
		if (L_10)
		{
			goto IL_0043;
		}
	}
	{
		TlsException_t583514812 * L_11 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_11, ((int32_t)90), _stringLiteral783533938, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0043:
	{
		ClientContext_t3002158488 * L_12 = V_1;
		ByteU5BU5D_t3397334013* L_13 = Context_get_MasterSecret_m231851308(L_12, /*hidden argument*/NULL);
		SslHandshakeHash_t3044322977 * L_14 = (SslHandshakeHash_t3044322977 *)il2cpp_codegen_object_new(SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1269339424(L_14, L_13, /*hidden argument*/NULL);
		V_2 = L_14;
		SslHandshakeHash_t3044322977 * L_15 = V_2;
		ClientContext_t3002158488 * L_16 = V_1;
		TlsStream_t4089752859 * L_17 = Context_get_HandshakeMessages_m2765912589(L_16, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_18 = TlsStream_ToArray_m3731779317(L_17, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_19 = V_1;
		TlsStream_t4089752859 * L_20 = Context_get_HandshakeMessages_m2765912589(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_m3071802428(L_15, L_18, 0, (((int32_t)((int32_t)L_21))), /*hidden argument*/NULL);
		V_3 = (ByteU5BU5D_t3397334013*)NULL;
		AsymmetricAlgorithm_t784058677 * L_22 = V_0;
		if (((RSACryptoServiceProvider_t4229286967 *)IsInstSealed(L_22, RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var)))
		{
			goto IL_0093;
		}
	}

IL_007b:
	try
	{ // begin try (depth: 1)
		SslHandshakeHash_t3044322977 * L_23 = V_2;
		AsymmetricAlgorithm_t784058677 * L_24 = V_0;
		ByteU5BU5D_t3397334013* L_25 = SslHandshakeHash_CreateSignature_m3001618400(L_23, ((RSA_t3719518354 *)CastclassClass(L_24, RSA_t3719518354_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_3 = L_25;
		goto IL_0093;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (NotImplementedException_t2785117854_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_t3397334013* L_26 = V_3;
		if (L_26)
		{
			goto IL_00b0;
		}
	}
	{
		AsymmetricAlgorithm_t784058677 * L_27 = V_0;
		RSA_t3719518354 * L_28 = TlsClientCertificateVerify_getClientCertRSA_m3799135236(__this, ((RSA_t3719518354 *)CastclassClass(L_27, RSA_t3719518354_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_4 = L_28;
		SslHandshakeHash_t3044322977 * L_29 = V_2;
		RSA_t3719518354 * L_30 = V_4;
		ByteU5BU5D_t3397334013* L_31 = SslHandshakeHash_CreateSignature_m3001618400(L_29, L_30, /*hidden argument*/NULL);
		V_3 = L_31;
	}

IL_00b0:
	{
		ByteU5BU5D_t3397334013* L_32 = V_3;
		TlsStream_Write_m2055734301(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_32)->max_length))))))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_33 = V_3;
		ByteU5BU5D_t3397334013* L_34 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3340472487_il2cpp_TypeInfo_var;
extern Il2CppClass* RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var;
extern Il2CppClass* RSA_t3719518354_il2cpp_TypeInfo_var;
extern Il2CppClass* NotImplementedException_t2785117854_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral783533938;
extern const uint32_t TlsClientCertificateVerify_ProcessAsTls1_m1960818833_MetadataUsageId;
extern "C"  void TlsClientCertificateVerify_ProcessAsTls1_m1960818833 (TlsClientCertificateVerify_t4150496570 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_ProcessAsTls1_m1960818833_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	AsymmetricAlgorithm_t784058677 * V_0 = NULL;
	ClientContext_t3002158488 * V_1 = NULL;
	MD5SHA1_t3340472487 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	RSA_t3719518354 * V_4 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (AsymmetricAlgorithm_t784058677 *)NULL;
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_1 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		ClientContext_t3002158488 * L_1 = V_1;
		SslClientStream_t3918817353 * L_2 = ClientContext_get_SslStream_m360110741(L_1, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_3 = V_1;
		TlsClientSettings_t2311449551 * L_4 = Context_get_ClientSettings_m1185615112(L_3, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_5 = TlsClientSettings_get_ClientCertificate_m89435195(L_4, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_6 = V_1;
		TlsClientSettings_t2311449551 * L_7 = Context_get_ClientSettings_m1185615112(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m2817634620(L_7, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t784058677 * L_9 = SslClientStream_RaisePrivateKeySelection_m2326189090(L_2, L_5, L_8, /*hidden argument*/NULL);
		V_0 = L_9;
		AsymmetricAlgorithm_t784058677 * L_10 = V_0;
		if (L_10)
		{
			goto IL_0043;
		}
	}
	{
		TlsException_t583514812 * L_11 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_11, ((int32_t)90), _stringLiteral783533938, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_11);
	}

IL_0043:
	{
		MD5SHA1_t3340472487 * L_12 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_12, /*hidden argument*/NULL);
		V_2 = L_12;
		MD5SHA1_t3340472487 * L_13 = V_2;
		ClientContext_t3002158488 * L_14 = V_1;
		TlsStream_t4089752859 * L_15 = Context_get_HandshakeMessages_m2765912589(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_16 = TlsStream_ToArray_m3731779317(L_15, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_17 = V_1;
		TlsStream_t4089752859 * L_18 = Context_get_HandshakeMessages_m2765912589(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_m3945506296(L_13, L_16, 0, (((int32_t)((int32_t)L_19))), /*hidden argument*/NULL);
		V_3 = (ByteU5BU5D_t3397334013*)NULL;
		AsymmetricAlgorithm_t784058677 * L_20 = V_0;
		if (((RSACryptoServiceProvider_t4229286967 *)IsInstSealed(L_20, RSACryptoServiceProvider_t4229286967_il2cpp_TypeInfo_var)))
		{
			goto IL_008d;
		}
	}

IL_0075:
	try
	{ // begin try (depth: 1)
		MD5SHA1_t3340472487 * L_21 = V_2;
		AsymmetricAlgorithm_t784058677 * L_22 = V_0;
		ByteU5BU5D_t3397334013* L_23 = MD5SHA1_CreateSignature_m4274114929(L_21, ((RSA_t3719518354 *)CastclassClass(L_22, RSA_t3719518354_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_3 = L_23;
		goto IL_008d;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (NotImplementedException_t2785117854_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_t3397334013* L_24 = V_3;
		if (L_24)
		{
			goto IL_00aa;
		}
	}
	{
		AsymmetricAlgorithm_t784058677 * L_25 = V_0;
		RSA_t3719518354 * L_26 = TlsClientCertificateVerify_getClientCertRSA_m3799135236(__this, ((RSA_t3719518354 *)CastclassClass(L_25, RSA_t3719518354_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		V_4 = L_26;
		MD5SHA1_t3340472487 * L_27 = V_2;
		RSA_t3719518354 * L_28 = V_4;
		ByteU5BU5D_t3397334013* L_29 = MD5SHA1_CreateSignature_m4274114929(L_27, L_28, /*hidden argument*/NULL);
		V_3 = L_29;
	}

IL_00aa:
	{
		ByteU5BU5D_t3397334013* L_30 = V_3;
		TlsStream_Write_m2055734301(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length))))))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_31 = V_3;
		ByteU5BU5D_t3397334013* L_32 = V_3;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t1462703416_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAManaged_t3034748748_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificateVerify_getClientCertRSA_m3799135236_MetadataUsageId;
extern "C"  RSA_t3719518354 * TlsClientCertificateVerify_getClientCertRSA_m3799135236 (TlsClientCertificateVerify_t4150496570 * __this, RSA_t3719518354 * ___privKey0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_getClientCertRSA_m3799135236_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSAParameters_t1462703416  V_0;
	memset(&V_0, 0, sizeof(V_0));
	RSAParameters_t1462703416  V_1;
	memset(&V_1, 0, sizeof(V_1));
	ASN1_t924533536 * V_2 = NULL;
	ASN1_t924533536 * V_3 = NULL;
	ASN1_t924533536 * V_4 = NULL;
	int32_t V_5 = 0;
	RSAManaged_t3034748748 * V_6 = NULL;
	{
		Initobj (RSAParameters_t1462703416_il2cpp_TypeInfo_var, (&V_0));
		RSA_t3719518354 * L_0 = ___privKey0;
		RSAParameters_t1462703416  L_1 = VirtFuncInvoker1< RSAParameters_t1462703416 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_0, (bool)1);
		V_1 = L_1;
		Context_t4285182719 * L_2 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_3 = Context_get_ClientSettings_m1185615112(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_4 = TlsClientSettings_get_Certificates_m2509165647(L_3, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_5 = X509CertificateCollection_get_Item_m902045290(L_4, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_6 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(13 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetPublicKey() */, L_5);
		ASN1_t924533536 * L_7 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_7, L_6, /*hidden argument*/NULL);
		V_2 = L_7;
		ASN1_t924533536 * L_8 = V_2;
		ASN1_t924533536 * L_9 = ASN1_get_Item_m3505242534(L_8, 0, /*hidden argument*/NULL);
		V_3 = L_9;
		ASN1_t924533536 * L_10 = V_3;
		if (!L_10)
		{
			goto IL_004b;
		}
	}
	{
		ASN1_t924533536 * L_11 = V_3;
		uint8_t L_12 = ASN1_get_Tag_m2798873007(L_11, /*hidden argument*/NULL);
		if ((((int32_t)L_12) == ((int32_t)2)))
		{
			goto IL_004d;
		}
	}

IL_004b:
	{
		return (RSA_t3719518354 *)NULL;
	}

IL_004d:
	{
		ASN1_t924533536 * L_13 = V_2;
		ASN1_t924533536 * L_14 = ASN1_get_Item_m3505242534(L_13, 1, /*hidden argument*/NULL);
		V_4 = L_14;
		ASN1_t924533536 * L_15 = V_4;
		uint8_t L_16 = ASN1_get_Tag_m2798873007(L_15, /*hidden argument*/NULL);
		if ((((int32_t)L_16) == ((int32_t)2)))
		{
			goto IL_0065;
		}
	}
	{
		return (RSA_t3719518354 *)NULL;
	}

IL_0065:
	{
		ASN1_t924533536 * L_17 = V_3;
		ByteU5BU5D_t3397334013* L_18 = ASN1_get_Value_m2229768312(L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_19 = TlsClientCertificateVerify_getUnsignedBigInteger_m3357519896(__this, L_18, /*hidden argument*/NULL);
		(&V_0)->set_Modulus_6(L_19);
		ASN1_t924533536 * L_20 = V_4;
		ByteU5BU5D_t3397334013* L_21 = ASN1_get_Value_m2229768312(L_20, /*hidden argument*/NULL);
		(&V_0)->set_Exponent_7(L_21);
		ByteU5BU5D_t3397334013* L_22 = (&V_1)->get_D_2();
		(&V_0)->set_D_2(L_22);
		ByteU5BU5D_t3397334013* L_23 = (&V_1)->get_DP_3();
		(&V_0)->set_DP_3(L_23);
		ByteU5BU5D_t3397334013* L_24 = (&V_1)->get_DQ_4();
		(&V_0)->set_DQ_4(L_24);
		ByteU5BU5D_t3397334013* L_25 = (&V_1)->get_InverseQ_5();
		(&V_0)->set_InverseQ_5(L_25);
		ByteU5BU5D_t3397334013* L_26 = (&V_1)->get_P_0();
		(&V_0)->set_P_0(L_26);
		ByteU5BU5D_t3397334013* L_27 = (&V_1)->get_Q_1();
		(&V_0)->set_Q_1(L_27);
		ByteU5BU5D_t3397334013* 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_t3034748748 * L_30 = (RSAManaged_t3034748748 *)il2cpp_codegen_object_new(RSAManaged_t3034748748_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m1680944437(L_30, L_29, /*hidden argument*/NULL);
		V_6 = L_30;
		RSAManaged_t3034748748 * L_31 = V_6;
		RSAParameters_t1462703416  L_32 = V_0;
		VirtActionInvoker1< RSAParameters_t1462703416  >::Invoke(13 /* System.Void Mono.Security.Cryptography.RSAManaged::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_31, L_32);
		RSAManaged_t3034748748 * L_33 = V_6;
		return L_33;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Handshake.Client.TlsClientCertificateVerify::getUnsignedBigInteger(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientCertificateVerify_getUnsignedBigInteger_m3357519896_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* TlsClientCertificateVerify_getUnsignedBigInteger_m3357519896 (TlsClientCertificateVerify_t4150496570 * __this, ByteU5BU5D_t3397334013* ___integer0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientCertificateVerify_getUnsignedBigInteger_m3357519896_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ___integer0;
		int32_t L_1 = 0;
		uint8_t L_2 = (L_0)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_1));
		if (L_2)
		{
			goto IL_0021;
		}
	}
	{
		ByteU5BU5D_t3397334013* 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_4));
		ByteU5BU5D_t3397334013* L_5 = ___integer0;
		ByteU5BU5D_t3397334013* L_6 = V_1;
		int32_t L_7 = V_0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_5, 1, (Il2CppArray *)(Il2CppArray *)L_6, 0, L_7, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_8 = V_1;
		return L_8;
	}

IL_0021:
	{
		ByteU5BU5D_t3397334013* 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_m3019203717 (TlsClientFinished_t3939745042 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		HandshakeMessage__ctor_m3783158590(__this, L_0, ((int32_t)20), /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::.cctor()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3939745042_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D21_13_FieldInfo_var;
extern const uint32_t TlsClientFinished__cctor_m2632026509_MetadataUsageId;
extern "C"  void TlsClientFinished__cctor_m2632026509 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished__cctor_m2632026509_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D21_13_FieldInfo_var), /*hidden argument*/NULL);
		((TlsClientFinished_t3939745042_StaticFields*)TlsClientFinished_t3939745042_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_m840013355 (TlsClientFinished_t3939745042 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::ProcessAsSsl3()
extern Il2CppClass* SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsClientFinished_t3939745042_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientFinished_ProcessAsSsl3_m1576972610_MetadataUsageId;
extern "C"  void TlsClientFinished_ProcessAsSsl3_m1576972610 (TlsClientFinished_t3939745042 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished_ProcessAsSsl3_m1576972610_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = Context_get_MasterSecret_m231851308(L_0, /*hidden argument*/NULL);
		SslHandshakeHash_t3044322977 * L_2 = (SslHandshakeHash_t3044322977 *)il2cpp_codegen_object_new(SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1269339424(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Context_t4285182719 * L_3 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_4 = Context_get_HandshakeMessages_m2765912589(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = TlsStream_ToArray_m3731779317(L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		HashAlgorithm_t2624936259 * L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = V_1;
		ByteU5BU5D_t3397334013* L_8 = V_1;
		ByteU5BU5D_t3397334013* L_9 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), L_9, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_10 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(TlsClientFinished_t3939745042_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_11 = ((TlsClientFinished_t3939745042_StaticFields*)TlsClientFinished_t3939745042_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t3397334013* L_12 = ((TlsClientFinished_t3939745042_StaticFields*)TlsClientFinished_t3939745042_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t3397334013* L_13 = ((TlsClientFinished_t3939745042_StaticFields*)TlsClientFinished_t3939745042_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		HashAlgorithm_TransformBlock_m4190258810(L_10, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), L_13, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_14 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_15 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_14, L_15, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_16 = V_0;
		ByteU5BU5D_t3397334013* L_17 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_16);
		TlsStream_Write_m3425460533(__this, L_17, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientFinished::ProcessAsTls1()
extern Il2CppClass* MD5SHA1_t3340472487_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1158665643;
extern const uint32_t TlsClientFinished_ProcessAsTls1_m3490501889_MetadataUsageId;
extern "C"  void TlsClientFinished_ProcessAsTls1_m3490501889 (TlsClientFinished_t3939745042 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientFinished_ProcessAsTls1_m3490501889_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	{
		MD5SHA1_t3340472487 * L_0 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		Context_t4285182719 * L_1 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_2 = Context_get_HandshakeMessages_m2765912589(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = TlsStream_ToArray_m3731779317(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		HashAlgorithm_t2624936259 * L_4 = V_0;
		ByteU5BU5D_t3397334013* L_5 = V_1;
		ByteU5BU5D_t3397334013* L_6 = V_1;
		ByteU5BU5D_t3397334013* L_7 = HashAlgorithm_ComputeHash_m3945506296(L_4, L_5, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_6)->max_length)))), /*hidden argument*/NULL);
		V_2 = L_7;
		Context_t4285182719 * L_8 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_9 = Context_get_Write_m2299361626(L_8, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_10 = SecurityParameters_get_Cipher_m2392911632(L_9, /*hidden argument*/NULL);
		Context_t4285182719 * L_11 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_12 = Context_get_MasterSecret_m231851308(L_11, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = V_2;
		ByteU5BU5D_t3397334013* L_14 = CipherSuite_PRF_m3379816948(L_10, L_12, _stringLiteral1158665643, L_13, ((int32_t)12), /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(__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_m1699671541 (TlsClientHello_t2939633944 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		HandshakeMessage__ctor_m3783158590(__this, L_0, 1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::Update()
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientHello_Update_m1723542631_MetadataUsageId;
extern "C"  void TlsClientHello_Update_m1723542631 (TlsClientHello_t2939633944 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientHello_Update_m1723542631_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_1 = V_0;
		ByteU5BU5D_t3397334013* L_2 = __this->get_random_9();
		Context_set_ClientRandom_m631392719(L_1, L_2, /*hidden argument*/NULL);
		ClientContext_t3002158488 * L_3 = V_0;
		Context_t4285182719 * L_4 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int16_t L_5 = Context_get_Protocol_m1537476188(L_4, /*hidden argument*/NULL);
		ClientContext_set_ClientHelloProtocol_m2246603449(L_3, L_5, /*hidden argument*/NULL);
		__this->set_random_9((ByteU5BU5D_t3397334013*)NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientHello::ProcessAsSsl3()
extern "C"  void TlsClientHello_ProcessAsSsl3_m3243018502 (TlsClientHello_t2939633944 * __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_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientHello_ProcessAsTls1_m881347961_MetadataUsageId;
extern "C"  void TlsClientHello_ProcessAsTls1_m881347961 (TlsClientHello_t2939633944 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientHello_ProcessAsTls1_m881347961_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int16_t L_1 = Context_get_Protocol_m1537476188(L_0, /*hidden argument*/NULL);
		TlsStream_Write_m2055734301(__this, L_1, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_2 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_2, /*hidden argument*/NULL);
		V_0 = L_2;
		TlsStream_t4089752859 * L_3 = V_0;
		Context_t4285182719 * L_4 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_5 = Context_GetUnixTime_m3777795180(L_4, /*hidden argument*/NULL);
		TlsStream_Write_m4025102703(L_3, L_5, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_6 = V_0;
		Context_t4285182719 * L_7 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_8 = Context_GetSecureRandomBytes_m1065353673(L_7, ((int32_t)28), /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(L_6, L_8, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_9 = V_0;
		ByteU5BU5D_t3397334013* L_10 = TlsStream_ToArray_m3731779317(L_9, /*hidden argument*/NULL);
		__this->set_random_9(L_10);
		TlsStream_t4089752859 * L_11 = V_0;
		TlsStream_Reset_m1504601050(L_11, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_12 = __this->get_random_9();
		TlsStream_Write_m3425460533(__this, L_12, /*hidden argument*/NULL);
		Context_t4285182719 * L_13 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_14 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_15 = Context_get_ClientSettings_m1185615112(L_14, /*hidden argument*/NULL);
		String_t* L_16 = TlsClientSettings_get_TargetHost_m2817634620(L_15, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_17 = ClientSessionCache_FromHost_m1396036471(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
		Context_set_SessionId_m1229908268(L_13, L_17, /*hidden argument*/NULL);
		Context_t4285182719 * L_18 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_19 = Context_get_SessionId_m1296338025(L_18, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00c6;
		}
	}
	{
		Context_t4285182719 * L_20 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_21 = Context_get_SessionId_m1296338025(L_20, /*hidden argument*/NULL);
		TlsStream_Write_m2271546135(__this, (((int32_t)((uint8_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length))))))), /*hidden argument*/NULL);
		Context_t4285182719 * L_22 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_23 = Context_get_SessionId_m1296338025(L_22, /*hidden argument*/NULL);
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_23)->max_length))))) <= ((int32_t)0)))
		{
			goto IL_00c1;
		}
	}
	{
		Context_t4285182719 * L_24 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_25 = Context_get_SessionId_m1296338025(L_24, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(__this, L_25, /*hidden argument*/NULL);
	}

IL_00c1:
	{
		goto IL_00cd;
	}

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

IL_00cd:
	{
		Context_t4285182719 * L_26 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_27 = Context_get_SupportedCiphers_m2172827298(L_26, /*hidden argument*/NULL);
		int32_t L_28 = CipherSuiteCollection_get_Count_m1700100413(L_27, /*hidden argument*/NULL);
		TlsStream_Write_m2055734301(__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_t4285182719 * L_29 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_30 = Context_get_SupportedCiphers_m2172827298(L_29, /*hidden argument*/NULL);
		int32_t L_31 = V_1;
		CipherSuite_t491456551 * L_32 = CipherSuiteCollection_get_Item_m280627160(L_30, L_31, /*hidden argument*/NULL);
		int16_t L_33 = CipherSuite_get_Code_m3902213587(L_32, /*hidden argument*/NULL);
		TlsStream_Write_m2055734301(__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_t4285182719 * L_36 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_37 = Context_get_SupportedCiphers_m2172827298(L_36, /*hidden argument*/NULL);
		int32_t L_38 = CipherSuiteCollection_get_Count_m1700100413(L_37, /*hidden argument*/NULL);
		if ((((int32_t)L_35) < ((int32_t)L_38)))
		{
			goto IL_00ed;
		}
	}
	{
		TlsStream_Write_m2271546135(__this, 1, /*hidden argument*/NULL);
		Context_t4285182719 * L_39 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_40 = Context_get_CompressionMethod_m1938328556(L_39, /*hidden argument*/NULL);
		TlsStream_Write_m2271546135(__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_m2741078239 (TlsClientKeyExchange_t3808761250 * __this, Context_t4285182719 * ___context0, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		HandshakeMessage__ctor_m3783158590(__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_m662933084 (TlsClientKeyExchange_t3808761250 * __this, const MethodInfo* method)
{
	{
		TlsClientKeyExchange_ProcessCommon_m1203833053(__this, (bool)0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::ProcessAsTls1()
extern "C"  void TlsClientKeyExchange_ProcessAsTls1_m1707307575 (TlsClientKeyExchange_t3808761250 * __this, const MethodInfo* method)
{
	{
		TlsClientKeyExchange_ProcessCommon_m1203833053(__this, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsClientKeyExchange::ProcessCommon(System.Boolean)
extern Il2CppClass* RSAManaged_t3034748748_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAPKCS1KeyExchangeFormatter_t4167037264_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientKeyExchange_ProcessCommon_m1203833053_MetadataUsageId;
extern "C"  void TlsClientKeyExchange_ProcessCommon_m1203833053 (TlsClientKeyExchange_t3808761250 * __this, bool ___sendLength0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientKeyExchange_ProcessCommon_m1203833053_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	RSA_t3719518354 * V_1 = NULL;
	RSAPKCS1KeyExchangeFormatter_t4167037264 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_1 = Context_get_Negotiating_m3946476110(L_0, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_2 = SecurityParameters_get_Cipher_m2392911632(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = CipherSuite_CreatePremasterSecret_m3728217834(L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		V_1 = (RSA_t3719518354 *)NULL;
		Context_t4285182719 * L_4 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_5 = Context_get_ServerSettings_m225713600(L_4, /*hidden argument*/NULL);
		bool L_6 = TlsServerSettings_get_ServerKeyExchange_m1147981947(L_5, /*hidden argument*/NULL);
		if (!L_6)
		{
			goto IL_004e;
		}
	}
	{
		RSAManaged_t3034748748 * L_7 = (RSAManaged_t3034748748 *)il2cpp_codegen_object_new(RSAManaged_t3034748748_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m1370411656(L_7, /*hidden argument*/NULL);
		V_1 = L_7;
		RSA_t3719518354 * L_8 = V_1;
		Context_t4285182719 * L_9 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_10 = Context_get_ServerSettings_m225713600(L_9, /*hidden argument*/NULL);
		RSAParameters_t1462703416  L_11 = TlsServerSettings_get_RsaParameters_m1327440044(L_10, /*hidden argument*/NULL);
		VirtActionInvoker1< RSAParameters_t1462703416  >::Invoke(13 /* System.Void System.Security.Cryptography.RSA::ImportParameters(System.Security.Cryptography.RSAParameters) */, L_8, L_11);
		goto IL_005f;
	}

IL_004e:
	{
		Context_t4285182719 * L_12 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_13 = Context_get_ServerSettings_m225713600(L_12, /*hidden argument*/NULL);
		RSA_t3719518354 * L_14 = TlsServerSettings_get_CertificateRSA_m1899388839(L_13, /*hidden argument*/NULL);
		V_1 = L_14;
	}

IL_005f:
	{
		RSA_t3719518354 * L_15 = V_1;
		RSAPKCS1KeyExchangeFormatter_t4167037264 * L_16 = (RSAPKCS1KeyExchangeFormatter_t4167037264 *)il2cpp_codegen_object_new(RSAPKCS1KeyExchangeFormatter_t4167037264_il2cpp_TypeInfo_var);
		RSAPKCS1KeyExchangeFormatter__ctor_m2529911523(L_16, L_15, /*hidden argument*/NULL);
		V_2 = L_16;
		RSAPKCS1KeyExchangeFormatter_t4167037264 * L_17 = V_2;
		ByteU5BU5D_t3397334013* L_18 = V_0;
		ByteU5BU5D_t3397334013* L_19 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t3397334013* L_21 = V_3;
		TlsStream_Write_m2055734301(__this, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length))))))), /*hidden argument*/NULL);
	}

IL_007e:
	{
		ByteU5BU5D_t3397334013* L_22 = V_3;
		TlsStream_Write_m3425460533(__this, L_22, /*hidden argument*/NULL);
		Context_t4285182719 * L_23 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_24 = Context_get_Negotiating_m3946476110(L_23, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_25 = SecurityParameters_get_Cipher_m2392911632(L_24, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_26 = V_0;
		VirtActionInvoker1< ByteU5BU5D_t3397334013* >::Invoke(6 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeMasterSecret(System.Byte[]) */, L_25, L_26);
		Context_t4285182719 * L_27 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_28 = Context_get_Negotiating_m3946476110(L_27, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_29 = SecurityParameters_get_Cipher_m2392911632(L_28, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(7 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeKeys() */, L_29);
		RSA_t3719518354 * L_30 = V_1;
		AsymmetricAlgorithm_Clear_m1411026031(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_m3697944709 (TlsServerCertificate_t905088469 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__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_m3673209976 (TlsServerCertificate_t905088469 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_1 = Context_get_ServerSettings_m225713600(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_2 = __this->get_certificates_9();
		TlsServerSettings_set_Certificates_m67827830(L_1, L_2, /*hidden argument*/NULL);
		Context_t4285182719 * L_3 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_4 = Context_get_ServerSettings_m225713600(L_3, /*hidden argument*/NULL);
		TlsServerSettings_UpdateCertificateRSA_m2025051563(L_4, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::ProcessAsSsl3()
extern "C"  void TlsServerCertificate_ProcessAsSsl3_m277089231 (TlsServerCertificate_t905088469 * __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_t3592472866_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t324051958_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificate_ProcessAsTls1_m3083203628_MetadataUsageId;
extern "C"  void TlsServerCertificate_ProcessAsTls1_m3083203628 (TlsServerCertificate_t905088469 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_ProcessAsTls1_m3083203628_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	X509Certificate_t324051958 * V_4 = NULL;
	{
		X509CertificateCollection_t3592472866 * L_0 = (X509CertificateCollection_t3592472866 *)il2cpp_codegen_object_new(X509CertificateCollection_t3592472866_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m858704242(L_0, /*hidden argument*/NULL);
		__this->set_certificates_9(L_0);
		V_0 = 0;
		int32_t L_1 = TlsStream_ReadInt24_m1268450166(__this, /*hidden argument*/NULL);
		V_1 = L_1;
		goto IL_004d;
	}

IL_0019:
	{
		int32_t L_2 = TlsStream_ReadInt24_m1268450166(__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_t3397334013* L_6 = TlsStream_ReadBytes_m3301522097(__this, L_5, /*hidden argument*/NULL);
		V_3 = L_6;
		ByteU5BU5D_t3397334013* L_7 = V_3;
		X509Certificate_t324051958 * L_8 = (X509Certificate_t324051958 *)il2cpp_codegen_object_new(X509Certificate_t324051958_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m2143220811(L_8, L_7, /*hidden argument*/NULL);
		V_4 = L_8;
		X509CertificateCollection_t3592472866 * L_9 = __this->get_certificates_9();
		X509Certificate_t324051958 * L_10 = V_4;
		X509CertificateCollection_Add_m4008705157(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_t3592472866 * L_15 = __this->get_certificates_9();
		TlsServerCertificate_validateCertificates_m1988583701(__this, L_15, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::checkCertificateUsage(Mono.Security.X509.X509Certificate)
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* KeyUsageExtension_t1909787375_il2cpp_TypeInfo_var;
extern Il2CppClass* ExtendedKeyUsageExtension_t3816993686_il2cpp_TypeInfo_var;
extern Il2CppClass* NetscapeCertTypeExtension_t3880736488_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1568864492;
extern Il2CppCodeGenString* _stringLiteral406065076;
extern Il2CppCodeGenString* _stringLiteral1888690766;
extern Il2CppCodeGenString* _stringLiteral3970765720;
extern Il2CppCodeGenString* _stringLiteral3970765683;
extern const uint32_t TlsServerCertificate_checkCertificateUsage_m2392234217_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkCertificateUsage_m2392234217 (TlsServerCertificate_t905088469 * __this, X509Certificate_t324051958 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkCertificateUsage_m2392234217_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	int32_t V_1 = 0;
	KeyUsageExtension_t1909787375 * V_2 = NULL;
	ExtendedKeyUsageExtension_t3816993686 * V_3 = NULL;
	X509Extension_t1439760128 * V_4 = NULL;
	NetscapeCertTypeExtension_t3880736488 * V_5 = NULL;
	int32_t V_6 = 0;
	int32_t G_B19_0 = 0;
	int32_t G_B26_0 = 0;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		X509Certificate_t324051958 * L_1 = ___cert0;
		int32_t L_2 = X509Certificate_get_Version_m3031985157(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_t3002158488 * L_3 = V_0;
		SecurityParameters_t2290372928 * L_4 = Context_get_Negotiating_m3946476110(L_3, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_5 = SecurityParameters_get_Cipher_m2392911632(L_4, /*hidden argument*/NULL);
		int32_t L_6 = CipherSuite_get_ExchangeAlgorithmType_m3219223789(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_t1909787375 *)NULL;
		V_3 = (ExtendedKeyUsageExtension_t3816993686 *)NULL;
		X509Certificate_t324051958 * L_8 = ___cert0;
		X509ExtensionCollection_t1640144840 * L_9 = X509Certificate_get_Extensions_m1784966408(L_8, /*hidden argument*/NULL);
		X509Extension_t1439760128 * L_10 = X509ExtensionCollection_get_Item_m1497604741(L_9, _stringLiteral1568864492, /*hidden argument*/NULL);
		V_4 = L_10;
		X509Extension_t1439760128 * L_11 = V_4;
		if (!L_11)
		{
			goto IL_008f;
		}
	}
	{
		X509Extension_t1439760128 * L_12 = V_4;
		KeyUsageExtension_t1909787375 * L_13 = (KeyUsageExtension_t1909787375 *)il2cpp_codegen_object_new(KeyUsageExtension_t1909787375_il2cpp_TypeInfo_var);
		KeyUsageExtension__ctor_m2471620836(L_13, L_12, /*hidden argument*/NULL);
		V_2 = L_13;
	}

IL_008f:
	{
		X509Certificate_t324051958 * L_14 = ___cert0;
		X509ExtensionCollection_t1640144840 * L_15 = X509Certificate_get_Extensions_m1784966408(L_14, /*hidden argument*/NULL);
		X509Extension_t1439760128 * L_16 = X509ExtensionCollection_get_Item_m1497604741(L_15, _stringLiteral406065076, /*hidden argument*/NULL);
		V_4 = L_16;
		X509Extension_t1439760128 * L_17 = V_4;
		if (!L_17)
		{
			goto IL_00b0;
		}
	}
	{
		X509Extension_t1439760128 * L_18 = V_4;
		ExtendedKeyUsageExtension_t3816993686 * L_19 = (ExtendedKeyUsageExtension_t3816993686 *)il2cpp_codegen_object_new(ExtendedKeyUsageExtension_t3816993686_il2cpp_TypeInfo_var);
		ExtendedKeyUsageExtension__ctor_m3310261285(L_19, L_18, /*hidden argument*/NULL);
		V_3 = L_19;
	}

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

IL_00ca:
	{
		ExtendedKeyUsageExtension_t3816993686 * L_25 = V_3;
		ArrayList_t4252133567 * L_26 = ExtendedKeyUsageExtension_get_KeyPurpose_m1625001387(L_25, /*hidden argument*/NULL);
		bool L_27 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_26, _stringLiteral1888690766);
		if (L_27)
		{
			goto IL_00f1;
		}
	}
	{
		ExtendedKeyUsageExtension_t3816993686 * L_28 = V_3;
		ArrayList_t4252133567 * L_29 = ExtendedKeyUsageExtension_get_KeyPurpose_m1625001387(L_28, /*hidden argument*/NULL);
		bool L_30 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_29, _stringLiteral3970765720);
		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_t1909787375 * L_31 = V_2;
		if (!L_31)
		{
			goto IL_0101;
		}
	}
	{
		KeyUsageExtension_t1909787375 * L_32 = V_2;
		int32_t L_33 = V_1;
		bool L_34 = KeyUsageExtension_Support_m2720178361(L_32, L_33, /*hidden argument*/NULL);
		return L_34;
	}

IL_0101:
	{
		ExtendedKeyUsageExtension_t3816993686 * L_35 = V_3;
		if (!L_35)
		{
			goto IL_0130;
		}
	}
	{
		ExtendedKeyUsageExtension_t3816993686 * L_36 = V_3;
		ArrayList_t4252133567 * L_37 = ExtendedKeyUsageExtension_get_KeyPurpose_m1625001387(L_36, /*hidden argument*/NULL);
		bool L_38 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_37, _stringLiteral1888690766);
		if (L_38)
		{
			goto IL_012e;
		}
	}
	{
		ExtendedKeyUsageExtension_t3816993686 * L_39 = V_3;
		ArrayList_t4252133567 * L_40 = ExtendedKeyUsageExtension_get_KeyPurpose_m1625001387(L_39, /*hidden argument*/NULL);
		bool L_41 = VirtFuncInvoker1< bool, Il2CppObject * >::Invoke(32 /* System.Boolean System.Collections.ArrayList::Contains(System.Object) */, L_40, _stringLiteral3970765720);
		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_t324051958 * L_42 = ___cert0;
		X509ExtensionCollection_t1640144840 * L_43 = X509Certificate_get_Extensions_m1784966408(L_42, /*hidden argument*/NULL);
		X509Extension_t1439760128 * L_44 = X509ExtensionCollection_get_Item_m1497604741(L_43, _stringLiteral3970765683, /*hidden argument*/NULL);
		V_4 = L_44;
		X509Extension_t1439760128 * L_45 = V_4;
		if (!L_45)
		{
			goto IL_015c;
		}
	}
	{
		X509Extension_t1439760128 * L_46 = V_4;
		NetscapeCertTypeExtension_t3880736488 * L_47 = (NetscapeCertTypeExtension_t3880736488 *)il2cpp_codegen_object_new(NetscapeCertTypeExtension_t3880736488_il2cpp_TypeInfo_var);
		NetscapeCertTypeExtension__ctor_m3885754615(L_47, L_46, /*hidden argument*/NULL);
		V_5 = L_47;
		NetscapeCertTypeExtension_t3880736488 * L_48 = V_5;
		bool L_49 = NetscapeCertTypeExtension_Support_m3954199663(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_t2071877448_0_0_0_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* Int64_t909078037_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate_t283079845_il2cpp_TypeInfo_var;
extern Il2CppClass* ArrayList_t4252133567_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32_t2071877448_il2cpp_TypeInfo_var;
extern Il2CppClass* X509CertificateCollection_t3592472866_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Chain_t1938971907_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* Type_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Int32U5BU5D_t3030399641_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3992689810;
extern Il2CppCodeGenString* _stringLiteral704794301;
extern Il2CppCodeGenString* _stringLiteral4164393260;
extern const uint32_t TlsServerCertificate_validateCertificates_m1988583701_MetadataUsageId;
extern "C"  void TlsServerCertificate_validateCertificates_m1988583701 (TlsServerCertificate_t905088469 * __this, X509CertificateCollection_t3592472866 * ___certificates0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_validateCertificates_m1988583701_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	uint8_t V_1 = 0;
	ValidationResult_t1782558132 * V_2 = NULL;
	int64_t V_3 = 0;
	String_t* V_4 = NULL;
	X509Certificate_t324051958 * V_5 = NULL;
	X509Certificate_t283079845 * V_6 = NULL;
	ArrayList_t4252133567 * V_7 = NULL;
	X509CertificateCollection_t3592472866 * V_8 = NULL;
	X509Chain_t1938971907 * V_9 = NULL;
	bool V_10 = false;
	Int32U5BU5D_t3030399641* V_11 = NULL;
	int64_t V_12 = 0;
	int32_t V_13 = 0;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		V_1 = ((int32_t)42);
		ClientContext_t3002158488 * L_1 = V_0;
		SslClientStream_t3918817353 * L_2 = ClientContext_get_SslStream_m360110741(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_t3002158488 * L_4 = V_0;
		SslClientStream_t3918817353 * L_5 = ClientContext_get_SslStream_m360110741(L_4, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_6 = ___certificates0;
		ValidationResult_t1782558132 * L_7 = VirtFuncInvoker1< ValidationResult_t1782558132 *, X509CertificateCollection_t3592472866 * >::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_t1782558132 * L_8 = V_2;
		bool L_9 = ValidationResult_get_Trusted_m1316755606(L_8, /*hidden argument*/NULL);
		if (!L_9)
		{
			goto IL_0038;
		}
	}
	{
		return;
	}

IL_0038:
	{
		ValidationResult_t1782558132 * L_10 = V_2;
		int32_t L_11 = ValidationResult_get_ErrorCode_m599531882(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_t909078037_il2cpp_TypeInfo_var, &L_17);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_19 = String_Format_m2024975688(NULL /*static, unused*/, _stringLiteral3992689810, 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_m2596409543(NULL /*static, unused*/, _stringLiteral704794301, L_21, /*hidden argument*/NULL);
		TlsException_t583514812 * L_23 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_23, L_20, L_22, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_00b4:
	{
		X509CertificateCollection_t3592472866 * L_24 = ___certificates0;
		X509Certificate_t324051958 * L_25 = X509CertificateCollection_get_Item_m123527754(L_24, 0, /*hidden argument*/NULL);
		V_5 = L_25;
		X509Certificate_t324051958 * L_26 = V_5;
		ByteU5BU5D_t3397334013* L_27 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_26);
		X509Certificate_t283079845 * L_28 = (X509Certificate_t283079845 *)il2cpp_codegen_object_new(X509Certificate_t283079845_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m1497774341(L_28, L_27, /*hidden argument*/NULL);
		V_6 = L_28;
		ArrayList_t4252133567 * L_29 = (ArrayList_t4252133567 *)il2cpp_codegen_object_new(ArrayList_t4252133567_il2cpp_TypeInfo_var);
		ArrayList__ctor_m4012174379(L_29, /*hidden argument*/NULL);
		V_7 = L_29;
		X509Certificate_t324051958 * L_30 = V_5;
		bool L_31 = TlsServerCertificate_checkCertificateUsage_m2392234217(__this, L_30, /*hidden argument*/NULL);
		if (L_31)
		{
			goto IL_00f1;
		}
	}
	{
		ArrayList_t4252133567 * L_32 = V_7;
		int32_t L_33 = ((int32_t)-2146762490);
		Il2CppObject * L_34 = Box(Int32_t2071877448_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_t324051958 * L_35 = V_5;
		bool L_36 = TlsServerCertificate_checkServerIdentity_m3836435780(__this, L_35, /*hidden argument*/NULL);
		if (L_36)
		{
			goto IL_0110;
		}
	}
	{
		ArrayList_t4252133567 * L_37 = V_7;
		int32_t L_38 = ((int32_t)-2146762481);
		Il2CppObject * L_39 = Box(Int32_t2071877448_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_t3592472866 * L_40 = ___certificates0;
		X509CertificateCollection_t3592472866 * L_41 = (X509CertificateCollection_t3592472866 *)il2cpp_codegen_object_new(X509CertificateCollection_t3592472866_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m583031014(L_41, L_40, /*hidden argument*/NULL);
		V_8 = L_41;
		X509CertificateCollection_t3592472866 * L_42 = V_8;
		X509Certificate_t324051958 * L_43 = V_5;
		X509CertificateCollection_Remove_m2722259192(L_42, L_43, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_44 = V_8;
		X509Chain_t1938971907 * L_45 = (X509Chain_t1938971907 *)il2cpp_codegen_object_new(X509Chain_t1938971907_il2cpp_TypeInfo_var);
		X509Chain__ctor_m1113875360(L_45, L_44, /*hidden argument*/NULL);
		V_9 = L_45;
		V_10 = (bool)0;
	}

IL_012d:
	try
	{ // begin try (depth: 1)
		X509Chain_t1938971907 * L_46 = V_9;
		X509Certificate_t324051958 * L_47 = V_5;
		bool L_48 = X509Chain_Build_m175470596(L_46, L_47, /*hidden argument*/NULL);
		V_10 = L_48;
		goto IL_0146;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_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_t1938971907 * L_50 = V_9;
		int32_t L_51 = X509Chain_get_Status_m2726750609(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_t4252133567 * L_58 = V_7;
		int32_t L_59 = ((int32_t)-2146869223);
		Il2CppObject * L_60 = Box(Int32_t2071877448_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_t4252133567 * L_61 = V_7;
		int32_t L_62 = ((int32_t)-2146869232);
		Il2CppObject * L_63 = Box(Int32_t2071877448_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_t4252133567 * L_64 = V_7;
		int32_t L_65 = ((int32_t)-2146762494);
		Il2CppObject * L_66 = Box(Int32_t2071877448_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_t4252133567 * L_67 = V_7;
		int32_t L_68 = ((int32_t)-2146762495);
		Il2CppObject * L_69 = Box(Int32_t2071877448_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_t4252133567 * L_70 = V_7;
		int32_t L_71 = ((int32_t)-2146762486);
		Il2CppObject * L_72 = Box(Int32_t2071877448_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_t4252133567 * L_73 = V_7;
		int32_t L_74 = ((int32_t)-2146762487);
		Il2CppObject * L_75 = Box(Int32_t2071877448_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_t4252133567 * L_76 = V_7;
		X509Chain_t1938971907 * L_77 = V_9;
		int32_t L_78 = X509Chain_get_Status_m2726750609(L_77, /*hidden argument*/NULL);
		int32_t L_79 = ((int32_t)L_78);
		Il2CppObject * L_80 = Box(Int32_t2071877448_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_t4252133567 * L_81 = V_7;
		IL2CPP_RUNTIME_CLASS_INIT(Type_t_il2cpp_TypeInfo_var);
		Type_t * L_82 = Type_GetTypeFromHandle_m432505302(NULL /*static, unused*/, LoadTypeToken(Int32_t2071877448_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_t3030399641*)Castclass(L_83, Int32U5BU5D_t3030399641_il2cpp_TypeInfo_var));
		ClientContext_t3002158488 * L_84 = V_0;
		SslClientStream_t3918817353 * L_85 = ClientContext_get_SslStream_m360110741(L_84, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_86 = V_6;
		Int32U5BU5D_t3030399641* L_87 = V_11;
		bool L_88 = VirtFuncInvoker2< bool, X509Certificate_t283079845 *, Int32U5BU5D_t3030399641* >::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_t583514812 * L_90 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_90, L_89, _stringLiteral4164393260, /*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_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* SubjectAltNameExtension_t604050261_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1568864490;
extern const uint32_t TlsServerCertificate_checkServerIdentity_m3836435780_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkServerIdentity_m3836435780 (TlsServerCertificate_t905088469 * __this, X509Certificate_t324051958 * ___cert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkServerIdentity_m3836435780_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	String_t* V_1 = NULL;
	X509Extension_t1439760128 * V_2 = NULL;
	SubjectAltNameExtension_t604050261 * V_3 = NULL;
	String_t* V_4 = NULL;
	StringU5BU5D_t1642385972* V_5 = NULL;
	int32_t V_6 = 0;
	String_t* V_7 = NULL;
	StringU5BU5D_t1642385972* V_8 = NULL;
	int32_t V_9 = 0;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var));
		ClientContext_t3002158488 * L_1 = V_0;
		TlsClientSettings_t2311449551 * L_2 = Context_get_ClientSettings_m1185615112(L_1, /*hidden argument*/NULL);
		String_t* L_3 = TlsClientSettings_get_TargetHost_m2817634620(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
		X509Certificate_t324051958 * L_4 = ___cert0;
		X509ExtensionCollection_t1640144840 * L_5 = X509Certificate_get_Extensions_m1784966408(L_4, /*hidden argument*/NULL);
		X509Extension_t1439760128 * L_6 = X509ExtensionCollection_get_Item_m1497604741(L_5, _stringLiteral1568864490, /*hidden argument*/NULL);
		V_2 = L_6;
		X509Extension_t1439760128 * L_7 = V_2;
		if (!L_7)
		{
			goto IL_00a4;
		}
	}
	{
		X509Extension_t1439760128 * L_8 = V_2;
		SubjectAltNameExtension_t604050261 * L_9 = (SubjectAltNameExtension_t604050261 *)il2cpp_codegen_object_new(SubjectAltNameExtension_t604050261_il2cpp_TypeInfo_var);
		SubjectAltNameExtension__ctor_m2621620126(L_9, L_8, /*hidden argument*/NULL);
		V_3 = L_9;
		SubjectAltNameExtension_t604050261 * L_10 = V_3;
		StringU5BU5D_t1642385972* L_11 = SubjectAltNameExtension_get_DNSNames_m1798931443(L_10, /*hidden argument*/NULL);
		V_5 = L_11;
		V_6 = 0;
		goto IL_0062;
	}

IL_0046:
	{
		StringU5BU5D_t1642385972* L_12 = V_5;
		int32_t L_13 = V_6;
		int32_t L_14 = L_13;
		String_t* L_15 = (L_12)->GetAtUnchecked(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_m239075186(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_t1642385972* L_21 = V_5;
		if ((((int32_t)L_20) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))))))
		{
			goto IL_0046;
		}
	}
	{
		SubjectAltNameExtension_t604050261 * L_22 = V_3;
		StringU5BU5D_t1642385972* L_23 = SubjectAltNameExtension_get_IPAddresses_m3207151211(L_22, /*hidden argument*/NULL);
		V_8 = L_23;
		V_9 = 0;
		goto IL_0099;
	}

IL_007d:
	{
		StringU5BU5D_t1642385972* L_24 = V_8;
		int32_t L_25 = V_9;
		int32_t L_26 = L_25;
		String_t* L_27 = (L_24)->GetAtUnchecked(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_m1790663636(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_t1642385972* 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_t324051958 * 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_m547589480(__this, L_35, /*hidden argument*/NULL);
		return L_36;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate::checkDomainName(System.String)
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* Regex_t1803876613_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4039886463;
extern const uint32_t TlsServerCertificate_checkDomainName_m547589480_MetadataUsageId;
extern "C"  bool TlsServerCertificate_checkDomainName_m547589480 (TlsServerCertificate_t905088469 * __this, String_t* ___subjectName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_checkDomainName_m547589480_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ClientContext_t3002158488 * V_0 = NULL;
	String_t* V_1 = NULL;
	Regex_t1803876613 * V_2 = NULL;
	MatchCollection_t3718216671 * V_3 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		V_0 = ((ClientContext_t3002158488 *)CastclassClass(L_0, ClientContext_t3002158488_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_t1803876613 * L_2 = (Regex_t1803876613 *)il2cpp_codegen_object_new(Regex_t1803876613_il2cpp_TypeInfo_var);
		Regex__ctor_m1229307206(L_2, _stringLiteral4039886463, /*hidden argument*/NULL);
		V_2 = L_2;
		Regex_t1803876613 * L_3 = V_2;
		String_t* L_4 = ___subjectName0;
		MatchCollection_t3718216671 * L_5 = Regex_Matches_m253372688(L_3, L_4, /*hidden argument*/NULL);
		V_3 = L_5;
		MatchCollection_t3718216671 * L_6 = V_3;
		int32_t L_7 = MatchCollection_get_Count_m2642630602(L_6, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_7) == ((uint32_t)1))))
		{
			goto IL_005f;
		}
	}
	{
		MatchCollection_t3718216671 * L_8 = V_3;
		Match_t3164245899 * L_9 = VirtFuncInvoker1< Match_t3164245899 *, 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_m1068765996(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005f;
		}
	}
	{
		MatchCollection_t3718216671 * L_11 = V_3;
		Match_t3164245899 * L_12 = VirtFuncInvoker1< Match_t3164245899 *, int32_t >::Invoke(9 /* System.Text.RegularExpressions.Match System.Text.RegularExpressions.MatchCollection::get_Item(System.Int32) */, L_11, 0);
		GroupCollection_t939014605 * L_13 = VirtFuncInvoker0< GroupCollection_t939014605 * >::Invoke(4 /* System.Text.RegularExpressions.GroupCollection System.Text.RegularExpressions.Match::get_Groups() */, L_12);
		Group_t3761430853 * L_14 = GroupCollection_get_Item_m3627349778(L_13, 1, /*hidden argument*/NULL);
		String_t* L_15 = Capture_get_Value_m147072698(L_14, /*hidden argument*/NULL);
		String_t* L_16 = String_ToString_m3226660001(L_15, /*hidden argument*/NULL);
		V_1 = L_16;
	}

IL_005f:
	{
		ClientContext_t3002158488 * L_17 = V_0;
		TlsClientSettings_t2311449551 * L_18 = Context_get_ClientSettings_m1185615112(L_17, /*hidden argument*/NULL);
		String_t* L_19 = TlsClientSettings_get_TargetHost_m2817634620(L_18, /*hidden argument*/NULL);
		String_t* L_20 = V_1;
		bool L_21 = TlsServerCertificate_Match_m239075186(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_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificate_Match_m239075186_MetadataUsageId;
extern "C"  bool TlsServerCertificate_Match_m239075186 (Il2CppObject * __this /* static, unused */, String_t* ___hostname0, String_t* ___pattern1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificate_Match_m239075186_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_m2358239236(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_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_5 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_6 = String_Compare_m1847873744(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_m1606060069(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_m4230566705(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_m3890362537(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_m2032624251(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_m1606060069(L_20, /*hidden argument*/NULL);
		String_t* L_22 = V_2;
		int32_t L_23 = String_get_Length_m1606060069(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_m1606060069(L_28, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_30 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_31 = String_Compare_m560208559(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_m2358239236(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_m1606060069(L_37, /*hidden argument*/NULL);
		String_t* L_39 = V_2;
		int32_t L_40 = String_get_Length_m1606060069(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_m12482732(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_m1606060069(L_46, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_48 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		int32_t L_49 = String_Compare_m560208559(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_m1684270714 (TlsServerCertificateRequest_t2187269356 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__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_m2674822753 (TlsServerCertificateRequest_t2187269356 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_1 = Context_get_ServerSettings_m225713600(L_0, /*hidden argument*/NULL);
		ClientCertificateTypeU5BU5D_t2397899623* L_2 = __this->get_certificateTypes_9();
		TlsServerSettings_set_CertificateTypes_m264196087(L_1, L_2, /*hidden argument*/NULL);
		Context_t4285182719 * L_3 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_4 = Context_get_ServerSettings_m225713600(L_3, /*hidden argument*/NULL);
		StringU5BU5D_t1642385972* L_5 = __this->get_distinguisedNames_10();
		TlsServerSettings_set_DistinguisedNames_m2290049644(L_4, L_5, /*hidden argument*/NULL);
		Context_t4285182719 * L_6 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_7 = Context_get_ServerSettings_m225713600(L_6, /*hidden argument*/NULL);
		TlsServerSettings_set_CertificateRequest_m3419519893(L_7, (bool)1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificateRequest::ProcessAsSsl3()
extern "C"  void TlsServerCertificateRequest_ProcessAsSsl3_m3017921864 (TlsServerCertificateRequest_t2187269356 * __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_t2397899623_il2cpp_TypeInfo_var;
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* StringU5BU5D_t1642385972_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t663144255_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerCertificateRequest_ProcessAsTls1_m3580757431_MetadataUsageId;
extern "C"  void TlsServerCertificateRequest_ProcessAsTls1_m3580757431 (TlsServerCertificateRequest_t2187269356 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerCertificateRequest_ProcessAsTls1_m3580757431_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	ASN1_t924533536 * V_2 = NULL;
	int32_t V_3 = 0;
	ASN1_t924533536 * V_4 = NULL;
	{
		uint8_t L_0 = TlsStream_ReadByte_m1935235961(__this, /*hidden argument*/NULL);
		V_0 = L_0;
		int32_t L_1 = V_0;
		__this->set_certificateTypes_9(((ClientCertificateTypeU5BU5D_t2397899623*)SZArrayNew(ClientCertificateTypeU5BU5D_t2397899623_il2cpp_TypeInfo_var, (uint32_t)L_1)));
		V_1 = 0;
		goto IL_002c;
	}

IL_001a:
	{
		ClientCertificateTypeU5BU5D_t2397899623* L_2 = __this->get_certificateTypes_9();
		int32_t L_3 = V_1;
		uint8_t L_4 = TlsStream_ReadByte_m1935235961(__this, /*hidden argument*/NULL);
		(L_2)->SetAtUnchecked(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_m1855118433(__this, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_00aa;
		}
	}
	{
		int16_t L_9 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_10 = TlsStream_ReadBytes_m3301522097(__this, L_9, /*hidden argument*/NULL);
		ASN1_t924533536 * L_11 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_11, L_10, /*hidden argument*/NULL);
		V_2 = L_11;
		ASN1_t924533536 * L_12 = V_2;
		int32_t L_13 = ASN1_get_Count_m579313466(L_12, /*hidden argument*/NULL);
		__this->set_distinguisedNames_10(((StringU5BU5D_t1642385972*)SZArrayNew(StringU5BU5D_t1642385972_il2cpp_TypeInfo_var, (uint32_t)L_13)));
		V_3 = 0;
		goto IL_009e;
	}

IL_0068:
	{
		ASN1_t924533536 * L_14 = V_2;
		int32_t L_15 = V_3;
		ASN1_t924533536 * L_16 = ASN1_get_Item_m3505242534(L_14, L_15, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_17 = ASN1_get_Value_m2229768312(L_16, /*hidden argument*/NULL);
		ASN1_t924533536 * L_18 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_18, L_17, /*hidden argument*/NULL);
		V_4 = L_18;
		StringU5BU5D_t1642385972* L_19 = __this->get_distinguisedNames_10();
		int32_t L_20 = V_3;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t663144255_il2cpp_TypeInfo_var);
		Encoding_t663144255 * L_21 = Encoding_get_UTF8_m1752852937(NULL /*static, unused*/, /*hidden argument*/NULL);
		ASN1_t924533536 * L_22 = V_4;
		ASN1_t924533536 * L_23 = ASN1_get_Item_m3505242534(L_22, 1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_24 = ASN1_get_Value_m2229768312(L_23, /*hidden argument*/NULL);
		String_t* L_25 = VirtFuncInvoker1< String_t*, ByteU5BU5D_t3397334013* >::Invoke(22 /* System.String System.Text.Encoding::GetString(System.Byte[]) */, L_21, L_24);
		ArrayElementTypeCheck (L_19, L_25);
		(L_19)->SetAtUnchecked(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_t924533536 * L_28 = V_2;
		int32_t L_29 = ASN1_get_Count_m579313466(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_m3517940960 (TlsServerFinished_t1869592958 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t1869592958_il2cpp_TypeInfo_var;
extern FieldInfo* U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D22_14_FieldInfo_var;
extern const uint32_t TlsServerFinished__cctor_m3702151001_MetadataUsageId;
extern "C"  void TlsServerFinished__cctor_m3702151001 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished__cctor_m3702151001_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4));
		RuntimeHelpers_InitializeArray_m3920580167(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_0, LoadFieldToken(U3CPrivateImplementationDetailsU3E_t1486305139____U24U24fieldU2D22_14_FieldInfo_var), /*hidden argument*/NULL);
		((TlsServerFinished_t1869592958_StaticFields*)TlsServerFinished_t1869592958_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_m3332245911 (TlsServerFinished_t1869592958 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		Context_set_HandshakeState_m1586089840(L_0, 2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerFinished::ProcessAsSsl3()
extern Il2CppClass* SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsServerFinished_t1869592958_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4248942830;
extern const uint32_t TlsServerFinished_ProcessAsSsl3_m2226689406_MetadataUsageId;
extern "C"  void TlsServerFinished_ProcessAsSsl3_m2226689406 (TlsServerFinished_t1869592958 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished_ProcessAsSsl3_m2226689406_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = Context_get_MasterSecret_m231851308(L_0, /*hidden argument*/NULL);
		SslHandshakeHash_t3044322977 * L_2 = (SslHandshakeHash_t3044322977 *)il2cpp_codegen_object_new(SslHandshakeHash_t3044322977_il2cpp_TypeInfo_var);
		SslHandshakeHash__ctor_m1269339424(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Context_t4285182719 * L_3 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_4 = Context_get_HandshakeMessages_m2765912589(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = TlsStream_ToArray_m3731779317(L_4, /*hidden argument*/NULL);
		V_1 = L_5;
		HashAlgorithm_t2624936259 * L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = V_1;
		ByteU5BU5D_t3397334013* L_8 = V_1;
		ByteU5BU5D_t3397334013* L_9 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), L_9, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_10 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(TlsServerFinished_t1869592958_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_11 = ((TlsServerFinished_t1869592958_StaticFields*)TlsServerFinished_t1869592958_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t3397334013* L_12 = ((TlsServerFinished_t1869592958_StaticFields*)TlsServerFinished_t1869592958_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		ByteU5BU5D_t3397334013* L_13 = ((TlsServerFinished_t1869592958_StaticFields*)TlsServerFinished_t1869592958_il2cpp_TypeInfo_var->static_fields)->get_Ssl3Marker_9();
		HashAlgorithm_TransformBlock_m4190258810(L_10, L_11, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_12)->max_length)))), L_13, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_14 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_15 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(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_t3397334013* L_17 = TlsStream_ReadBytes_m3301522097(__this, (((int32_t)((int32_t)L_16))), /*hidden argument*/NULL);
		V_2 = L_17;
		HashAlgorithm_t2624936259 * L_18 = V_0;
		ByteU5BU5D_t3397334013* L_19 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_18);
		V_3 = L_19;
		ByteU5BU5D_t3397334013* L_20 = V_3;
		ByteU5BU5D_t3397334013* L_21 = V_2;
		bool L_22 = HandshakeMessage_Compare_m2025941142(NULL /*static, unused*/, L_20, L_21, /*hidden argument*/NULL);
		if (L_22)
		{
			goto IL_0086;
		}
	}
	{
		TlsException_t583514812 * L_23 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_23, ((int32_t)71), _stringLiteral4248942830, /*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_t3340472487_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3006409167;
extern Il2CppCodeGenString* _stringLiteral4248942830;
extern const uint32_t TlsServerFinished_ProcessAsTls1_m734183757_MetadataUsageId;
extern "C"  void TlsServerFinished_ProcessAsTls1_m734183757 (TlsServerFinished_t1869592958 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerFinished_ProcessAsTls1_m734183757_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	HashAlgorithm_t2624936259 * V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	{
		int64_t L_0 = VirtFuncInvoker0< int64_t >::Invoke(8 /* System.Int64 Mono.Security.Protocol.Tls.TlsStream::get_Length() */, __this);
		ByteU5BU5D_t3397334013* L_1 = TlsStream_ReadBytes_m3301522097(__this, (((int32_t)((int32_t)L_0))), /*hidden argument*/NULL);
		V_0 = L_1;
		MD5SHA1_t3340472487 * L_2 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_2, /*hidden argument*/NULL);
		V_1 = L_2;
		Context_t4285182719 * L_3 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_4 = Context_get_HandshakeMessages_m2765912589(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = TlsStream_ToArray_m3731779317(L_4, /*hidden argument*/NULL);
		V_2 = L_5;
		HashAlgorithm_t2624936259 * L_6 = V_1;
		ByteU5BU5D_t3397334013* L_7 = V_2;
		ByteU5BU5D_t3397334013* L_8 = V_2;
		ByteU5BU5D_t3397334013* L_9 = HashAlgorithm_ComputeHash_m3945506296(L_6, L_7, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_8)->max_length)))), /*hidden argument*/NULL);
		V_3 = L_9;
		Context_t4285182719 * L_10 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_11 = Context_get_Current_m2717045324(L_10, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_12 = SecurityParameters_get_Cipher_m2392911632(L_11, /*hidden argument*/NULL);
		Context_t4285182719 * L_13 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_14 = Context_get_MasterSecret_m231851308(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_15 = V_3;
		ByteU5BU5D_t3397334013* L_16 = CipherSuite_PRF_m3379816948(L_12, L_14, _stringLiteral3006409167, L_15, ((int32_t)12), /*hidden argument*/NULL);
		V_4 = L_16;
		ByteU5BU5D_t3397334013* L_17 = V_4;
		ByteU5BU5D_t3397334013* L_18 = V_0;
		bool L_19 = HandshakeMessage_Compare_m2025941142(NULL /*static, unused*/, L_17, L_18, /*hidden argument*/NULL);
		if (L_19)
		{
			goto IL_0073;
		}
	}
	{
		TlsException_t583514812 * L_20 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m3885720020(L_20, _stringLiteral4248942830, /*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_m3032108168 (TlsServerHello_t1289300668 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__this, L_0, 2, L_1, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::Update()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerHello_Update_m1740270635_MetadataUsageId;
extern "C"  void TlsServerHello_Update_m1740270635 (TlsServerHello_t1289300668 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_Update_m1740270635_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	int32_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = __this->get_sessionId_11();
		Context_set_SessionId_m1229908268(L_0, L_1, /*hidden argument*/NULL);
		Context_t4285182719 * L_2 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = __this->get_random_10();
		Context_set_ServerRandom_m173601139(L_2, L_3, /*hidden argument*/NULL);
		Context_t4285182719 * L_4 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_5 = Context_get_Negotiating_m3946476110(L_4, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_6 = __this->get_cipherSuite_12();
		SecurityParameters_set_Cipher_m3888132335(L_5, L_6, /*hidden argument*/NULL);
		Context_t4285182719 * L_7 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_8 = __this->get_compressionMethod_9();
		Context_set_CompressionMethod_m2848483559(L_7, L_8, /*hidden argument*/NULL);
		Context_t4285182719 * L_9 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		Context_set_ProtocolNegotiated_m1177527245(L_9, (bool)1, /*hidden argument*/NULL);
		Context_t4285182719 * L_10 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_11 = Context_get_ClientRandom_m697914474(L_10, /*hidden argument*/NULL);
		V_0 = (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length))));
		Context_t4285182719 * L_12 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = Context_get_ServerRandom_m3526559022(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_16));
		Context_t4285182719 * L_17 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_18 = Context_get_ClientRandom_m697914474(L_17, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_19 = V_3;
		int32_t L_20 = V_0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_18, 0, (Il2CppArray *)(Il2CppArray *)L_19, 0, L_20, /*hidden argument*/NULL);
		Context_t4285182719 * L_21 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_22 = Context_get_ServerRandom_m3526559022(L_21, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_23 = V_3;
		int32_t L_24 = V_0;
		int32_t L_25 = V_1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_22, 0, (Il2CppArray *)(Il2CppArray *)L_23, L_24, L_25, /*hidden argument*/NULL);
		Context_t4285182719 * L_26 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_27 = V_3;
		Context_set_RandomCS_m2334825038(L_26, L_27, /*hidden argument*/NULL);
		int32_t L_28 = V_2;
		V_4 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_28));
		Context_t4285182719 * L_29 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_30 = Context_get_ServerRandom_m3526559022(L_29, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_31 = V_4;
		int32_t L_32 = V_1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_30, 0, (Il2CppArray *)(Il2CppArray *)L_31, 0, L_32, /*hidden argument*/NULL);
		Context_t4285182719 * L_33 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_34 = Context_get_ClientRandom_m697914474(L_33, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_35 = V_4;
		int32_t L_36 = V_1;
		int32_t L_37 = V_0;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_34, 0, (Il2CppArray *)(Il2CppArray *)L_35, L_36, L_37, /*hidden argument*/NULL);
		Context_t4285182719 * L_38 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_39 = V_4;
		Context_set_RandomSC_m2057392782(L_38, L_39, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHello::ProcessAsSsl3()
extern "C"  void TlsServerHello_ProcessAsSsl3_m3986132482 (TlsServerHello_t1289300668 * __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_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2633571916;
extern const uint32_t TlsServerHello_ProcessAsTls1_m1997577085_MetadataUsageId;
extern "C"  void TlsServerHello_ProcessAsTls1_m1997577085 (TlsServerHello_t1289300668 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_ProcessAsTls1_m1997577085_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int16_t V_1 = 0;
	{
		int16_t L_0 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		TlsServerHello_processProtocol_m1241336522(__this, L_0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = TlsStream_ReadBytes_m3301522097(__this, ((int32_t)32), /*hidden argument*/NULL);
		__this->set_random_10(L_1);
		uint8_t L_2 = TlsStream_ReadByte_m1935235961(__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_t3397334013* L_5 = TlsStream_ReadBytes_m3301522097(__this, L_4, /*hidden argument*/NULL);
		__this->set_sessionId_11(L_5);
		Context_t4285182719 * L_6 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsClientSettings_t2311449551 * L_7 = Context_get_ClientSettings_m1185615112(L_6, /*hidden argument*/NULL);
		String_t* L_8 = TlsClientSettings_get_TargetHost_m2817634620(L_7, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_9 = __this->get_sessionId_11();
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		ClientSessionCache_Add_m987180603(NULL /*static, unused*/, L_8, L_9, /*hidden argument*/NULL);
		Context_t4285182719 * L_10 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_11 = __this->get_sessionId_11();
		Context_t4285182719 * L_12 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = Context_get_SessionId_m1296338025(L_12, /*hidden argument*/NULL);
		bool L_14 = HandshakeMessage_Compare_m2025941142(NULL /*static, unused*/, L_11, L_13, /*hidden argument*/NULL);
		Context_set_AbbreviatedHandshake_m4080371327(L_10, L_14, /*hidden argument*/NULL);
		goto IL_0082;
	}

IL_0076:
	{
		Context_t4285182719 * L_15 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		Context_set_AbbreviatedHandshake_m4080371327(L_15, (bool)0, /*hidden argument*/NULL);
	}

IL_0082:
	{
		int16_t L_16 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		V_1 = L_16;
		Context_t4285182719 * L_17 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_18 = Context_get_SupportedCiphers_m2172827298(L_17, /*hidden argument*/NULL);
		int16_t L_19 = V_1;
		int32_t L_20 = CipherSuiteCollection_IndexOf_m4089218779(L_18, L_19, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_20) == ((uint32_t)(-1)))))
		{
			goto IL_00ad;
		}
	}
	{
		TlsException_t583514812 * L_21 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_21, ((int32_t)71), _stringLiteral2633571916, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_21);
	}

IL_00ad:
	{
		Context_t4285182719 * L_22 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_23 = Context_get_SupportedCiphers_m2172827298(L_22, /*hidden argument*/NULL);
		int16_t L_24 = V_1;
		CipherSuite_t491456551 * L_25 = CipherSuiteCollection_get_Item_m2606225922(L_23, L_24, /*hidden argument*/NULL);
		__this->set_cipherSuite_12(L_25);
		uint8_t L_26 = TlsStream_ReadByte_m1935235961(__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_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1178301581;
extern const uint32_t TlsServerHello_processProtocol_m1241336522_MetadataUsageId;
extern "C"  void TlsServerHello_processProtocol_m1241336522 (TlsServerHello_t1289300668 * __this, int16_t ___protocol0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerHello_processProtocol_m1241336522_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int16_t L_1 = ___protocol0;
		int32_t L_2 = Context_DecodeProtocolCode_m4051353560(L_0, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		int32_t L_3 = V_0;
		Context_t4285182719 * L_4 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_5 = Context_get_SecurityProtocolFlags_m3295551796(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_t4285182719 * L_7 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_8 = Context_get_SecurityProtocolFlags_m3295551796(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_t4285182719 * L_9 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_10 = V_0;
		Context_set_SecurityProtocol_m4153223312(L_9, L_10, /*hidden argument*/NULL);
		Context_t4285182719 * L_11 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_12 = Context_get_SupportedCiphers_m2172827298(L_11, /*hidden argument*/NULL);
		CipherSuiteCollection_Clear_m533808424(L_12, /*hidden argument*/NULL);
		Context_t4285182719 * L_13 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m3994965527(L_13, (CipherSuiteCollection_t2431504453 *)NULL, /*hidden argument*/NULL);
		Context_t4285182719 * L_14 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_15 = V_0;
		CipherSuiteCollection_t2431504453 * L_16 = CipherSuiteFactory_GetSupportedCiphers_m338097823(NULL /*static, unused*/, L_15, /*hidden argument*/NULL);
		Context_set_SupportedCiphers_m3994965527(L_14, L_16, /*hidden argument*/NULL);
		goto IL_0086;
	}

IL_0079:
	{
		TlsException_t583514812 * L_17 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_17, ((int32_t)70), _stringLiteral1178301581, /*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_m2125611008 (TlsServerHelloDone_t530021076 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__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_m2352567662 (TlsServerHelloDone_t530021076 * __this, const MethodInfo* method)
{
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerHelloDone::ProcessAsTls1()
extern "C"  void TlsServerHelloDone_ProcessAsTls1_m2785450409 (TlsServerHelloDone_t530021076 * __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_m247733406 (TlsServerKeyExchange_t2172608670 * __this, Context_t4285182719 * ___context0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer1;
		HandshakeMessage__ctor_m1431757899(__this, L_0, ((int32_t)12), L_1, /*hidden argument*/NULL);
		TlsServerKeyExchange_verifySignature_m3641534563(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::Update()
extern "C"  void TlsServerKeyExchange_Update_m467765633 (TlsServerKeyExchange_t2172608670 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_Update_m1733566706(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_1 = Context_get_ServerSettings_m225713600(L_0, /*hidden argument*/NULL);
		TlsServerSettings_set_ServerKeyExchange_m4199779410(L_1, (bool)1, /*hidden argument*/NULL);
		Context_t4285182719 * L_2 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_3 = Context_get_ServerSettings_m225713600(L_2, /*hidden argument*/NULL);
		RSAParameters_t1462703416  L_4 = __this->get_rsaParams_9();
		TlsServerSettings_set_RsaParameters_m3165273449(L_3, L_4, /*hidden argument*/NULL);
		Context_t4285182719 * L_5 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_6 = Context_get_ServerSettings_m225713600(L_5, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_7 = __this->get_signedParams_10();
		TlsServerSettings_set_SignedParams_m1826385315(L_6, L_7, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.Handshake.Client.TlsServerKeyExchange::ProcessAsSsl3()
extern "C"  void TlsServerKeyExchange_ProcessAsSsl3_m462106368 (TlsServerKeyExchange_t2172608670 * __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_t1462703416_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerKeyExchange_ProcessAsTls1_m1879578643_MetadataUsageId;
extern "C"  void TlsServerKeyExchange_ProcessAsTls1_m1879578643 (TlsServerKeyExchange_t2172608670 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerKeyExchange_ProcessAsTls1_m1879578643_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSAParameters_t1462703416  V_0;
	memset(&V_0, 0, sizeof(V_0));
	{
		Initobj (RSAParameters_t1462703416_il2cpp_TypeInfo_var, (&V_0));
		RSAParameters_t1462703416  L_0 = V_0;
		__this->set_rsaParams_9(L_0);
		RSAParameters_t1462703416 * L_1 = __this->get_address_of_rsaParams_9();
		int16_t L_2 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = TlsStream_ReadBytes_m3301522097(__this, L_2, /*hidden argument*/NULL);
		L_1->set_Modulus_6(L_3);
		RSAParameters_t1462703416 * L_4 = __this->get_address_of_rsaParams_9();
		int16_t L_5 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_6 = TlsStream_ReadBytes_m3301522097(__this, L_5, /*hidden argument*/NULL);
		L_4->set_Exponent_7(L_6);
		int16_t L_7 = TlsStream_ReadInt16_m1855118433(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_8 = TlsStream_ReadBytes_m3301522097(__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_t3340472487_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral967343799;
extern const uint32_t TlsServerKeyExchange_verifySignature_m3641534563_MetadataUsageId;
extern "C"  void TlsServerKeyExchange_verifySignature_m3641534563 (TlsServerKeyExchange_t2172608670 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerKeyExchange_verifySignature_m3641534563_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	MD5SHA1_t3340472487 * V_0 = NULL;
	int32_t V_1 = 0;
	TlsStream_t4089752859 * V_2 = NULL;
	bool V_3 = false;
	{
		MD5SHA1_t3340472487 * L_0 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		RSAParameters_t1462703416 * L_1 = __this->get_address_of_rsaParams_9();
		ByteU5BU5D_t3397334013* L_2 = L_1->get_Modulus_6();
		RSAParameters_t1462703416 * L_3 = __this->get_address_of_rsaParams_9();
		ByteU5BU5D_t3397334013* 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_t4089752859 * L_5 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_5, /*hidden argument*/NULL);
		V_2 = L_5;
		TlsStream_t4089752859 * L_6 = V_2;
		Context_t4285182719 * L_7 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_8 = Context_get_RandomCS_m3946020109(L_7, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(L_6, L_8, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_9 = V_2;
		ByteU5BU5D_t3397334013* L_10 = TlsStream_ToArray_m3731779317(__this, /*hidden argument*/NULL);
		int32_t L_11 = V_1;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3340472487 * L_12 = V_0;
		TlsStream_t4089752859 * L_13 = V_2;
		ByteU5BU5D_t3397334013* L_14 = TlsStream_ToArray_m3731779317(L_13, /*hidden argument*/NULL);
		HashAlgorithm_ComputeHash_m3637856778(L_12, L_14, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_15 = V_2;
		TlsStream_Reset_m1504601050(L_15, /*hidden argument*/NULL);
		MD5SHA1_t3340472487 * L_16 = V_0;
		Context_t4285182719 * L_17 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		TlsServerSettings_t403340211 * L_18 = Context_get_ServerSettings_m225713600(L_17, /*hidden argument*/NULL);
		RSA_t3719518354 * L_19 = TlsServerSettings_get_CertificateRSA_m1899388839(L_18, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_20 = __this->get_signedParams_10();
		bool L_21 = MD5SHA1_VerifySignature_m507888141(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_t583514812 * L_23 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_23, ((int32_t)50), _stringLiteral967343799, /*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_m3783158590 (HandshakeMessage_t3938752374 * __this, Context_t4285182719 * ___context0, uint8_t ___handshakeType1, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ___context0;
		uint8_t L_1 = ___handshakeType1;
		HandshakeMessage__ctor_m2727745933(__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_m2727745933 (HandshakeMessage_t3938752374 * __this, Context_t4285182719 * ___context0, uint8_t ___handshakeType1, uint8_t ___contentType2, const MethodInfo* method)
{
	{
		TlsStream__ctor_m4117943603(__this, /*hidden argument*/NULL);
		Context_t4285182719 * 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_m1431757899 (HandshakeMessage_t3938752374 * __this, Context_t4285182719 * ___context0, uint8_t ___handshakeType1, ByteU5BU5D_t3397334013* ___data2, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___data2;
		TlsStream__ctor_m2982031560(__this, L_0, /*hidden argument*/NULL);
		Context_t4285182719 * 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_t4285182719 * HandshakeMessage_get_Context_m3356295711 (HandshakeMessage_t3938752374 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * 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_m2104271474 (HandshakeMessage_t3938752374 * __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_m760670911 (HandshakeMessage_t3938752374 * __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_t1793819818_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2663767609;
extern const uint32_t HandshakeMessage_Process_m2688076118_MetadataUsageId;
extern "C"  void HandshakeMessage_Process_m2688076118 (HandshakeMessage_t3938752374 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HandshakeMessage_Process_m2688076118_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	{
		Context_t4285182719 * L_0 = HandshakeMessage_get_Context_m3356295711(__this, /*hidden argument*/NULL);
		int32_t L_1 = Context_get_SecurityProtocol_m1600902905(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_t1793819818 * L_6 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m836173213(L_6, _stringLiteral2663767609, /*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_m1733566706 (HandshakeMessage_t3938752374 * __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_t3397334013* L_1 = __this->get_cache_8();
		if (L_1)
		{
			goto IL_0022;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_2 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(27 /* System.Byte[] Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::EncodeMessage() */, __this);
		__this->set_cache_8(L_2);
	}

IL_0022:
	{
		Context_t4285182719 * L_3 = __this->get_context_5();
		TlsStream_t4089752859 * L_4 = Context_get_HandshakeMessages_m2765912589(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = __this->get_cache_8();
		TlsStream_Write_m3425460533(L_4, L_5, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(__this, /*hidden argument*/NULL);
		__this->set_cache_8((ByteU5BU5D_t3397334013*)NULL);
	}

IL_0045:
	{
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::EncodeMessage()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t HandshakeMessage_EncodeMessage_m2725158930_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* HandshakeMessage_EncodeMessage_m2725158930 (HandshakeMessage_t3938752374 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HandshakeMessage_EncodeMessage_m2725158930_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	int32_t V_1 = 0;
	{
		__this->set_cache_8((ByteU5BU5D_t3397334013*)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_t3397334013* L_1 = TlsStream_ToArray_m3731779317(__this, /*hidden argument*/NULL);
		V_0 = L_1;
		ByteU5BU5D_t3397334013* 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)((int32_t)4+(int32_t)L_3)))));
		ByteU5BU5D_t3397334013* L_4 = __this->get_cache_8();
		uint8_t L_5 = HandshakeMessage_get_HandshakeType_m2104271474(__this, /*hidden argument*/NULL);
		(L_4)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_5);
		ByteU5BU5D_t3397334013* L_6 = __this->get_cache_8();
		int32_t L_7 = V_1;
		(L_6)->SetAtUnchecked(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_t3397334013* L_8 = __this->get_cache_8();
		int32_t L_9 = V_1;
		(L_8)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_9>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_10 = __this->get_cache_8();
		int32_t L_11 = V_1;
		(L_10)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)L_11))));
		ByteU5BU5D_t3397334013* L_12 = V_0;
		ByteU5BU5D_t3397334013* L_13 = __this->get_cache_8();
		int32_t L_14 = V_1;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_12, 0, (Il2CppArray *)(Il2CppArray *)L_13, 4, L_14, /*hidden argument*/NULL);
	}

IL_006b:
	{
		ByteU5BU5D_t3397334013* 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_m2025941142 (Il2CppObject * __this /* static, unused */, ByteU5BU5D_t3397334013* ___buffer10, ByteU5BU5D_t3397334013* ___buffer21, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___buffer10;
		if (!L_0)
		{
			goto IL_000c;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = ___buffer21;
		if (L_1)
		{
			goto IL_000e;
		}
	}

IL_000c:
	{
		return (bool)0;
	}

IL_000e:
	{
		ByteU5BU5D_t3397334013* L_2 = ___buffer10;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_4 = ___buffer10;
		int32_t L_5 = V_0;
		int32_t L_6 = L_5;
		uint8_t L_7 = (L_4)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_6));
		ByteU5BU5D_t3397334013* L_8 = ___buffer21;
		int32_t L_9 = V_0;
		int32_t L_10 = L_9;
		uint8_t L_11 = (L_8)->GetAtUnchecked(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_t3397334013* 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_t745663000_il2cpp_TypeInfo_var;
extern Il2CppClass* HttpsClientStream_t3823629320_il2cpp_TypeInfo_var;
extern Il2CppClass* CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var;
extern Il2CppClass* PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var;
extern const MethodInfo* HttpsClientStream_U3CHttpsClientStreamU3Em__0_m3176353714_MethodInfo_var;
extern const MethodInfo* HttpsClientStream_U3CHttpsClientStreamU3Em__1_m4293802471_MethodInfo_var;
extern const uint32_t HttpsClientStream__ctor_m3407922777_MetadataUsageId;
extern "C"  void HttpsClientStream__ctor_m3407922777 (HttpsClientStream_t3823629320 * __this, Stream_t3255436806 * ___stream0, X509CertificateCollection_t1197680765 * ___clientCertificates1, HttpWebRequest_t1951404513 * ___request2, ByteU5BU5D_t3397334013* ___buffer3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream__ctor_m3407922777_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HttpsClientStream_t3823629320 * G_B4_0 = NULL;
	HttpsClientStream_t3823629320 * G_B3_0 = NULL;
	HttpsClientStream_t3823629320 * G_B6_0 = NULL;
	HttpsClientStream_t3823629320 * G_B5_0 = NULL;
	{
		Stream_t3255436806 * L_0 = ___stream0;
		HttpWebRequest_t1951404513 * L_1 = ___request2;
		Uri_t19570940 * L_2 = HttpWebRequest_get_Address_m4268264978(L_1, /*hidden argument*/NULL);
		String_t* L_3 = Uri_get_Host_m395387191(L_2, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t745663000_il2cpp_TypeInfo_var);
		int32_t L_4 = ServicePointManager_get_SecurityProtocol_m1445189298(NULL /*static, unused*/, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_5 = ___clientCertificates1;
		SslClientStream__ctor_m2178305131(__this, L_0, L_3, (bool)0, L_4, L_5, /*hidden argument*/NULL);
		HttpWebRequest_t1951404513 * L_6 = ___request2;
		__this->set__request_20(L_6);
		__this->set__status_21(0);
		ByteU5BU5D_t3397334013* L_7 = ___buffer3;
		if (!L_7)
		{
			goto IL_0040;
		}
	}
	{
		Stream_t3255436806 * L_8 = SslClientStream_get_InputBuffer_m295521966(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_9 = ___buffer3;
		ByteU5BU5D_t3397334013* L_10 = ___buffer3;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t745663000_il2cpp_TypeInfo_var);
		bool L_11 = ServicePointManager_get_CheckCertificateRevocationList_m4009410230(NULL /*static, unused*/, /*hidden argument*/NULL);
		SslStreamBase_set_CheckCertRevocationStatus_m703827149(__this, L_11, /*hidden argument*/NULL);
		CertificateSelectionCallback_t3721235490 * L_12 = ((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_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_m3176353714_MethodInfo_var);
		CertificateSelectionCallback_t3721235490 * L_14 = (CertificateSelectionCallback_t3721235490 *)il2cpp_codegen_object_new(CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var);
		CertificateSelectionCallback__ctor_m2302751912(L_14, NULL, L_13, /*hidden argument*/NULL);
		((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__amU24cache2_22(L_14);
		G_B4_0 = G_B3_0;
	}

IL_0064:
	{
		CertificateSelectionCallback_t3721235490 * L_15 = ((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache2_22();
		SslClientStream_add_ClientCertSelection_m2644836210(G_B4_0, L_15, /*hidden argument*/NULL);
		PrivateKeySelectionCallback_t1663566523 * L_16 = ((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_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_m4293802471_MethodInfo_var);
		PrivateKeySelectionCallback_t1663566523 * L_18 = (PrivateKeySelectionCallback_t1663566523 *)il2cpp_codegen_object_new(PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var);
		PrivateKeySelectionCallback__ctor_m2259908823(L_18, NULL, L_17, /*hidden argument*/NULL);
		((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__amU24cache3_23(L_18);
		G_B6_0 = G_B5_0;
	}

IL_0087:
	{
		PrivateKeySelectionCallback_t1663566523 * L_19 = ((HttpsClientStream_t3823629320_StaticFields*)HttpsClientStream_t3823629320_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__amU24cache3_23();
		SslClientStream_add_PrivateKeySelection_m481383932(G_B6_0, L_19, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.HttpsClientStream::get_TrustFailure()
extern "C"  bool HttpsClientStream_get_TrustFailure_m1980919191 (HttpsClientStream_t3823629320 * __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_t745663000_il2cpp_TypeInfo_var;
extern Il2CppClass* ICertificatePolicy_t1916536542_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Certificate2_t4056456767_il2cpp_TypeInfo_var;
extern Il2CppClass* X509Chain_t777637347_il2cpp_TypeInfo_var;
extern const uint32_t HttpsClientStream_RaiseServerCertificateValidation_m3356770426_MetadataUsageId;
extern "C"  bool HttpsClientStream_RaiseServerCertificateValidation_m3356770426 (HttpsClientStream_t3823629320 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream_RaiseServerCertificateValidation_m3356770426_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	bool V_0 = false;
	ServicePoint_t2765344313 * V_1 = NULL;
	bool V_2 = false;
	RemoteCertificateValidationCallback_t2756269959 * V_3 = NULL;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	Int32U5BU5D_t3030399641* V_6 = NULL;
	int32_t V_7 = 0;
	X509Certificate2_t4056456767 * V_8 = NULL;
	X509Chain_t777637347 * V_9 = NULL;
	HttpsClientStream_t3823629320 * G_B2_0 = NULL;
	HttpsClientStream_t3823629320 * G_B1_0 = NULL;
	int32_t G_B3_0 = 0;
	HttpsClientStream_t3823629320 * G_B3_1 = NULL;
	{
		Int32U5BU5D_t3030399641* 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_t3030399641* L_2 = ___certificateErrors1;
		int32_t L_3 = 0;
		int32_t L_4 = (L_2)->GetAtUnchecked(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_t745663000_il2cpp_TypeInfo_var);
		Il2CppObject * L_5 = ServicePointManager_get_CertificatePolicy_m481780303(NULL /*static, unused*/, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0055;
		}
	}
	{
		HttpWebRequest_t1951404513 * L_6 = __this->get__request_20();
		ServicePoint_t2765344313 * L_7 = HttpWebRequest_get_ServicePoint_m3235755721(L_6, /*hidden argument*/NULL);
		V_1 = L_7;
		IL2CPP_RUNTIME_CLASS_INIT(ServicePointManager_t745663000_il2cpp_TypeInfo_var);
		Il2CppObject * L_8 = ServicePointManager_get_CertificatePolicy_m481780303(NULL /*static, unused*/, /*hidden argument*/NULL);
		ServicePoint_t2765344313 * L_9 = V_1;
		X509Certificate_t283079845 * L_10 = ___certificate0;
		HttpWebRequest_t1951404513 * L_11 = __this->get__request_20();
		int32_t L_12 = __this->get__status_21();
		bool L_13 = InterfaceFuncInvoker4< bool, ServicePoint_t2765344313 *, X509Certificate_t283079845 *, WebRequest_t1365124353 *, int32_t >::Invoke(0 /* System.Boolean System.Net.ICertificatePolicy::CheckValidationResult(System.Net.ServicePoint,System.Security.Cryptography.X509Certificates.X509Certificate,System.Net.WebRequest,System.Int32) */, ICertificatePolicy_t1916536542_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_t745663000_il2cpp_TypeInfo_var);
		RemoteCertificateValidationCallback_t2756269959 * L_17 = ServicePointManager_get_ServerCertificateValidationCallback_m1419353403(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_3 = L_17;
		RemoteCertificateValidationCallback_t2756269959 * L_18 = V_3;
		if (!L_18)
		{
			goto IL_0103;
		}
	}
	{
		V_4 = 0;
		Int32U5BU5D_t3030399641* L_19 = ___certificateErrors1;
		V_6 = L_19;
		V_7 = 0;
		goto IL_00bd;
	}

IL_007c:
	{
		Int32U5BU5D_t3030399641* L_20 = V_6;
		int32_t L_21 = V_7;
		int32_t L_22 = L_21;
		int32_t L_23 = (L_20)->GetAtUnchecked(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_t3030399641* L_31 = V_6;
		if ((((int32_t)L_30) < ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))))))
		{
			goto IL_007c;
		}
	}
	{
		X509Certificate_t283079845 * L_32 = ___certificate0;
		ByteU5BU5D_t3397334013* L_33 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_32);
		X509Certificate2_t4056456767 * L_34 = (X509Certificate2_t4056456767 *)il2cpp_codegen_object_new(X509Certificate2_t4056456767_il2cpp_TypeInfo_var);
		X509Certificate2__ctor_m4067762773(L_34, L_33, /*hidden argument*/NULL);
		V_8 = L_34;
		X509Chain_t777637347 * L_35 = (X509Chain_t777637347 *)il2cpp_codegen_object_new(X509Chain_t777637347_il2cpp_TypeInfo_var);
		X509Chain__ctor_m2243818698(L_35, /*hidden argument*/NULL);
		V_9 = L_35;
		X509Chain_t777637347 * L_36 = V_9;
		X509Certificate2_t4056456767 * L_37 = V_8;
		bool L_38 = X509Chain_Build_m1140429528(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_t2756269959 * L_40 = V_3;
		HttpWebRequest_t1951404513 * L_41 = __this->get__request_20();
		X509Certificate2_t4056456767 * L_42 = V_8;
		X509Chain_t777637347 * L_43 = V_9;
		int32_t L_44 = V_4;
		bool L_45 = RemoteCertificateValidationCallback_Invoke_m3011066238(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_t283079845 * HttpsClientStream_U3CHttpsClientStreamU3Em__0_m3176353714 (Il2CppObject * __this /* static, unused */, X509CertificateCollection_t1197680765 * ___clientCerts0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	X509Certificate_t283079845 * G_B4_0 = NULL;
	{
		X509CertificateCollection_t1197680765 * L_0 = ___clientCerts0;
		if (!L_0)
		{
			goto IL_0011;
		}
	}
	{
		X509CertificateCollection_t1197680765 * L_1 = ___clientCerts0;
		int32_t L_2 = CollectionBase_get_Count_m740218359(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_0017;
		}
	}

IL_0011:
	{
		G_B4_0 = ((X509Certificate_t283079845 *)(NULL));
		goto IL_001e;
	}

IL_0017:
	{
		X509CertificateCollection_t1197680765 * L_3 = ___clientCerts0;
		X509Certificate_t283079845 * L_4 = X509CertificateCollection_get_Item_m902045290(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_t4056456767_il2cpp_TypeInfo_var;
extern const uint32_t HttpsClientStream_U3CHttpsClientStreamU3Em__1_m4293802471_MetadataUsageId;
extern "C"  AsymmetricAlgorithm_t784058677 * HttpsClientStream_U3CHttpsClientStreamU3Em__1_m4293802471 (Il2CppObject * __this /* static, unused */, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (HttpsClientStream_U3CHttpsClientStreamU3Em__1_m4293802471_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	X509Certificate2_t4056456767 * V_0 = NULL;
	AsymmetricAlgorithm_t784058677 * G_B3_0 = NULL;
	{
		X509Certificate_t283079845 * L_0 = ___certificate0;
		V_0 = ((X509Certificate2_t4056456767 *)IsInstClass(L_0, X509Certificate2_t4056456767_il2cpp_TypeInfo_var));
		X509Certificate2_t4056456767 * L_1 = V_0;
		if (L_1)
		{
			goto IL_0013;
		}
	}
	{
		G_B3_0 = ((AsymmetricAlgorithm_t784058677 *)(NULL));
		goto IL_0019;
	}

IL_0013:
	{
		X509Certificate2_t4056456767 * L_2 = V_0;
		AsymmetricAlgorithm_t784058677 * L_3 = X509Certificate2_get_PrivateKey_m2896208208(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_m2259908823 (PrivateKeySelectionCallback_t1663566523 * __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_t784058677 * PrivateKeySelectionCallback_Invoke_m1058550892 (PrivateKeySelectionCallback_t1663566523 * __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	if(__this->get_prev_9() != NULL)
	{
		PrivateKeySelectionCallback_Invoke_m1058550892((PrivateKeySelectionCallback_t1663566523 *)__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_t784058677 * (*FunctionPointerType) (Il2CppObject *, void* __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(NULL,__this->get_m_target_2(),___certificate0, ___targetHost1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else if (__this->get_m_target_2() != NULL || ___methodIsStatic)
	{
		typedef AsymmetricAlgorithm_t784058677 * (*FunctionPointerType) (void* __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method);
		return ((FunctionPointerType)__this->get_method_ptr_0())(__this->get_m_target_2(),___certificate0, ___targetHost1,(MethodInfo*)(__this->get_method_3().get_m_value_0()));
	}
	else
	{
		typedef AsymmetricAlgorithm_t784058677 * (*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_m1904952334 (PrivateKeySelectionCallback_t1663566523 * __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, AsyncCallback_t163412349 * ___callback2, Il2CppObject * ___object3, const MethodInfo* method)
{
	void *__d_args[3] = {0};
	__d_args[0] = ___certificate0;
	__d_args[1] = ___targetHost1;
	return (Il2CppObject *)il2cpp_codegen_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_t784058677 * PrivateKeySelectionCallback_EndInvoke_m1718473578 (PrivateKeySelectionCallback_t1663566523 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	Il2CppObject *__result = il2cpp_codegen_delegate_end_invoke((Il2CppAsyncResult*) ___result0, 0);
	return (AsymmetricAlgorithm_t784058677 *)__result;
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::.ctor(System.IO.Stream,Mono.Security.Protocol.Tls.Context)
extern "C"  void RecordProtocol__ctor_m168945279 (RecordProtocol_t3166895267 * __this, Stream_t3255436806 * ___innerStream0, Context_t4285182719 * ___context1, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		Stream_t3255436806 * L_0 = ___innerStream0;
		__this->set_innerStream_1(L_0);
		Context_t4285182719 * L_1 = ___context1;
		__this->set_context_2(L_1);
		Context_t4285182719 * L_2 = __this->get_context_2();
		Context_set_RecordProtocol_m1968834768(L_2, __this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::.cctor()
extern Il2CppClass* ManualResetEvent_t926074657_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t3166895267_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol__cctor_m1255542758_MetadataUsageId;
extern "C"  void RecordProtocol__cctor_m1255542758 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol__cctor_m1255542758_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ManualResetEvent_t926074657 * L_0 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m3470249043(L_0, (bool)1, /*hidden argument*/NULL);
		((RecordProtocol_t3166895267_StaticFields*)RecordProtocol_t3166895267_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_t4285182719 * RecordProtocol_get_Context_m2688493529 (RecordProtocol_t3166895267 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * 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_m2977889250 (RecordProtocol_t3166895267 * __this, uint8_t ___type0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		uint8_t L_0 = ___type0;
		Il2CppObject * L_1 = RecordProtocol_BeginSendRecord_m3180957815(__this, L_0, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		RecordProtocol_EndSendRecord_m3304963666(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessChangeCipherSpec()
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ProcessChangeCipherSpec_m3233959862_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessChangeCipherSpec_m3233959862 (RecordProtocol_t3166895267 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessChangeCipherSpec_m3233959862_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Context_t4285182719 * V_0 = NULL;
	{
		Context_t4285182719 * L_0 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		V_0 = L_0;
		Context_t4285182719 * L_1 = V_0;
		Context_set_ReadSequenceNumber_m3303454459(L_1, (((int64_t)((int64_t)0))), /*hidden argument*/NULL);
		Context_t4285182719 * L_2 = V_0;
		if (!((ClientContext_t3002158488 *)IsInstClass(L_2, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0026;
		}
	}
	{
		Context_t4285182719 * L_3 = V_0;
		Context_EndSwitchingSecurityParameters_m1613076777(L_3, (bool)1, /*hidden argument*/NULL);
		goto IL_002d;
	}

IL_0026:
	{
		Context_t4285182719 * L_4 = V_0;
		Context_StartSwitchingSecurityParameters_m373522596(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_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_GetMessage_m594970728_MetadataUsageId;
extern "C"  HandshakeMessage_t3938752374 * RecordProtocol_GetMessage_m594970728 (RecordProtocol_t3166895267 * __this, uint8_t ___type0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_GetMessage_m594970728_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(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_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t3166895267_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ReceiveRecordAsyncResult_t1946181211_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t163412349_il2cpp_TypeInfo_var;
extern const MethodInfo* RecordProtocol_InternalReceiveRecordCallback_m2228921492_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral220534229;
extern const uint32_t RecordProtocol_BeginReceiveRecord_m2023581433_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginReceiveRecord_m2023581433 (RecordProtocol_t3166895267 * __this, Stream_t3255436806 * ___record0, AsyncCallback_t163412349 * ___callback1, Il2CppObject * ___state2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginReceiveRecord_m2023581433_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	ReceiveRecordAsyncResult_t1946181211 * V_1 = NULL;
	{
		Context_t4285182719 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_ReceivedConnectionEnd_m3369356276(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t583514812 * L_2 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_2, ((int32_t)80), _stringLiteral220534229, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t3166895267_il2cpp_TypeInfo_var);
		ManualResetEvent_t926074657 * L_3 = ((RecordProtocol_t3166895267_StaticFields*)RecordProtocol_t3166895267_il2cpp_TypeInfo_var->static_fields)->get_record_processing_0();
		EventWaitHandle_Reset_m779895263(L_3, /*hidden argument*/NULL);
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)1));
		AsyncCallback_t163412349 * L_4 = ___callback1;
		Il2CppObject * L_5 = ___state2;
		ByteU5BU5D_t3397334013* L_6 = V_0;
		Stream_t3255436806 * L_7 = ___record0;
		ReceiveRecordAsyncResult_t1946181211 * L_8 = (ReceiveRecordAsyncResult_t1946181211 *)il2cpp_codegen_object_new(ReceiveRecordAsyncResult_t1946181211_il2cpp_TypeInfo_var);
		ReceiveRecordAsyncResult__ctor_m109339899(L_8, L_4, L_5, L_6, L_7, /*hidden argument*/NULL);
		V_1 = L_8;
		Stream_t3255436806 * L_9 = ___record0;
		ReceiveRecordAsyncResult_t1946181211 * L_10 = V_1;
		ByteU5BU5D_t3397334013* L_11 = ReceiveRecordAsyncResult_get_InitialBuffer_m1245345098(L_10, /*hidden argument*/NULL);
		ReceiveRecordAsyncResult_t1946181211 * L_12 = V_1;
		ByteU5BU5D_t3397334013* L_13 = ReceiveRecordAsyncResult_get_InitialBuffer_m1245345098(L_12, /*hidden argument*/NULL);
		IntPtr_t L_14;
		L_14.set_m_value_0((void*)(void*)RecordProtocol_InternalReceiveRecordCallback_m2228921492_MethodInfo_var);
		AsyncCallback_t163412349 * L_15 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
		AsyncCallback__ctor_m3071689932(L_15, __this, L_14, /*hidden argument*/NULL);
		ReceiveRecordAsyncResult_t1946181211 * L_16 = V_1;
		VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t3397334013*, int32_t, int32_t, AsyncCallback_t163412349 *, 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_t1946181211 * L_17 = V_1;
		return L_17;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::InternalReceiveRecordCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* ReceiveRecordAsyncResult_t1946181211_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral846449639;
extern const uint32_t RecordProtocol_InternalReceiveRecordCallback_m2228921492_MetadataUsageId;
extern "C"  void RecordProtocol_InternalReceiveRecordCallback_m2228921492 (RecordProtocol_t3166895267 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_InternalReceiveRecordCallback_m2228921492_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ReceiveRecordAsyncResult_t1946181211 * V_0 = NULL;
	Stream_t3255436806 * V_1 = NULL;
	int32_t V_2 = 0;
	int32_t V_3 = 0;
	uint8_t V_4 = 0;
	ByteU5BU5D_t3397334013* V_5 = NULL;
	TlsStream_t4089752859 * V_6 = NULL;
	Exception_t1927440687 * V_7 = NULL;
	uint8_t V_8 = 0;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1999651008_il2cpp_TypeInfo_var, L_0);
		V_0 = ((ReceiveRecordAsyncResult_t1946181211 *)IsInstClass(L_1, ReceiveRecordAsyncResult_t1946181211_il2cpp_TypeInfo_var));
		ReceiveRecordAsyncResult_t1946181211 * L_2 = V_0;
		Stream_t3255436806 * L_3 = ReceiveRecordAsyncResult_get_Record_m1336421357(L_2, /*hidden argument*/NULL);
		V_1 = L_3;
	}

IL_0013:
	try
	{ // begin try (depth: 1)
		{
			ReceiveRecordAsyncResult_t1946181211 * L_4 = V_0;
			Stream_t3255436806 * L_5 = ReceiveRecordAsyncResult_get_Record_m1336421357(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_t1946181211 * L_9 = V_0;
			ReceiveRecordAsyncResult_SetComplete_m4055415513(L_9, (ByteU5BU5D_t3397334013*)(ByteU5BU5D_t3397334013*)NULL, /*hidden argument*/NULL);
			goto IL_0180;
		}

IL_0032:
		{
			ReceiveRecordAsyncResult_t1946181211 * L_10 = V_0;
			ByteU5BU5D_t3397334013* L_11 = ReceiveRecordAsyncResult_get_InitialBuffer_m1245345098(L_10, /*hidden argument*/NULL);
			int32_t L_12 = 0;
			uint8_t L_13 = (L_11)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_12));
			V_3 = L_13;
			Context_t4285182719 * L_14 = __this->get_context_2();
			Context_set_LastHandshakeMsg_m3162558586(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_t3255436806 * L_17 = V_1;
			ByteU5BU5D_t3397334013* L_18 = RecordProtocol_ReadRecordBuffer_m1307297230(__this, L_16, L_17, /*hidden argument*/NULL);
			V_5 = L_18;
			ByteU5BU5D_t3397334013* L_19 = V_5;
			if (L_19)
			{
				goto IL_0068;
			}
		}

IL_005c:
		{
			ReceiveRecordAsyncResult_t1946181211 * L_20 = V_0;
			ReceiveRecordAsyncResult_SetComplete_m4055415513(L_20, (ByteU5BU5D_t3397334013*)(ByteU5BU5D_t3397334013*)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_t3397334013* 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_t4285182719 * L_23 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			SecurityParameters_t2290372928 * L_24 = Context_get_Read_m171585211(L_23, /*hidden argument*/NULL);
			if (!L_24)
			{
				goto IL_00b1;
			}
		}

IL_0090:
		{
			Context_t4285182719 * L_25 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			SecurityParameters_t2290372928 * L_26 = Context_get_Read_m171585211(L_25, /*hidden argument*/NULL);
			CipherSuite_t491456551 * L_27 = SecurityParameters_get_Cipher_m2392911632(L_26, /*hidden argument*/NULL);
			if (!L_27)
			{
				goto IL_00b1;
			}
		}

IL_00a5:
		{
			uint8_t L_28 = V_4;
			ByteU5BU5D_t3397334013* L_29 = V_5;
			ByteU5BU5D_t3397334013* L_30 = RecordProtocol_decryptRecordFragment_m2510859489(__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_t3397334013* L_34 = V_5;
			int32_t L_35 = 0;
			uint8_t L_36 = (L_34)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_35));
			ByteU5BU5D_t3397334013* L_37 = V_5;
			int32_t L_38 = 1;
			uint8_t L_39 = (L_37)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_38));
			RecordProtocol_ProcessAlert_m2650247744(__this, L_36, L_39, /*hidden argument*/NULL);
			Stream_t3255436806 * 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_t3255436806 * 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_t3397334013*)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_t3397334013* L_43 = V_5;
			TlsStream_t4089752859 * L_44 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
			TlsStream__ctor_m2982031560(L_44, L_43, /*hidden argument*/NULL);
			V_6 = L_44;
			goto IL_012f;
		}

IL_0127:
		{
			TlsStream_t4089752859 * L_45 = V_6;
			VirtActionInvoker1< TlsStream_t4089752859 * >::Invoke(5 /* System.Void Mono.Security.Protocol.Tls.RecordProtocol::ProcessHandshakeMessage(Mono.Security.Protocol.Tls.TlsStream) */, __this, L_45);
		}

IL_012f:
		{
			TlsStream_t4089752859 * L_46 = V_6;
			bool L_47 = TlsStream_get_EOF_m1728604576(L_46, /*hidden argument*/NULL);
			if (!L_47)
			{
				goto IL_0127;
			}
		}

IL_013b:
		{
			goto IL_0164;
		}

IL_0140:
		{
			Context_t4285182719 * L_48 = __this->get_context_2();
			TlsStream_t4089752859 * L_49 = Context_get_HandshakeMessages_m2765912589(L_48, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_50 = V_5;
			TlsStream_Write_m3425460533(L_49, L_50, /*hidden argument*/NULL);
			goto IL_0164;
		}

IL_0157:
		{
			TlsException_t583514812 * L_51 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
			TlsException__ctor_m1988757560(L_51, ((int32_t)10), _stringLiteral846449639, /*hidden argument*/NULL);
			IL2CPP_RAISE_MANAGED_EXCEPTION(L_51);
		}

IL_0164:
		{
			ReceiveRecordAsyncResult_t1946181211 * L_52 = V_0;
			ByteU5BU5D_t3397334013* L_53 = V_5;
			ReceiveRecordAsyncResult_SetComplete_m4055415513(L_52, L_53, /*hidden argument*/NULL);
			goto IL_0180;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0171;
		throw e;
	}

CATCH_0171:
	{ // begin catch(System.Exception)
		V_7 = ((Exception_t1927440687 *)__exception_local);
		ReceiveRecordAsyncResult_t1946181211 * L_54 = V_0;
		Exception_t1927440687 * L_55 = V_7;
		ReceiveRecordAsyncResult_SetComplete_m494147202(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_t1946181211_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppClass* RecordProtocol_t3166895267_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4060500472;
extern const uint32_t RecordProtocol_EndReceiveRecord_m4045980155_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_EndReceiveRecord_m4045980155 (RecordProtocol_t3166895267 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EndReceiveRecord_m4045980155_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ReceiveRecordAsyncResult_t1946181211 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((ReceiveRecordAsyncResult_t1946181211 *)IsInstClass(L_0, ReceiveRecordAsyncResult_t1946181211_il2cpp_TypeInfo_var));
		ReceiveRecordAsyncResult_t1946181211 * L_1 = V_0;
		if (L_1)
		{
			goto IL_0018;
		}
	}
	{
		ArgumentException_t3259014390 * L_2 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_2, _stringLiteral4060500472, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0018:
	{
		ReceiveRecordAsyncResult_t1946181211 * L_3 = V_0;
		bool L_4 = ReceiveRecordAsyncResult_get_IsCompleted_m2327274447(L_3, /*hidden argument*/NULL);
		if (L_4)
		{
			goto IL_002f;
		}
	}
	{
		ReceiveRecordAsyncResult_t1946181211 * L_5 = V_0;
		WaitHandle_t677569169 * L_6 = ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1602093076(L_5, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_6);
	}

IL_002f:
	{
		ReceiveRecordAsyncResult_t1946181211 * L_7 = V_0;
		bool L_8 = ReceiveRecordAsyncResult_get_CompletedWithError_m2670396551(L_7, /*hidden argument*/NULL);
		if (!L_8)
		{
			goto IL_0041;
		}
	}
	{
		ReceiveRecordAsyncResult_t1946181211 * L_9 = V_0;
		Exception_t1927440687 * L_10 = ReceiveRecordAsyncResult_get_AsyncException_m1835236292(L_9, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
	}

IL_0041:
	{
		ReceiveRecordAsyncResult_t1946181211 * L_11 = V_0;
		ByteU5BU5D_t3397334013* L_12 = ReceiveRecordAsyncResult_get_ResultingBuffer_m2153361373(L_11, /*hidden argument*/NULL);
		V_1 = L_12;
		IL2CPP_RUNTIME_CLASS_INIT(RecordProtocol_t3166895267_il2cpp_TypeInfo_var);
		ManualResetEvent_t926074657 * L_13 = ((RecordProtocol_t3166895267_StaticFields*)RecordProtocol_t3166895267_il2cpp_TypeInfo_var->static_fields)->get_record_processing_0();
		EventWaitHandle_Set_m2975776670(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_14 = V_1;
		return L_14;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReceiveRecord(System.IO.Stream)
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_ReceiveRecord_m3672584816 (RecordProtocol_t3166895267 * __this, Stream_t3255436806 * ___record0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		Stream_t3255436806 * L_0 = ___record0;
		Il2CppObject * L_1 = RecordProtocol_BeginReceiveRecord_m2023581433(__this, L_0, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_1;
		Il2CppObject * L_2 = V_0;
		ByteU5BU5D_t3397334013* L_3 = RecordProtocol_EndReceiveRecord_m4045980155(__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_t859870085_0_0_0_var;
extern Il2CppClass* Type_t_il2cpp_TypeInfo_var;
extern Il2CppClass* ContentType_t859870085_il2cpp_TypeInfo_var;
extern Il2CppClass* Enum_t2459695545_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ReadRecordBuffer_m1307297230_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_ReadRecordBuffer_m1307297230 (RecordProtocol_t3166895267 * __this, int32_t ___contentType0, Stream_t3255436806 * ___record1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadRecordBuffer_m1307297230_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t3255436806 * L_2 = ___record1;
		ByteU5BU5D_t3397334013* L_3 = RecordProtocol_ReadClientHelloV2_m103475177(__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_m432505302(NULL /*static, unused*/, LoadTypeToken(ContentType_t859870085_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_t859870085_il2cpp_TypeInfo_var, &L_6);
		IL2CPP_RUNTIME_CLASS_INIT(Enum_t2459695545_il2cpp_TypeInfo_var);
		bool L_8 = Enum_IsDefined_m92789062(NULL /*static, unused*/, L_4, L_7, /*hidden argument*/NULL);
		if (L_8)
		{
			goto IL_003d;
		}
	}
	{
		TlsException_t583514812 * L_9 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m2436420036(L_9, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003d:
	{
		Stream_t3255436806 * L_10 = ___record1;
		ByteU5BU5D_t3397334013* L_11 = RecordProtocol_ReadStandardRecordBuffer_m3546484478(__this, L_10, /*hidden argument*/NULL);
		return L_11;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReadClientHelloV2(System.IO.Stream)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ReadClientHelloV2_m103475177_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_ReadClientHelloV2_m103475177 (RecordProtocol_t3166895267 * __this, Stream_t3255436806 * ___record0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadClientHelloV2_m103475177_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	ByteU5BU5D_t3397334013* 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_t3397334013* V_8 = NULL;
	ByteU5BU5D_t3397334013* V_9 = NULL;
	ByteU5BU5D_t3397334013* V_10 = NULL;
	int32_t G_B8_0 = 0;
	{
		Stream_t3255436806 * 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_t3255436806 * 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_t3255436806 * 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_t3397334013*)NULL;
	}

IL_0023:
	{
		int32_t L_7 = V_0;
		V_1 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_7));
		Stream_t3255436806 * L_8 = ___record0;
		ByteU5BU5D_t3397334013* L_9 = V_1;
		int32_t L_10 = V_0;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t3397334013* L_11 = V_1;
		int32_t L_12 = 0;
		uint8_t L_13 = (L_11)->GetAtUnchecked(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_t583514812 * L_15 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m2436420036(L_15, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_15);
	}

IL_0047:
	{
		ByteU5BU5D_t3397334013* L_16 = V_1;
		int32_t L_17 = 1;
		uint8_t L_18 = (L_16)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_17));
		ByteU5BU5D_t3397334013* L_19 = V_1;
		int32_t L_20 = 2;
		uint8_t L_21 = (L_19)->GetAtUnchecked(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_t3397334013* L_22 = V_1;
		int32_t L_23 = 3;
		uint8_t L_24 = (L_22)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_23));
		ByteU5BU5D_t3397334013* L_25 = V_1;
		int32_t L_26 = 4;
		uint8_t L_27 = (L_25)->GetAtUnchecked(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_t3397334013* L_28 = V_1;
		int32_t L_29 = 5;
		uint8_t L_30 = (L_28)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_29));
		ByteU5BU5D_t3397334013* L_31 = V_1;
		int32_t L_32 = 6;
		uint8_t L_33 = (L_31)->GetAtUnchecked(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_t3397334013* L_34 = V_1;
		int32_t L_35 = 7;
		uint8_t L_36 = (L_34)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_35));
		ByteU5BU5D_t3397334013* L_37 = V_1;
		int32_t L_38 = 8;
		uint8_t L_39 = (L_37)->GetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_42));
		ByteU5BU5D_t3397334013* L_43 = V_1;
		ByteU5BU5D_t3397334013* L_44 = V_8;
		int32_t L_45 = V_4;
		Buffer_BlockCopy_m1586717258(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_46));
		ByteU5BU5D_t3397334013* L_47 = V_1;
		int32_t L_48 = V_4;
		ByteU5BU5D_t3397334013* L_49 = V_9;
		int32_t L_50 = V_5;
		Buffer_BlockCopy_m1586717258(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_51));
		ByteU5BU5D_t3397334013* L_52 = V_1;
		int32_t L_53 = V_4;
		int32_t L_54 = V_5;
		ByteU5BU5D_t3397334013* L_55 = V_10;
		int32_t L_56 = V_6;
		Buffer_BlockCopy_m1586717258(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_t583514812 * L_60 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m2436420036(L_60, ((int32_t)50), /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_60);
	}

IL_00f2:
	{
		ByteU5BU5D_t3397334013* L_61 = V_9;
		if ((((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_61)->max_length))))) <= ((int32_t)0)))
		{
			goto IL_0109;
		}
	}
	{
		Context_t4285182719 * L_62 = __this->get_context_2();
		ByteU5BU5D_t3397334013* L_63 = V_9;
		Context_set_SessionId_m1229908268(L_62, L_63, /*hidden argument*/NULL);
	}

IL_0109:
	{
		Context_t4285182719 * L_64 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		int32_t L_65 = V_3;
		Context_ChangeProtocol_m46663628(L_64, (((int16_t)((int16_t)L_65))), /*hidden argument*/NULL);
		Context_t4285182719 * L_66 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		int32_t L_67 = Context_get_SecurityProtocol_m1600902905(L_66, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_68 = V_8;
		RecordProtocol_ProcessCipherSpecV2Buffer_m1895848015(__this, L_67, L_68, /*hidden argument*/NULL);
		Context_t4285182719 * L_69 = __this->get_context_2();
		Context_set_ClientRandom_m631392719(L_69, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)32))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_70 = V_10;
		ByteU5BU5D_t3397334013* L_71 = V_10;
		int32_t L_72 = V_7;
		Context_t4285182719 * L_73 = __this->get_context_2();
		ByteU5BU5D_t3397334013* L_74 = Context_get_ClientRandom_m697914474(L_73, /*hidden argument*/NULL);
		int32_t L_75 = V_7;
		int32_t L_76 = V_7;
		Buffer_BlockCopy_m1586717258(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_t4285182719 * L_77 = __this->get_context_2();
		Context_set_LastHandshakeMsg_m3162558586(L_77, 1, /*hidden argument*/NULL);
		Context_t4285182719 * L_78 = __this->get_context_2();
		Context_set_ProtocolNegotiated_m1177527245(L_78, (bool)1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_79 = V_1;
		return L_79;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol::ReadStandardRecordBuffer(System.IO.Stream)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1585801581;
extern Il2CppCodeGenString* _stringLiteral2961240735;
extern Il2CppCodeGenString* _stringLiteral3941134998;
extern const uint32_t RecordProtocol_ReadStandardRecordBuffer_m3546484478_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_ReadStandardRecordBuffer_m3546484478 (RecordProtocol_t3166895267 * __this, Stream_t3255436806 * ___record0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ReadStandardRecordBuffer_m3546484478_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	int16_t V_1 = 0;
	int16_t V_2 = 0;
	int32_t V_3 = 0;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	int32_t V_5 = 0;
	{
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4));
		Stream_t3255436806 * L_0 = ___record0;
		ByteU5BU5D_t3397334013* L_1 = V_0;
		int32_t L_2 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t583514812 * L_3 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m3885720020(L_3, _stringLiteral1585801581, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0021:
	{
		ByteU5BU5D_t3397334013* L_4 = V_0;
		int32_t L_5 = 0;
		uint8_t L_6 = (L_4)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t3397334013* L_7 = V_0;
		int32_t L_8 = 1;
		uint8_t L_9 = (L_7)->GetAtUnchecked(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_t3397334013* L_10 = V_0;
		int32_t L_11 = 2;
		uint8_t L_12 = (L_10)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_11));
		ByteU5BU5D_t3397334013* L_13 = V_0;
		int32_t L_14 = 3;
		uint8_t L_15 = (L_13)->GetAtUnchecked(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_t3255436806 * 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_t3255436806 * 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_t3397334013*)NULL;
	}

IL_0053:
	{
		V_3 = 0;
		int16_t L_21 = V_2;
		V_4 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_21));
		goto IL_008b;
	}

IL_0062:
	{
		Stream_t3255436806 * L_22 = ___record0;
		ByteU5BU5D_t3397334013* L_23 = V_4;
		int32_t L_24 = V_3;
		ByteU5BU5D_t3397334013* L_25 = V_4;
		int32_t L_26 = V_3;
		int32_t L_27 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t583514812 * L_29 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_29, 0, _stringLiteral2961240735, /*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_t4285182719 * L_35 = __this->get_context_2();
		int16_t L_36 = Context_get_Protocol_m1537476188(L_35, /*hidden argument*/NULL);
		if ((((int32_t)L_34) == ((int32_t)L_36)))
		{
			goto IL_00c0;
		}
	}
	{
		Context_t4285182719 * L_37 = __this->get_context_2();
		bool L_38 = Context_get_ProtocolNegotiated_m624488778(L_37, /*hidden argument*/NULL);
		if (!L_38)
		{
			goto IL_00c0;
		}
	}
	{
		TlsException_t583514812 * L_39 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_39, ((int32_t)70), _stringLiteral3941134998, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_39);
	}

IL_00c0:
	{
		ByteU5BU5D_t3397334013* 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_t583514812_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_ProcessAlert_m2650247744_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessAlert_m2650247744 (RecordProtocol_t3166895267 * __this, uint8_t ___alertLevel0, uint8_t ___alertDesc1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessAlert_m2650247744_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t583514812 * L_5 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m2205512412(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_t4285182719 * L_8 = __this->get_context_2();
		Context_set_ReceivedConnectionEnd_m213831275(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_t3405955216_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m2622753765_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m2622753765 (RecordProtocol_t3166895267 * __this, uint8_t ___description0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m2622753765_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		uint8_t L_0 = ___description0;
		Alert_t3405955216 * L_1 = (Alert_t3405955216 *)il2cpp_codegen_object_new(Alert_t3405955216_il2cpp_TypeInfo_var);
		Alert__ctor_m264447866(L_1, L_0, /*hidden argument*/NULL);
		RecordProtocol_SendAlert_m2816808523(__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_t3405955216_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m2529562669_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m2529562669 (RecordProtocol_t3166895267 * __this, uint8_t ___level0, uint8_t ___description1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m2529562669_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		uint8_t L_0 = ___level0;
		uint8_t L_1 = ___description1;
		Alert_t3405955216 * L_2 = (Alert_t3405955216 *)il2cpp_codegen_object_new(Alert_t3405955216_il2cpp_TypeInfo_var);
		Alert__ctor_m287829582(L_2, L_0, L_1, /*hidden argument*/NULL);
		RecordProtocol_SendAlert_m2816808523(__this, L_2, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendAlert(Mono.Security.Protocol.Tls.Alert)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendAlert_m2816808523_MetadataUsageId;
extern "C"  void RecordProtocol_SendAlert_m2816808523 (RecordProtocol_t3166895267 * __this, Alert_t3405955216 * ___alert0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendAlert_m2816808523_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	uint8_t V_0 = 0;
	uint8_t V_1 = 0;
	bool V_2 = false;
	{
		Alert_t3405955216 * 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_t3405955216 * L_1 = ___alert0;
		uint8_t L_2 = Alert_get_Level_m2913362942(L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		Alert_t3405955216 * L_3 = ___alert0;
		uint8_t L_4 = Alert_get_Description_m3856702046(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		Alert_t3405955216 * L_5 = ___alert0;
		bool L_6 = Alert_get_IsCloseNotify_m577852330(L_5, /*hidden argument*/NULL);
		V_2 = L_6;
	}

IL_0027:
	{
		ByteU5BU5D_t3397334013* L_7 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)2));
		uint8_t L_8 = V_0;
		(L_7)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_8);
		ByteU5BU5D_t3397334013* L_9 = L_7;
		uint8_t L_10 = V_1;
		(L_9)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)L_10);
		RecordProtocol_SendRecord_m132002114(__this, ((int32_t)21), L_9, /*hidden argument*/NULL);
		bool L_11 = V_2;
		if (!L_11)
		{
			goto IL_004f;
		}
	}
	{
		Context_t4285182719 * L_12 = __this->get_context_2();
		Context_set_SentConnectionEnd_m2641458842(L_12, (bool)1, /*hidden argument*/NULL);
	}

IL_004f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::SendChangeCipherSpec()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_SendChangeCipherSpec_m3542001341_MetadataUsageId;
extern "C"  void RecordProtocol_SendChangeCipherSpec_m3542001341 (RecordProtocol_t3166895267 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_SendChangeCipherSpec_m3542001341_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Context_t4285182719 * V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)1));
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)1);
		RecordProtocol_SendRecord_m132002114(__this, ((int32_t)20), L_0, /*hidden argument*/NULL);
		Context_t4285182719 * L_1 = __this->get_context_2();
		V_0 = L_1;
		Context_t4285182719 * L_2 = V_0;
		Context_set_WriteSequenceNumber_m3356252710(L_2, (((int64_t)((int64_t)0))), /*hidden argument*/NULL);
		Context_t4285182719 * L_3 = V_0;
		if (!((ClientContext_t3002158488 *)IsInstClass(L_3, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0038;
		}
	}
	{
		Context_t4285182719 * L_4 = V_0;
		Context_StartSwitchingSecurityParameters_m373522596(L_4, (bool)1, /*hidden argument*/NULL);
		goto IL_003f;
	}

IL_0038:
	{
		Context_t4285182719 * L_5 = V_0;
		Context_EndSwitchingSecurityParameters_m1613076777(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_t173216930_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t163412349_il2cpp_TypeInfo_var;
extern const MethodInfo* RecordProtocol_InternalSendRecordCallback_m3984764857_MethodInfo_var;
extern const uint32_t RecordProtocol_BeginSendRecord_m3180957815_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginSendRecord_m3180957815 (RecordProtocol_t3166895267 * __this, uint8_t ___handshakeType0, AsyncCallback_t163412349 * ___callback1, Il2CppObject * ___state2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginSendRecord_m3180957815_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HandshakeMessage_t3938752374 * V_0 = NULL;
	SendRecordAsyncResult_t173216930 * V_1 = NULL;
	{
		uint8_t L_0 = ___handshakeType0;
		HandshakeMessage_t3938752374 * L_1 = VirtFuncInvoker1< HandshakeMessage_t3938752374 *, 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_t3938752374 * L_2 = V_0;
		HandshakeMessage_Process_m2688076118(L_2, /*hidden argument*/NULL);
		AsyncCallback_t163412349 * L_3 = ___callback1;
		Il2CppObject * L_4 = ___state2;
		HandshakeMessage_t3938752374 * L_5 = V_0;
		SendRecordAsyncResult_t173216930 * L_6 = (SendRecordAsyncResult_t173216930 *)il2cpp_codegen_object_new(SendRecordAsyncResult_t173216930_il2cpp_TypeInfo_var);
		SendRecordAsyncResult__ctor_m2999905045(L_6, L_3, L_4, L_5, /*hidden argument*/NULL);
		V_1 = L_6;
		HandshakeMessage_t3938752374 * L_7 = V_0;
		uint8_t L_8 = HandshakeMessage_get_ContentType_m760670911(L_7, /*hidden argument*/NULL);
		HandshakeMessage_t3938752374 * L_9 = V_0;
		ByteU5BU5D_t3397334013* L_10 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_m3984764857_MethodInfo_var);
		AsyncCallback_t163412349 * L_12 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
		AsyncCallback__ctor_m3071689932(L_12, __this, L_11, /*hidden argument*/NULL);
		SendRecordAsyncResult_t173216930 * L_13 = V_1;
		RecordProtocol_BeginSendRecord_m166940611(__this, L_8, L_10, L_12, L_13, /*hidden argument*/NULL);
		SendRecordAsyncResult_t173216930 * L_14 = V_1;
		return L_14;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol::InternalSendRecordCallback(System.IAsyncResult)
extern Il2CppClass* IAsyncResult_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* SendRecordAsyncResult_t173216930_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_InternalSendRecordCallback_m3984764857_MetadataUsageId;
extern "C"  void RecordProtocol_InternalSendRecordCallback_m3984764857 (RecordProtocol_t3166895267 * __this, Il2CppObject * ___ar0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_InternalSendRecordCallback_m3984764857_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	SendRecordAsyncResult_t173216930 * V_0 = NULL;
	Exception_t1927440687 * V_1 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1999651008_il2cpp_TypeInfo_var, L_0);
		V_0 = ((SendRecordAsyncResult_t173216930 *)IsInstClass(L_1, SendRecordAsyncResult_t173216930_il2cpp_TypeInfo_var));
	}

IL_000c:
	try
	{ // begin try (depth: 1)
		Il2CppObject * L_2 = ___ar0;
		RecordProtocol_EndSendRecord_m3304963666(__this, L_2, /*hidden argument*/NULL);
		SendRecordAsyncResult_t173216930 * L_3 = V_0;
		HandshakeMessage_t3938752374 * L_4 = SendRecordAsyncResult_get_Message_m2340978616(L_3, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(26 /* System.Void Mono.Security.Protocol.Tls.Handshake.HandshakeMessage::Update() */, L_4);
		SendRecordAsyncResult_t173216930 * L_5 = V_0;
		HandshakeMessage_t3938752374 * L_6 = SendRecordAsyncResult_get_Message_m2340978616(L_5, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(L_6, /*hidden argument*/NULL);
		SendRecordAsyncResult_t173216930 * L_7 = V_0;
		SendRecordAsyncResult_SetComplete_m3006273145(L_7, /*hidden argument*/NULL);
		goto IL_0041;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0034;
		throw e;
	}

CATCH_0034:
	{ // begin catch(System.Exception)
		V_1 = ((Exception_t1927440687 *)__exception_local);
		SendRecordAsyncResult_t173216930 * L_8 = V_0;
		Exception_t1927440687 * L_9 = V_1;
		SendRecordAsyncResult_SetComplete_m425796521(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_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral220534229;
extern const uint32_t RecordProtocol_BeginSendRecord_m166940611_MetadataUsageId;
extern "C"  Il2CppObject * RecordProtocol_BeginSendRecord_m166940611 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___recordData1, AsyncCallback_t163412349 * ___callback2, Il2CppObject * ___state3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_BeginSendRecord_m166940611_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		Context_t4285182719 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_SentConnectionEnd_m3114190867(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t583514812 * L_2 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_2, ((int32_t)80), _stringLiteral220534229, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		uint8_t L_3 = ___contentType0;
		ByteU5BU5D_t3397334013* L_4 = ___recordData1;
		ByteU5BU5D_t3397334013* L_5 = RecordProtocol_EncodeRecord_m1215442978(__this, L_3, L_4, /*hidden argument*/NULL);
		V_0 = L_5;
		Stream_t3255436806 * L_6 = __this->get_innerStream_1();
		ByteU5BU5D_t3397334013* L_7 = V_0;
		ByteU5BU5D_t3397334013* L_8 = V_0;
		AsyncCallback_t163412349 * L_9 = ___callback2;
		Il2CppObject * L_10 = ___state3;
		Il2CppObject * L_11 = VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t3397334013*, int32_t, int32_t, AsyncCallback_t163412349 *, 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_t173216930_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_EndSendRecord_m3304963666_MetadataUsageId;
extern "C"  void RecordProtocol_EndSendRecord_m3304963666 (RecordProtocol_t3166895267 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EndSendRecord_m3304963666_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	SendRecordAsyncResult_t173216930 * V_0 = NULL;
	{
		Il2CppObject * L_0 = ___asyncResult0;
		if (!((SendRecordAsyncResult_t173216930 *)IsInstClass(L_0, SendRecordAsyncResult_t173216930_il2cpp_TypeInfo_var)))
		{
			goto IL_0040;
		}
	}
	{
		Il2CppObject * L_1 = ___asyncResult0;
		V_0 = ((SendRecordAsyncResult_t173216930 *)IsInstClass(L_1, SendRecordAsyncResult_t173216930_il2cpp_TypeInfo_var));
		SendRecordAsyncResult_t173216930 * L_2 = V_0;
		bool L_3 = SendRecordAsyncResult_get_IsCompleted_m2666127692(L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0029;
		}
	}
	{
		SendRecordAsyncResult_t173216930 * L_4 = V_0;
		WaitHandle_t677569169 * L_5 = SendRecordAsyncResult_get_AsyncWaitHandle_m3532375825(L_4, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_5);
	}

IL_0029:
	{
		SendRecordAsyncResult_t173216930 * L_6 = V_0;
		bool L_7 = SendRecordAsyncResult_get_CompletedWithError_m349920476(L_6, /*hidden argument*/NULL);
		if (!L_7)
		{
			goto IL_003b;
		}
	}
	{
		SendRecordAsyncResult_t173216930 * L_8 = V_0;
		Exception_t1927440687 * L_9 = SendRecordAsyncResult_get_AsyncException_m2088364821(L_8, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_9);
	}

IL_003b:
	{
		goto IL_004c;
	}

IL_0040:
	{
		Stream_t3255436806 * 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_m132002114 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___recordData1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	{
		uint8_t L_0 = ___contentType0;
		ByteU5BU5D_t3397334013* L_1 = ___recordData1;
		Il2CppObject * L_2 = RecordProtocol_BeginSendRecord_m166940611(__this, L_0, L_1, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
		V_0 = L_2;
		Il2CppObject * L_3 = V_0;
		RecordProtocol_EndSendRecord_m3304963666(__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_t3397334013* RecordProtocol_EncodeRecord_m1215442978 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___recordData1, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___contentType0;
		ByteU5BU5D_t3397334013* L_1 = ___recordData1;
		ByteU5BU5D_t3397334013* L_2 = ___recordData1;
		ByteU5BU5D_t3397334013* L_3 = RecordProtocol_EncodeRecord_m3884270352(__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_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral220534229;
extern const uint32_t RecordProtocol_EncodeRecord_m3884270352_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_EncodeRecord_m3884270352 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___recordData1, int32_t ___offset2, int32_t ___count3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_EncodeRecord_m3884270352_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	int32_t V_1 = 0;
	int16_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	{
		Context_t4285182719 * L_0 = __this->get_context_2();
		bool L_1 = Context_get_SentConnectionEnd_m3114190867(L_0, /*hidden argument*/NULL);
		if (!L_1)
		{
			goto IL_001d;
		}
	}
	{
		TlsException_t583514812 * L_2 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_2, ((int32_t)80), _stringLiteral220534229, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_001d:
	{
		TlsStream_t4089752859 * L_3 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_11));
		ByteU5BU5D_t3397334013* L_12 = ___recordData1;
		int32_t L_13 = V_1;
		ByteU5BU5D_t3397334013* L_14 = V_3;
		int16_t L_15 = V_2;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_12, L_13, (Il2CppArray *)(Il2CppArray *)L_14, 0, L_15, /*hidden argument*/NULL);
		Context_t4285182719 * L_16 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_17 = Context_get_Write_m2299361626(L_16, /*hidden argument*/NULL);
		if (!L_17)
		{
			goto IL_008e;
		}
	}
	{
		Context_t4285182719 * L_18 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_19 = Context_get_Write_m2299361626(L_18, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_20 = SecurityParameters_get_Cipher_m2392911632(L_19, /*hidden argument*/NULL);
		if (!L_20)
		{
			goto IL_008e;
		}
	}
	{
		uint8_t L_21 = ___contentType0;
		ByteU5BU5D_t3397334013* L_22 = V_3;
		ByteU5BU5D_t3397334013* L_23 = RecordProtocol_encryptRecordFragment_m1241873183(__this, L_21, L_22, /*hidden argument*/NULL);
		V_3 = L_23;
	}

IL_008e:
	{
		TlsStream_t4089752859 * L_24 = V_0;
		uint8_t L_25 = ___contentType0;
		TlsStream_Write_m2271546135(L_24, L_25, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_26 = V_0;
		Context_t4285182719 * L_27 = __this->get_context_2();
		int16_t L_28 = Context_get_Protocol_m1537476188(L_27, /*hidden argument*/NULL);
		TlsStream_Write_m2055734301(L_26, L_28, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_29 = V_0;
		ByteU5BU5D_t3397334013* L_30 = V_3;
		TlsStream_Write_m2055734301(L_29, (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_30)->max_length))))))), /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_31 = V_0;
		ByteU5BU5D_t3397334013* L_32 = V_3;
		TlsStream_Write_m3425460533(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_t4089752859 * L_38 = V_0;
		ByteU5BU5D_t3397334013* L_39 = TlsStream_ToArray_m3731779317(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_t3002158488_il2cpp_TypeInfo_var;
extern const uint32_t RecordProtocol_encryptRecordFragment_m1241873183_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_encryptRecordFragment_m1241873183 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_encryptRecordFragment_m1241873183_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	{
		V_0 = (ByteU5BU5D_t3397334013*)NULL;
		Context_t4285182719 * L_0 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3002158488 *)IsInstClass(L_0, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_002f;
		}
	}
	{
		Context_t4285182719 * L_1 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_2 = Context_get_Write_m2299361626(L_1, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_3 = SecurityParameters_get_Cipher_m2392911632(L_2, /*hidden argument*/NULL);
		uint8_t L_4 = ___contentType0;
		ByteU5BU5D_t3397334013* L_5 = ___fragment1;
		ByteU5BU5D_t3397334013* L_6 = VirtFuncInvoker2< ByteU5BU5D_t3397334013*, uint8_t, ByteU5BU5D_t3397334013* >::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_t4285182719 * L_7 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_8 = Context_get_Write_m2299361626(L_7, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_9 = SecurityParameters_get_Cipher_m2392911632(L_8, /*hidden argument*/NULL);
		uint8_t L_10 = ___contentType0;
		ByteU5BU5D_t3397334013* L_11 = ___fragment1;
		ByteU5BU5D_t3397334013* L_12 = VirtFuncInvoker2< ByteU5BU5D_t3397334013*, uint8_t, ByteU5BU5D_t3397334013* >::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_t4285182719 * L_13 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_14 = Context_get_Write_m2299361626(L_13, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_15 = SecurityParameters_get_Cipher_m2392911632(L_14, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_16 = ___fragment1;
		ByteU5BU5D_t3397334013* L_17 = V_0;
		ByteU5BU5D_t3397334013* L_18 = CipherSuite_EncryptRecord_m3421046381(L_15, L_16, L_17, /*hidden argument*/NULL);
		V_1 = L_18;
		Context_t4285182719 * L_19 = __this->get_context_2();
		Context_t4285182719 * L_20 = L_19;
		uint64_t L_21 = Context_get_WriteSequenceNumber_m243492531(L_20, /*hidden argument*/NULL);
		Context_set_WriteSequenceNumber_m3356252710(L_20, ((int64_t)((int64_t)L_21+(int64_t)(((int64_t)((int64_t)1))))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* 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_t3823737132_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral265969845;
extern const uint32_t RecordProtocol_decryptRecordFragment_m2510859489_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RecordProtocol_decryptRecordFragment_m2510859489 (RecordProtocol_t3166895267 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_decryptRecordFragment_m2510859489_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		V_0 = (ByteU5BU5D_t3397334013*)NULL;
		V_1 = (ByteU5BU5D_t3397334013*)NULL;
	}

IL_0004:
	try
	{ // begin try (depth: 1)
		Context_t4285182719 * L_0 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_1 = Context_get_Read_m171585211(L_0, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_2 = SecurityParameters_get_Cipher_m2392911632(L_1, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = ___fragment1;
		CipherSuite_DecryptRecord_m1247194570(L_2, L_3, (&V_0), (&V_1), /*hidden argument*/NULL);
		goto IL_004d;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)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_t4285182719 * L_4 = __this->get_context_2();
			if (!((ServerContext_t3823737132 *)IsInstClass(L_4, ServerContext_t3823737132_il2cpp_TypeInfo_var)))
			{
				goto IL_0046;
			}
		}

IL_0034:
		{
			Context_t4285182719 * L_5 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			RecordProtocol_t3166895267 * L_6 = Context_get_RecordProtocol_m1527823481(L_5, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2622753765(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_t3397334013*)NULL;
		Context_t4285182719 * L_7 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3002158488 *)IsInstClass(L_7, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_007c;
		}
	}
	{
		Context_t4285182719 * L_8 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_9 = Context_get_Read_m171585211(L_8, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_10 = SecurityParameters_get_Cipher_m2392911632(L_9, /*hidden argument*/NULL);
		uint8_t L_11 = ___contentType0;
		ByteU5BU5D_t3397334013* L_12 = V_0;
		ByteU5BU5D_t3397334013* L_13 = VirtFuncInvoker2< ByteU5BU5D_t3397334013*, uint8_t, ByteU5BU5D_t3397334013* >::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_t4285182719 * L_14 = __this->get_context_2();
		SecurityParameters_t2290372928 * L_15 = Context_get_Read_m171585211(L_14, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_16 = SecurityParameters_get_Cipher_m2392911632(L_15, /*hidden argument*/NULL);
		uint8_t L_17 = ___contentType0;
		ByteU5BU5D_t3397334013* L_18 = V_0;
		ByteU5BU5D_t3397334013* L_19 = VirtFuncInvoker2< ByteU5BU5D_t3397334013*, uint8_t, ByteU5BU5D_t3397334013* >::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_t3397334013* L_20 = V_2;
		ByteU5BU5D_t3397334013* L_21 = V_1;
		bool L_22 = RecordProtocol_Compare_m216902730(__this, L_20, L_21, /*hidden argument*/NULL);
		if (L_22)
		{
			goto IL_00ae;
		}
	}
	{
		TlsException_t583514812 * L_23 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_23, ((int32_t)20), _stringLiteral265969845, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_23);
	}

IL_00ae:
	{
		Context_t4285182719 * L_24 = __this->get_context_2();
		Context_t4285182719 * L_25 = L_24;
		uint64_t L_26 = Context_get_ReadSequenceNumber_m2586681610(L_25, /*hidden argument*/NULL);
		Context_set_ReadSequenceNumber_m3303454459(L_25, ((int64_t)((int64_t)L_26+(int64_t)(((int64_t)((int64_t)1))))), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_27 = V_0;
		return L_27;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.RecordProtocol::Compare(System.Byte[],System.Byte[])
extern "C"  bool RecordProtocol_Compare_m216902730 (RecordProtocol_t3166895267 * __this, ByteU5BU5D_t3397334013* ___array10, ByteU5BU5D_t3397334013* ___array21, const MethodInfo* method)
{
	int32_t V_0 = 0;
	{
		ByteU5BU5D_t3397334013* L_0 = ___array10;
		if (L_0)
		{
			goto IL_000b;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = ___array21;
		return (bool)((((Il2CppObject*)(ByteU5BU5D_t3397334013*)L_1) == ((Il2CppObject*)(Il2CppObject *)NULL))? 1 : 0);
	}

IL_000b:
	{
		ByteU5BU5D_t3397334013* L_2 = ___array21;
		if (L_2)
		{
			goto IL_0013;
		}
	}
	{
		return (bool)0;
	}

IL_0013:
	{
		ByteU5BU5D_t3397334013* L_3 = ___array10;
		ByteU5BU5D_t3397334013* 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_t3397334013* L_5 = ___array10;
		int32_t L_6 = V_0;
		int32_t L_7 = L_6;
		uint8_t L_8 = (L_5)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		ByteU5BU5D_t3397334013* L_9 = ___array21;
		int32_t L_10 = V_0;
		int32_t L_11 = L_10;
		uint8_t L_12 = (L_9)->GetAtUnchecked(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_t3397334013* 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_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2335643623;
extern Il2CppCodeGenString* _stringLiteral2564007728;
extern Il2CppCodeGenString* _stringLiteral2904559277;
extern const uint32_t RecordProtocol_ProcessCipherSpecV2Buffer_m1895848015_MetadataUsageId;
extern "C"  void RecordProtocol_ProcessCipherSpecV2Buffer_m1895848015 (RecordProtocol_t3166895267 * __this, int32_t ___protocol0, ByteU5BU5D_t3397334013* ___buffer1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_ProcessCipherSpecV2Buffer_m1895848015_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	String_t* V_1 = NULL;
	uint8_t V_2 = 0x0;
	int16_t V_3 = 0;
	int32_t V_4 = 0;
	ByteU5BU5D_t3397334013* V_5 = NULL;
	int32_t V_6 = 0;
	CipherSuite_t491456551 * V_7 = NULL;
	String_t* G_B3_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = ___buffer1;
		TlsStream_t4089752859 * L_1 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2982031560(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 = _stringLiteral2335643623;
		goto IL_001e;
	}

IL_0019:
	{
		G_B3_0 = _stringLiteral2564007728;
	}

IL_001e:
	{
		V_1 = G_B3_0;
		goto IL_00e2;
	}

IL_0024:
	{
		TlsStream_t4089752859 * L_3 = V_0;
		uint8_t L_4 = TlsStream_ReadByte_m1935235961(L_3, /*hidden argument*/NULL);
		V_2 = L_4;
		uint8_t L_5 = V_2;
		if (L_5)
		{
			goto IL_007f;
		}
	}
	{
		TlsStream_t4089752859 * L_6 = V_0;
		int16_t L_7 = TlsStream_ReadInt16_m1855118433(L_6, /*hidden argument*/NULL);
		V_3 = L_7;
		Context_t4285182719 * L_8 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_9 = Context_get_SupportedCiphers_m2172827298(L_8, /*hidden argument*/NULL);
		int16_t L_10 = V_3;
		int32_t L_11 = CipherSuiteCollection_IndexOf_m4089218779(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_t4285182719 * L_13 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_14 = Context_get_Negotiating_m3946476110(L_13, /*hidden argument*/NULL);
		Context_t4285182719 * L_15 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		CipherSuiteCollection_t2431504453 * L_16 = Context_get_SupportedCiphers_m2172827298(L_15, /*hidden argument*/NULL);
		int32_t L_17 = V_4;
		CipherSuite_t491456551 * L_18 = CipherSuiteCollection_get_Item_m280627160(L_16, L_17, /*hidden argument*/NULL);
		SecurityParameters_set_Cipher_m3888132335(L_14, L_18, /*hidden argument*/NULL);
		goto IL_00f3;
	}

IL_007a:
	{
		goto IL_00e2;
	}

IL_007f:
	{
		V_5 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)2));
		TlsStream_t4089752859 * L_19 = V_0;
		ByteU5BU5D_t3397334013* L_20 = V_5;
		ByteU5BU5D_t3397334013* L_21 = V_5;
		VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t3397334013* L_23 = V_5;
		int32_t L_24 = 0;
		uint8_t L_25 = (L_23)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_24));
		ByteU5BU5D_t3397334013* L_26 = V_5;
		int32_t L_27 = 1;
		uint8_t L_28 = (L_26)->GetAtUnchecked(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_t491456551 * L_31 = RecordProtocol_MapV2CipherCode_m4064211604(__this, L_29, L_30, /*hidden argument*/NULL);
		V_7 = L_31;
		CipherSuite_t491456551 * L_32 = V_7;
		if (!L_32)
		{
			goto IL_00e2;
		}
	}
	{
		Context_t4285182719 * L_33 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_34 = Context_get_Negotiating_m3946476110(L_33, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_35 = V_7;
		SecurityParameters_set_Cipher_m3888132335(L_34, L_35, /*hidden argument*/NULL);
		goto IL_00f3;
	}

IL_00e2:
	{
		TlsStream_t4089752859 * 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_t4089752859 * 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_t4285182719 * L_40 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_41 = Context_get_Negotiating_m3946476110(L_40, /*hidden argument*/NULL);
		if (L_41)
		{
			goto IL_0110;
		}
	}
	{
		TlsException_t583514812 * L_42 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_42, ((int32_t)71), _stringLiteral2904559277, /*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* _stringLiteral3890038970;
extern Il2CppCodeGenString* _stringLiteral3013594544;
extern Il2CppCodeGenString* _stringLiteral2471107291;
extern const uint32_t RecordProtocol_MapV2CipherCode_m4064211604_MetadataUsageId;
extern "C"  CipherSuite_t491456551 * RecordProtocol_MapV2CipherCode_m4064211604 (RecordProtocol_t3166895267 * __this, String_t* ___prefix0, int32_t ___code1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RecordProtocol_MapV2CipherCode_m4064211604_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	CipherSuite_t491456551 * V_1 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t4285182719 * L_8 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2431504453 * L_9 = Context_get_SupportedCiphers_m2172827298(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_m2596409543(NULL /*static, unused*/, L_10, _stringLiteral3890038970, /*hidden argument*/NULL);
			CipherSuite_t491456551 * L_12 = CipherSuiteCollection_get_Item_m3667070847(L_9, L_11, /*hidden argument*/NULL);
			V_1 = L_12;
			goto IL_0106;
		}

IL_0075:
		{
			Context_t4285182719 * L_13 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2431504453 * L_14 = Context_get_SupportedCiphers_m2172827298(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_m2596409543(NULL /*static, unused*/, L_15, _stringLiteral3013594544, /*hidden argument*/NULL);
			CipherSuite_t491456551 * L_17 = CipherSuiteCollection_get_Item_m3667070847(L_14, L_16, /*hidden argument*/NULL);
			V_1 = L_17;
			goto IL_0106;
		}

IL_0096:
		{
			Context_t4285182719 * L_18 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2431504453 * L_19 = Context_get_SupportedCiphers_m2172827298(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_m2596409543(NULL /*static, unused*/, L_20, _stringLiteral2471107291, /*hidden argument*/NULL);
			CipherSuite_t491456551 * L_22 = CipherSuiteCollection_get_Item_m3667070847(L_19, L_21, /*hidden argument*/NULL);
			V_1 = L_22;
			goto IL_0106;
		}

IL_00b7:
		{
			Context_t4285182719 * L_23 = RecordProtocol_get_Context_m2688493529(__this, /*hidden argument*/NULL);
			CipherSuiteCollection_t2431504453 * L_24 = Context_get_SupportedCiphers_m2172827298(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_m2596409543(NULL /*static, unused*/, L_25, _stringLiteral2471107291, /*hidden argument*/NULL);
			CipherSuite_t491456551 * L_27 = CipherSuiteCollection_get_Item_m3667070847(L_24, L_26, /*hidden argument*/NULL);
			V_1 = L_27;
			goto IL_0106;
		}

IL_00d8:
		{
			V_1 = (CipherSuite_t491456551 *)NULL;
			goto IL_0106;
		}

IL_00df:
		{
			V_1 = (CipherSuite_t491456551 *)NULL;
			goto IL_0106;
		}

IL_00e6:
		{
			V_1 = (CipherSuite_t491456551 *)NULL;
			goto IL_0106;
		}

IL_00ed:
		{
			V_1 = (CipherSuite_t491456551 *)NULL;
			goto IL_0106;
		}

IL_00f4:
		{
			; // IL_00f4: leave IL_0106
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)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_t491456551 *)NULL;
			goto IL_0106;
		}

IL_0101:
		{
			; // IL_0101: leave IL_0106
		}
	} // end catch (depth: 1)

IL_0106:
	{
		CipherSuite_t491456551 * 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_m109339899_MetadataUsageId;
extern "C"  void ReceiveRecordAsyncResult__ctor_m109339899 (ReceiveRecordAsyncResult_t1946181211 * __this, AsyncCallback_t163412349 * ___userCallback0, Il2CppObject * ___userState1, ByteU5BU5D_t3397334013* ___initialBuffer2, Stream_t3255436806 * ___record3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ReceiveRecordAsyncResult__ctor_m109339899_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m2551263788(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		AsyncCallback_t163412349 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		ByteU5BU5D_t3397334013* L_3 = ___initialBuffer2;
		__this->set__initialBuffer_8(L_3);
		Stream_t3255436806 * L_4 = ___record3;
		__this->set__record_6(L_4);
		return;
	}
}
// System.IO.Stream Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_Record()
extern "C"  Stream_t3255436806 * ReceiveRecordAsyncResult_get_Record_m1336421357 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	{
		Stream_t3255436806 * L_0 = __this->get__record_6();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_ResultingBuffer()
extern "C"  ByteU5BU5D_t3397334013* ReceiveRecordAsyncResult_get_ResultingBuffer_m2153361373 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get__resultingBuffer_5();
		return L_0;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_InitialBuffer()
extern "C"  ByteU5BU5D_t3397334013* ReceiveRecordAsyncResult_get_InitialBuffer_m1245345098 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m2086535212 (ReceiveRecordAsyncResult_t1946181211 * __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_t1927440687 * ReceiveRecordAsyncResult_get_AsyncException_m1835236292 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	{
		Exception_t1927440687 * 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_m2670396551 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	{
		bool L_0 = ReceiveRecordAsyncResult_get_IsCompleted_m2327274447(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t1927440687 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t1927440687 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t926074657_il2cpp_TypeInfo_var;
extern const uint32_t ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1602093076_MetadataUsageId;
extern "C"  WaitHandle_t677569169 * ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1602093076 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (ReceiveRecordAsyncResult_get_AsyncWaitHandle_m1602093076_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t926074657 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_7();
			ManualResetEvent_t926074657 * L_4 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m3470249043(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_t1927440687 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0035:
	{
		ManualResetEvent_t926074657 * 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_m2327274447 (ReceiveRecordAsyncResult_t1946181211 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t1927440687 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_m2441107665 (ReceiveRecordAsyncResult_t1946181211 * __this, Exception_t1927440687 * ___ex0, ByteU5BU5D_t3397334013* ___resultingBuffer1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t1927440687 * L_3 = ___ex0;
			__this->set__asyncException_3(L_3);
			ByteU5BU5D_t3397334013* L_4 = ___resultingBuffer1;
			__this->set__resultingBuffer_5(L_4);
			ManualResetEvent_t926074657 * L_5 = __this->get_handle_4();
			if (!L_5)
			{
				goto IL_0049;
			}
		}

IL_003d:
		{
			ManualResetEvent_t926074657 * L_6 = __this->get_handle_4();
			EventWaitHandle_Set_m2975776670(L_6, /*hidden argument*/NULL);
		}

IL_0049:
		{
			AsyncCallback_t163412349 * L_7 = __this->get__userCallback_1();
			if (!L_7)
			{
				goto IL_0063;
			}
		}

IL_0054:
		{
			AsyncCallback_t163412349 * L_8 = __this->get__userCallback_1();
			AsyncCallback_BeginInvoke_m3304700608(L_8, __this, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
		}

IL_0063:
		{
			IL2CPP_LEAVE(0x6F, FINALLY_0068);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t1927440687 *)e.ex;
		goto FINALLY_0068;
	}

FINALLY_0068:
	{ // begin finally (depth: 1)
		Il2CppObject * L_9 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_006f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::SetComplete(System.Exception)
extern "C"  void ReceiveRecordAsyncResult_SetComplete_m494147202 (ReceiveRecordAsyncResult_t1946181211 * __this, Exception_t1927440687 * ___ex0, const MethodInfo* method)
{
	{
		Exception_t1927440687 * L_0 = ___ex0;
		ReceiveRecordAsyncResult_SetComplete_m2441107665(__this, L_0, (ByteU5BU5D_t3397334013*)(ByteU5BU5D_t3397334013*)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/ReceiveRecordAsyncResult::SetComplete(System.Byte[])
extern "C"  void ReceiveRecordAsyncResult_SetComplete_m4055415513 (ReceiveRecordAsyncResult_t1946181211 * __this, ByteU5BU5D_t3397334013* ___resultingBuffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___resultingBuffer0;
		ReceiveRecordAsyncResult_SetComplete_m2441107665(__this, (Exception_t1927440687 *)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_m2999905045_MetadataUsageId;
extern "C"  void SendRecordAsyncResult__ctor_m2999905045 (SendRecordAsyncResult_t173216930 * __this, AsyncCallback_t163412349 * ___userCallback0, Il2CppObject * ___userState1, HandshakeMessage_t3938752374 * ___message2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SendRecordAsyncResult__ctor_m2999905045_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m2551263788(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		AsyncCallback_t163412349 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		HandshakeMessage_t3938752374 * 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_t3938752374 * SendRecordAsyncResult_get_Message_m2340978616 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	{
		HandshakeMessage_t3938752374 * 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_m2299453419 (SendRecordAsyncResult_t173216930 * __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_t1927440687 * SendRecordAsyncResult_get_AsyncException_m2088364821 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	{
		Exception_t1927440687 * 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_m349920476 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	{
		bool L_0 = SendRecordAsyncResult_get_IsCompleted_m2666127692(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t1927440687 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t1927440687 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t926074657_il2cpp_TypeInfo_var;
extern const uint32_t SendRecordAsyncResult_get_AsyncWaitHandle_m3532375825_MetadataUsageId;
extern "C"  WaitHandle_t677569169 * SendRecordAsyncResult_get_AsyncWaitHandle_m3532375825 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SendRecordAsyncResult_get_AsyncWaitHandle_m3532375825_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t926074657 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_6();
			ManualResetEvent_t926074657 * L_4 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m3470249043(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_t1927440687 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0035:
	{
		ManualResetEvent_t926074657 * 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_m2666127692 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t1927440687 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_m425796521 (SendRecordAsyncResult_t173216930 * __this, Exception_t1927440687 * ___ex0, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t926074657 * L_3 = __this->get_handle_4();
			if (!L_3)
			{
				goto IL_003b;
			}
		}

IL_002f:
		{
			ManualResetEvent_t926074657 * L_4 = __this->get_handle_4();
			EventWaitHandle_Set_m2975776670(L_4, /*hidden argument*/NULL);
		}

IL_003b:
		{
			AsyncCallback_t163412349 * L_5 = __this->get__userCallback_1();
			if (!L_5)
			{
				goto IL_0055;
			}
		}

IL_0046:
		{
			AsyncCallback_t163412349 * L_6 = __this->get__userCallback_1();
			AsyncCallback_BeginInvoke_m3304700608(L_6, __this, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
		}

IL_0055:
		{
			Exception_t1927440687 * 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_t1927440687 *)e.ex;
		goto FINALLY_0061;
	}

FINALLY_0061:
	{ // begin finally (depth: 1)
		Il2CppObject * L_8 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0068:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RecordProtocol/SendRecordAsyncResult::SetComplete()
extern "C"  void SendRecordAsyncResult_SetComplete_m3006273145 (SendRecordAsyncResult_t173216930 * __this, const MethodInfo* method)
{
	{
		SendRecordAsyncResult_SetComplete_m425796521(__this, (Exception_t1927440687 *)NULL, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureDeformatter::.ctor(System.Security.Cryptography.AsymmetricAlgorithm)
extern "C"  void RSASslSignatureDeformatter__ctor_m2325995515 (RSASslSignatureDeformatter_t389653629 * __this, AsymmetricAlgorithm_t784058677 * ___key0, const MethodInfo* method)
{
	{
		AsymmetricSignatureDeformatter__ctor_m3155418292(__this, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t784058677 * L_0 = ___key0;
		VirtActionInvoker1< AsymmetricAlgorithm_t784058677 * >::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_t4184064416_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3312870481_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4034108465;
extern Il2CppCodeGenString* _stringLiteral2527242713;
extern Il2CppCodeGenString* _stringLiteral1500313990;
extern const uint32_t RSASslSignatureDeformatter_VerifySignature_m3138484348_MetadataUsageId;
extern "C"  bool RSASslSignatureDeformatter_VerifySignature_m3138484348 (RSASslSignatureDeformatter_t389653629 * __this, ByteU5BU5D_t3397334013* ___rgbHash0, ByteU5BU5D_t3397334013* ___rgbSignature1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_VerifySignature_m3138484348_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		RSA_t3719518354 * L_0 = __this->get_key_0();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_1 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_1, _stringLiteral4034108465, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		HashAlgorithm_t2624936259 * L_2 = __this->get_hash_1();
		if (L_2)
		{
			goto IL_002c;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_3 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_3, _stringLiteral2527242713, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_002c:
	{
		ByteU5BU5D_t3397334013* L_4 = ___rgbHash0;
		if (L_4)
		{
			goto IL_003d;
		}
	}
	{
		ArgumentNullException_t628810857 * L_5 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_5, _stringLiteral1500313990, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003d:
	{
		RSA_t3719518354 * L_6 = __this->get_key_0();
		HashAlgorithm_t2624936259 * L_7 = __this->get_hash_1();
		ByteU5BU5D_t3397334013* L_8 = ___rgbHash0;
		ByteU5BU5D_t3397334013* L_9 = ___rgbSignature1;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		bool L_10 = PKCS1_Verify_v15_m3855588030(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_t389653629_il2cpp_TypeInfo_var;
extern Il2CppClass* Dictionary_2_t3986656710_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3340472487_il2cpp_TypeInfo_var;
extern const MethodInfo* Dictionary_2__ctor_m2118310873_MethodInfo_var;
extern const MethodInfo* Dictionary_2_Add_m1209957957_MethodInfo_var;
extern const MethodInfo* Dictionary_2_TryGetValue_m2977303364_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral1277011235;
extern const uint32_t RSASslSignatureDeformatter_SetHashAlgorithm_m4048969080_MetadataUsageId;
extern "C"  void RSASslSignatureDeformatter_SetHashAlgorithm_m4048969080 (RSASslSignatureDeformatter_t389653629 * __this, String_t* ___strName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_SetHashAlgorithm_m4048969080_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	String_t* V_0 = NULL;
	Dictionary_2_t3986656710 * 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_t3986656710 * L_2 = ((RSASslSignatureDeformatter_t389653629_StaticFields*)RSASslSignatureDeformatter_t389653629_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map15_2();
		if (L_2)
		{
			goto IL_002b;
		}
	}
	{
		Dictionary_2_t3986656710 * L_3 = (Dictionary_2_t3986656710 *)il2cpp_codegen_object_new(Dictionary_2_t3986656710_il2cpp_TypeInfo_var);
		Dictionary_2__ctor_m2118310873(L_3, 1, /*hidden argument*/Dictionary_2__ctor_m2118310873_MethodInfo_var);
		V_1 = L_3;
		Dictionary_2_t3986656710 * L_4 = V_1;
		Dictionary_2_Add_m1209957957(L_4, _stringLiteral1277011235, 0, /*hidden argument*/Dictionary_2_Add_m1209957957_MethodInfo_var);
		Dictionary_2_t3986656710 * L_5 = V_1;
		((RSASslSignatureDeformatter_t389653629_StaticFields*)RSASslSignatureDeformatter_t389653629_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__switchU24map15_2(L_5);
	}

IL_002b:
	{
		Dictionary_2_t3986656710 * L_6 = ((RSASslSignatureDeformatter_t389653629_StaticFields*)RSASslSignatureDeformatter_t389653629_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map15_2();
		String_t* L_7 = V_0;
		bool L_8 = Dictionary_2_TryGetValue_m2977303364(L_6, L_7, (&V_2), /*hidden argument*/Dictionary_2_TryGetValue_m2977303364_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_t3340472487 * L_10 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_10, /*hidden argument*/NULL);
		__this->set_hash_1(L_10);
		goto IL_0069;
	}

IL_0058:
	{
		String_t* L_11 = ___strName0;
		HashAlgorithm_t2624936259 * L_12 = HashAlgorithm_Create_m1224939073(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_t3719518354_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3417738027;
extern const uint32_t RSASslSignatureDeformatter_SetKey_m1150106904_MetadataUsageId;
extern "C"  void RSASslSignatureDeformatter_SetKey_m1150106904 (RSASslSignatureDeformatter_t389653629 * __this, AsymmetricAlgorithm_t784058677 * ___key0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureDeformatter_SetKey_m1150106904_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		AsymmetricAlgorithm_t784058677 * L_0 = ___key0;
		if (((RSA_t3719518354 *)IsInstClass(L_0, RSA_t3719518354_il2cpp_TypeInfo_var)))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t3259014390 * L_1 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_1, _stringLiteral3417738027, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		AsymmetricAlgorithm_t784058677 * L_2 = ___key0;
		__this->set_key_0(((RSA_t3719518354 *)IsInstClass(L_2, RSA_t3719518354_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::.ctor(System.Security.Cryptography.AsymmetricAlgorithm)
extern "C"  void RSASslSignatureFormatter__ctor_m2530528184 (RSASslSignatureFormatter_t1282301050 * __this, AsymmetricAlgorithm_t784058677 * ___key0, const MethodInfo* method)
{
	{
		AsymmetricSignatureFormatter__ctor_m1416079717(__this, /*hidden argument*/NULL);
		AsymmetricAlgorithm_t784058677 * L_0 = ___key0;
		VirtActionInvoker1< AsymmetricAlgorithm_t784058677 * >::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_t4184064416_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* PKCS1_t3312870481_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral4034108465;
extern Il2CppCodeGenString* _stringLiteral2527242713;
extern Il2CppCodeGenString* _stringLiteral1500313990;
extern const uint32_t RSASslSignatureFormatter_CreateSignature_m4186395359_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* RSASslSignatureFormatter_CreateSignature_m4186395359 (RSASslSignatureFormatter_t1282301050 * __this, ByteU5BU5D_t3397334013* ___rgbHash0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_CreateSignature_m4186395359_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		RSA_t3719518354 * L_0 = __this->get_key_0();
		if (L_0)
		{
			goto IL_0016;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_1 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_1, _stringLiteral4034108465, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		HashAlgorithm_t2624936259 * L_2 = __this->get_hash_1();
		if (L_2)
		{
			goto IL_002c;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_3 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_3, _stringLiteral2527242713, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_002c:
	{
		ByteU5BU5D_t3397334013* L_4 = ___rgbHash0;
		if (L_4)
		{
			goto IL_003d;
		}
	}
	{
		ArgumentNullException_t628810857 * L_5 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_5, _stringLiteral1500313990, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_003d:
	{
		RSA_t3719518354 * L_6 = __this->get_key_0();
		HashAlgorithm_t2624936259 * L_7 = __this->get_hash_1();
		ByteU5BU5D_t3397334013* L_8 = ___rgbHash0;
		IL2CPP_RUNTIME_CLASS_INIT(PKCS1_t3312870481_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_9 = PKCS1_Sign_v15_m554806303(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_t1282301050_il2cpp_TypeInfo_var;
extern Il2CppClass* Dictionary_2_t3986656710_il2cpp_TypeInfo_var;
extern Il2CppClass* MD5SHA1_t3340472487_il2cpp_TypeInfo_var;
extern const MethodInfo* Dictionary_2__ctor_m2118310873_MethodInfo_var;
extern const MethodInfo* Dictionary_2_Add_m1209957957_MethodInfo_var;
extern const MethodInfo* Dictionary_2_TryGetValue_m2977303364_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral1277011235;
extern const uint32_t RSASslSignatureFormatter_SetHashAlgorithm_m1976793413_MetadataUsageId;
extern "C"  void RSASslSignatureFormatter_SetHashAlgorithm_m1976793413 (RSASslSignatureFormatter_t1282301050 * __this, String_t* ___strName0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_SetHashAlgorithm_m1976793413_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	String_t* V_0 = NULL;
	Dictionary_2_t3986656710 * 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_t3986656710 * L_2 = ((RSASslSignatureFormatter_t1282301050_StaticFields*)RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map16_2();
		if (L_2)
		{
			goto IL_002b;
		}
	}
	{
		Dictionary_2_t3986656710 * L_3 = (Dictionary_2_t3986656710 *)il2cpp_codegen_object_new(Dictionary_2_t3986656710_il2cpp_TypeInfo_var);
		Dictionary_2__ctor_m2118310873(L_3, 1, /*hidden argument*/Dictionary_2__ctor_m2118310873_MethodInfo_var);
		V_1 = L_3;
		Dictionary_2_t3986656710 * L_4 = V_1;
		Dictionary_2_Add_m1209957957(L_4, _stringLiteral1277011235, 0, /*hidden argument*/Dictionary_2_Add_m1209957957_MethodInfo_var);
		Dictionary_2_t3986656710 * L_5 = V_1;
		((RSASslSignatureFormatter_t1282301050_StaticFields*)RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var->static_fields)->set_U3CU3Ef__switchU24map16_2(L_5);
	}

IL_002b:
	{
		Dictionary_2_t3986656710 * L_6 = ((RSASslSignatureFormatter_t1282301050_StaticFields*)RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var->static_fields)->get_U3CU3Ef__switchU24map16_2();
		String_t* L_7 = V_0;
		bool L_8 = Dictionary_2_TryGetValue_m2977303364(L_6, L_7, (&V_2), /*hidden argument*/Dictionary_2_TryGetValue_m2977303364_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_t3340472487 * L_10 = (MD5SHA1_t3340472487 *)il2cpp_codegen_object_new(MD5SHA1_t3340472487_il2cpp_TypeInfo_var);
		MD5SHA1__ctor_m371038734(L_10, /*hidden argument*/NULL);
		__this->set_hash_1(L_10);
		goto IL_0069;
	}

IL_0058:
	{
		String_t* L_11 = ___strName0;
		HashAlgorithm_t2624936259 * L_12 = HashAlgorithm_Create_m1224939073(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_t3719518354_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3417738027;
extern const uint32_t RSASslSignatureFormatter_SetKey_m53887771_MetadataUsageId;
extern "C"  void RSASslSignatureFormatter_SetKey_m53887771 (RSASslSignatureFormatter_t1282301050 * __this, AsymmetricAlgorithm_t784058677 * ___key0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (RSASslSignatureFormatter_SetKey_m53887771_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		AsymmetricAlgorithm_t784058677 * L_0 = ___key0;
		if (((RSA_t3719518354 *)IsInstClass(L_0, RSA_t3719518354_il2cpp_TypeInfo_var)))
		{
			goto IL_0016;
		}
	}
	{
		ArgumentException_t3259014390 * L_1 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_1, _stringLiteral3417738027, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0016:
	{
		AsymmetricAlgorithm_t784058677 * L_2 = ___key0;
		__this->set_key_0(((RSA_t3719518354 *)IsInstClass(L_2, RSA_t3719518354_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::.ctor()
extern "C"  void SecurityParameters__ctor_m3136793890 (SecurityParameters_t2290372928 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		return;
	}
}
// Mono.Security.Protocol.Tls.CipherSuite Mono.Security.Protocol.Tls.SecurityParameters::get_Cipher()
extern "C"  CipherSuite_t491456551 * SecurityParameters_get_Cipher_m2392911632 (SecurityParameters_t2290372928 * __this, const MethodInfo* method)
{
	{
		CipherSuite_t491456551 * 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_m3888132335 (SecurityParameters_t2290372928 * __this, CipherSuite_t491456551 * ___value0, const MethodInfo* method)
{
	{
		CipherSuite_t491456551 * L_0 = ___value0;
		__this->set_cipher_0(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SecurityParameters::get_ClientWriteMAC()
extern "C"  ByteU5BU5D_t3397334013* SecurityParameters_get_ClientWriteMAC_m2756307972 (SecurityParameters_t2290372928 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1970377285 (SecurityParameters_t2290372928 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_clientWriteMAC_1(L_0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SecurityParameters::get_ServerWriteMAC()
extern "C"  ByteU5BU5D_t3397334013* SecurityParameters_get_ServerWriteMAC_m244028400 (SecurityParameters_t2290372928 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m3769080193 (SecurityParameters_t2290372928 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___value0;
		__this->set_serverWriteMAC_2(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SecurityParameters::Clear()
extern "C"  void SecurityParameters_Clear_m3409219757 (SecurityParameters_t2290372928 * __this, const MethodInfo* method)
{
	{
		__this->set_cipher_0((CipherSuite_t491456551 *)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_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite__ctor_m1382988490_MetadataUsageId;
extern "C"  void SslCipherSuite__ctor_m1382988490 (SslCipherSuite_t1404755603 * __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_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite__ctor_m1382988490_MetadataUsageId);
		s_Il2CppMethodInitialized = 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_t491456551_il2cpp_TypeInfo_var);
		CipherSuite__ctor_m440966622(__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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_13)));
		int32_t L_14 = V_0;
		__this->set_pad2_22(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_14)));
		V_1 = 0;
		goto IL_0063;
	}

IL_004b:
	{
		ByteU5BU5D_t3397334013* L_15 = __this->get_pad1_21();
		int32_t L_16 = V_1;
		(L_15)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_16), (uint8_t)((int32_t)54));
		ByteU5BU5D_t3397334013* L_17 = __this->get_pad2_22();
		int32_t L_18 = V_1;
		(L_17)->SetAtUnchecked(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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeServerRecordMAC_m1876572367_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* SslCipherSuite_ComputeServerRecordMAC_m1876572367 (SslCipherSuite_t1404755603 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeServerRecordMAC_m1876572367_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	uint64_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	uint64_t G_B5_0 = 0;
	{
		String_t* L_0 = CipherSuite_get_HashAlgorithmName_m3238654725(__this, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_1 = HashAlgorithm_Create_m1224939073(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Context_t4285182719 * L_2 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_3 = Context_get_Read_m171585211(L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_4 = SecurityParameters_get_ServerWriteMAC_m244028400(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		HashAlgorithm_t2624936259 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = V_1;
		ByteU5BU5D_t3397334013* L_7 = V_1;
		ByteU5BU5D_t3397334013* L_8 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), L_8, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_9 = V_0;
		ByteU5BU5D_t3397334013* L_10 = __this->get_pad1_21();
		ByteU5BU5D_t3397334013* L_11 = __this->get_pad1_21();
		ByteU5BU5D_t3397334013* L_12 = __this->get_pad1_21();
		HashAlgorithm_TransformBlock_m4190258810(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = __this->get_header_23();
		if (L_13)
		{
			goto IL_0060;
		}
	}
	{
		__this->set_header_23(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)11))));
	}

IL_0060:
	{
		Context_t4285182719 * L_14 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3002158488 *)IsInstClass(L_14, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0080;
		}
	}
	{
		Context_t4285182719 * L_15 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint64_t L_16 = Context_get_ReadSequenceNumber_m2586681610(L_15, /*hidden argument*/NULL);
		G_B5_0 = L_16;
		goto IL_008b;
	}

IL_0080:
	{
		Context_t4285182719 * L_17 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint64_t L_18 = Context_get_WriteSequenceNumber_m243492531(L_17, /*hidden argument*/NULL);
		G_B5_0 = L_18;
	}

IL_008b:
	{
		V_2 = G_B5_0;
		ByteU5BU5D_t3397334013* L_19 = __this->get_header_23();
		uint64_t L_20 = V_2;
		CipherSuite_Write_m827355463(__this, L_19, 0, L_20, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_21 = __this->get_header_23();
		uint8_t L_22 = ___contentType0;
		(L_21)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_22);
		ByteU5BU5D_t3397334013* L_23 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_24 = ___fragment1;
		CipherSuite_Write_m1271196675(__this, L_23, ((int32_t)9), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length))))))), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_25 = V_0;
		ByteU5BU5D_t3397334013* L_26 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_27 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_28 = __this->get_header_23();
		HashAlgorithm_TransformBlock_m4190258810(L_25, L_26, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))), L_28, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_29 = V_0;
		ByteU5BU5D_t3397334013* L_30 = ___fragment1;
		ByteU5BU5D_t3397334013* L_31 = ___fragment1;
		ByteU5BU5D_t3397334013* L_32 = ___fragment1;
		HashAlgorithm_TransformBlock_m4190258810(L_29, L_30, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))), L_32, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_33 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_34 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_33, L_34, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_35 = V_0;
		ByteU5BU5D_t3397334013* L_36 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_35);
		V_3 = L_36;
		HashAlgorithm_t2624936259 * L_37 = V_0;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_37);
		HashAlgorithm_t2624936259 * L_38 = V_0;
		ByteU5BU5D_t3397334013* L_39 = V_1;
		ByteU5BU5D_t3397334013* L_40 = V_1;
		ByteU5BU5D_t3397334013* L_41 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_38, L_39, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_40)->max_length)))), L_41, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_42 = V_0;
		ByteU5BU5D_t3397334013* L_43 = __this->get_pad2_22();
		ByteU5BU5D_t3397334013* L_44 = __this->get_pad2_22();
		ByteU5BU5D_t3397334013* L_45 = __this->get_pad2_22();
		HashAlgorithm_TransformBlock_m4190258810(L_42, L_43, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))), L_45, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_46 = V_0;
		ByteU5BU5D_t3397334013* L_47 = V_3;
		ByteU5BU5D_t3397334013* L_48 = V_3;
		ByteU5BU5D_t3397334013* L_49 = V_3;
		HashAlgorithm_TransformBlock_m4190258810(L_46, L_47, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_48)->max_length)))), L_49, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_50 = V_0;
		ByteU5BU5D_t3397334013* L_51 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_50, L_51, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_52 = V_0;
		ByteU5BU5D_t3397334013* L_53 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeClientRecordMAC_m232780723_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* SslCipherSuite_ComputeClientRecordMAC_m232780723 (SslCipherSuite_t1404755603 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeClientRecordMAC_m232780723_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	uint64_t V_2 = 0;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	uint64_t G_B5_0 = 0;
	{
		String_t* L_0 = CipherSuite_get_HashAlgorithmName_m3238654725(__this, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_1 = HashAlgorithm_Create_m1224939073(NULL /*static, unused*/, L_0, /*hidden argument*/NULL);
		V_0 = L_1;
		Context_t4285182719 * L_2 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_4 = SecurityParameters_get_ClientWriteMAC_m2756307972(L_3, /*hidden argument*/NULL);
		V_1 = L_4;
		HashAlgorithm_t2624936259 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = V_1;
		ByteU5BU5D_t3397334013* L_7 = V_1;
		ByteU5BU5D_t3397334013* L_8 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), L_8, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_9 = V_0;
		ByteU5BU5D_t3397334013* L_10 = __this->get_pad1_21();
		ByteU5BU5D_t3397334013* L_11 = __this->get_pad1_21();
		ByteU5BU5D_t3397334013* L_12 = __this->get_pad1_21();
		HashAlgorithm_TransformBlock_m4190258810(L_9, L_10, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_11)->max_length)))), L_12, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = __this->get_header_23();
		if (L_13)
		{
			goto IL_0060;
		}
	}
	{
		__this->set_header_23(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)11))));
	}

IL_0060:
	{
		Context_t4285182719 * L_14 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		if (!((ClientContext_t3002158488 *)IsInstClass(L_14, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
		{
			goto IL_0080;
		}
	}
	{
		Context_t4285182719 * L_15 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint64_t L_16 = Context_get_WriteSequenceNumber_m243492531(L_15, /*hidden argument*/NULL);
		G_B5_0 = L_16;
		goto IL_008b;
	}

IL_0080:
	{
		Context_t4285182719 * L_17 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint64_t L_18 = Context_get_ReadSequenceNumber_m2586681610(L_17, /*hidden argument*/NULL);
		G_B5_0 = L_18;
	}

IL_008b:
	{
		V_2 = G_B5_0;
		ByteU5BU5D_t3397334013* L_19 = __this->get_header_23();
		uint64_t L_20 = V_2;
		CipherSuite_Write_m827355463(__this, L_19, 0, L_20, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_21 = __this->get_header_23();
		uint8_t L_22 = ___contentType0;
		(L_21)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_22);
		ByteU5BU5D_t3397334013* L_23 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_24 = ___fragment1;
		CipherSuite_Write_m1271196675(__this, L_23, ((int32_t)9), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length))))))), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_25 = V_0;
		ByteU5BU5D_t3397334013* L_26 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_27 = __this->get_header_23();
		ByteU5BU5D_t3397334013* L_28 = __this->get_header_23();
		HashAlgorithm_TransformBlock_m4190258810(L_25, L_26, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_27)->max_length)))), L_28, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_29 = V_0;
		ByteU5BU5D_t3397334013* L_30 = ___fragment1;
		ByteU5BU5D_t3397334013* L_31 = ___fragment1;
		ByteU5BU5D_t3397334013* L_32 = ___fragment1;
		HashAlgorithm_TransformBlock_m4190258810(L_29, L_30, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_31)->max_length)))), L_32, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_33 = V_0;
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_34 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_33, L_34, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_35 = V_0;
		ByteU5BU5D_t3397334013* L_36 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_35);
		V_3 = L_36;
		HashAlgorithm_t2624936259 * L_37 = V_0;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_37);
		HashAlgorithm_t2624936259 * L_38 = V_0;
		ByteU5BU5D_t3397334013* L_39 = V_1;
		ByteU5BU5D_t3397334013* L_40 = V_1;
		ByteU5BU5D_t3397334013* L_41 = V_1;
		HashAlgorithm_TransformBlock_m4190258810(L_38, L_39, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_40)->max_length)))), L_41, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_42 = V_0;
		ByteU5BU5D_t3397334013* L_43 = __this->get_pad2_22();
		ByteU5BU5D_t3397334013* L_44 = __this->get_pad2_22();
		ByteU5BU5D_t3397334013* L_45 = __this->get_pad2_22();
		HashAlgorithm_TransformBlock_m4190258810(L_42, L_43, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_44)->max_length)))), L_45, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_46 = V_0;
		ByteU5BU5D_t3397334013* L_47 = V_3;
		ByteU5BU5D_t3397334013* L_48 = V_3;
		ByteU5BU5D_t3397334013* L_49 = V_3;
		HashAlgorithm_TransformBlock_m4190258810(L_46, L_47, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_48)->max_length)))), L_49, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_50 = V_0;
		ByteU5BU5D_t3397334013* L_51 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_50, L_51, 0, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_52 = V_0;
		ByteU5BU5D_t3397334013* L_53 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral372029405;
extern Il2CppCodeGenString* _stringLiteral3963676426;
extern Il2CppCodeGenString* _stringLiteral2403276963;
extern const uint32_t SslCipherSuite_ComputeMasterSecret_m491038647_MetadataUsageId;
extern "C"  void SslCipherSuite_ComputeMasterSecret_m491038647 (SslCipherSuite_t1404755603 * __this, ByteU5BU5D_t3397334013* ___preMasterSecret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeMasterSecret_m491038647_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	{
		TlsStream_t4089752859 * L_0 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		TlsStream_t4089752859 * L_1 = V_0;
		ByteU5BU5D_t3397334013* L_2 = ___preMasterSecret0;
		Context_t4285182719 * L_3 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_4 = Context_get_RandomCS_m3946020109(L_3, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = SslCipherSuite_prf_m2084589217(__this, L_2, _stringLiteral372029405, L_4, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(L_1, L_5, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_6 = V_0;
		ByteU5BU5D_t3397334013* L_7 = ___preMasterSecret0;
		Context_t4285182719 * L_8 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_9 = Context_get_RandomCS_m3946020109(L_8, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_10 = SslCipherSuite_prf_m2084589217(__this, L_7, _stringLiteral3963676426, L_9, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(L_6, L_10, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_11 = V_0;
		ByteU5BU5D_t3397334013* L_12 = ___preMasterSecret0;
		Context_t4285182719 * L_13 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_14 = Context_get_RandomCS_m3946020109(L_13, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_15 = SslCipherSuite_prf_m2084589217(__this, L_12, _stringLiteral2403276963, L_14, /*hidden argument*/NULL);
		TlsStream_Write_m3425460533(L_11, L_15, /*hidden argument*/NULL);
		Context_t4285182719 * L_16 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_17 = V_0;
		ByteU5BU5D_t3397334013* L_18 = TlsStream_ToArray_m3731779317(L_17, /*hidden argument*/NULL);
		Context_set_MasterSecret_m1422386411(L_16, L_18, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslCipherSuite::ComputeKeys()
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_ComputeKeys_m574473636_MetadataUsageId;
extern "C"  void SslCipherSuite_ComputeKeys_m574473636 (SslCipherSuite_t1404755603 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_ComputeKeys_m574473636_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	Il2CppChar V_1 = 0x0;
	int32_t V_2 = 0;
	String_t* V_3 = NULL;
	int32_t V_4 = 0;
	ByteU5BU5D_t3397334013* V_5 = NULL;
	int32_t V_6 = 0;
	TlsStream_t4089752859 * V_7 = NULL;
	HashAlgorithm_t2624936259 * V_8 = NULL;
	int32_t V_9 = 0;
	ByteU5BU5D_t3397334013* V_10 = NULL;
	ByteU5BU5D_t3397334013* V_11 = NULL;
	ByteU5BU5D_t3397334013* V_12 = NULL;
	int32_t G_B7_0 = 0;
	{
		TlsStream_t4089752859 * L_0 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(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_m1976753030((&V_1), /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(String_t_il2cpp_TypeInfo_var);
		String_t* L_4 = String_Concat_m2596409543(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_t4285182719 * L_8 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_9 = Context_get_MasterSecret_m231851308(L_8, /*hidden argument*/NULL);
		String_t* L_10 = V_3;
		String_t* L_11 = String_ToString_m3226660001(L_10, /*hidden argument*/NULL);
		Context_t4285182719 * L_12 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = Context_get_RandomSC_m1687420621(L_12, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_14 = SslCipherSuite_prf_m2084589217(__this, L_9, L_11, L_13, /*hidden argument*/NULL);
		V_5 = L_14;
		TlsStream_t4089752859 * 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_t3397334013* L_17 = V_5;
		int32_t L_18 = CipherSuite_get_KeyBlockSize_m2993514247(__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_m2993514247(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * 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_t3397334013* L_22 = V_5;
		G_B7_0 = (((int32_t)((int32_t)(((Il2CppArray *)L_22)->max_length))));
	}

IL_008d:
	{
		V_6 = G_B7_0;
		TlsStream_t4089752859 * L_23 = V_0;
		ByteU5BU5D_t3397334013* L_24 = V_5;
		int32_t L_25 = V_6;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t4089752859 * 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_m2993514247(__this, /*hidden argument*/NULL);
		if ((((int64_t)L_29) < ((int64_t)(((int64_t)((int64_t)L_30))))))
		{
			goto IL_0010;
		}
	}
	{
		TlsStream_t4089752859 * L_31 = V_0;
		ByteU5BU5D_t3397334013* L_32 = TlsStream_ToArray_m3731779317(L_31, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_33 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2982031560(L_33, L_32, /*hidden argument*/NULL);
		V_7 = L_33;
		Context_t4285182719 * L_34 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_35 = Context_get_Negotiating_m3946476110(L_34, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_36 = V_7;
		int32_t L_37 = CipherSuite_get_HashSize_m3748598203(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_38 = TlsStream_ReadBytes_m3301522097(L_36, L_37, /*hidden argument*/NULL);
		SecurityParameters_set_ClientWriteMAC_m1970377285(L_35, L_38, /*hidden argument*/NULL);
		Context_t4285182719 * L_39 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_40 = Context_get_Negotiating_m3946476110(L_39, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_41 = V_7;
		int32_t L_42 = CipherSuite_get_HashSize_m3748598203(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_43 = TlsStream_ReadBytes_m3301522097(L_41, L_42, /*hidden argument*/NULL);
		SecurityParameters_set_ServerWriteMAC_m3769080193(L_40, L_43, /*hidden argument*/NULL);
		Context_t4285182719 * L_44 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_45 = V_7;
		uint8_t L_46 = CipherSuite_get_KeyMaterialSize_m4222492337(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_47 = TlsStream_ReadBytes_m3301522097(L_45, L_46, /*hidden argument*/NULL);
		Context_set_ClientWriteKey_m1137238126(L_44, L_47, /*hidden argument*/NULL);
		Context_t4285182719 * L_48 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_49 = V_7;
		uint8_t L_50 = CipherSuite_get_KeyMaterialSize_m4222492337(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_51 = TlsStream_ReadBytes_m3301522097(L_49, L_50, /*hidden argument*/NULL);
		Context_set_ServerWriteKey_m2317745418(L_48, L_51, /*hidden argument*/NULL);
		bool L_52 = CipherSuite_get_IsExportable_m136354150(__this, /*hidden argument*/NULL);
		if (L_52)
		{
			goto IL_019c;
		}
	}
	{
		uint8_t L_53 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		if (!L_53)
		{
			goto IL_0177;
		}
	}
	{
		Context_t4285182719 * L_54 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_55 = V_7;
		uint8_t L_56 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_57 = TlsStream_ReadBytes_m3301522097(L_55, L_56, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m70615452(L_54, L_57, /*hidden argument*/NULL);
		Context_t4285182719 * L_58 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_59 = V_7;
		uint8_t L_60 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_61 = TlsStream_ReadBytes_m3301522097(L_59, L_60, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3391477120(L_58, L_61, /*hidden argument*/NULL);
		goto IL_0197;
	}

IL_0177:
	{
		Context_t4285182719 * L_62 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_63 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m70615452(L_62, L_63, /*hidden argument*/NULL);
		Context_t4285182719 * L_64 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_65 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3391477120(L_64, L_65, /*hidden argument*/NULL);
	}

IL_0197:
	{
		goto IL_038b;
	}

IL_019c:
	{
		MD5_t1507972490 * L_66 = MD5_Create_m1572997499(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_8 = L_66;
		HashAlgorithm_t2624936259 * 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_69));
		HashAlgorithm_t2624936259 * L_70 = V_8;
		Context_t4285182719 * L_71 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_72 = Context_get_ClientWriteKey_m2235605337(L_71, /*hidden argument*/NULL);
		Context_t4285182719 * L_73 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_74 = Context_get_ClientWriteKey_m2235605337(L_73, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_75 = V_10;
		HashAlgorithm_TransformBlock_m4190258810(L_70, L_72, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_74)->max_length)))), L_75, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_76 = V_8;
		Context_t4285182719 * L_77 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_78 = Context_get_RandomCS_m3946020109(L_77, /*hidden argument*/NULL);
		Context_t4285182719 * L_79 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_80 = Context_get_RandomCS_m3946020109(L_79, /*hidden argument*/NULL);
		HashAlgorithm_TransformFinalBlock_m3071802428(L_76, L_78, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_80)->max_length)))), /*hidden argument*/NULL);
		uint8_t L_81 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		V_11 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_81));
		HashAlgorithm_t2624936259 * L_82 = V_8;
		ByteU5BU5D_t3397334013* L_83 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_82);
		ByteU5BU5D_t3397334013* L_84 = V_11;
		uint8_t L_85 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_83, 0, (Il2CppArray *)(Il2CppArray *)L_84, 0, L_85, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_86 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_86);
		HashAlgorithm_t2624936259 * L_87 = V_8;
		Context_t4285182719 * L_88 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_89 = Context_get_ServerWriteKey_m1780148437(L_88, /*hidden argument*/NULL);
		Context_t4285182719 * L_90 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_91 = Context_get_ServerWriteKey_m1780148437(L_90, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_92 = V_10;
		HashAlgorithm_TransformBlock_m4190258810(L_87, L_89, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_91)->max_length)))), L_92, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_93 = V_8;
		Context_t4285182719 * L_94 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_95 = Context_get_RandomSC_m1687420621(L_94, /*hidden argument*/NULL);
		Context_t4285182719 * L_96 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_97 = Context_get_RandomSC_m1687420621(L_96, /*hidden argument*/NULL);
		HashAlgorithm_TransformFinalBlock_m3071802428(L_93, L_95, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_97)->max_length)))), /*hidden argument*/NULL);
		uint8_t L_98 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		V_12 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_98));
		HashAlgorithm_t2624936259 * L_99 = V_8;
		ByteU5BU5D_t3397334013* L_100 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_99);
		ByteU5BU5D_t3397334013* L_101 = V_12;
		uint8_t L_102 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_100, 0, (Il2CppArray *)(Il2CppArray *)L_101, 0, L_102, /*hidden argument*/NULL);
		Context_t4285182719 * L_103 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_104 = V_11;
		Context_set_ClientWriteKey_m1137238126(L_103, L_104, /*hidden argument*/NULL);
		Context_t4285182719 * L_105 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_106 = V_12;
		Context_set_ServerWriteKey_m2317745418(L_105, L_106, /*hidden argument*/NULL);
		uint8_t L_107 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_107) <= ((int32_t)0)))
		{
			goto IL_036b;
		}
	}
	{
		HashAlgorithm_t2624936259 * L_108 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_108);
		HashAlgorithm_t2624936259 * L_109 = V_8;
		Context_t4285182719 * L_110 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_111 = Context_get_RandomCS_m3946020109(L_110, /*hidden argument*/NULL);
		Context_t4285182719 * L_112 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_113 = Context_get_RandomCS_m3946020109(L_112, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_114 = HashAlgorithm_ComputeHash_m3945506296(L_109, L_111, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_113)->max_length)))), /*hidden argument*/NULL);
		V_10 = L_114;
		Context_t4285182719 * L_115 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint8_t L_116 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m70615452(L_115, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_116)), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_117 = V_10;
		Context_t4285182719 * L_118 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_119 = Context_get_ClientWriteIV_m2171757117(L_118, /*hidden argument*/NULL);
		uint8_t L_120 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_117, 0, (Il2CppArray *)(Il2CppArray *)L_119, 0, L_120, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_121 = V_8;
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_121);
		HashAlgorithm_t2624936259 * L_122 = V_8;
		Context_t4285182719 * L_123 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_124 = Context_get_RandomSC_m1687420621(L_123, /*hidden argument*/NULL);
		Context_t4285182719 * L_125 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_126 = Context_get_RandomSC_m1687420621(L_125, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_127 = HashAlgorithm_ComputeHash_m3945506296(L_122, L_124, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_126)->max_length)))), /*hidden argument*/NULL);
		V_10 = L_127;
		Context_t4285182719 * L_128 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint8_t L_129 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3391477120(L_128, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_129)), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_130 = V_10;
		Context_t4285182719 * L_131 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_132 = Context_get_ServerWriteIV_m2960700649(L_131, /*hidden argument*/NULL);
		uint8_t L_133 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_130, 0, (Il2CppArray *)(Il2CppArray *)L_132, 0, L_133, /*hidden argument*/NULL);
		goto IL_038b;
	}

IL_036b:
	{
		Context_t4285182719 * L_134 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_135 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m70615452(L_134, L_135, /*hidden argument*/NULL);
		Context_t4285182719 * L_136 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_137 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3391477120(L_136, L_137, /*hidden argument*/NULL);
	}

IL_038b:
	{
		Context_t4285182719 * L_138 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextInCache_m907788136(NULL /*static, unused*/, L_138, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_139 = V_7;
		TlsStream_Reset_m1504601050(L_139, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_140 = V_0;
		TlsStream_Reset_m1504601050(L_140, /*hidden argument*/NULL);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslCipherSuite::prf(System.Byte[],System.String,System.Byte[])
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* Encoding_t663144255_il2cpp_TypeInfo_var;
extern const uint32_t SslCipherSuite_prf_m2084589217_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* SslCipherSuite_prf_m2084589217 (SslCipherSuite_t1404755603 * __this, ByteU5BU5D_t3397334013* ___secret0, String_t* ___label1, ByteU5BU5D_t3397334013* ___random2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslCipherSuite_prf_m2084589217_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	HashAlgorithm_t2624936259 * V_0 = NULL;
	HashAlgorithm_t2624936259 * V_1 = NULL;
	TlsStream_t4089752859 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	ByteU5BU5D_t3397334013* V_4 = NULL;
	{
		MD5_t1507972490 * L_0 = MD5_Create_m1572997499(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_0 = L_0;
		SHA1_t3336793149 * L_1 = SHA1_Create_m139442991(NULL /*static, unused*/, /*hidden argument*/NULL);
		V_1 = L_1;
		TlsStream_t4089752859 * L_2 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m4117943603(L_2, /*hidden argument*/NULL);
		V_2 = L_2;
		TlsStream_t4089752859 * L_3 = V_2;
		IL2CPP_RUNTIME_CLASS_INIT(Encoding_t663144255_il2cpp_TypeInfo_var);
		Encoding_t663144255 * L_4 = Encoding_get_ASCII_m2727409419(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_5 = ___label1;
		ByteU5BU5D_t3397334013* L_6 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, String_t* >::Invoke(10 /* System.Byte[] System.Text.Encoding::GetBytes(System.String) */, L_4, L_5);
		TlsStream_Write_m3425460533(L_3, L_6, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_7 = V_2;
		ByteU5BU5D_t3397334013* L_8 = ___secret0;
		TlsStream_Write_m3425460533(L_7, L_8, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_9 = V_2;
		ByteU5BU5D_t3397334013* L_10 = ___random2;
		TlsStream_Write_m3425460533(L_9, L_10, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_11 = V_1;
		TlsStream_t4089752859 * L_12 = V_2;
		ByteU5BU5D_t3397334013* L_13 = TlsStream_ToArray_m3731779317(L_12, /*hidden argument*/NULL);
		TlsStream_t4089752859 * 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_t3397334013* L_16 = HashAlgorithm_ComputeHash_m3945506296(L_11, L_13, 0, (((int32_t)((int32_t)L_15))), /*hidden argument*/NULL);
		V_3 = L_16;
		TlsStream_t4089752859 * L_17 = V_2;
		TlsStream_Reset_m1504601050(L_17, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_18 = V_2;
		ByteU5BU5D_t3397334013* L_19 = ___secret0;
		TlsStream_Write_m3425460533(L_18, L_19, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_20 = V_2;
		ByteU5BU5D_t3397334013* L_21 = V_3;
		TlsStream_Write_m3425460533(L_20, L_21, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_22 = V_0;
		TlsStream_t4089752859 * L_23 = V_2;
		ByteU5BU5D_t3397334013* L_24 = TlsStream_ToArray_m3731779317(L_23, /*hidden argument*/NULL);
		TlsStream_t4089752859 * 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_t3397334013* L_27 = HashAlgorithm_ComputeHash_m3945506296(L_22, L_24, 0, (((int32_t)((int32_t)L_26))), /*hidden argument*/NULL);
		V_4 = L_27;
		TlsStream_t4089752859 * L_28 = V_2;
		TlsStream_Reset_m1504601050(L_28, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* 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_m3295335959 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, const MethodInfo* method)
{
	{
		Stream_t3255436806 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		bool L_2 = ___ownsStream2;
		SslClientStream__ctor_m2178305131(__this, L_0, L_1, L_2, ((int32_t)-1073741824), (X509CertificateCollection_t1197680765 *)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_t3424334632_il2cpp_TypeInfo_var;
extern Il2CppClass* X509CertificateCollection_t1197680765_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream__ctor_m1193810714_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m1193810714 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___stream0, String_t* ___targetHost1, X509Certificate_t283079845 * ___clientCertificate2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m1193810714_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Stream_t3255436806 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		X509CertificateU5BU5D_t3424334632* L_2 = ((X509CertificateU5BU5D_t3424334632*)SZArrayNew(X509CertificateU5BU5D_t3424334632_il2cpp_TypeInfo_var, (uint32_t)1));
		X509Certificate_t283079845 * L_3 = ___clientCertificate2;
		ArrayElementTypeCheck (L_2, L_3);
		(L_2)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (X509Certificate_t283079845 *)L_3);
		X509CertificateCollection_t1197680765 * L_4 = (X509CertificateCollection_t1197680765 *)il2cpp_codegen_object_new(X509CertificateCollection_t1197680765_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m2660736858(L_4, L_2, /*hidden argument*/NULL);
		SslClientStream__ctor_m2178305131(__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_m3350475994 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___stream0, String_t* ___targetHost1, X509CertificateCollection_t1197680765 * ___clientCertificates2, const MethodInfo* method)
{
	{
		Stream_t3255436806 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		X509CertificateCollection_t1197680765 * L_2 = ___clientCertificates2;
		SslClientStream__ctor_m2178305131(__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_t1197680765_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream__ctor_m1435497855_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m1435497855 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, int32_t ___securityProtocolType3, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m1435497855_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Stream_t3255436806 * L_0 = ___stream0;
		String_t* L_1 = ___targetHost1;
		bool L_2 = ___ownsStream2;
		int32_t L_3 = ___securityProtocolType3;
		X509CertificateCollection_t1197680765 * L_4 = (X509CertificateCollection_t1197680765 *)il2cpp_codegen_object_new(X509CertificateCollection_t1197680765_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m1497182392(L_4, /*hidden argument*/NULL);
		SslClientStream__ctor_m2178305131(__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_t934199321_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientRecordProtocol_t2694504884_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral621146412;
extern const uint32_t SslClientStream__ctor_m2178305131_MetadataUsageId;
extern "C"  void SslClientStream__ctor_m2178305131 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___stream0, String_t* ___targetHost1, bool ___ownsStream2, int32_t ___securityProtocolType3, X509CertificateCollection_t1197680765 * ___clientCertificates4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream__ctor_m2178305131_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Stream_t3255436806 * L_0 = ___stream0;
		bool L_1 = ___ownsStream2;
		IL2CPP_RUNTIME_CLASS_INIT(SslStreamBase_t934199321_il2cpp_TypeInfo_var);
		SslStreamBase__ctor_m543947417(__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_m1606060069(L_3, /*hidden argument*/NULL);
		if (L_4)
		{
			goto IL_0024;
		}
	}

IL_0019:
	{
		ArgumentNullException_t628810857 * L_5 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_5, _stringLiteral621146412, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0024:
	{
		int32_t L_6 = ___securityProtocolType3;
		String_t* L_7 = ___targetHost1;
		X509CertificateCollection_t1197680765 * L_8 = ___clientCertificates4;
		ClientContext_t3002158488 * L_9 = (ClientContext_t3002158488 *)il2cpp_codegen_object_new(ClientContext_t3002158488_il2cpp_TypeInfo_var);
		ClientContext__ctor_m1008306089(L_9, __this, L_6, L_7, L_8, /*hidden argument*/NULL);
		((SslStreamBase_t934199321 *)__this)->set_context_5(L_9);
		Stream_t3255436806 * L_10 = ((SslStreamBase_t934199321 *)__this)->get_innerStream_3();
		Context_t4285182719 * L_11 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		ClientRecordProtocol_t2694504884 * L_12 = (ClientRecordProtocol_t2694504884 *)il2cpp_codegen_object_new(ClientRecordProtocol_t2694504884_il2cpp_TypeInfo_var);
		ClientRecordProtocol__ctor_m648586559(L_12, L_10, ((ClientContext_t3002158488 *)CastclassClass(L_11, ClientContext_t3002158488_il2cpp_TypeInfo_var)), /*hidden argument*/NULL);
		((SslStreamBase_t934199321 *)__this)->set_protocol_6(L_12);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ServerCertValidation(Mono.Security.Protocol.Tls.CertificateValidationCallback)
extern Il2CppClass* CertificateValidationCallback_t989458295_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ServerCertValidation_m684653638_MetadataUsageId;
extern "C"  void SslClientStream_add_ServerCertValidation_m684653638 (SslClientStream_t3918817353 * __this, CertificateValidationCallback_t989458295 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ServerCertValidation_m684653638_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateValidationCallback_t989458295 * L_0 = __this->get_ServerCertValidation_16();
		CertificateValidationCallback_t989458295 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Combine_m3791207084(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation_16(((CertificateValidationCallback_t989458295 *)CastclassSealed(L_2, CertificateValidationCallback_t989458295_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ServerCertValidation(Mono.Security.Protocol.Tls.CertificateValidationCallback)
extern Il2CppClass* CertificateValidationCallback_t989458295_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ServerCertValidation_m2446179261_MetadataUsageId;
extern "C"  void SslClientStream_remove_ServerCertValidation_m2446179261 (SslClientStream_t3918817353 * __this, CertificateValidationCallback_t989458295 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ServerCertValidation_m2446179261_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateValidationCallback_t989458295 * L_0 = __this->get_ServerCertValidation_16();
		CertificateValidationCallback_t989458295 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Remove_m2626518725(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation_16(((CertificateValidationCallback_t989458295 *)CastclassSealed(L_2, CertificateValidationCallback_t989458295_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ClientCertSelection(Mono.Security.Protocol.Tls.CertificateSelectionCallback)
extern Il2CppClass* CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ClientCertSelection_m2644836210_MetadataUsageId;
extern "C"  void SslClientStream_add_ClientCertSelection_m2644836210 (SslClientStream_t3918817353 * __this, CertificateSelectionCallback_t3721235490 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ClientCertSelection_m2644836210_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateSelectionCallback_t3721235490 * L_0 = __this->get_ClientCertSelection_17();
		CertificateSelectionCallback_t3721235490 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Combine_m3791207084(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ClientCertSelection_17(((CertificateSelectionCallback_t3721235490 *)CastclassSealed(L_2, CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ClientCertSelection(Mono.Security.Protocol.Tls.CertificateSelectionCallback)
extern Il2CppClass* CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ClientCertSelection_m2497978917_MetadataUsageId;
extern "C"  void SslClientStream_remove_ClientCertSelection_m2497978917 (SslClientStream_t3918817353 * __this, CertificateSelectionCallback_t3721235490 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ClientCertSelection_m2497978917_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateSelectionCallback_t3721235490 * L_0 = __this->get_ClientCertSelection_17();
		CertificateSelectionCallback_t3721235490 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Remove_m2626518725(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ClientCertSelection_17(((CertificateSelectionCallback_t3721235490 *)CastclassSealed(L_2, CertificateSelectionCallback_t3721235490_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_PrivateKeySelection(Mono.Security.Protocol.Tls.PrivateKeySelectionCallback)
extern Il2CppClass* PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_PrivateKeySelection_m481383932_MetadataUsageId;
extern "C"  void SslClientStream_add_PrivateKeySelection_m481383932 (SslClientStream_t3918817353 * __this, PrivateKeySelectionCallback_t1663566523 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_PrivateKeySelection_m481383932_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		PrivateKeySelectionCallback_t1663566523 * L_0 = __this->get_PrivateKeySelection_18();
		PrivateKeySelectionCallback_t1663566523 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Combine_m3791207084(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_PrivateKeySelection_18(((PrivateKeySelectionCallback_t1663566523 *)CastclassSealed(L_2, PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_PrivateKeySelection(Mono.Security.Protocol.Tls.PrivateKeySelectionCallback)
extern Il2CppClass* PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_PrivateKeySelection_m427666577_MetadataUsageId;
extern "C"  void SslClientStream_remove_PrivateKeySelection_m427666577 (SslClientStream_t3918817353 * __this, PrivateKeySelectionCallback_t1663566523 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_PrivateKeySelection_m427666577_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		PrivateKeySelectionCallback_t1663566523 * L_0 = __this->get_PrivateKeySelection_18();
		PrivateKeySelectionCallback_t1663566523 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Remove_m2626518725(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_PrivateKeySelection_18(((PrivateKeySelectionCallback_t1663566523 *)CastclassSealed(L_2, PrivateKeySelectionCallback_t1663566523_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::add_ServerCertValidation2(Mono.Security.Protocol.Tls.CertificateValidationCallback2)
extern Il2CppClass* CertificateValidationCallback2_t3318447433_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_add_ServerCertValidation2_m2603998068_MetadataUsageId;
extern "C"  void SslClientStream_add_ServerCertValidation2_m2603998068 (SslClientStream_t3918817353 * __this, CertificateValidationCallback2_t3318447433 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_add_ServerCertValidation2_m2603998068_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateValidationCallback2_t3318447433 * L_0 = __this->get_ServerCertValidation2_19();
		CertificateValidationCallback2_t3318447433 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Combine_m3791207084(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation2_19(((CertificateValidationCallback2_t3318447433 *)CastclassSealed(L_2, CertificateValidationCallback2_t3318447433_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::remove_ServerCertValidation2(Mono.Security.Protocol.Tls.CertificateValidationCallback2)
extern Il2CppClass* CertificateValidationCallback2_t3318447433_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_remove_ServerCertValidation2_m3857463517_MetadataUsageId;
extern "C"  void SslClientStream_remove_ServerCertValidation2_m3857463517 (SslClientStream_t3918817353 * __this, CertificateValidationCallback2_t3318447433 * ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_remove_ServerCertValidation2_m3857463517_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		CertificateValidationCallback2_t3318447433 * L_0 = __this->get_ServerCertValidation2_19();
		CertificateValidationCallback2_t3318447433 * L_1 = ___value0;
		Delegate_t3022476291 * L_2 = Delegate_Remove_m2626518725(NULL /*static, unused*/, L_0, L_1, /*hidden argument*/NULL);
		__this->set_ServerCertValidation2_19(((CertificateValidationCallback2_t3318447433 *)CastclassSealed(L_2, CertificateValidationCallback2_t3318447433_il2cpp_TypeInfo_var)));
		return;
	}
}
// System.IO.Stream Mono.Security.Protocol.Tls.SslClientStream::get_InputBuffer()
extern "C"  Stream_t3255436806 * SslClientStream_get_InputBuffer_m295521966 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_inputBuffer_4();
		return L_0;
	}
}
// System.Security.Cryptography.X509Certificates.X509CertificateCollection Mono.Security.Protocol.Tls.SslClientStream::get_ClientCertificates()
extern "C"  X509CertificateCollection_t1197680765 * SslClientStream_get_ClientCertificates_m444639806 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsClientSettings_t2311449551 * L_1 = Context_get_ClientSettings_m1185615112(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_2 = TlsClientSettings_get_Certificates_m2509165647(L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Security.Cryptography.X509Certificates.X509Certificate Mono.Security.Protocol.Tls.SslClientStream::get_SelectedClientCertificate()
extern "C"  X509Certificate_t283079845 * SslClientStream_get_SelectedClientCertificate_m1580018944 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsClientSettings_t2311449551 * L_1 = Context_get_ClientSettings_m1185615112(L_0, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_2 = TlsClientSettings_get_ClientCertificate_m89435195(L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// Mono.Security.Protocol.Tls.CertificateValidationCallback Mono.Security.Protocol.Tls.SslClientStream::get_ServerCertValidationDelegate()
extern "C"  CertificateValidationCallback_t989458295 * SslClientStream_get_ServerCertValidationDelegate_m3909657681 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		CertificateValidationCallback_t989458295 * 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_m3125858424 (SslClientStream_t3918817353 * __this, CertificateValidationCallback_t989458295 * ___value0, const MethodInfo* method)
{
	{
		CertificateValidationCallback_t989458295 * 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_t3721235490 * SslClientStream_get_ClientCertSelectionDelegate_m2316959461 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t3721235490 * 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_m3476473798 (SslClientStream_t3918817353 * __this, CertificateSelectionCallback_t3721235490 * ___value0, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t3721235490 * 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_t1663566523 * SslClientStream_get_PrivateKeyCertSelectionDelegate_m3715949545 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t1663566523 * 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_m159581650 (SslClientStream_t3918817353 * __this, PrivateKeySelectionCallback_t1663566523 * ___value0, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t1663566523 * L_0 = ___value0;
		__this->set_PrivateKeySelection_18(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::Finalize()
extern "C"  void SslClientStream_Finalize_m3464869995 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m747909841(__this, (bool)0, /*hidden argument*/NULL);
		IL2CPP_LEAVE(0x13, FINALLY_000c);
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t1927440687 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		SslStreamBase_Finalize_m2530628835(__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_t1927440687 *)
	}

IL_0013:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslClientStream::Dispose(System.Boolean)
extern "C"  void SslClientStream_Dispose_m3148875377 (SslClientStream_t3918817353 * __this, bool ___disposing0, const MethodInfo* method)
{
	{
		bool L_0 = ___disposing0;
		SslStreamBase_Dispose_m747909841(__this, L_0, /*hidden argument*/NULL);
		bool L_1 = ___disposing0;
		if (!L_1)
		{
			goto IL_0029;
		}
	}
	{
		__this->set_ServerCertValidation_16((CertificateValidationCallback_t989458295 *)NULL);
		__this->set_ClientCertSelection_17((CertificateSelectionCallback_t3721235490 *)NULL);
		__this->set_PrivateKeySelection_18((PrivateKeySelectionCallback_t1663566523 *)NULL);
		__this->set_ServerCertValidation2_19((CertificateValidationCallback2_t3318447433 *)NULL);
	}

IL_0029:
	{
		return;
	}
}
// System.IAsyncResult Mono.Security.Protocol.Tls.SslClientStream::OnBeginNegotiateHandshake(System.AsyncCallback,System.Object)
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern const uint32_t SslClientStream_OnBeginNegotiateHandshake_m4281860610_MetadataUsageId;
extern "C"  Il2CppObject * SslClientStream_OnBeginNegotiateHandshake_m4281860610 (SslClientStream_t3918817353 * __this, AsyncCallback_t163412349 * ___callback0, Il2CppObject * ___state1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_OnBeginNegotiateHandshake_m4281860610_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsException_t583514812 * V_0 = NULL;
	Exception_t1927440687 * V_1 = NULL;
	Il2CppObject * V_2 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t4285182719 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
			int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
			if (!L_1)
			{
				goto IL_001b;
			}
		}

IL_0010:
		{
			Context_t4285182719 * L_2 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
			VirtActionInvoker0::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.Context::Clear() */, L_2);
		}

IL_001b:
		{
			Context_t4285182719 * L_3 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
			Context_t4285182719 * L_4 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
			int32_t L_5 = Context_get_SecurityProtocol_m1600902905(L_4, /*hidden argument*/NULL);
			CipherSuiteCollection_t2431504453 * L_6 = CipherSuiteFactory_GetSupportedCiphers_m338097823(NULL /*static, unused*/, L_5, /*hidden argument*/NULL);
			Context_set_SupportedCiphers_m3994965527(L_3, L_6, /*hidden argument*/NULL);
			Context_t4285182719 * L_7 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
			Context_set_HandshakeState_m1586089840(L_7, 1, /*hidden argument*/NULL);
			RecordProtocol_t3166895267 * L_8 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
			AsyncCallback_t163412349 * L_9 = ___callback0;
			Il2CppObject * L_10 = ___state1;
			Il2CppObject * L_11 = RecordProtocol_BeginSendRecord_m3180957815(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_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_005b;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_007e;
		throw e;
	}

CATCH_005b:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_0 = ((TlsException_t583514812 *)__exception_local);
			RecordProtocol_t3166895267 * L_12 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
			TlsException_t583514812 * L_13 = V_0;
			Alert_t3405955216 * L_14 = TlsException_get_Alert_m4022765752(L_13, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2816808523(L_12, L_14, /*hidden argument*/NULL);
			TlsException_t583514812 * L_15 = V_0;
			IOException_t2458421087 * L_16 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_16, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
			RecordProtocol_t3166895267 * L_17 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
			RecordProtocol_SendAlert_m2622753765(L_17, ((int32_t)80), /*hidden argument*/NULL);
			Exception_t1927440687 * L_18 = V_1;
			IOException_t2458421087 * L_19 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_19, _stringLiteral2783594492, 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_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1795911301;
extern const uint32_t SslClientStream_SafeReceiveRecord_m210668541_MetadataUsageId;
extern "C"  void SslClientStream_SafeReceiveRecord_m210668541 (SslClientStream_t3918817353 * __this, Stream_t3255436806 * ___s0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_SafeReceiveRecord_m210668541_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		RecordProtocol_t3166895267 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
		Stream_t3255436806 * L_1 = ___s0;
		ByteU5BU5D_t3397334013* L_2 = RecordProtocol_ReceiveRecord_m3672584816(L_0, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ByteU5BU5D_t3397334013* L_3 = V_0;
		if (!L_3)
		{
			goto IL_001b;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_4 = V_0;
		if ((((int32_t)((int32_t)(((Il2CppArray *)L_4)->max_length)))))
		{
			goto IL_0028;
		}
	}

IL_001b:
	{
		TlsException_t583514812 * L_5 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_5, ((int32_t)40), _stringLiteral1795911301, /*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_t3595945587_il2cpp_TypeInfo_var;
extern const uint32_t SslClientStream_OnNegotiateHandshakeCallback_m1332934317_MetadataUsageId;
extern "C"  void SslClientStream_OnNegotiateHandshakeCallback_m1332934317 (SslClientStream_t3918817353 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslClientStream_OnNegotiateHandshakeCallback_m1332934317_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	bool V_0 = false;
	int32_t G_B14_0 = 0;
	{
		RecordProtocol_t3166895267 * L_0 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
		Il2CppObject * L_1 = ___asyncResult0;
		RecordProtocol_EndSendRecord_m3304963666(L_0, L_1, /*hidden argument*/NULL);
		goto IL_0043;
	}

IL_0011:
	{
		Stream_t3255436806 * L_2 = ((SslStreamBase_t934199321 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m210668541(__this, L_2, /*hidden argument*/NULL);
		Context_t4285182719 * L_3 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		bool L_4 = Context_get_AbbreviatedHandshake_m2972837690(L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0043;
		}
	}
	{
		Context_t4285182719 * L_5 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		uint8_t L_6 = Context_get_LastHandshakeMsg_m873777031(L_5, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_6) == ((uint32_t)2))))
		{
			goto IL_0043;
		}
	}
	{
		goto IL_0055;
	}

IL_0043:
	{
		Context_t4285182719 * L_7 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		uint8_t L_8 = Context_get_LastHandshakeMsg_m873777031(L_7, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_8) == ((uint32_t)((int32_t)14)))))
		{
			goto IL_0011;
		}
	}

IL_0055:
	{
		Context_t4285182719 * L_9 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		bool L_10 = Context_get_AbbreviatedHandshake_m2972837690(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_00da;
		}
	}
	{
		Context_t4285182719 * L_11 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextFromCache_m3917528339(NULL /*static, unused*/, L_11, /*hidden argument*/NULL);
		Context_t4285182719 * L_12 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		SecurityParameters_t2290372928 * L_13 = Context_get_Negotiating_m3946476110(L_12, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_14 = SecurityParameters_get_Cipher_m2392911632(L_13, /*hidden argument*/NULL);
		VirtActionInvoker0::Invoke(7 /* System.Void Mono.Security.Protocol.Tls.CipherSuite::ComputeKeys() */, L_14);
		Context_t4285182719 * L_15 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		SecurityParameters_t2290372928 * L_16 = Context_get_Negotiating_m3946476110(L_15, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_17 = SecurityParameters_get_Cipher_m2392911632(L_16, /*hidden argument*/NULL);
		CipherSuite_InitializeCipher_m229247572(L_17, /*hidden argument*/NULL);
		RecordProtocol_t3166895267 * L_18 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
		RecordProtocol_SendChangeCipherSpec_m3542001341(L_18, /*hidden argument*/NULL);
		goto IL_00b7;
	}

IL_00ab:
	{
		Stream_t3255436806 * L_19 = ((SslStreamBase_t934199321 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m210668541(__this, L_19, /*hidden argument*/NULL);
	}

IL_00b7:
	{
		Context_t4285182719 * L_20 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		int32_t L_21 = Context_get_HandshakeState_m3443153737(L_20, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_21) == ((uint32_t)2))))
		{
			goto IL_00ab;
		}
	}
	{
		RecordProtocol_t3166895267 * L_22 = ((SslStreamBase_t934199321 *)__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_t4285182719 * L_23 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsServerSettings_t403340211 * L_24 = Context_get_ServerSettings_m225713600(L_23, /*hidden argument*/NULL);
		bool L_25 = TlsServerSettings_get_CertificateRequest_m1204669838(L_24, /*hidden argument*/NULL);
		V_0 = L_25;
		Context_t4285182719 * L_26 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		int32_t L_27 = Context_get_SecurityProtocol_m1600902905(L_26, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_27) == ((uint32_t)((int32_t)48)))))
		{
			goto IL_012e;
		}
	}
	{
		Context_t4285182719 * L_28 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsClientSettings_t2311449551 * L_29 = Context_get_ClientSettings_m1185615112(L_28, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_30 = TlsClientSettings_get_Certificates_m2509165647(L_29, /*hidden argument*/NULL);
		if (!L_30)
		{
			goto IL_012c;
		}
	}
	{
		Context_t4285182719 * L_31 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsClientSettings_t2311449551 * L_32 = Context_get_ClientSettings_m1185615112(L_31, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_33 = TlsClientSettings_get_Certificates_m2509165647(L_32, /*hidden argument*/NULL);
		int32_t L_34 = CollectionBase_get_Count_m740218359(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_t3166895267 * L_36 = ((SslStreamBase_t934199321 *)__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_t3166895267 * L_37 = ((SslStreamBase_t934199321 *)__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_t4285182719 * L_38 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		SecurityParameters_t2290372928 * L_39 = Context_get_Negotiating_m3946476110(L_38, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_40 = SecurityParameters_get_Cipher_m2392911632(L_39, /*hidden argument*/NULL);
		CipherSuite_InitializeCipher_m229247572(L_40, /*hidden argument*/NULL);
		bool L_41 = V_0;
		if (!L_41)
		{
			goto IL_018b;
		}
	}
	{
		Context_t4285182719 * L_42 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsClientSettings_t2311449551 * L_43 = Context_get_ClientSettings_m1185615112(L_42, /*hidden argument*/NULL);
		X509Certificate_t283079845 * L_44 = TlsClientSettings_get_ClientCertificate_m89435195(L_43, /*hidden argument*/NULL);
		if (!L_44)
		{
			goto IL_018b;
		}
	}
	{
		RecordProtocol_t3166895267 * L_45 = ((SslStreamBase_t934199321 *)__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_t3166895267 * L_46 = ((SslStreamBase_t934199321 *)__this)->get_protocol_6();
		RecordProtocol_SendChangeCipherSpec_m3542001341(L_46, /*hidden argument*/NULL);
		RecordProtocol_t3166895267 * L_47 = ((SslStreamBase_t934199321 *)__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_t3255436806 * L_48 = ((SslStreamBase_t934199321 *)__this)->get_innerStream_3();
		SslClientStream_SafeReceiveRecord_m210668541(__this, L_48, /*hidden argument*/NULL);
	}

IL_01b4:
	{
		Context_t4285182719 * L_49 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		int32_t L_50 = Context_get_HandshakeState_m3443153737(L_49, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_50) == ((uint32_t)2))))
		{
			goto IL_01a8;
		}
	}

IL_01c5:
	{
		Context_t4285182719 * L_51 = ((SslStreamBase_t934199321 *)__this)->get_context_5();
		TlsStream_t4089752859 * L_52 = Context_get_HandshakeMessages_m2765912589(L_51, /*hidden argument*/NULL);
		TlsStream_Reset_m1504601050(L_52, /*hidden argument*/NULL);
		Context_t4285182719 * L_53 = ((SslStreamBase_t934199321 *)__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_t283079845 * SslClientStream_OnLocalCertificateSelection_m3628249765 (SslClientStream_t3918817353 * __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	{
		CertificateSelectionCallback_t3721235490 * L_0 = __this->get_ClientCertSelection_17();
		if (!L_0)
		{
			goto IL_001c;
		}
	}
	{
		CertificateSelectionCallback_t3721235490 * L_1 = __this->get_ClientCertSelection_17();
		X509CertificateCollection_t1197680765 * L_2 = ___clientCertificates0;
		X509Certificate_t283079845 * L_3 = ___serverCertificate1;
		String_t* L_4 = ___targetHost2;
		X509CertificateCollection_t1197680765 * L_5 = ___serverRequestedCertificates3;
		X509Certificate_t283079845 * L_6 = CertificateSelectionCallback_Invoke_m2902629105(L_1, L_2, L_3, L_4, L_5, /*hidden argument*/NULL);
		return L_6;
	}

IL_001c:
	{
		return (X509Certificate_t283079845 *)NULL;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslClientStream::get_HaveRemoteValidation2Callback()
extern "C"  bool SslClientStream_get_HaveRemoteValidation2Callback_m3555576758 (SslClientStream_t3918817353 * __this, const MethodInfo* method)
{
	{
		CertificateValidationCallback2_t3318447433 * L_0 = __this->get_ServerCertValidation2_19();
		return (bool)((((int32_t)((((Il2CppObject*)(CertificateValidationCallback2_t3318447433 *)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_t1782558132 * SslClientStream_OnRemoteCertificateValidation2_m3416857045 (SslClientStream_t3918817353 * __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method)
{
	CertificateValidationCallback2_t3318447433 * V_0 = NULL;
	{
		CertificateValidationCallback2_t3318447433 * L_0 = __this->get_ServerCertValidation2_19();
		V_0 = L_0;
		CertificateValidationCallback2_t3318447433 * L_1 = V_0;
		if (!L_1)
		{
			goto IL_0015;
		}
	}
	{
		CertificateValidationCallback2_t3318447433 * L_2 = V_0;
		X509CertificateCollection_t3592472866 * L_3 = ___collection0;
		ValidationResult_t1782558132 * L_4 = CertificateValidationCallback2_Invoke_m436894540(L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0015:
	{
		return (ValidationResult_t1782558132 *)NULL;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslClientStream::OnRemoteCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])
extern "C"  bool SslClientStream_OnRemoteCertificateValidation_m3974135419 (SslClientStream_t3918817353 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___errors1, const MethodInfo* method)
{
	int32_t G_B5_0 = 0;
	{
		CertificateValidationCallback_t989458295 * L_0 = __this->get_ServerCertValidation_16();
		if (!L_0)
		{
			goto IL_0019;
		}
	}
	{
		CertificateValidationCallback_t989458295 * L_1 = __this->get_ServerCertValidation_16();
		X509Certificate_t283079845 * L_2 = ___certificate0;
		Int32U5BU5D_t3030399641* L_3 = ___errors1;
		bool L_4 = CertificateValidationCallback_Invoke_m2500463874(L_1, L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0019:
	{
		Int32U5BU5D_t3030399641* L_5 = ___errors1;
		if (!L_5)
		{
			goto IL_0027;
		}
	}
	{
		Int32U5BU5D_t3030399641* 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_m1782631027 (SslClientStream_t3918817353 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___certificateErrors1, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = ___certificate0;
		Int32U5BU5D_t3030399641* L_1 = ___certificateErrors1;
		bool L_2 = SslStreamBase_RaiseRemoteCertificateValidation_m902031508(__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_t1782558132 * SslClientStream_RaiseServerCertificateValidation2_m3736176381 (SslClientStream_t3918817353 * __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3592472866 * L_0 = ___collection0;
		ValidationResult_t1782558132 * L_1 = SslStreamBase_RaiseRemoteCertificateValidation2_m1013444422(__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_t283079845 * SslClientStream_RaiseClientCertificateSelection_m3933788312 (SslClientStream_t3918817353 * __this, X509CertificateCollection_t1197680765 * ___clientCertificates0, X509Certificate_t283079845 * ___serverCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___serverRequestedCertificates3, const MethodInfo* method)
{
	{
		X509CertificateCollection_t1197680765 * L_0 = ___clientCertificates0;
		X509Certificate_t283079845 * L_1 = ___serverCertificate1;
		String_t* L_2 = ___targetHost2;
		X509CertificateCollection_t1197680765 * L_3 = ___serverRequestedCertificates3;
		X509Certificate_t283079845 * L_4 = SslStreamBase_RaiseLocalCertificateSelection_m3422705716(__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_t784058677 * SslClientStream_OnLocalPrivateKeySelection_m3649986106 (SslClientStream_t3918817353 * __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		PrivateKeySelectionCallback_t1663566523 * L_0 = __this->get_PrivateKeySelection_18();
		if (!L_0)
		{
			goto IL_0019;
		}
	}
	{
		PrivateKeySelectionCallback_t1663566523 * L_1 = __this->get_PrivateKeySelection_18();
		X509Certificate_t283079845 * L_2 = ___certificate0;
		String_t* L_3 = ___targetHost1;
		AsymmetricAlgorithm_t784058677 * L_4 = PrivateKeySelectionCallback_Invoke_m1058550892(L_1, L_2, L_3, /*hidden argument*/NULL);
		return L_4;
	}

IL_0019:
	{
		return (AsymmetricAlgorithm_t784058677 *)NULL;
	}
}
// System.Security.Cryptography.AsymmetricAlgorithm Mono.Security.Protocol.Tls.SslClientStream::RaisePrivateKeySelection(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)
extern "C"  AsymmetricAlgorithm_t784058677 * SslClientStream_RaisePrivateKeySelection_m2326189090 (SslClientStream_t3918817353 * __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = ___certificate0;
		String_t* L_1 = ___targetHost1;
		AsymmetricAlgorithm_t784058677 * L_2 = SslStreamBase_RaiseLocalPrivateKeySelection_m1885975771(__this, L_0, L_1, /*hidden argument*/NULL);
		return L_2;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslHandshakeHash::.ctor(System.Byte[])
extern Il2CppCodeGenString* _stringLiteral3162791842;
extern Il2CppCodeGenString* _stringLiteral3390779939;
extern const uint32_t SslHandshakeHash__ctor_m1269339424_MetadataUsageId;
extern "C"  void SslHandshakeHash__ctor_m1269339424 (SslHandshakeHash_t3044322977 * __this, ByteU5BU5D_t3397334013* ___secret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash__ctor_m1269339424_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		HashAlgorithm__ctor_m3777008390(__this, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_0 = HashAlgorithm_Create_m1224939073(NULL /*static, unused*/, _stringLiteral3162791842, /*hidden argument*/NULL);
		__this->set_md5_4(L_0);
		HashAlgorithm_t2624936259 * L_1 = HashAlgorithm_Create_m1224939073(NULL /*static, unused*/, _stringLiteral3390779939, /*hidden argument*/NULL);
		__this->set_sha_5(L_1);
		HashAlgorithm_t2624936259 * 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_t2624936259 * 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_t2624936259 *)__this)->set_HashSizeValue_1(((int32_t)((int32_t)L_3+(int32_t)L_5)));
		ByteU5BU5D_t3397334013* 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_m2786849785 (SslHandshakeHash_t3044322977 * __this, const MethodInfo* method)
{
	{
		HashAlgorithm_t2624936259 * L_0 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_0);
		HashAlgorithm_t2624936259 * L_1 = __this->get_sha_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_1);
		SslHandshakeHash_initializePad_m4132246594(__this, /*hidden argument*/NULL);
		__this->set_hashing_6((bool)0);
		return;
	}
}
// System.Byte[] Mono.Security.Protocol.Tls.SslHandshakeHash::HashFinal()
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t SslHandshakeHash_HashFinal_m1925138451_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* SslHandshakeHash_HashFinal_m1925138451 (SslHandshakeHash_t3044322977 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_HashFinal_m1925138451_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* 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_t2624936259 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_2 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_3 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_4 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m4190258810(L_1, L_2, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_3)->max_length)))), L_4, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_5 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_6 = __this->get_innerPadMD5_8();
		ByteU5BU5D_t3397334013* L_7 = __this->get_innerPadMD5_8();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_5, L_6, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_7)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_8 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_9 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_8);
		V_0 = L_9;
		HashAlgorithm_t2624936259 * L_10 = __this->get_md5_4();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_10);
		HashAlgorithm_t2624936259 * L_11 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_12 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_13 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_14 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m4190258810(L_11, L_12, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_13)->max_length)))), L_14, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_15 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_16 = __this->get_outerPadMD5_9();
		ByteU5BU5D_t3397334013* L_17 = __this->get_outerPadMD5_9();
		ByteU5BU5D_t3397334013* L_18 = __this->get_outerPadMD5_9();
		HashAlgorithm_TransformBlock_m4190258810(L_15, L_16, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_17)->max_length)))), L_18, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_19 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_20 = V_0;
		ByteU5BU5D_t3397334013* L_21 = V_0;
		HashAlgorithm_TransformFinalBlock_m3071802428(L_19, L_20, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_21)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_22 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_23 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_24 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_25 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m4190258810(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_26 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_27 = __this->get_innerPadSHA_10();
		ByteU5BU5D_t3397334013* L_28 = __this->get_innerPadSHA_10();
		HashAlgorithm_TransformFinalBlock_m3071802428(L_26, L_27, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_28)->max_length)))), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_29 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_30 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_29);
		V_1 = L_30;
		HashAlgorithm_t2624936259 * L_31 = __this->get_sha_5();
		VirtActionInvoker0::Invoke(13 /* System.Void System.Security.Cryptography.HashAlgorithm::Initialize() */, L_31);
		HashAlgorithm_t2624936259 * L_32 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_33 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_34 = __this->get_secret_7();
		ByteU5BU5D_t3397334013* L_35 = __this->get_secret_7();
		HashAlgorithm_TransformBlock_m4190258810(L_32, L_33, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_34)->max_length)))), L_35, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_36 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_37 = __this->get_outerPadSHA_11();
		ByteU5BU5D_t3397334013* L_38 = __this->get_outerPadSHA_11();
		ByteU5BU5D_t3397334013* L_39 = __this->get_outerPadSHA_11();
		HashAlgorithm_TransformBlock_m4190258810(L_36, L_37, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_38)->max_length)))), L_39, 0, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_40 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_41 = V_1;
		ByteU5BU5D_t3397334013* L_42 = V_1;
		HashAlgorithm_TransformFinalBlock_m3071802428(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)36)));
		HashAlgorithm_t2624936259 * L_43 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_44 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_43);
		ByteU5BU5D_t3397334013* L_45 = V_2;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_44, 0, (Il2CppArray *)(Il2CppArray *)L_45, 0, ((int32_t)16), /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_46 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_47 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, L_46);
		ByteU5BU5D_t3397334013* L_48 = V_2;
		Buffer_BlockCopy_m1586717258(NULL /*static, unused*/, (Il2CppArray *)(Il2CppArray *)L_47, 0, (Il2CppArray *)(Il2CppArray *)L_48, ((int32_t)16), ((int32_t)20), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* 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_m3914471343 (SslHandshakeHash_t3044322977 * __this, ByteU5BU5D_t3397334013* ___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_t2624936259 * L_1 = __this->get_md5_4();
		ByteU5BU5D_t3397334013* L_2 = ___array0;
		int32_t L_3 = ___ibStart1;
		int32_t L_4 = ___cbSize2;
		ByteU5BU5D_t3397334013* L_5 = ___array0;
		int32_t L_6 = ___ibStart1;
		HashAlgorithm_TransformBlock_m4190258810(L_1, L_2, L_3, L_4, L_5, L_6, /*hidden argument*/NULL);
		HashAlgorithm_t2624936259 * L_7 = __this->get_sha_5();
		ByteU5BU5D_t3397334013* L_8 = ___array0;
		int32_t L_9 = ___ibStart1;
		int32_t L_10 = ___cbSize2;
		ByteU5BU5D_t3397334013* L_11 = ___array0;
		int32_t L_12 = ___ibStart1;
		HashAlgorithm_TransformBlock_m4190258810(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_t4184064416_il2cpp_TypeInfo_var;
extern Il2CppClass* RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral85499051;
extern Il2CppCodeGenString* _stringLiteral1277011235;
extern const uint32_t SslHandshakeHash_CreateSignature_m3001618400_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* SslHandshakeHash_CreateSignature_m3001618400 (SslHandshakeHash_t3044322977 * __this, RSA_t3719518354 * ___rsa0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_CreateSignature_m3001618400_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	RSASslSignatureFormatter_t1282301050 * V_0 = NULL;
	{
		RSA_t3719518354 * L_0 = ___rsa0;
		if (L_0)
		{
			goto IL_0011;
		}
	}
	{
		CryptographicUnexpectedOperationException_t4184064416 * L_1 = (CryptographicUnexpectedOperationException_t4184064416 *)il2cpp_codegen_object_new(CryptographicUnexpectedOperationException_t4184064416_il2cpp_TypeInfo_var);
		CryptographicUnexpectedOperationException__ctor_m3552441227(L_1, _stringLiteral85499051, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0011:
	{
		RSA_t3719518354 * L_2 = ___rsa0;
		RSASslSignatureFormatter_t1282301050 * L_3 = (RSASslSignatureFormatter_t1282301050 *)il2cpp_codegen_object_new(RSASslSignatureFormatter_t1282301050_il2cpp_TypeInfo_var);
		RSASslSignatureFormatter__ctor_m2530528184(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		RSASslSignatureFormatter_t1282301050 * L_4 = V_0;
		VirtActionInvoker1< String_t* >::Invoke(4 /* System.Void Mono.Security.Protocol.Tls.RSASslSignatureFormatter::SetHashAlgorithm(System.String) */, L_4, _stringLiteral1277011235);
		RSASslSignatureFormatter_t1282301050 * L_5 = V_0;
		ByteU5BU5D_t3397334013* L_6 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(9 /* System.Byte[] System.Security.Cryptography.HashAlgorithm::get_Hash() */, __this);
		ByteU5BU5D_t3397334013* L_7 = VirtFuncInvoker1< ByteU5BU5D_t3397334013*, ByteU5BU5D_t3397334013* >::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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t SslHandshakeHash_initializePad_m4132246594_MetadataUsageId;
extern "C"  void SslHandshakeHash_initializePad_m4132246594 (SslHandshakeHash_t3044322977 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslHandshakeHash_initializePad_m4132246594_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	int32_t V_1 = 0;
	{
		__this->set_innerPadMD5_8(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48))));
		__this->set_outerPadMD5_9(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)48))));
		V_0 = 0;
		goto IL_0039;
	}

IL_0021:
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_innerPadMD5_8();
		int32_t L_1 = V_0;
		(L_0)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_1), (uint8_t)((int32_t)54));
		ByteU5BU5D_t3397334013* L_2 = __this->get_outerPadMD5_9();
		int32_t L_3 = V_0;
		(L_2)->SetAtUnchecked(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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)40))));
		__this->set_outerPadSHA_11(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)40))));
		V_1 = 0;
		goto IL_007a;
	}

IL_0062:
	{
		ByteU5BU5D_t3397334013* L_6 = __this->get_innerPadSHA_10();
		int32_t L_7 = V_1;
		(L_6)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7), (uint8_t)((int32_t)54));
		ByteU5BU5D_t3397334013* L_8 = __this->get_outerPadSHA_11();
		int32_t L_9 = V_1;
		(L_8)->SetAtUnchecked(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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t743994179_il2cpp_TypeInfo_var;
extern Il2CppClass* Stream_t3255436806_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* Il2CppObject_il2cpp_TypeInfo_var;
extern Il2CppClass* ManualResetEvent_t926074657_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3269985255;
extern Il2CppCodeGenString* _stringLiteral291154769;
extern const uint32_t SslStreamBase__ctor_m543947417_MetadataUsageId;
extern "C"  void SslStreamBase__ctor_m543947417 (SslStreamBase_t934199321 * __this, Stream_t3255436806 * ___stream0, bool ___ownsStream1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase__ctor_m543947417_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		__this->set_recbuf_14(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)16384))));
		MemoryStream_t743994179 * L_0 = (MemoryStream_t743994179 *)il2cpp_codegen_object_new(MemoryStream_t743994179_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1043059966(L_0, /*hidden argument*/NULL);
		__this->set_recordStream_15(L_0);
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t3255436806_il2cpp_TypeInfo_var);
		Stream__ctor_m1531324023(__this, /*hidden argument*/NULL);
		Stream_t3255436806 * L_1 = ___stream0;
		if (L_1)
		{
			goto IL_0032;
		}
	}
	{
		ArgumentNullException_t628810857 * L_2 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_2, _stringLiteral3269985255, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_2);
	}

IL_0032:
	{
		Stream_t3255436806 * L_3 = ___stream0;
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t3255436806_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_t3255436806 * L_5 = ___stream0;
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t3255436806_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_t628810857 * L_7 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_7, _stringLiteral291154769, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_7);
	}

IL_0053:
	{
		MemoryStream_t743994179 * L_8 = (MemoryStream_t743994179 *)il2cpp_codegen_object_new(MemoryStream_t743994179_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1043059966(L_8, /*hidden argument*/NULL);
		__this->set_inputBuffer_4(L_8);
		Stream_t3255436806 * 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_m2551263788(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_m2551263788(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_m2551263788(L_13, /*hidden argument*/NULL);
		__this->set_write_12(L_13);
		ManualResetEvent_t926074657 * L_14 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m3470249043(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_t926074657_il2cpp_TypeInfo_var;
extern Il2CppClass* SslStreamBase_t934199321_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase__cctor_m4047446554_MetadataUsageId;
extern "C"  void SslStreamBase__cctor_m4047446554 (Il2CppObject * __this /* static, unused */, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase__cctor_m4047446554_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ManualResetEvent_t926074657 * L_0 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
		ManualResetEvent__ctor_m3470249043(L_0, (bool)1, /*hidden argument*/NULL);
		((SslStreamBase_t934199321_StaticFields*)SslStreamBase_t934199321_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_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern const uint32_t SslStreamBase_AsyncHandshakeCallback_m1101580486_MetadataUsageId;
extern "C"  void SslStreamBase_AsyncHandshakeCallback_m1101580486 (SslStreamBase_t934199321 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_AsyncHandshakeCallback_m1101580486_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	TlsException_t583514812 * V_1 = NULL;
	Exception_t1927440687 * V_2 = NULL;
	Exception_t1927440687 * V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1999651008_il2cpp_TypeInfo_var, L_0);
		V_0 = ((InternalAsyncResult_t1610391122 *)IsInstClass(L_1, InternalAsyncResult_t1610391122_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_t1927440687 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0018;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_003b;
			throw e;
		}

CATCH_0018:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_1 = ((TlsException_t583514812 *)__exception_local);
				RecordProtocol_t3166895267 * L_3 = __this->get_protocol_6();
				TlsException_t583514812 * L_4 = V_1;
				Alert_t3405955216 * L_5 = TlsException_get_Alert_m4022765752(L_4, /*hidden argument*/NULL);
				RecordProtocol_SendAlert_m2816808523(L_3, L_5, /*hidden argument*/NULL);
				TlsException_t583514812 * L_6 = V_1;
				IOException_t2458421087 * L_7 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_7, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
				RecordProtocol_t3166895267 * L_8 = __this->get_protocol_6();
				RecordProtocol_SendAlert_m2622753765(L_8, ((int32_t)80), /*hidden argument*/NULL);
				Exception_t1927440687 * L_9 = V_2;
				IOException_t2458421087 * L_10 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_10, _stringLiteral2783594492, L_9, /*hidden argument*/NULL);
				IL2CPP_RAISE_MANAGED_EXCEPTION(L_10);
			}

IL_0055:
			{
				goto IL_005a;
			}
		} // end catch (depth: 2)

IL_005a:
		{
			InternalAsyncResult_t1610391122 * L_11 = V_0;
			bool L_12 = InternalAsyncResult_get_ProceedAfterHandshake_m552962842(L_11, /*hidden argument*/NULL);
			if (!L_12)
			{
				goto IL_0094;
			}
		}

IL_0065:
		{
			InternalAsyncResult_t1610391122 * L_13 = V_0;
			bool L_14 = InternalAsyncResult_get_FromWrite_m2893408424(L_13, /*hidden argument*/NULL);
			if (!L_14)
			{
				goto IL_007c;
			}
		}

IL_0070:
		{
			InternalAsyncResult_t1610391122 * L_15 = V_0;
			SslStreamBase_InternalBeginWrite_m3760772368(__this, L_15, /*hidden argument*/NULL);
			goto IL_0083;
		}

IL_007c:
		{
			InternalAsyncResult_t1610391122 * L_16 = V_0;
			SslStreamBase_InternalBeginRead_m707911413(__this, L_16, /*hidden argument*/NULL);
		}

IL_0083:
		{
			ManualResetEvent_t926074657 * L_17 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m2975776670(L_17, /*hidden argument*/NULL);
			goto IL_00a6;
		}

IL_0094:
		{
			ManualResetEvent_t926074657 * L_18 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m2975776670(L_18, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_19 = V_0;
			InternalAsyncResult_SetComplete_m35987153(L_19, /*hidden argument*/NULL);
		}

IL_00a6:
		{
			goto IL_00c4;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_00ab;
		throw e;
	}

CATCH_00ab:
	{ // begin catch(System.Exception)
		V_3 = ((Exception_t1927440687 *)__exception_local);
		ManualResetEvent_t926074657 * L_20 = __this->get_negotiationComplete_13();
		EventWaitHandle_Set_m2975776670(L_20, /*hidden argument*/NULL);
		InternalAsyncResult_t1610391122 * L_21 = V_0;
		Exception_t1927440687 * L_22 = V_3;
		InternalAsyncResult_SetComplete_m2187159697(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_m3432170694 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(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_m2136705809(NULL /*static, unused*/, L_3, /*hidden argument*/NULL);
	}

IL_0020:
	try
	{ // begin try (depth: 1)
		{
			Context_t4285182719 * L_4 = __this->get_context_5();
			int32_t L_5 = Context_get_HandshakeState_m3443153737(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_t1927440687 *)e.ex;
		goto FINALLY_003c;
	}

FINALLY_003c:
	{ // begin finally (depth: 1)
		Il2CppObject * L_6 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0043:
	{
		bool L_7 = V_1;
		return L_7;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::NegotiateHandshake()
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_NegotiateHandshake_m1758369850_MetadataUsageId;
extern "C"  void SslStreamBase_NegotiateHandshake_m1758369850 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_NegotiateHandshake_m1758369850_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	{
		bool L_0 = SslStreamBase_get_MightNeedHandshake_m3432170694(__this, /*hidden argument*/NULL);
		if (!L_0)
		{
			goto IL_003c;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_1 = (InternalAsyncResult_t1610391122 *)il2cpp_codegen_object_new(InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m2764854695(L_1, (AsyncCallback_t163412349 *)NULL, NULL, (ByteU5BU5D_t3397334013*)(ByteU5BU5D_t3397334013*)NULL, 0, 0, (bool)0, (bool)0, /*hidden argument*/NULL);
		V_0 = L_1;
		InternalAsyncResult_t1610391122 * L_2 = V_0;
		bool L_3 = SslStreamBase_BeginNegotiateHandshake_m2029257721(__this, L_2, /*hidden argument*/NULL);
		if (L_3)
		{
			goto IL_0035;
		}
	}
	{
		ManualResetEvent_t926074657 * L_4 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_4);
		goto IL_003c;
	}

IL_0035:
	{
		InternalAsyncResult_t1610391122 * L_5 = V_0;
		SslStreamBase_EndNegotiateHandshake_m1732321201(__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_t283079845 * SslStreamBase_RaiseLocalCertificateSelection_m3422705716 (SslStreamBase_t934199321 * __this, X509CertificateCollection_t1197680765 * ___certificates0, X509Certificate_t283079845 * ___remoteCertificate1, String_t* ___targetHost2, X509CertificateCollection_t1197680765 * ___requestedCertificates3, const MethodInfo* method)
{
	{
		X509CertificateCollection_t1197680765 * L_0 = ___certificates0;
		X509Certificate_t283079845 * L_1 = ___remoteCertificate1;
		String_t* L_2 = ___targetHost2;
		X509CertificateCollection_t1197680765 * L_3 = ___requestedCertificates3;
		X509Certificate_t283079845 * L_4 = VirtFuncInvoker4< X509Certificate_t283079845 *, X509CertificateCollection_t1197680765 *, X509Certificate_t283079845 *, String_t*, X509CertificateCollection_t1197680765 * >::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_m902031508 (SslStreamBase_t934199321 * __this, X509Certificate_t283079845 * ___certificate0, Int32U5BU5D_t3030399641* ___errors1, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = ___certificate0;
		Int32U5BU5D_t3030399641* L_1 = ___errors1;
		bool L_2 = VirtFuncInvoker2< bool, X509Certificate_t283079845 *, Int32U5BU5D_t3030399641* >::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_t1782558132 * SslStreamBase_RaiseRemoteCertificateValidation2_m1013444422 (SslStreamBase_t934199321 * __this, X509CertificateCollection_t3592472866 * ___collection0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3592472866 * L_0 = ___collection0;
		ValidationResult_t1782558132 * L_1 = VirtFuncInvoker1< ValidationResult_t1782558132 *, X509CertificateCollection_t3592472866 * >::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_t784058677 * SslStreamBase_RaiseLocalPrivateKeySelection_m1885975771 (SslStreamBase_t934199321 * __this, X509Certificate_t283079845 * ___certificate0, String_t* ___targetHost1, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = ___certificate0;
		String_t* L_1 = ___targetHost1;
		AsymmetricAlgorithm_t784058677 * L_2 = VirtFuncInvoker2< AsymmetricAlgorithm_t784058677 *, X509Certificate_t283079845 *, 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_m2467957380 (SslStreamBase_t934199321 * __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_m703827149 (SslStreamBase_t934199321 * __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_m692718075 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_4 = SecurityParameters_get_Cipher_m2392911632(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_CipherAlgorithmType_m750379757(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_m3744053336 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_4 = SecurityParameters_get_Cipher_m2392911632(L_3, /*hidden argument*/NULL);
		int16_t L_5 = CipherSuite_get_EffectiveKeyBits_m3588203390(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_m2591448891 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_4 = SecurityParameters_get_Cipher_m2392911632(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_HashAlgorithmType_m3902365773(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_m480059173 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0029;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_4 = SecurityParameters_get_Cipher_m2392911632(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_HashSize_m3748598203(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_m1717128931 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0032;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		TlsServerSettings_t403340211 * L_3 = Context_get_ServerSettings_m225713600(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_4 = TlsServerSettings_get_Certificates_m3301336199(L_3, /*hidden argument*/NULL);
		X509Certificate_t324051958 * L_5 = X509CertificateCollection_get_Item_m123527754(L_4, 0, /*hidden argument*/NULL);
		RSA_t3719518354 * L_6 = VirtFuncInvoker0< RSA_t3719518354 * >::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_m3712013038 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0027;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		SecurityParameters_t2290372928 * L_3 = Context_get_Current_m2717045324(L_2, /*hidden argument*/NULL);
		CipherSuite_t491456551 * L_4 = SecurityParameters_get_Cipher_m2392911632(L_3, /*hidden argument*/NULL);
		int32_t L_5 = CipherSuite_get_ExchangeAlgorithmType_m3219223789(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_m2458441395 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_001d;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		int32_t L_3 = Context_get_SecurityProtocol_m1600902905(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_t283079845_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_ServerCertificate_m702547597_MetadataUsageId;
extern "C"  X509Certificate_t283079845 * SslStreamBase_get_ServerCertificate_m702547597 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_ServerCertificate_m702547597_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		int32_t L_1 = Context_get_HandshakeState_m3443153737(L_0, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_1) == ((uint32_t)2))))
		{
			goto IL_0062;
		}
	}
	{
		Context_t4285182719 * L_2 = __this->get_context_5();
		TlsServerSettings_t403340211 * L_3 = Context_get_ServerSettings_m225713600(L_2, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_4 = TlsServerSettings_get_Certificates_m3301336199(L_3, /*hidden argument*/NULL);
		if (!L_4)
		{
			goto IL_0062;
		}
	}
	{
		Context_t4285182719 * L_5 = __this->get_context_5();
		TlsServerSettings_t403340211 * L_6 = Context_get_ServerSettings_m225713600(L_5, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_7 = TlsServerSettings_get_Certificates_m3301336199(L_6, /*hidden argument*/NULL);
		int32_t L_8 = CollectionBase_get_Count_m740218359(L_7, /*hidden argument*/NULL);
		if ((((int32_t)L_8) <= ((int32_t)0)))
		{
			goto IL_0062;
		}
	}
	{
		Context_t4285182719 * L_9 = __this->get_context_5();
		TlsServerSettings_t403340211 * L_10 = Context_get_ServerSettings_m225713600(L_9, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_11 = TlsServerSettings_get_Certificates_m3301336199(L_10, /*hidden argument*/NULL);
		X509Certificate_t324051958 * L_12 = X509CertificateCollection_get_Item_m123527754(L_11, 0, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_13 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(12 /* System.Byte[] Mono.Security.X509.X509Certificate::get_RawData() */, L_12);
		X509Certificate_t283079845 * L_14 = (X509Certificate_t283079845 *)il2cpp_codegen_object_new(X509Certificate_t283079845_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m1497774341(L_14, L_13, /*hidden argument*/NULL);
		return L_14;
	}

IL_0062:
	{
		return (X509Certificate_t283079845 *)NULL;
	}
}
// Mono.Security.X509.X509CertificateCollection Mono.Security.Protocol.Tls.SslStreamBase::get_ServerCertificates()
extern "C"  X509CertificateCollection_t3592472866 * SslStreamBase_get_ServerCertificates_m1401009752 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Context_t4285182719 * L_0 = __this->get_context_5();
		TlsServerSettings_t403340211 * L_1 = Context_get_ServerSettings_m225713600(L_0, /*hidden argument*/NULL);
		X509CertificateCollection_t3592472866 * L_2 = TlsServerSettings_get_Certificates_m3301336199(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_t163412349_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_AsyncHandshakeCallback_m1101580486_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern const uint32_t SslStreamBase_BeginNegotiateHandshake_m2029257721_MetadataUsageId;
extern "C"  bool SslStreamBase_BeginNegotiateHandshake_m2029257721 (SslStreamBase_t934199321 * __this, InternalAsyncResult_t1610391122 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginNegotiateHandshake_m2029257721_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	TlsException_t583514812 * V_1 = NULL;
	Exception_t1927440687 * V_2 = NULL;
	bool V_3 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000d:
		try
		{ // begin try (depth: 2)
			{
				Context_t4285182719 * L_2 = __this->get_context_5();
				int32_t L_3 = Context_get_HandshakeState_m3443153737(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_m1101580486_MethodInfo_var);
				AsyncCallback_t163412349 * L_5 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
				AsyncCallback__ctor_m3071689932(L_5, __this, L_4, /*hidden argument*/NULL);
				InternalAsyncResult_t1610391122 * L_6 = ___asyncResult0;
				VirtFuncInvoker2< Il2CppObject *, AsyncCallback_t163412349 *, 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_t1927440687 *)e.ex;
			goto FINALLY_0044;
		}

FINALLY_0044:
		{ // begin finally (depth: 2)
			Il2CppObject * L_7 = V_0;
			Monitor_Exit_m2677760297(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_t1927440687 *)
		}

IL_004b:
		{
			goto IL_00aa;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0050;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_007f;
		throw e;
	}

CATCH_0050:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_1 = ((TlsException_t583514812 *)__exception_local);
			ManualResetEvent_t926074657 * L_8 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m2975776670(L_8, /*hidden argument*/NULL);
			RecordProtocol_t3166895267 * L_9 = __this->get_protocol_6();
			TlsException_t583514812 * L_10 = V_1;
			Alert_t3405955216 * L_11 = TlsException_get_Alert_m4022765752(L_10, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2816808523(L_9, L_11, /*hidden argument*/NULL);
			TlsException_t583514812 * L_12 = V_1;
			IOException_t2458421087 * L_13 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_13, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
			ManualResetEvent_t926074657 * L_14 = __this->get_negotiationComplete_13();
			EventWaitHandle_Set_m2975776670(L_14, /*hidden argument*/NULL);
			RecordProtocol_t3166895267 * L_15 = __this->get_protocol_6();
			RecordProtocol_SendAlert_m2622753765(L_15, ((int32_t)80), /*hidden argument*/NULL);
			Exception_t1927440687 * L_16 = V_2;
			IOException_t2458421087 * L_17 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_17, _stringLiteral2783594492, 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_m1732321201 (SslStreamBase_t934199321 * __this, InternalAsyncResult_t1610391122 * ___asyncResult0, const MethodInfo* method)
{
	{
		InternalAsyncResult_t1610391122 * L_0 = ___asyncResult0;
		bool L_1 = InternalAsyncResult_get_IsCompleted_m1463732458(L_0, /*hidden argument*/NULL);
		if (L_1)
		{
			goto IL_0017;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_2 = ___asyncResult0;
		WaitHandle_t677569169 * L_3 = InternalAsyncResult_get_AsyncWaitHandle_m2297269869(L_2, /*hidden argument*/NULL);
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_3);
	}

IL_0017:
	{
		InternalAsyncResult_t1610391122 * L_4 = ___asyncResult0;
		bool L_5 = InternalAsyncResult_get_CompletedWithError_m3993955322(L_4, /*hidden argument*/NULL);
		if (!L_5)
		{
			goto IL_0029;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_6 = ___asyncResult0;
		Exception_t1927440687 * L_7 = InternalAsyncResult_get_AsyncException_m3936660437(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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral62438873;
extern Il2CppCodeGenString* _stringLiteral519361907;
extern Il2CppCodeGenString* _stringLiteral1554084198;
extern Il2CppCodeGenString* _stringLiteral964652313;
extern Il2CppCodeGenString* _stringLiteral1199610999;
extern const uint32_t SslStreamBase_BeginRead_m869235395_MetadataUsageId;
extern "C"  Il2CppObject * SslStreamBase_BeginRead_m869235395 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, AsyncCallback_t163412349 * ___callback3, Il2CppObject * ___state4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginRead_m869235395_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral62438873, /*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_t279959794 * L_3 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_3, _stringLiteral519361907, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t3397334013* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t279959794 * L_6 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_6, _stringLiteral1554084198, /*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_t279959794 * L_8 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_8, _stringLiteral964652313, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t3397334013* 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_t279959794 * L_12 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_12, _stringLiteral1199610999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		AsyncCallback_t163412349 * L_13 = ___callback3;
		Il2CppObject * L_14 = ___state4;
		ByteU5BU5D_t3397334013* L_15 = ___buffer0;
		int32_t L_16 = ___offset1;
		int32_t L_17 = ___count2;
		InternalAsyncResult_t1610391122 * L_18 = (InternalAsyncResult_t1610391122 *)il2cpp_codegen_object_new(InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m2764854695(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_m3432170694(__this, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00a3;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_20 = V_0;
		bool L_21 = SslStreamBase_BeginNegotiateHandshake_m2029257721(__this, L_20, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_009e;
		}
	}
	{
		ManualResetEvent_t926074657 * L_22 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_22);
		InternalAsyncResult_t1610391122 * L_23 = V_0;
		SslStreamBase_InternalBeginRead_m707911413(__this, L_23, /*hidden argument*/NULL);
	}

IL_009e:
	{
		goto IL_00aa;
	}

IL_00a3:
	{
		InternalAsyncResult_t1610391122 * L_24 = V_0;
		SslStreamBase_InternalBeginRead_m707911413(__this, L_24, /*hidden argument*/NULL);
	}

IL_00aa:
	{
		InternalAsyncResult_t1610391122 * L_25 = V_0;
		return L_25;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::InternalBeginRead(Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult)
extern Il2CppClass* AsyncCallback_t163412349_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalReadCallback_m2524917586_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern Il2CppCodeGenString* _stringLiteral3981810678;
extern const uint32_t SslStreamBase_InternalBeginRead_m707911413_MetadataUsageId;
extern "C"  void SslStreamBase_InternalBeginRead_m707911413 (SslStreamBase_t934199321 * __this, InternalAsyncResult_t1610391122 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalBeginRead_m707911413_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	int32_t V_0 = 0;
	Il2CppObject * V_1 = NULL;
	bool V_2 = false;
	bool V_3 = false;
	TlsException_t583514812 * V_4 = NULL;
	Exception_t1927440687 * V_5 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000f:
		try
		{ // begin try (depth: 2)
			{
				MemoryStream_t743994179 * 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_t743994179 * 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_t743994179 * 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_t743994179 * 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_t1610391122 * L_10 = ___asyncResult0;
				int32_t L_11 = InternalAsyncResult_get_Count_m1291942796(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_m3028042362(__this, /*hidden argument*/NULL);
				goto IL_0091;
			}

IL_006d:
			{
				bool L_13 = V_3;
				if (!L_13)
				{
					goto IL_0091;
				}
			}

IL_0073:
			{
				MemoryStream_t743994179 * L_14 = __this->get_inputBuffer_4();
				InternalAsyncResult_t1610391122 * L_15 = ___asyncResult0;
				ByteU5BU5D_t3397334013* L_16 = InternalAsyncResult_get_Buffer_m163794679(L_15, /*hidden argument*/NULL);
				InternalAsyncResult_t1610391122 * L_17 = ___asyncResult0;
				int32_t L_18 = InternalAsyncResult_get_Offset_m3458447452(L_17, /*hidden argument*/NULL);
				InternalAsyncResult_t1610391122 * L_19 = ___asyncResult0;
				int32_t L_20 = InternalAsyncResult_get_Count_m1291942796(L_19, /*hidden argument*/NULL);
				int32_t L_21 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t1927440687 *)e.ex;
			goto FINALLY_0096;
		}

FINALLY_0096:
		{ // begin finally (depth: 2)
			Il2CppObject * L_22 = V_1;
			Monitor_Exit_m2677760297(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_t1927440687 *)
		}

IL_009d:
		{
			int32_t L_23 = V_0;
			if ((((int32_t)0) >= ((int32_t)L_23)))
			{
				goto IL_00b0;
			}
		}

IL_00a4:
		{
			InternalAsyncResult_t1610391122 * L_24 = ___asyncResult0;
			int32_t L_25 = V_0;
			InternalAsyncResult_SetComplete_m200761170(L_24, L_25, /*hidden argument*/NULL);
			goto IL_0106;
		}

IL_00b0:
		{
			Context_t4285182719 * L_26 = __this->get_context_5();
			bool L_27 = Context_get_ReceivedConnectionEnd_m3369356276(L_26, /*hidden argument*/NULL);
			if (L_27)
			{
				goto IL_00ff;
			}
		}

IL_00c0:
		{
			Stream_t3255436806 * L_28 = __this->get_innerStream_3();
			ByteU5BU5D_t3397334013* L_29 = __this->get_recbuf_14();
			ByteU5BU5D_t3397334013* L_30 = __this->get_recbuf_14();
			IntPtr_t L_31;
			L_31.set_m_value_0((void*)(void*)SslStreamBase_InternalReadCallback_m2524917586_MethodInfo_var);
			AsyncCallback_t163412349 * L_32 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m3071689932(L_32, __this, L_31, /*hidden argument*/NULL);
			ObjectU5BU5D_t3614634134* L_33 = ((ObjectU5BU5D_t3614634134*)SZArrayNew(ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var, (uint32_t)2));
			ByteU5BU5D_t3397334013* L_34 = __this->get_recbuf_14();
			ArrayElementTypeCheck (L_33, L_34);
			(L_33)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (Il2CppObject *)L_34);
			ObjectU5BU5D_t3614634134* L_35 = L_33;
			InternalAsyncResult_t1610391122 * L_36 = ___asyncResult0;
			ArrayElementTypeCheck (L_35, L_36);
			(L_35)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (Il2CppObject *)L_36);
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t3397334013*, int32_t, int32_t, AsyncCallback_t163412349 *, 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_t1610391122 * L_37 = ___asyncResult0;
			InternalAsyncResult_SetComplete_m200761170(L_37, 0, /*hidden argument*/NULL);
		}

IL_0106:
		{
			goto IL_0145;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_010b;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0131;
		throw e;
	}

CATCH_010b:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_4 = ((TlsException_t583514812 *)__exception_local);
			RecordProtocol_t3166895267 * L_38 = __this->get_protocol_6();
			TlsException_t583514812 * L_39 = V_4;
			Alert_t3405955216 * L_40 = TlsException_get_Alert_m4022765752(L_39, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2816808523(L_38, L_40, /*hidden argument*/NULL);
			TlsException_t583514812 * L_41 = V_4;
			IOException_t2458421087 * L_42 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_42, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
			Exception_t1927440687 * L_43 = V_5;
			IOException_t2458421087 * L_44 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_44, _stringLiteral3981810678, 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_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppClass* AsyncCallback_t163412349_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalReadCallback_m2524917586_MethodInfo_var;
extern const uint32_t SslStreamBase_InternalReadCallback_m2524917586_MetadataUsageId;
extern "C"  void SslStreamBase_InternalReadCallback_m2524917586 (SslStreamBase_t934199321 * __this, Il2CppObject * ___result0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalReadCallback_m2524917586_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ObjectU5BU5D_t3614634134* V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	InternalAsyncResult_t1610391122 * V_2 = NULL;
	int32_t V_3 = 0;
	bool V_4 = false;
	int64_t V_5 = 0;
	ByteU5BU5D_t3397334013* V_6 = NULL;
	int64_t V_7 = 0;
	ByteU5BU5D_t3397334013* V_8 = NULL;
	Il2CppObject * V_9 = NULL;
	int64_t V_10 = 0;
	int32_t V_11 = 0;
	Il2CppObject * V_12 = NULL;
	Exception_t1927440687 * V_13 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1999651008_il2cpp_TypeInfo_var, L_1);
		V_0 = ((ObjectU5BU5D_t3614634134*)Castclass(L_2, ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var));
		ObjectU5BU5D_t3614634134* L_3 = V_0;
		int32_t L_4 = 0;
		Il2CppObject * L_5 = (L_3)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_4));
		V_1 = ((ByteU5BU5D_t3397334013*)Castclass(L_5, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
		ObjectU5BU5D_t3614634134* L_6 = V_0;
		int32_t L_7 = 1;
		Il2CppObject * L_8 = (L_6)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_7));
		V_2 = ((InternalAsyncResult_t1610391122 *)CastclassClass(L_8, InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var));
	}

IL_002c:
	try
	{ // begin try (depth: 1)
		{
			Stream_t3255436806 * 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_t743994179 * L_13 = __this->get_recordStream_15();
			ByteU5BU5D_t3397334013* L_14 = V_1;
			int32_t L_15 = V_3;
			VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t1610391122 * L_16 = V_2;
			InternalAsyncResult_SetComplete_m200761170(L_16, 0, /*hidden argument*/NULL);
			goto IL_02a5;
		}

IL_005f:
		{
			V_4 = (bool)0;
			MemoryStream_t743994179 * 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_t743994179 * 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_t3397334013*)NULL;
			MemoryStream_t743994179 * 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_t3166895267 * L_22 = __this->get_protocol_6();
			MemoryStream_t743994179 * L_23 = __this->get_recordStream_15();
			ByteU5BU5D_t3397334013* L_24 = RecordProtocol_ReceiveRecord_m3672584816(L_22, L_23, /*hidden argument*/NULL);
			V_6 = L_24;
		}

IL_00a4:
		{
			goto IL_01d4;
		}

IL_00a9:
		{
			MemoryStream_t743994179 * 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_t743994179 * 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_t3397334013*)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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(((intptr_t)L_30))));
			MemoryStream_t743994179 * L_31 = __this->get_recordStream_15();
			ByteU5BU5D_t3397334013* L_32 = V_8;
			ByteU5BU5D_t3397334013* L_33 = V_8;
			VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_m2136705809(NULL /*static, unused*/, L_35, /*hidden argument*/NULL);
		}

IL_00fa:
		try
		{ // begin try (depth: 2)
			{
				MemoryStream_t743994179 * 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_t3397334013* 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_t743994179 * 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_t743994179 * L_40 = __this->get_inputBuffer_4();
				ByteU5BU5D_t3397334013* L_41 = V_6;
				ByteU5BU5D_t3397334013* L_42 = V_6;
				VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t743994179 * 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_t1927440687 *)e.ex;
			goto FINALLY_0149;
		}

FINALLY_0149:
		{ // begin finally (depth: 2)
			Il2CppObject * L_45 = V_9;
			Monitor_Exit_m2677760297(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_t1927440687 *)
		}

IL_0151:
		{
			MemoryStream_t743994179 * 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_t3397334013*)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_t743994179 * L_48 = __this->get_recordStream_15();
			ByteU5BU5D_t3397334013* L_49 = V_8;
			ByteU5BU5D_t3397334013* L_50 = V_8;
			VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t743994179 * 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_t743994179 * 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_t3166895267 * L_54 = __this->get_protocol_6();
			MemoryStream_t743994179 * L_55 = __this->get_recordStream_15();
			ByteU5BU5D_t3397334013* L_56 = RecordProtocol_ReceiveRecord_m3672584816(L_54, L_55, /*hidden argument*/NULL);
			V_6 = L_56;
			ByteU5BU5D_t3397334013* L_57 = V_6;
			if (L_57)
			{
				goto IL_01c2;
			}
		}

IL_01b5:
		{
			MemoryStream_t743994179 * 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_t3397334013* 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_t4285182719 * L_64 = __this->get_context_5();
			bool L_65 = Context_get_ReceivedConnectionEnd_m3369356276(L_64, /*hidden argument*/NULL);
			if (!L_65)
			{
				goto IL_0205;
			}
		}

IL_01f9:
		{
			InternalAsyncResult_t1610391122 * L_66 = V_2;
			InternalAsyncResult_SetComplete_m200761170(L_66, 0, /*hidden argument*/NULL);
			goto IL_0239;
		}

IL_0205:
		{
			MemoryStream_t743994179 * L_67 = __this->get_recordStream_15();
			MemoryStream_t743994179 * 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_t3255436806 * L_70 = __this->get_innerStream_3();
			ByteU5BU5D_t3397334013* L_71 = V_1;
			ByteU5BU5D_t3397334013* L_72 = V_1;
			IntPtr_t L_73;
			L_73.set_m_value_0((void*)(void*)SslStreamBase_InternalReadCallback_m2524917586_MethodInfo_var);
			AsyncCallback_t163412349 * L_74 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m3071689932(L_74, __this, L_73, /*hidden argument*/NULL);
			ObjectU5BU5D_t3614634134* L_75 = V_0;
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t3397334013*, int32_t, int32_t, AsyncCallback_t163412349 *, 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_t743994179 * 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_m2136705809(NULL /*static, unused*/, L_79, /*hidden argument*/NULL);
		}

IL_025d:
		try
		{ // begin try (depth: 2)
			MemoryStream_t743994179 * L_80 = __this->get_inputBuffer_4();
			InternalAsyncResult_t1610391122 * L_81 = V_2;
			ByteU5BU5D_t3397334013* L_82 = InternalAsyncResult_get_Buffer_m163794679(L_81, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_83 = V_2;
			int32_t L_84 = InternalAsyncResult_get_Offset_m3458447452(L_83, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_85 = V_2;
			int32_t L_86 = InternalAsyncResult_get_Count_m1291942796(L_85, /*hidden argument*/NULL);
			int32_t L_87 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t1927440687 *)e.ex;
			goto FINALLY_0281;
		}

FINALLY_0281:
		{ // begin finally (depth: 2)
			Il2CppObject * L_88 = V_12;
			Monitor_Exit_m2677760297(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_t1927440687 *)
		}

IL_0289:
		{
			InternalAsyncResult_t1610391122 * L_89 = V_2;
			int32_t L_90 = V_11;
			InternalAsyncResult_SetComplete_m200761170(L_89, L_90, /*hidden argument*/NULL);
		}

IL_0291:
		{
			goto IL_02a5;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0296;
		throw e;
	}

CATCH_0296:
	{ // begin catch(System.Exception)
		V_13 = ((Exception_t1927440687 *)__exception_local);
		InternalAsyncResult_t1610391122 * L_91 = V_2;
		Exception_t1927440687 * L_92 = V_13;
		InternalAsyncResult_SetComplete_m2187159697(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_t163412349_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern const MethodInfo* SslStreamBase_InternalWriteCallback_m2552665647_MethodInfo_var;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern Il2CppCodeGenString* _stringLiteral3656136449;
extern const uint32_t SslStreamBase_InternalBeginWrite_m3760772368_MetadataUsageId;
extern "C"  void SslStreamBase_InternalBeginWrite_m3760772368 (SslStreamBase_t934199321 * __this, InternalAsyncResult_t1610391122 * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalBeginWrite_m3760772368_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	TlsException_t583514812 * V_2 = NULL;
	Exception_t1927440687 * V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		}

IL_000d:
		try
		{ // begin try (depth: 2)
			RecordProtocol_t3166895267 * L_2 = __this->get_protocol_6();
			InternalAsyncResult_t1610391122 * L_3 = ___asyncResult0;
			ByteU5BU5D_t3397334013* L_4 = InternalAsyncResult_get_Buffer_m163794679(L_3, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_5 = ___asyncResult0;
			int32_t L_6 = InternalAsyncResult_get_Offset_m3458447452(L_5, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_7 = ___asyncResult0;
			int32_t L_8 = InternalAsyncResult_get_Count_m1291942796(L_7, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_9 = RecordProtocol_EncodeRecord_m3884270352(L_2, ((int32_t)23), L_4, L_6, L_8, /*hidden argument*/NULL);
			V_1 = L_9;
			Stream_t3255436806 * L_10 = __this->get_innerStream_3();
			ByteU5BU5D_t3397334013* L_11 = V_1;
			ByteU5BU5D_t3397334013* L_12 = V_1;
			IntPtr_t L_13;
			L_13.set_m_value_0((void*)(void*)SslStreamBase_InternalWriteCallback_m2552665647_MethodInfo_var);
			AsyncCallback_t163412349 * L_14 = (AsyncCallback_t163412349 *)il2cpp_codegen_object_new(AsyncCallback_t163412349_il2cpp_TypeInfo_var);
			AsyncCallback__ctor_m3071689932(L_14, __this, L_13, /*hidden argument*/NULL);
			InternalAsyncResult_t1610391122 * L_15 = ___asyncResult0;
			VirtFuncInvoker5< Il2CppObject *, ByteU5BU5D_t3397334013*, int32_t, int32_t, AsyncCallback_t163412349 *, 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_t1927440687 *)e.ex;
			goto FINALLY_0050;
		}

FINALLY_0050:
		{ // begin finally (depth: 2)
			Il2CppObject * L_16 = V_0;
			Monitor_Exit_m2677760297(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_t1927440687 *)
		}

IL_0057:
		{
			goto IL_0097;
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_005c;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0085;
		throw e;
	}

CATCH_005c:
	{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
		{
			V_2 = ((TlsException_t583514812 *)__exception_local);
			RecordProtocol_t3166895267 * L_17 = __this->get_protocol_6();
			TlsException_t583514812 * L_18 = V_2;
			Alert_t3405955216 * L_19 = TlsException_get_Alert_m4022765752(L_18, /*hidden argument*/NULL);
			RecordProtocol_SendAlert_m2816808523(L_17, L_19, /*hidden argument*/NULL);
			VirtActionInvoker0::Invoke(12 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Close() */, __this);
			TlsException_t583514812 * L_20 = V_2;
			IOException_t2458421087 * L_21 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_21, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
			Exception_t1927440687 * L_22 = V_3;
			IOException_t2458421087 * L_23 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
			IOException__ctor_m847281350(L_23, _stringLiteral3656136449, 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_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_InternalWriteCallback_m2552665647_MetadataUsageId;
extern "C"  void SslStreamBase_InternalWriteCallback_m2552665647 (SslStreamBase_t934199321 * __this, Il2CppObject * ___ar0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_InternalWriteCallback_m2552665647_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	Exception_t1927440687 * V_1 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1999651008_il2cpp_TypeInfo_var, L_1);
		V_0 = ((InternalAsyncResult_t1610391122 *)CastclassClass(L_2, InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var));
	}

IL_001a:
	try
	{ // begin try (depth: 1)
		Stream_t3255436806 * 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_t1610391122 * L_5 = V_0;
		InternalAsyncResult_SetComplete_m35987153(L_5, /*hidden argument*/NULL);
		goto IL_003e;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)e.ex;
		if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
			goto CATCH_0031;
		throw e;
	}

CATCH_0031:
	{ // begin catch(System.Exception)
		V_1 = ((Exception_t1927440687 *)__exception_local);
		InternalAsyncResult_t1610391122 * L_6 = V_0;
		Exception_t1927440687 * L_7 = V_1;
		InternalAsyncResult_SetComplete_m2187159697(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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral62438873;
extern Il2CppCodeGenString* _stringLiteral519361907;
extern Il2CppCodeGenString* _stringLiteral1554084198;
extern Il2CppCodeGenString* _stringLiteral964652313;
extern Il2CppCodeGenString* _stringLiteral1199610999;
extern const uint32_t SslStreamBase_BeginWrite_m270524114_MetadataUsageId;
extern "C"  Il2CppObject * SslStreamBase_BeginWrite_m270524114 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, AsyncCallback_t163412349 * ___callback3, Il2CppObject * ___state4, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_BeginWrite_m270524114_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral62438873, /*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_t279959794 * L_3 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_3, _stringLiteral519361907, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t3397334013* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t279959794 * L_6 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_6, _stringLiteral1554084198, /*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_t279959794 * L_8 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_8, _stringLiteral964652313, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t3397334013* 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_t279959794 * L_12 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_12, _stringLiteral1199610999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		AsyncCallback_t163412349 * L_13 = ___callback3;
		Il2CppObject * L_14 = ___state4;
		ByteU5BU5D_t3397334013* L_15 = ___buffer0;
		int32_t L_16 = ___offset1;
		int32_t L_17 = ___count2;
		InternalAsyncResult_t1610391122 * L_18 = (InternalAsyncResult_t1610391122 *)il2cpp_codegen_object_new(InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var);
		InternalAsyncResult__ctor_m2764854695(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_m3432170694(__this, /*hidden argument*/NULL);
		if (!L_19)
		{
			goto IL_00a3;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_20 = V_0;
		bool L_21 = SslStreamBase_BeginNegotiateHandshake_m2029257721(__this, L_20, /*hidden argument*/NULL);
		if (L_21)
		{
			goto IL_009e;
		}
	}
	{
		ManualResetEvent_t926074657 * L_22 = __this->get_negotiationComplete_13();
		VirtFuncInvoker0< bool >::Invoke(8 /* System.Boolean System.Threading.WaitHandle::WaitOne() */, L_22);
		InternalAsyncResult_t1610391122 * L_23 = V_0;
		SslStreamBase_InternalBeginWrite_m3760772368(__this, L_23, /*hidden argument*/NULL);
	}

IL_009e:
	{
		goto IL_00aa;
	}

IL_00a3:
	{
		InternalAsyncResult_t1610391122 * L_24 = V_0;
		SslStreamBase_InternalBeginWrite_m3760772368(__this, L_24, /*hidden argument*/NULL);
	}

IL_00aa:
	{
		InternalAsyncResult_t1610391122 * L_25 = V_0;
		return L_25;
	}
}
// System.Int32 Mono.Security.Protocol.Tls.SslStreamBase::EndRead(System.IAsyncResult)
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* IAsyncResult_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3075129139;
extern Il2CppCodeGenString* _stringLiteral14856706;
extern const uint32_t SslStreamBase_EndRead_m1072850679_MetadataUsageId;
extern "C"  int32_t SslStreamBase_EndRead_m1072850679 (SslStreamBase_t934199321 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_EndRead_m1072850679_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((InternalAsyncResult_t1610391122 *)IsInstClass(L_0, InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var));
		InternalAsyncResult_t1610391122 * L_1 = V_0;
		if (L_1)
		{
			goto IL_001e;
		}
	}
	{
		ArgumentNullException_t628810857 * L_2 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_2, _stringLiteral3075129139, /*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_t1999651008_il2cpp_TypeInfo_var, L_3);
		if (L_4)
		{
			goto IL_004c;
		}
	}
	{
		Il2CppObject * L_5 = ___asyncResult0;
		WaitHandle_t677569169 * L_6 = InterfaceFuncInvoker0< WaitHandle_t677569169 * >::Invoke(1 /* System.Threading.WaitHandle System.IAsyncResult::get_AsyncWaitHandle() */, IAsyncResult_t1999651008_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_t583514812 * L_8 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_8, ((int32_t)80), _stringLiteral14856706, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004c:
	{
		InternalAsyncResult_t1610391122 * L_9 = V_0;
		bool L_10 = InternalAsyncResult_get_CompletedWithError_m3993955322(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005e;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_11 = V_0;
		Exception_t1927440687 * L_12 = InternalAsyncResult_get_AsyncException_m3936660437(L_11, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_005e:
	{
		InternalAsyncResult_t1610391122 * L_13 = V_0;
		int32_t L_14 = InternalAsyncResult_get_BytesRead_m4243892348(L_13, /*hidden argument*/NULL);
		return L_14;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::EndWrite(System.IAsyncResult)
extern Il2CppClass* InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentNullException_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* IAsyncResult_t1999651008_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3112185128;
extern Il2CppCodeGenString* _stringLiteral3588634371;
extern const uint32_t SslStreamBase_EndWrite_m1091701856_MetadataUsageId;
extern "C"  void SslStreamBase_EndWrite_m1091701856 (SslStreamBase_t934199321 * __this, Il2CppObject * ___asyncResult0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_EndWrite_m1091701856_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	InternalAsyncResult_t1610391122 * V_0 = NULL;
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		Il2CppObject * L_0 = ___asyncResult0;
		V_0 = ((InternalAsyncResult_t1610391122 *)IsInstClass(L_0, InternalAsyncResult_t1610391122_il2cpp_TypeInfo_var));
		InternalAsyncResult_t1610391122 * L_1 = V_0;
		if (L_1)
		{
			goto IL_001e;
		}
	}
	{
		ArgumentNullException_t628810857 * L_2 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_2, _stringLiteral3112185128, /*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_t1999651008_il2cpp_TypeInfo_var, L_3);
		if (L_4)
		{
			goto IL_004c;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_5 = V_0;
		WaitHandle_t677569169 * L_6 = InternalAsyncResult_get_AsyncWaitHandle_m2297269869(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_t583514812 * L_8 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m1988757560(L_8, ((int32_t)80), _stringLiteral3588634371, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004c:
	{
		InternalAsyncResult_t1610391122 * L_9 = V_0;
		bool L_10 = InternalAsyncResult_get_CompletedWithError_m3993955322(L_9, /*hidden argument*/NULL);
		if (!L_10)
		{
			goto IL_005e;
		}
	}
	{
		InternalAsyncResult_t1610391122 * L_11 = V_0;
		Exception_t1927440687 * L_12 = InternalAsyncResult_get_AsyncException_m3936660437(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_m2762736871 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Stream_Close_m1499612649(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Flush()
extern "C"  void SslStreamBase_Flush_m2762644405 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		Stream_t3255436806 * 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_m1663229390 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer0;
		int32_t L_2 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* SslStreamBase_t934199321_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2713104920;
extern Il2CppCodeGenString* _stringLiteral519361907;
extern Il2CppCodeGenString* _stringLiteral1554084198;
extern Il2CppCodeGenString* _stringLiteral964652313;
extern Il2CppCodeGenString* _stringLiteral1199610999;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern Il2CppCodeGenString* _stringLiteral3981810678;
extern const uint32_t SslStreamBase_Read_m1036897444_MetadataUsageId;
extern "C"  int32_t SslStreamBase_Read_m1036897444 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Read_m1036897444_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	int32_t V_1 = 0;
	bool V_2 = false;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	int32_t V_4 = 0;
	int32_t V_5 = 0;
	bool V_6 = false;
	ByteU5BU5D_t3397334013* V_7 = NULL;
	int64_t V_8 = 0;
	ByteU5BU5D_t3397334013* V_9 = NULL;
	int64_t V_10 = 0;
	int32_t V_11 = 0;
	TlsException_t583514812 * V_12 = NULL;
	Exception_t1927440687 * V_13 = NULL;
	int32_t V_14 = 0;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral2713104920, /*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_t279959794 * L_3 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_3, _stringLiteral519361907, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t3397334013* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t279959794 * L_6 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_6, _stringLiteral1554084198, /*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_t279959794 * L_8 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_8, _stringLiteral964652313, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t3397334013* 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_t279959794 * L_12 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_12, _stringLiteral1199610999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		Context_t4285182719 * L_13 = __this->get_context_5();
		int32_t L_14 = Context_get_HandshakeState_m3443153737(L_13, /*hidden argument*/NULL);
		if ((((int32_t)L_14) == ((int32_t)2)))
		{
			goto IL_007c;
		}
	}
	{
		SslStreamBase_NegotiateHandshake_m1758369850(__this, /*hidden argument*/NULL);
	}

IL_007c:
	{
		Il2CppObject * L_15 = __this->get_read_11();
		V_0 = L_15;
		Il2CppObject * L_16 = V_0;
		Monitor_Enter_m2136705809(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_t934199321_il2cpp_TypeInfo_var);
				ManualResetEvent_t926074657 * L_17 = ((SslStreamBase_t934199321_StaticFields*)SslStreamBase_t934199321_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Reset_m779895263(L_17, /*hidden argument*/NULL);
				MemoryStream_t743994179 * 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_t743994179 * 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_t743994179 * 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_t743994179 * 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_t743994179 * L_25 = __this->get_inputBuffer_4();
				ByteU5BU5D_t3397334013* L_26 = ___buffer0;
				int32_t L_27 = ___offset1;
				int32_t L_28 = ___count2;
				int32_t L_29 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t934199321_il2cpp_TypeInfo_var);
				ManualResetEvent_t926074657 * L_31 = ((SslStreamBase_t934199321_StaticFields*)SslStreamBase_t934199321_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m2975776670(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_t743994179 * 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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_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_t3255436806 * 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_t3397334013* L_40 = V_3;
				int32_t L_41 = V_5;
				(L_40)->SetAtUnchecked(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_t3255436806 * L_42 = __this->get_innerStream_3();
				ByteU5BU5D_t3397334013* L_43 = V_3;
				ByteU5BU5D_t3397334013* L_44 = V_3;
				int32_t L_45 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t743994179 * 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_t743994179 * 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_t743994179 * 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_t743994179 * 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_t743994179 * L_54 = __this->get_recordStream_15();
				ByteU5BU5D_t3397334013* L_55 = V_3;
				int32_t L_56 = V_4;
				VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t934199321_il2cpp_TypeInfo_var);
				ManualResetEvent_t926074657 * L_57 = ((SslStreamBase_t934199321_StaticFields*)SslStreamBase_t934199321_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m2975776670(L_57, /*hidden argument*/NULL);
				V_14 = 0;
				IL2CPP_LEAVE(0x335, FINALLY_032e);
			}

IL_01cb:
			{
				V_6 = (bool)0;
				MemoryStream_t743994179 * 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_t3397334013*)NULL;
				MemoryStream_t743994179 * 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_t3166895267 * L_61 = __this->get_protocol_6();
				MemoryStream_t743994179 * L_62 = __this->get_recordStream_15();
				ByteU5BU5D_t3397334013* L_63 = RecordProtocol_ReceiveRecord_m3672584816(L_61, L_62, /*hidden argument*/NULL);
				V_7 = L_63;
				ByteU5BU5D_t3397334013* L_64 = V_7;
				V_2 = (bool)((((Il2CppObject*)(ByteU5BU5D_t3397334013*)L_64) == ((Il2CppObject*)(Il2CppObject *)NULL))? 1 : 0);
			}

IL_0209:
			{
				goto IL_02f0;
			}

IL_020e:
			{
				MemoryStream_t743994179 * 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_t743994179 * 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_t3397334013*)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_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(((intptr_t)L_70))));
				MemoryStream_t743994179 * L_71 = __this->get_recordStream_15();
				ByteU5BU5D_t3397334013* L_72 = V_9;
				ByteU5BU5D_t3397334013* L_73 = V_9;
				VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t743994179 * 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_t3397334013* 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_t743994179 * 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_t743994179 * L_78 = __this->get_inputBuffer_4();
				ByteU5BU5D_t3397334013* L_79 = V_7;
				ByteU5BU5D_t3397334013* L_80 = V_7;
				VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t743994179 * 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_t743994179 * 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_t3397334013*)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_t743994179 * L_85 = __this->get_recordStream_15();
				ByteU5BU5D_t3397334013* L_86 = V_9;
				ByteU5BU5D_t3397334013* L_87 = V_9;
				VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t743994179 * L_89 = __this->get_inputBuffer_4();
				ByteU5BU5D_t3397334013* L_90 = ___buffer0;
				int32_t L_91 = ___offset1;
				int32_t L_92 = ___count2;
				int32_t L_93 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t934199321_il2cpp_TypeInfo_var);
				ManualResetEvent_t926074657 * L_94 = ((SslStreamBase_t934199321_StaticFields*)SslStreamBase_t934199321_il2cpp_TypeInfo_var->static_fields)->get_record_processing_2();
				EventWaitHandle_Set_m2975776670(L_94, /*hidden argument*/NULL);
				int32_t L_95 = V_11;
				V_14 = L_95;
				IL2CPP_LEAVE(0x335, FINALLY_032e);
			}

IL_02f0:
			{
				ByteU5BU5D_t3397334013* 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_t1927440687 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0301;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_0315;
			throw e;
		}

CATCH_0301:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_12 = ((TlsException_t583514812 *)__exception_local);
				TlsException_t583514812 * L_97 = V_12;
				IOException_t2458421087 * L_98 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_98, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
				Exception_t1927440687 * L_99 = V_13;
				IOException_t2458421087 * L_100 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_100, _stringLiteral3981810678, 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_t1927440687 *)e.ex;
		goto FINALLY_032e;
	}

FINALLY_032e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_101 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_Seek_m3605313093_MetadataUsageId;
extern "C"  int64_t SslStreamBase_Seek_m3605313093 (SslStreamBase_t934199321 * __this, int64_t ___offset0, int32_t ___origin1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Seek_m3605313093_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::SetLength(System.Int64)
extern Il2CppClass* NotSupportedException_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_SetLength_m3282486041_MetadataUsageId;
extern "C"  void SslStreamBase_SetLength_m3282486041 (SslStreamBase_t934199321 * __this, int64_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_SetLength_m3282486041_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(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_m3392707719 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer0;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t628810857_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppClass* Exception_t1927440687_il2cpp_TypeInfo_var;
extern Il2CppClass* IOException_t2458421087_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2713104920;
extern Il2CppCodeGenString* _stringLiteral519361907;
extern Il2CppCodeGenString* _stringLiteral1554084198;
extern Il2CppCodeGenString* _stringLiteral964652313;
extern Il2CppCodeGenString* _stringLiteral1199610999;
extern Il2CppCodeGenString* _stringLiteral2783594492;
extern Il2CppCodeGenString* _stringLiteral3656136449;
extern const uint32_t SslStreamBase_Write_m1135856379_MetadataUsageId;
extern "C"  void SslStreamBase_Write_m1135856379 (SslStreamBase_t934199321 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Write_m1135856379_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	TlsException_t583514812 * V_2 = NULL;
	Exception_t1927440687 * V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __exception_local = 0;
	NO_UNUSED_WARNING (__exception_local);
	int32_t __leave_target = 0;
	NO_UNUSED_WARNING (__leave_target);
	{
		SslStreamBase_checkDisposed_m2550190176(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		ArgumentNullException_t628810857 * L_1 = (ArgumentNullException_t628810857 *)il2cpp_codegen_object_new(ArgumentNullException_t628810857_il2cpp_TypeInfo_var);
		ArgumentNullException__ctor_m3380712306(L_1, _stringLiteral2713104920, /*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_t279959794 * L_3 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_3, _stringLiteral519361907, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3);
	}

IL_0029:
	{
		int32_t L_4 = ___offset1;
		ByteU5BU5D_t3397334013* L_5 = ___buffer0;
		if ((((int32_t)L_4) <= ((int32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_5)->max_length)))))))
		{
			goto IL_003d;
		}
	}
	{
		ArgumentOutOfRangeException_t279959794 * L_6 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_6, _stringLiteral1554084198, /*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_t279959794 * L_8 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_8, _stringLiteral964652313, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_004f:
	{
		int32_t L_9 = ___count2;
		ByteU5BU5D_t3397334013* 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_t279959794 * L_12 = (ArgumentOutOfRangeException_t279959794 *)il2cpp_codegen_object_new(ArgumentOutOfRangeException_t279959794_il2cpp_TypeInfo_var);
		ArgumentOutOfRangeException__ctor_m1595007065(L_12, _stringLiteral1199610999, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_12);
	}

IL_0065:
	{
		Context_t4285182719 * L_13 = __this->get_context_5();
		int32_t L_14 = Context_get_HandshakeState_m3443153737(L_13, /*hidden argument*/NULL);
		if ((((int32_t)L_14) == ((int32_t)2)))
		{
			goto IL_007c;
		}
	}
	{
		SslStreamBase_NegotiateHandshake_m1758369850(__this, /*hidden argument*/NULL);
	}

IL_007c:
	{
		Il2CppObject * L_15 = __this->get_write_12();
		V_0 = L_15;
		Il2CppObject * L_16 = V_0;
		Monitor_Enter_m2136705809(NULL /*static, unused*/, L_16, /*hidden argument*/NULL);
	}

IL_0089:
	try
	{ // begin try (depth: 1)
		try
		{ // begin try (depth: 2)
			RecordProtocol_t3166895267 * L_17 = __this->get_protocol_6();
			ByteU5BU5D_t3397334013* L_18 = ___buffer0;
			int32_t L_19 = ___offset1;
			int32_t L_20 = ___count2;
			ByteU5BU5D_t3397334013* L_21 = RecordProtocol_EncodeRecord_m3884270352(L_17, ((int32_t)23), L_18, L_19, L_20, /*hidden argument*/NULL);
			V_1 = L_21;
			Stream_t3255436806 * L_22 = __this->get_innerStream_3();
			ByteU5BU5D_t3397334013* L_23 = V_1;
			ByteU5BU5D_t3397334013* L_24 = V_1;
			VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t1927440687 *)e.ex;
			if(il2cpp_codegen_class_is_assignable_from (TlsException_t583514812_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_00af;
			if(il2cpp_codegen_class_is_assignable_from (Exception_t1927440687_il2cpp_TypeInfo_var, e.ex->object.klass))
				goto CATCH_00d8;
			throw e;
		}

CATCH_00af:
		{ // begin catch(Mono.Security.Protocol.Tls.TlsException)
			{
				V_2 = ((TlsException_t583514812 *)__exception_local);
				RecordProtocol_t3166895267 * L_25 = __this->get_protocol_6();
				TlsException_t583514812 * L_26 = V_2;
				Alert_t3405955216 * L_27 = TlsException_get_Alert_m4022765752(L_26, /*hidden argument*/NULL);
				RecordProtocol_SendAlert_m2816808523(L_25, L_27, /*hidden argument*/NULL);
				VirtActionInvoker0::Invoke(12 /* System.Void Mono.Security.Protocol.Tls.SslStreamBase::Close() */, __this);
				TlsException_t583514812 * L_28 = V_2;
				IOException_t2458421087 * L_29 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_29, _stringLiteral2783594492, 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_t1927440687 *)__exception_local);
				Exception_t1927440687 * L_30 = V_3;
				IOException_t2458421087 * L_31 = (IOException_t2458421087 *)il2cpp_codegen_object_new(IOException_t2458421087_il2cpp_TypeInfo_var);
				IOException__ctor_m847281350(L_31, _stringLiteral3656136449, 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_t1927440687 *)e.ex;
		goto FINALLY_00ef;
	}

FINALLY_00ef:
	{ // begin finally (depth: 1)
		Il2CppObject * L_32 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_00f6:
	{
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CanRead()
extern "C"  bool SslStreamBase_get_CanRead_m3061866682 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Stream_t3255436806 * 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_m1596790394 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		return (bool)0;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.SslStreamBase::get_CanWrite()
extern "C"  bool SslStreamBase_get_CanWrite_m2069502593 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		Stream_t3255436806 * 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_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_Length_m763159069_MetadataUsageId;
extern "C"  int64_t SslStreamBase_get_Length_m763159069 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_Length_m763159069_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Int64 Mono.Security.Protocol.Tls.SslStreamBase::get_Position()
extern Il2CppClass* NotSupportedException_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_get_Position_m2525437172_MetadataUsageId;
extern "C"  int64_t SslStreamBase_get_Position_m2525437172 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_get_Position_m2525437172_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(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_t1793819818_il2cpp_TypeInfo_var;
extern const uint32_t SslStreamBase_set_Position_m598220223_MetadataUsageId;
extern "C"  void SslStreamBase_set_Position_m598220223 (SslStreamBase_t934199321 * __this, int64_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_set_Position_m598220223_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		NotSupportedException_t1793819818 * L_0 = (NotSupportedException_t1793819818 *)il2cpp_codegen_object_new(NotSupportedException_t1793819818_il2cpp_TypeInfo_var);
		NotSupportedException__ctor_m3232764727(L_0, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_0);
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::Finalize()
extern "C"  void SslStreamBase_Finalize_m2530628835 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t1927440687 *)e.ex;
		goto FINALLY_000c;
	}

FINALLY_000c:
	{ // begin finally (depth: 1)
		Object_Finalize_m4087144328(__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_t1927440687 *)
	}

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_m747909841_MetadataUsageId;
extern "C"  void SslStreamBase_Dispose_m747909841 (SslStreamBase_t934199321 * __this, bool ___disposing0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_Dispose_m747909841_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_t3255436806 * L_2 = __this->get_innerStream_3();
		if (!L_2)
		{
			goto IL_006c;
		}
	}
	{
		Context_t4285182719 * L_3 = __this->get_context_5();
		int32_t L_4 = Context_get_HandshakeState_m3443153737(L_3, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_4) == ((uint32_t)2))))
		{
			goto IL_0056;
		}
	}
	{
		Context_t4285182719 * L_5 = __this->get_context_5();
		bool L_6 = Context_get_SentConnectionEnd_m3114190867(L_5, /*hidden argument*/NULL);
		if (L_6)
		{
			goto IL_0056;
		}
	}

IL_003f:
	try
	{ // begin try (depth: 1)
		RecordProtocol_t3166895267 * L_7 = __this->get_protocol_6();
		RecordProtocol_SendAlert_m2622753765(L_7, 0, /*hidden argument*/NULL);
		goto IL_0056;
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__exception_local = (Exception_t1927440687 *)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_t3255436806 * 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_t3255436806 *)NULL);
	}

IL_007a:
	{
		il2cpp_codegen_memory_barrier();
		__this->set_disposed_8(1);
		bool L_10 = ___disposing0;
		Stream_Dispose_m440254723(__this, L_10, /*hidden argument*/NULL);
	}

IL_008a:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase::resetBuffer()
extern "C"  void SslStreamBase_resetBuffer_m3028042362 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_t743994179 * 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_t2695136451_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3457328143;
extern const uint32_t SslStreamBase_checkDisposed_m2550190176_MetadataUsageId;
extern "C"  void SslStreamBase_checkDisposed_m2550190176 (SslStreamBase_t934199321 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (SslStreamBase_checkDisposed_m2550190176_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_disposed_8();
		il2cpp_codegen_memory_barrier();
		if (!L_0)
		{
			goto IL_0018;
		}
	}
	{
		ObjectDisposedException_t2695136451 * L_1 = (ObjectDisposedException_t2695136451 *)il2cpp_codegen_object_new(ObjectDisposedException_t2695136451_il2cpp_TypeInfo_var);
		ObjectDisposedException__ctor_m3156784572(L_1, _stringLiteral3457328143, /*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_m2764854695_MetadataUsageId;
extern "C"  void InternalAsyncResult__ctor_m2764854695 (InternalAsyncResult_t1610391122 * __this, AsyncCallback_t163412349 * ___userCallback0, Il2CppObject * ___userState1, ByteU5BU5D_t3397334013* ___buffer2, int32_t ___offset3, int32_t ___count4, bool ___fromWrite5, bool ___proceedAfterHandshake6, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (InternalAsyncResult__ctor_m2764854695_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m2551263788(L_0, /*hidden argument*/NULL);
		__this->set_locker_0(L_0);
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		AsyncCallback_t163412349 * L_1 = ___userCallback0;
		__this->set__userCallback_1(L_1);
		Il2CppObject * L_2 = ___userState1;
		__this->set__userState_2(L_2);
		ByteU5BU5D_t3397334013* 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_m552962842 (InternalAsyncResult_t1610391122 * __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_m2893408424 (InternalAsyncResult_t1610391122 * __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_t3397334013* InternalAsyncResult_get_Buffer_m163794679 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m3458447452 (InternalAsyncResult_t1610391122 * __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_m1291942796 (InternalAsyncResult_t1610391122 * __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_m4243892348 (InternalAsyncResult_t1610391122 * __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_m42006015 (InternalAsyncResult_t1610391122 * __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_t1927440687 * InternalAsyncResult_get_AsyncException_m3936660437 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	{
		Exception_t1927440687 * 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_m3993955322 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	{
		bool L_0 = InternalAsyncResult_get_IsCompleted_m1463732458(__this, /*hidden argument*/NULL);
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (bool)0;
	}

IL_000d:
	{
		Exception_t1927440687 * L_1 = __this->get__asyncException_3();
		return (bool)((((int32_t)((((Il2CppObject*)(Il2CppObject *)NULL) == ((Il2CppObject*)(Exception_t1927440687 *)L_1))? 1 : 0)) == ((int32_t)0))? 1 : 0);
	}
}
// System.Threading.WaitHandle Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::get_AsyncWaitHandle()
extern Il2CppClass* ManualResetEvent_t926074657_il2cpp_TypeInfo_var;
extern const uint32_t InternalAsyncResult_get_AsyncWaitHandle_m2297269869_MetadataUsageId;
extern "C"  WaitHandle_t677569169 * InternalAsyncResult_get_AsyncWaitHandle_m2297269869 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (InternalAsyncResult_get_AsyncWaitHandle_m2297269869_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ManualResetEvent_t926074657 * L_2 = __this->get_handle_4();
			if (L_2)
			{
				goto IL_0029;
			}
		}

IL_0018:
		{
			bool L_3 = __this->get_completed_5();
			ManualResetEvent_t926074657 * L_4 = (ManualResetEvent_t926074657 *)il2cpp_codegen_object_new(ManualResetEvent_t926074657_il2cpp_TypeInfo_var);
			ManualResetEvent__ctor_m3470249043(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_t1927440687 *)e.ex;
		goto FINALLY_002e;
	}

FINALLY_002e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_5 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0035:
	{
		ManualResetEvent_t926074657 * 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_m1463732458 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	bool V_1 = false;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t1927440687 *)e.ex;
		goto FINALLY_001e;
	}

FINALLY_001e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_3 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

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_m4011593916 (InternalAsyncResult_t1610391122 * __this, Exception_t1927440687 * ___ex0, int32_t ___bytesRead1, const MethodInfo* method)
{
	Il2CppObject * V_0 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(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_t1927440687 * L_3 = ___ex0;
			__this->set__asyncException_3(L_3);
			int32_t L_4 = ___bytesRead1;
			__this->set__bytesRead_6(L_4);
			ManualResetEvent_t926074657 * L_5 = __this->get_handle_4();
			if (!L_5)
			{
				goto IL_0049;
			}
		}

IL_003d:
		{
			ManualResetEvent_t926074657 * L_6 = __this->get_handle_4();
			EventWaitHandle_Set_m2975776670(L_6, /*hidden argument*/NULL);
		}

IL_0049:
		{
			IL2CPP_LEAVE(0x55, FINALLY_004e);
		}
	} // end try (depth: 1)
	catch(Il2CppExceptionWrapper& e)
	{
		__last_unhandled_exception = (Exception_t1927440687 *)e.ex;
		goto FINALLY_004e;
	}

FINALLY_004e:
	{ // begin finally (depth: 1)
		Il2CppObject * L_7 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_0055:
	{
		AsyncCallback_t163412349 * L_8 = __this->get__userCallback_1();
		if (!L_8)
		{
			goto IL_006f;
		}
	}
	{
		AsyncCallback_t163412349 * L_9 = __this->get__userCallback_1();
		AsyncCallback_BeginInvoke_m3304700608(L_9, __this, (AsyncCallback_t163412349 *)NULL, NULL, /*hidden argument*/NULL);
	}

IL_006f:
	{
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete(System.Exception)
extern "C"  void InternalAsyncResult_SetComplete_m2187159697 (InternalAsyncResult_t1610391122 * __this, Exception_t1927440687 * ___ex0, const MethodInfo* method)
{
	{
		Exception_t1927440687 * L_0 = ___ex0;
		InternalAsyncResult_SetComplete_m4011593916(__this, L_0, 0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete(System.Int32)
extern "C"  void InternalAsyncResult_SetComplete_m200761170 (InternalAsyncResult_t1610391122 * __this, int32_t ___bytesRead0, const MethodInfo* method)
{
	{
		int32_t L_0 = ___bytesRead0;
		InternalAsyncResult_SetComplete_m4011593916(__this, (Exception_t1927440687 *)NULL, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.SslStreamBase/InternalAsyncResult::SetComplete()
extern "C"  void InternalAsyncResult_SetComplete_m35987153 (InternalAsyncResult_t1610391122 * __this, const MethodInfo* method)
{
	{
		InternalAsyncResult_SetComplete_m4011593916(__this, (Exception_t1927440687 *)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_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite__ctor_m2983563913_MetadataUsageId;
extern "C"  void TlsCipherSuite__ctor_m2983563913 (TlsCipherSuite_t396038680 * __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_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite__ctor_m2983563913_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Il2CppObject * L_0 = (Il2CppObject *)il2cpp_codegen_object_new(Il2CppObject_il2cpp_TypeInfo_var);
		Object__ctor_m2551263788(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_t491456551_il2cpp_TypeInfo_var);
		CipherSuite__ctor_m440966622(__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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite_ComputeServerRecordMAC_m661450756_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* TlsCipherSuite_ComputeServerRecordMAC_m661450756 (TlsCipherSuite_t396038680 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeServerRecordMAC_m661450756_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	uint64_t V_1 = 0;
	HashAlgorithm_t2624936259 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t3397334013* L_2 = __this->get_header_21();
			if (L_2)
			{
				goto IL_0025;
			}
		}

IL_0018:
		{
			__this->set_header_21(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)13))));
		}

IL_0025:
		{
			Context_t4285182719 * L_3 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			if (!((ClientContext_t3002158488 *)IsInstClass(L_3, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
			{
				goto IL_0045;
			}
		}

IL_0035:
		{
			Context_t4285182719 * L_4 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			uint64_t L_5 = Context_get_ReadSequenceNumber_m2586681610(L_4, /*hidden argument*/NULL);
			G_B6_0 = L_5;
			goto IL_0050;
		}

IL_0045:
		{
			Context_t4285182719 * L_6 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			uint64_t L_7 = Context_get_WriteSequenceNumber_m243492531(L_6, /*hidden argument*/NULL);
			G_B6_0 = L_7;
		}

IL_0050:
		{
			V_1 = G_B6_0;
			ByteU5BU5D_t3397334013* L_8 = __this->get_header_21();
			uint64_t L_9 = V_1;
			CipherSuite_Write_m827355463(__this, L_8, 0, L_9, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_10 = __this->get_header_21();
			uint8_t L_11 = ___contentType0;
			(L_10)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_11);
			ByteU5BU5D_t3397334013* L_12 = __this->get_header_21();
			Context_t4285182719 * L_13 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			int16_t L_14 = Context_get_Protocol_m1537476188(L_13, /*hidden argument*/NULL);
			CipherSuite_Write_m1271196675(__this, L_12, ((int32_t)9), L_14, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_15 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_16 = ___fragment1;
			CipherSuite_Write_m1271196675(__this, L_15, ((int32_t)11), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))))), /*hidden argument*/NULL);
			KeyedHashAlgorithm_t1374150027 * L_17 = CipherSuite_get_ServerHMAC_m3566778727(__this, /*hidden argument*/NULL);
			V_2 = L_17;
			HashAlgorithm_t2624936259 * L_18 = V_2;
			ByteU5BU5D_t3397334013* L_19 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_20 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_21 = __this->get_header_21();
			HashAlgorithm_TransformBlock_m4190258810(L_18, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))), L_21, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_22 = V_2;
			ByteU5BU5D_t3397334013* L_23 = ___fragment1;
			ByteU5BU5D_t3397334013* L_24 = ___fragment1;
			ByteU5BU5D_t3397334013* L_25 = ___fragment1;
			HashAlgorithm_TransformBlock_m4190258810(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_26 = V_2;
			IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
			ByteU5BU5D_t3397334013* L_27 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
			HashAlgorithm_TransformFinalBlock_m3071802428(L_26, L_27, 0, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_28 = V_2;
			ByteU5BU5D_t3397334013* L_29 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_t1927440687 *)e.ex;
		goto FINALLY_00e4;
	}

FINALLY_00e4:
	{ // begin finally (depth: 1)
		Il2CppObject * L_30 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_00eb:
	{
		ByteU5BU5D_t3397334013* 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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientContext_t3002158488_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern const uint32_t TlsCipherSuite_ComputeClientRecordMAC_m3290639544_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* TlsCipherSuite_ComputeClientRecordMAC_m3290639544 (TlsCipherSuite_t396038680 * __this, uint8_t ___contentType0, ByteU5BU5D_t3397334013* ___fragment1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeClientRecordMAC_m3290639544_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	Il2CppObject * V_0 = NULL;
	uint64_t V_1 = 0;
	HashAlgorithm_t2624936259 * V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	Exception_t1927440687 * __last_unhandled_exception = 0;
	NO_UNUSED_WARNING (__last_unhandled_exception);
	Exception_t1927440687 * __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_m2136705809(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
	}

IL_000d:
	try
	{ // begin try (depth: 1)
		{
			ByteU5BU5D_t3397334013* L_2 = __this->get_header_21();
			if (L_2)
			{
				goto IL_0025;
			}
		}

IL_0018:
		{
			__this->set_header_21(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)((int32_t)13))));
		}

IL_0025:
		{
			Context_t4285182719 * L_3 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			if (!((ClientContext_t3002158488 *)IsInstClass(L_3, ClientContext_t3002158488_il2cpp_TypeInfo_var)))
			{
				goto IL_0045;
			}
		}

IL_0035:
		{
			Context_t4285182719 * L_4 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			uint64_t L_5 = Context_get_WriteSequenceNumber_m243492531(L_4, /*hidden argument*/NULL);
			G_B6_0 = L_5;
			goto IL_0050;
		}

IL_0045:
		{
			Context_t4285182719 * L_6 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			uint64_t L_7 = Context_get_ReadSequenceNumber_m2586681610(L_6, /*hidden argument*/NULL);
			G_B6_0 = L_7;
		}

IL_0050:
		{
			V_1 = G_B6_0;
			ByteU5BU5D_t3397334013* L_8 = __this->get_header_21();
			uint64_t L_9 = V_1;
			CipherSuite_Write_m827355463(__this, L_8, 0, L_9, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_10 = __this->get_header_21();
			uint8_t L_11 = ___contentType0;
			(L_10)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(8), (uint8_t)L_11);
			ByteU5BU5D_t3397334013* L_12 = __this->get_header_21();
			Context_t4285182719 * L_13 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
			int16_t L_14 = Context_get_Protocol_m1537476188(L_13, /*hidden argument*/NULL);
			CipherSuite_Write_m1271196675(__this, L_12, ((int32_t)9), L_14, /*hidden argument*/NULL);
			ByteU5BU5D_t3397334013* L_15 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_16 = ___fragment1;
			CipherSuite_Write_m1271196675(__this, L_15, ((int32_t)11), (((int16_t)((int16_t)(((int32_t)((int32_t)(((Il2CppArray *)L_16)->max_length))))))), /*hidden argument*/NULL);
			KeyedHashAlgorithm_t1374150027 * L_17 = CipherSuite_get_ClientHMAC_m2261562571(__this, /*hidden argument*/NULL);
			V_2 = L_17;
			HashAlgorithm_t2624936259 * L_18 = V_2;
			ByteU5BU5D_t3397334013* L_19 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_20 = __this->get_header_21();
			ByteU5BU5D_t3397334013* L_21 = __this->get_header_21();
			HashAlgorithm_TransformBlock_m4190258810(L_18, L_19, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_20)->max_length)))), L_21, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_22 = V_2;
			ByteU5BU5D_t3397334013* L_23 = ___fragment1;
			ByteU5BU5D_t3397334013* L_24 = ___fragment1;
			ByteU5BU5D_t3397334013* L_25 = ___fragment1;
			HashAlgorithm_TransformBlock_m4190258810(L_22, L_23, 0, (((int32_t)((int32_t)(((Il2CppArray *)L_24)->max_length)))), L_25, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_26 = V_2;
			IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
			ByteU5BU5D_t3397334013* L_27 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
			HashAlgorithm_TransformFinalBlock_m3071802428(L_26, L_27, 0, 0, /*hidden argument*/NULL);
			HashAlgorithm_t2624936259 * L_28 = V_2;
			ByteU5BU5D_t3397334013* L_29 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_t1927440687 *)e.ex;
		goto FINALLY_00e4;
	}

FINALLY_00e4:
	{ // begin finally (depth: 1)
		Il2CppObject * L_30 = V_0;
		Monitor_Exit_m2677760297(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_t1927440687 *)
	}

IL_00eb:
	{
		ByteU5BU5D_t3397334013* L_31 = V_3;
		return L_31;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeMasterSecret(System.Byte[])
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1701813712;
extern const uint32_t TlsCipherSuite_ComputeMasterSecret_m3863800064_MetadataUsageId;
extern "C"  void TlsCipherSuite_ComputeMasterSecret_m3863800064 (TlsCipherSuite_t396038680 * __this, ByteU5BU5D_t3397334013* ___preMasterSecret0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeMasterSecret_m3863800064_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Context_t4285182719 * L_0 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = ___preMasterSecret0;
		Context_set_MasterSecret_m1422386411(L_0, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)(((int32_t)((int32_t)(((Il2CppArray *)L_1)->max_length)))))), /*hidden argument*/NULL);
		Context_t4285182719 * L_2 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = ___preMasterSecret0;
		Context_t4285182719 * L_4 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = Context_get_RandomCS_m3946020109(L_4, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_6 = CipherSuite_PRF_m3379816948(__this, L_3, _stringLiteral1701813712, L_5, ((int32_t)48), /*hidden argument*/NULL);
		Context_set_MasterSecret_m1422386411(L_2, L_6, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsCipherSuite::ComputeKeys()
extern Il2CppClass* TlsStream_t4089752859_il2cpp_TypeInfo_var;
extern Il2CppClass* CipherSuite_t491456551_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ClientSessionCache_t3595945587_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1746207812;
extern Il2CppCodeGenString* _stringLiteral3000275991;
extern Il2CppCodeGenString* _stringLiteral3524197123;
extern Il2CppCodeGenString* _stringLiteral3132372876;
extern const uint32_t TlsCipherSuite_ComputeKeys_m1444202749_MetadataUsageId;
extern "C"  void TlsCipherSuite_ComputeKeys_m1444202749 (TlsCipherSuite_t396038680 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsCipherSuite_ComputeKeys_m1444202749_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	TlsStream_t4089752859 * V_0 = NULL;
	ByteU5BU5D_t3397334013* V_1 = NULL;
	ByteU5BU5D_t3397334013* V_2 = NULL;
	ByteU5BU5D_t3397334013* V_3 = NULL;
	{
		Context_t4285182719 * L_0 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_1 = Context_get_MasterSecret_m231851308(L_0, /*hidden argument*/NULL);
		Context_t4285182719 * L_2 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_3 = Context_get_RandomSC_m1687420621(L_2, /*hidden argument*/NULL);
		int32_t L_4 = CipherSuite_get_KeyBlockSize_m2993514247(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_5 = CipherSuite_PRF_m3379816948(__this, L_1, _stringLiteral1746207812, L_3, L_4, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_6 = (TlsStream_t4089752859 *)il2cpp_codegen_object_new(TlsStream_t4089752859_il2cpp_TypeInfo_var);
		TlsStream__ctor_m2982031560(L_6, L_5, /*hidden argument*/NULL);
		V_0 = L_6;
		Context_t4285182719 * L_7 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_8 = Context_get_Negotiating_m3946476110(L_7, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_9 = V_0;
		int32_t L_10 = CipherSuite_get_HashSize_m3748598203(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_11 = TlsStream_ReadBytes_m3301522097(L_9, L_10, /*hidden argument*/NULL);
		SecurityParameters_set_ClientWriteMAC_m1970377285(L_8, L_11, /*hidden argument*/NULL);
		Context_t4285182719 * L_12 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		SecurityParameters_t2290372928 * L_13 = Context_get_Negotiating_m3946476110(L_12, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_14 = V_0;
		int32_t L_15 = CipherSuite_get_HashSize_m3748598203(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_16 = TlsStream_ReadBytes_m3301522097(L_14, L_15, /*hidden argument*/NULL);
		SecurityParameters_set_ServerWriteMAC_m3769080193(L_13, L_16, /*hidden argument*/NULL);
		Context_t4285182719 * L_17 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_18 = V_0;
		uint8_t L_19 = CipherSuite_get_KeyMaterialSize_m4222492337(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_20 = TlsStream_ReadBytes_m3301522097(L_18, L_19, /*hidden argument*/NULL);
		Context_set_ClientWriteKey_m1137238126(L_17, L_20, /*hidden argument*/NULL);
		Context_t4285182719 * L_21 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_22 = V_0;
		uint8_t L_23 = CipherSuite_get_KeyMaterialSize_m4222492337(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_24 = TlsStream_ReadBytes_m3301522097(L_22, L_23, /*hidden argument*/NULL);
		Context_set_ServerWriteKey_m2317745418(L_21, L_24, /*hidden argument*/NULL);
		bool L_25 = CipherSuite_get_IsExportable_m136354150(__this, /*hidden argument*/NULL);
		if (L_25)
		{
			goto IL_0101;
		}
	}
	{
		uint8_t L_26 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		if (!L_26)
		{
			goto IL_00dc;
		}
	}
	{
		Context_t4285182719 * L_27 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_28 = V_0;
		uint8_t L_29 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_30 = TlsStream_ReadBytes_m3301522097(L_28, L_29, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m70615452(L_27, L_30, /*hidden argument*/NULL);
		Context_t4285182719 * L_31 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_32 = V_0;
		uint8_t L_33 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_34 = TlsStream_ReadBytes_m3301522097(L_32, L_33, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3391477120(L_31, L_34, /*hidden argument*/NULL);
		goto IL_00fc;
	}

IL_00dc:
	{
		Context_t4285182719 * L_35 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_36 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m70615452(L_35, L_36, /*hidden argument*/NULL);
		Context_t4285182719 * L_37 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_38 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3391477120(L_37, L_38, /*hidden argument*/NULL);
	}

IL_00fc:
	{
		goto IL_022f;
	}

IL_0101:
	{
		Context_t4285182719 * L_39 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_40 = Context_get_ClientWriteKey_m2235605337(L_39, /*hidden argument*/NULL);
		Context_t4285182719 * L_41 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_42 = Context_get_RandomCS_m3946020109(L_41, /*hidden argument*/NULL);
		uint8_t L_43 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_44 = CipherSuite_PRF_m3379816948(__this, L_40, _stringLiteral3000275991, L_42, L_43, /*hidden argument*/NULL);
		V_1 = L_44;
		Context_t4285182719 * L_45 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_46 = Context_get_ServerWriteKey_m1780148437(L_45, /*hidden argument*/NULL);
		Context_t4285182719 * L_47 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_48 = Context_get_RandomCS_m3946020109(L_47, /*hidden argument*/NULL);
		uint8_t L_49 = CipherSuite_get_ExpandedKeyMaterialSize_m296573450(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_50 = CipherSuite_PRF_m3379816948(__this, L_46, _stringLiteral3524197123, L_48, L_49, /*hidden argument*/NULL);
		V_2 = L_50;
		Context_t4285182719 * L_51 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_52 = V_1;
		Context_set_ClientWriteKey_m1137238126(L_51, L_52, /*hidden argument*/NULL);
		Context_t4285182719 * L_53 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_54 = V_2;
		Context_set_ServerWriteKey_m2317745418(L_53, L_54, /*hidden argument*/NULL);
		uint8_t L_55 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		if ((((int32_t)L_55) <= ((int32_t)0)))
		{
			goto IL_020f;
		}
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_56 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_t4285182719 * L_57 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_58 = Context_get_RandomCS_m3946020109(L_57, /*hidden argument*/NULL);
		uint8_t L_59 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_60 = CipherSuite_PRF_m3379816948(__this, L_56, _stringLiteral3132372876, L_58, ((int32_t)((int32_t)L_59*(int32_t)2)), /*hidden argument*/NULL);
		V_3 = L_60;
		Context_t4285182719 * L_61 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint8_t L_62 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Context_set_ClientWriteIV_m70615452(L_61, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_62)), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_63 = V_3;
		Context_t4285182719 * L_64 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_65 = Context_get_ClientWriteIV_m2171757117(L_64, /*hidden argument*/NULL);
		Context_t4285182719 * L_66 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_67 = Context_get_ClientWriteIV_m2171757117(L_66, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(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_t4285182719 * L_68 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		uint8_t L_69 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Context_set_ServerWriteIV_m3391477120(L_68, ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_69)), /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_70 = V_3;
		uint8_t L_71 = CipherSuite_get_IvSize_m2971966910(__this, /*hidden argument*/NULL);
		Context_t4285182719 * L_72 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_73 = Context_get_ServerWriteIV_m2960700649(L_72, /*hidden argument*/NULL);
		Context_t4285182719 * L_74 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_75 = Context_get_ServerWriteIV_m2960700649(L_74, /*hidden argument*/NULL);
		Buffer_BlockCopy_m1586717258(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_t4285182719 * L_76 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(CipherSuite_t491456551_il2cpp_TypeInfo_var);
		ByteU5BU5D_t3397334013* L_77 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ClientWriteIV_m70615452(L_76, L_77, /*hidden argument*/NULL);
		Context_t4285182719 * L_78 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_79 = ((CipherSuite_t491456551_StaticFields*)CipherSuite_t491456551_il2cpp_TypeInfo_var->static_fields)->get_EmptyArray_0();
		Context_set_ServerWriteIV_m3391477120(L_78, L_79, /*hidden argument*/NULL);
	}

IL_022f:
	{
		Context_t4285182719 * L_80 = CipherSuite_get_Context_m1298687213(__this, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(ClientSessionCache_t3595945587_il2cpp_TypeInfo_var);
		ClientSessionCache_SetContextInCache_m907788136(NULL /*static, unused*/, L_80, /*hidden argument*/NULL);
		TlsStream_t4089752859 * L_81 = V_0;
		TlsStream_Reset_m1504601050(L_81, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::.ctor()
extern Il2CppClass* X509CertificateCollection_t1197680765_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientSettings__ctor_m3065987087_MetadataUsageId;
extern "C"  void TlsClientSettings__ctor_m3065987087 (TlsClientSettings_t2311449551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientSettings__ctor_m3065987087_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		X509CertificateCollection_t1197680765 * L_0 = (X509CertificateCollection_t1197680765 *)il2cpp_codegen_object_new(X509CertificateCollection_t1197680765_il2cpp_TypeInfo_var);
		X509CertificateCollection__ctor_m1497182392(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_m2817634620 (TlsClientSettings_t2311449551 * __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_m3421266913 (TlsClientSettings_t2311449551 * __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_t1197680765 * TlsClientSettings_get_Certificates_m2509165647 (TlsClientSettings_t2311449551 * __this, const MethodInfo* method)
{
	{
		X509CertificateCollection_t1197680765 * 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_m1110280480 (TlsClientSettings_t2311449551 * __this, X509CertificateCollection_t1197680765 * ___value0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t1197680765 * 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_t283079845 * TlsClientSettings_get_ClientCertificate_m89435195 (TlsClientSettings_t2311449551 * __this, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * 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_m442292512 (TlsClientSettings_t2311449551 * __this, X509Certificate_t283079845 * ___value0, const MethodInfo* method)
{
	{
		X509Certificate_t283079845 * L_0 = ___value0;
		__this->set_clientCertificate_2(L_0);
		TlsClientSettings_UpdateCertificateRSA_m1828531911(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsClientSettings::UpdateCertificateRSA()
extern Il2CppClass* X509Certificate_t324051958_il2cpp_TypeInfo_var;
extern Il2CppClass* RSAManaged_t3034748748_il2cpp_TypeInfo_var;
extern const uint32_t TlsClientSettings_UpdateCertificateRSA_m1828531911_MetadataUsageId;
extern "C"  void TlsClientSettings_UpdateCertificateRSA_m1828531911 (TlsClientSettings_t2311449551 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsClientSettings_UpdateCertificateRSA_m1828531911_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	X509Certificate_t324051958 * V_0 = NULL;
	{
		X509Certificate_t283079845 * L_0 = __this->get_clientCertificate_2();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_certificateRSA_3((RSAManaged_t3034748748 *)NULL);
		goto IL_0055;
	}

IL_0017:
	{
		X509Certificate_t283079845 * L_1 = __this->get_clientCertificate_2();
		ByteU5BU5D_t3397334013* L_2 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::Invoke(14 /* System.Byte[] System.Security.Cryptography.X509Certificates.X509Certificate::GetRawCertData() */, L_1);
		X509Certificate_t324051958 * L_3 = (X509Certificate_t324051958 *)il2cpp_codegen_object_new(X509Certificate_t324051958_il2cpp_TypeInfo_var);
		X509Certificate__ctor_m2143220811(L_3, L_2, /*hidden argument*/NULL);
		V_0 = L_3;
		X509Certificate_t324051958 * L_4 = V_0;
		RSA_t3719518354 * L_5 = VirtFuncInvoker0< RSA_t3719518354 * >::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_t3034748748 * L_7 = (RSAManaged_t3034748748 *)il2cpp_codegen_object_new(RSAManaged_t3034748748_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m1680944437(L_7, L_6, /*hidden argument*/NULL);
		__this->set_certificateRSA_3(L_7);
		RSAManaged_t3034748748 * L_8 = __this->get_certificateRSA_3();
		X509Certificate_t324051958 * L_9 = V_0;
		RSA_t3719518354 * L_10 = VirtFuncInvoker0< RSA_t3719518354 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_9);
		RSAParameters_t1462703416  L_11 = VirtFuncInvoker1< RSAParameters_t1462703416 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_10, (bool)0);
		VirtActionInvoker1< RSAParameters_t1462703416  >::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_m3885720020 (TlsException_t583514812 * __this, String_t* ___message0, const MethodInfo* method)
{
	{
		String_t* L_0 = ___message0;
		Exception__ctor_m485833136(__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_m1249020603 (TlsException_t583514812 * __this, SerializationInfo_t228987430 * ___info0, StreamingContext_t1417235061  ___context1, const MethodInfo* method)
{
	{
		SerializationInfo_t228987430 * L_0 = ___info0;
		StreamingContext_t1417235061  L_1 = ___context1;
		Exception__ctor_m3836998015(__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_m2205512412 (TlsException_t583514812 * __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_m325996256(NULL /*static, unused*/, L_2, /*hidden argument*/NULL);
		TlsException__ctor_m3747188020(__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_t3405955216_il2cpp_TypeInfo_var;
extern const uint32_t TlsException__ctor_m3747188020_MetadataUsageId;
extern "C"  void TlsException__ctor_m3747188020 (TlsException_t583514812 * __this, uint8_t ___level0, uint8_t ___description1, String_t* ___message2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsException__ctor_m3747188020_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		String_t* L_0 = ___message2;
		Exception__ctor_m485833136(__this, L_0, /*hidden argument*/NULL);
		uint8_t L_1 = ___level0;
		uint8_t L_2 = ___description1;
		Alert_t3405955216 * L_3 = (Alert_t3405955216 *)il2cpp_codegen_object_new(Alert_t3405955216_il2cpp_TypeInfo_var);
		Alert__ctor_m287829582(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_m2436420036 (TlsException_t583514812 * __this, uint8_t ___description0, const MethodInfo* method)
{
	{
		uint8_t L_0 = ___description0;
		uint8_t L_1 = ___description0;
		String_t* L_2 = Alert_GetAlertMessage_m325996256(NULL /*static, unused*/, L_1, /*hidden argument*/NULL);
		TlsException__ctor_m1988757560(__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_t3405955216_il2cpp_TypeInfo_var;
extern const uint32_t TlsException__ctor_m1988757560_MetadataUsageId;
extern "C"  void TlsException__ctor_m1988757560 (TlsException_t583514812 * __this, uint8_t ___description0, String_t* ___message1, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsException__ctor_m1988757560_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		String_t* L_0 = ___message1;
		Exception__ctor_m485833136(__this, L_0, /*hidden argument*/NULL);
		uint8_t L_1 = ___description0;
		Alert_t3405955216 * L_2 = (Alert_t3405955216 *)il2cpp_codegen_object_new(Alert_t3405955216_il2cpp_TypeInfo_var);
		Alert__ctor_m264447866(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_t3405955216 * TlsException_get_Alert_m4022765752 (TlsException_t583514812 * __this, const MethodInfo* method)
{
	{
		Alert_t3405955216 * L_0 = __this->get_alert_11();
		return L_0;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::.ctor()
extern "C"  void TlsServerSettings__ctor_m1125867683 (TlsServerSettings_t403340211 * __this, const MethodInfo* method)
{
	{
		Object__ctor_m2551263788(__this, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.Protocol.Tls.TlsServerSettings::get_ServerKeyExchange()
extern "C"  bool TlsServerSettings_get_ServerKeyExchange_m1147981947 (TlsServerSettings_t403340211 * __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_m4199779410 (TlsServerSettings_t403340211 * __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_t3592472866 * TlsServerSettings_get_Certificates_m3301336199 (TlsServerSettings_t403340211 * __this, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3592472866 * 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_m67827830 (TlsServerSettings_t403340211 * __this, X509CertificateCollection_t3592472866 * ___value0, const MethodInfo* method)
{
	{
		X509CertificateCollection_t3592472866 * L_0 = ___value0;
		__this->set_certificates_0(L_0);
		return;
	}
}
// System.Security.Cryptography.RSA Mono.Security.Protocol.Tls.TlsServerSettings::get_CertificateRSA()
extern "C"  RSA_t3719518354 * TlsServerSettings_get_CertificateRSA_m1899388839 (TlsServerSettings_t403340211 * __this, const MethodInfo* method)
{
	{
		RSA_t3719518354 * L_0 = __this->get_certificateRSA_1();
		return L_0;
	}
}
// System.Security.Cryptography.RSAParameters Mono.Security.Protocol.Tls.TlsServerSettings::get_RsaParameters()
extern "C"  RSAParameters_t1462703416  TlsServerSettings_get_RsaParameters_m1327440044 (TlsServerSettings_t403340211 * __this, const MethodInfo* method)
{
	{
		RSAParameters_t1462703416  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_m3165273449 (TlsServerSettings_t403340211 * __this, RSAParameters_t1462703416  ___value0, const MethodInfo* method)
{
	{
		RSAParameters_t1462703416  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_m1826385315 (TlsServerSettings_t403340211 * __this, ByteU5BU5D_t3397334013* ___value0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* 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_m1204669838 (TlsServerSettings_t403340211 * __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_m3419519893 (TlsServerSettings_t403340211 * __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_m264196087 (TlsServerSettings_t403340211 * __this, ClientCertificateTypeU5BU5D_t2397899623* ___value0, const MethodInfo* method)
{
	{
		ClientCertificateTypeU5BU5D_t2397899623* 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_m2290049644 (TlsServerSettings_t403340211 * __this, StringU5BU5D_t1642385972* ___value0, const MethodInfo* method)
{
	{
		StringU5BU5D_t1642385972* L_0 = ___value0;
		__this->set_distinguisedNames_4(L_0);
		return;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsServerSettings::UpdateCertificateRSA()
extern Il2CppClass* RSAManaged_t3034748748_il2cpp_TypeInfo_var;
extern const uint32_t TlsServerSettings_UpdateCertificateRSA_m2025051563_MetadataUsageId;
extern "C"  void TlsServerSettings_UpdateCertificateRSA_m2025051563 (TlsServerSettings_t403340211 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsServerSettings_UpdateCertificateRSA_m2025051563_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		X509CertificateCollection_t3592472866 * L_0 = __this->get_certificates_0();
		if (!L_0)
		{
			goto IL_001b;
		}
	}
	{
		X509CertificateCollection_t3592472866 * L_1 = __this->get_certificates_0();
		int32_t L_2 = CollectionBase_get_Count_m740218359(L_1, /*hidden argument*/NULL);
		if (L_2)
		{
			goto IL_0027;
		}
	}

IL_001b:
	{
		__this->set_certificateRSA_1((RSA_t3719518354 *)NULL);
		goto IL_006a;
	}

IL_0027:
	{
		X509CertificateCollection_t3592472866 * L_3 = __this->get_certificates_0();
		X509Certificate_t324051958 * L_4 = X509CertificateCollection_get_Item_m123527754(L_3, 0, /*hidden argument*/NULL);
		RSA_t3719518354 * L_5 = VirtFuncInvoker0< RSA_t3719518354 * >::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_t3034748748 * L_7 = (RSAManaged_t3034748748 *)il2cpp_codegen_object_new(RSAManaged_t3034748748_il2cpp_TypeInfo_var);
		RSAManaged__ctor_m1680944437(L_7, L_6, /*hidden argument*/NULL);
		__this->set_certificateRSA_1(L_7);
		RSA_t3719518354 * L_8 = __this->get_certificateRSA_1();
		X509CertificateCollection_t3592472866 * L_9 = __this->get_certificates_0();
		X509Certificate_t324051958 * L_10 = X509CertificateCollection_get_Item_m123527754(L_9, 0, /*hidden argument*/NULL);
		RSA_t3719518354 * L_11 = VirtFuncInvoker0< RSA_t3719518354 * >::Invoke(10 /* System.Security.Cryptography.RSA Mono.Security.X509.X509Certificate::get_RSA() */, L_10);
		RSAParameters_t1462703416  L_12 = VirtFuncInvoker1< RSAParameters_t1462703416 , bool >::Invoke(12 /* System.Security.Cryptography.RSAParameters System.Security.Cryptography.RSA::ExportParameters(System.Boolean) */, L_11, (bool)0);
		VirtActionInvoker1< RSAParameters_t1462703416  >::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_t3255436806_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t743994179_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream__ctor_m4117943603_MetadataUsageId;
extern "C"  void TlsStream__ctor_m4117943603 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream__ctor_m4117943603_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t3255436806_il2cpp_TypeInfo_var);
		Stream__ctor_m1531324023(__this, /*hidden argument*/NULL);
		MemoryStream_t743994179 * L_0 = (MemoryStream_t743994179 *)il2cpp_codegen_object_new(MemoryStream_t743994179_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1489366847(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_t3255436806_il2cpp_TypeInfo_var;
extern Il2CppClass* MemoryStream_t743994179_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream__ctor_m2982031560_MetadataUsageId;
extern "C"  void TlsStream__ctor_m2982031560 (TlsStream_t4089752859 * __this, ByteU5BU5D_t3397334013* ___data0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream__ctor_m2982031560_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		IL2CPP_RUNTIME_CLASS_INIT(Stream_t3255436806_il2cpp_TypeInfo_var);
		Stream__ctor_m1531324023(__this, /*hidden argument*/NULL);
		ByteU5BU5D_t3397334013* L_0 = ___data0;
		if (!L_0)
		{
			goto IL_001d;
		}
	}
	{
		ByteU5BU5D_t3397334013* L_1 = ___data0;
		MemoryStream_t743994179 * L_2 = (MemoryStream_t743994179 *)il2cpp_codegen_object_new(MemoryStream_t743994179_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m4073175573(L_2, L_1, /*hidden argument*/NULL);
		__this->set_buffer_3(L_2);
		goto IL_0028;
	}

IL_001d:
	{
		MemoryStream_t743994179 * L_3 = (MemoryStream_t743994179 *)il2cpp_codegen_object_new(MemoryStream_t743994179_il2cpp_TypeInfo_var);
		MemoryStream__ctor_m1043059966(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_m1728604576 (TlsStream_t4089752859 * __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_m79048455 (TlsStream_t4089752859 * __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_m1860811404 (TlsStream_t4089752859 * __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_m3608197976 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_m3551173234 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_m378064217 (TlsStream_t4089752859 * __this, int64_t ___value0, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_m1562309511 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var;
extern Il2CppClass* String_t_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3843149217;
extern Il2CppCodeGenString* _stringLiteral1585801581;
extern const uint32_t TlsStream_ReadSmallValue_m1760325248_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* TlsStream_ReadSmallValue_m1760325248 (TlsStream_t4089752859 * __this, int32_t ___length0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_ReadSmallValue_m1760325248_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		int32_t L_0 = ___length0;
		if ((((int32_t)L_0) <= ((int32_t)4)))
		{
			goto IL_0012;
		}
	}
	{
		ArgumentException_t3259014390 * L_1 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_1, _stringLiteral3843149217, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_1);
	}

IL_0012:
	{
		ByteU5BU5D_t3397334013* L_2 = __this->get_temp_4();
		if (L_2)
		{
			goto IL_0029;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0029:
	{
		ByteU5BU5D_t3397334013* L_3 = __this->get_temp_4();
		int32_t L_4 = ___length0;
		int32_t L_5 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_m1263743648(NULL /*static, unused*/, _stringLiteral1585801581, ((ObjectU5BU5D_t3614634134*)SZArrayNew(ObjectU5BU5D_t3614634134_il2cpp_TypeInfo_var, (uint32_t)0)), /*hidden argument*/NULL);
		TlsException_t583514812 * L_8 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m3885720020(L_8, L_7, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_8);
	}

IL_0053:
	{
		ByteU5BU5D_t3397334013* L_9 = __this->get_temp_4();
		return L_9;
	}
}
// System.Byte Mono.Security.Protocol.Tls.TlsStream::ReadByte()
extern "C"  uint8_t TlsStream_ReadByte_m1935235961 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = TlsStream_ReadSmallValue_m1760325248(__this, 1, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t3397334013* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAtUnchecked(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_m1855118433 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = TlsStream_ReadSmallValue_m1760325248(__this, 2, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t3397334013* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_2));
		ByteU5BU5D_t3397334013* L_4 = V_0;
		int32_t L_5 = 1;
		uint8_t L_6 = (L_4)->GetAtUnchecked(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_m1268450166 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		ByteU5BU5D_t3397334013* L_0 = TlsStream_ReadSmallValue_m1760325248(__this, 3, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t3397334013* L_1 = V_0;
		int32_t L_2 = 0;
		uint8_t L_3 = (L_1)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_2));
		ByteU5BU5D_t3397334013* L_4 = V_0;
		int32_t L_5 = 1;
		uint8_t L_6 = (L_4)->GetAtUnchecked(static_cast<il2cpp_array_size_t>(L_5));
		ByteU5BU5D_t3397334013* L_7 = V_0;
		int32_t L_8 = 2;
		uint8_t L_9 = (L_7)->GetAtUnchecked(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_t3397334013_il2cpp_TypeInfo_var;
extern Il2CppClass* TlsException_t583514812_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1585801581;
extern const uint32_t TlsStream_ReadBytes_m3301522097_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* TlsStream_ReadBytes_m3301522097 (TlsStream_t4089752859 * __this, int32_t ___count0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_ReadBytes_m3301522097_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ByteU5BU5D_t3397334013* V_0 = NULL;
	{
		int32_t L_0 = ___count0;
		V_0 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)L_0));
		ByteU5BU5D_t3397334013* L_1 = V_0;
		int32_t L_2 = ___count0;
		int32_t L_3 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t583514812 * L_5 = (TlsException_t583514812 *)il2cpp_codegen_object_new(TlsException_t583514812_il2cpp_TypeInfo_var);
		TlsException__ctor_m3885720020(L_5, _stringLiteral1585801581, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0021:
	{
		ByteU5BU5D_t3397334013* L_6 = V_0;
		return L_6;
	}
}
// System.Void Mono.Security.Protocol.Tls.TlsStream::Write(System.Byte)
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m2271546135_MetadataUsageId;
extern "C"  void TlsStream_Write_m2271546135 (TlsStream_t4089752859 * __this, uint8_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m2271546135_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_temp_4();
		uint8_t L_2 = ___value0;
		(L_1)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)L_2);
		ByteU5BU5D_t3397334013* L_3 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m2055734301_MetadataUsageId;
extern "C"  void TlsStream_Write_m2055734301 (TlsStream_t4089752859 * __this, int16_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m2055734301_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_temp_4();
		int16_t L_2 = ___value0;
		(L_1)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_2>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_3 = __this->get_temp_4();
		int16_t L_4 = ___value0;
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)L_4))));
		ByteU5BU5D_t3397334013* L_5 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_WriteInt24_m1660453494_MetadataUsageId;
extern "C"  void TlsStream_WriteInt24_m1660453494 (TlsStream_t4089752859 * __this, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_WriteInt24_m1660453494_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_temp_4();
		int32_t L_2 = ___value0;
		(L_1)->SetAtUnchecked(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_t3397334013* L_3 = __this->get_temp_4();
		int32_t L_4 = ___value0;
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(1), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_4>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_5 = __this->get_temp_4();
		int32_t L_6 = ___value0;
		(L_5)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)L_6))));
		ByteU5BU5D_t3397334013* L_7 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t TlsStream_Write_m4025102703_MetadataUsageId;
extern "C"  void TlsStream_Write_m4025102703 (TlsStream_t4089752859 * __this, int32_t ___value0, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m4025102703_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_temp_4();
		if (L_0)
		{
			goto IL_0017;
		}
	}
	{
		__this->set_temp_4(((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)4)));
	}

IL_0017:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_temp_4();
		int32_t L_2 = ___value0;
		(L_1)->SetAtUnchecked(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_t3397334013* L_3 = __this->get_temp_4();
		int32_t L_4 = ___value0;
		(L_3)->SetAtUnchecked(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_t3397334013* L_5 = __this->get_temp_4();
		int32_t L_6 = ___value0;
		(L_5)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(2), (uint8_t)(((int32_t)((uint8_t)((int32_t)((int32_t)L_6>>(int32_t)8))))));
		ByteU5BU5D_t3397334013* L_7 = __this->get_temp_4();
		int32_t L_8 = ___value0;
		(L_7)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(3), (uint8_t)(((int32_t)((uint8_t)L_8))));
		ByteU5BU5D_t3397334013* L_9 = __this->get_temp_4();
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_m3425460533 (TlsStream_t4089752859 * __this, ByteU5BU5D_t3397334013* ___buffer0, const MethodInfo* method)
{
	{
		ByteU5BU5D_t3397334013* L_0 = ___buffer0;
		ByteU5BU5D_t3397334013* L_1 = ___buffer0;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_m1504601050 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_t743994179 * 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_t3397334013* TlsStream_ToArray_m3731779317 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * L_0 = __this->get_buffer_3();
		ByteU5BU5D_t3397334013* L_1 = VirtFuncInvoker0< ByteU5BU5D_t3397334013* >::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_m2603881359 (TlsStream_t4089752859 * __this, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_m1460039587 (TlsStream_t4089752859 * __this, int64_t ___length0, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_m3898619363 (TlsStream_t4089752859 * __this, int64_t ___offset0, int32_t ___loc1, const MethodInfo* method)
{
	{
		MemoryStream_t743994179 * 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_t721527559_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral2174895996;
extern const uint32_t TlsStream_Read_m2550027598_MetadataUsageId;
extern "C"  int32_t TlsStream_Read_m2550027598 (TlsStream_t4089752859 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Read_m2550027598_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_canRead_1();
		if (!L_0)
		{
			goto IL_001a;
		}
	}
	{
		MemoryStream_t743994179 * L_1 = __this->get_buffer_3();
		ByteU5BU5D_t3397334013* L_2 = ___buffer0;
		int32_t L_3 = ___offset1;
		int32_t L_4 = ___count2;
		int32_t L_5 = VirtFuncInvoker3< int32_t, ByteU5BU5D_t3397334013*, 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_t721527559 * L_6 = (InvalidOperationException_t721527559 *)il2cpp_codegen_object_new(InvalidOperationException_t721527559_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m2801133788(L_6, _stringLiteral2174895996, /*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_t721527559_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3615990817;
extern const uint32_t TlsStream_Write_m418642281_MetadataUsageId;
extern "C"  void TlsStream_Write_m418642281 (TlsStream_t4089752859 * __this, ByteU5BU5D_t3397334013* ___buffer0, int32_t ___offset1, int32_t ___count2, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (TlsStream_Write_m418642281_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		bool L_0 = __this->get_canWrite_2();
		if (!L_0)
		{
			goto IL_001e;
		}
	}
	{
		MemoryStream_t743994179 * L_1 = __this->get_buffer_3();
		ByteU5BU5D_t3397334013* L_2 = ___buffer0;
		int32_t L_3 = ___offset1;
		int32_t L_4 = ___count2;
		VirtActionInvoker3< ByteU5BU5D_t3397334013*, 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_t721527559 * L_5 = (InvalidOperationException_t721527559 *)il2cpp_codegen_object_new(InvalidOperationException_t721527559_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m2801133788(L_5, _stringLiteral3615990817, /*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_m1316755606 (ValidationResult_t1782558132 * __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_m599531882 (ValidationResult_t1782558132 * __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_m3002543607 (AuthorityKeyIdentifierExtension_t795428182 * __this, X509Extension_t1439760128 * ___extension0, const MethodInfo* method)
{
	{
		X509Extension_t1439760128 * L_0 = ___extension0;
		X509Extension__ctor_m2273534630(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::Decode()
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral3312363257;
extern const uint32_t AuthorityKeyIdentifierExtension_Decode_m1941074339_MetadataUsageId;
extern "C"  void AuthorityKeyIdentifierExtension_Decode_m1941074339 (AuthorityKeyIdentifierExtension_t795428182 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_Decode_m1941074339_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t924533536 * V_2 = NULL;
	uint8_t V_3 = 0x0;
	{
		ASN1_t924533536 * L_0 = ((X509Extension_t1439760128 *)__this)->get_extnValue_2();
		ByteU5BU5D_t3397334013* L_1 = ASN1_get_Value_m2229768312(L_0, /*hidden argument*/NULL);
		ASN1_t924533536 * L_2 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ASN1_t924533536 * L_3 = V_0;
		uint8_t L_4 = ASN1_get_Tag_m2798873007(L_3, /*hidden argument*/NULL);
		if ((((int32_t)L_4) == ((int32_t)((int32_t)48))))
		{
			goto IL_0029;
		}
	}
	{
		ArgumentException_t3259014390 * L_5 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_5, _stringLiteral3312363257, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0029:
	{
		V_1 = 0;
		goto IL_0069;
	}

IL_0030:
	{
		ASN1_t924533536 * L_6 = V_0;
		int32_t L_7 = V_1;
		ASN1_t924533536 * L_8 = ASN1_get_Item_m3505242534(L_6, L_7, /*hidden argument*/NULL);
		V_2 = L_8;
		ASN1_t924533536 * L_9 = V_2;
		uint8_t L_10 = ASN1_get_Tag_m2798873007(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_t924533536 * L_12 = V_2;
		ByteU5BU5D_t3397334013* L_13 = ASN1_get_Value_m2229768312(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_t924533536 * L_16 = V_0;
		int32_t L_17 = ASN1_get_Count_m579313466(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_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t AuthorityKeyIdentifierExtension_get_Identifier_m3535568551_MetadataUsageId;
extern "C"  ByteU5BU5D_t3397334013* AuthorityKeyIdentifierExtension_get_Identifier_m3535568551 (AuthorityKeyIdentifierExtension_t795428182 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_get_Identifier_m3535568551_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	{
		ByteU5BU5D_t3397334013* L_0 = __this->get_aki_3();
		if (L_0)
		{
			goto IL_000d;
		}
	}
	{
		return (ByteU5BU5D_t3397334013*)NULL;
	}

IL_000d:
	{
		ByteU5BU5D_t3397334013* L_1 = __this->get_aki_3();
		Il2CppObject * L_2 = Array_Clone_m768574314((Il2CppArray *)(Il2CppArray *)L_1, /*hidden argument*/NULL);
		return ((ByteU5BU5D_t3397334013*)Castclass(L_2, ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var));
	}
}
// System.String Mono.Security.X509.Extensions.AuthorityKeyIdentifierExtension::ToString()
extern Il2CppClass* StringBuilder_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral1011964759;
extern Il2CppCodeGenString* _stringLiteral3231012752;
extern Il2CppCodeGenString* _stringLiteral372029310;
extern const uint32_t AuthorityKeyIdentifierExtension_ToString_m1294877924_MetadataUsageId;
extern "C"  String_t* AuthorityKeyIdentifierExtension_ToString_m1294877924 (AuthorityKeyIdentifierExtension_t795428182 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (AuthorityKeyIdentifierExtension_ToString_m1294877924_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	StringBuilder_t1221177846 * V_0 = NULL;
	int32_t V_1 = 0;
	{
		StringBuilder_t1221177846 * L_0 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3946851802(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		ByteU5BU5D_t3397334013* L_1 = __this->get_aki_3();
		if (!L_1)
		{
			goto IL_006d;
		}
	}
	{
		V_1 = 0;
		StringBuilder_t1221177846 * L_2 = V_0;
		StringBuilder_Append_m3636508479(L_2, _stringLiteral1011964759, /*hidden argument*/NULL);
		goto IL_005f;
	}

IL_0024:
	{
		StringBuilder_t1221177846 * L_3 = V_0;
		ByteU5BU5D_t3397334013* L_4 = __this->get_aki_3();
		int32_t L_5 = V_1;
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_6 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_7 = Byte_ToString_m3956930818(((L_4)->GetAddressAtUnchecked(static_cast<il2cpp_array_size_t>(L_5))), _stringLiteral3231012752, L_6, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(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_t1221177846 * L_9 = V_0;
		StringBuilder_Append_m3636508479(L_9, _stringLiteral372029310, /*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_t3397334013* 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_t1221177846 * L_13 = V_0;
		String_t* L_14 = StringBuilder_ToString_m1507807375(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_m3832084132 (BasicConstraintsExtension_t3608227951 * __this, X509Extension_t1439760128 * ___extension0, const MethodInfo* method)
{
	{
		X509Extension_t1439760128 * L_0 = ___extension0;
		X509Extension__ctor_m2273534630(__this, L_0, /*hidden argument*/NULL);
		return;
	}
}
// System.Void Mono.Security.X509.Extensions.BasicConstraintsExtension::Decode()
extern Il2CppClass* ASN1_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ArgumentException_t3259014390_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral412684768;
extern const uint32_t BasicConstraintsExtension_Decode_m893312834_MetadataUsageId;
extern "C"  void BasicConstraintsExtension_Decode_m893312834 (BasicConstraintsExtension_t3608227951 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_Decode_m893312834_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	int32_t V_1 = 0;
	ASN1_t924533536 * V_2 = NULL;
	{
		__this->set_cA_3((bool)0);
		__this->set_pathLenConstraint_4((-1));
		ASN1_t924533536 * L_0 = ((X509Extension_t1439760128 *)__this)->get_extnValue_2();
		ByteU5BU5D_t3397334013* L_1 = ASN1_get_Value_m2229768312(L_0, /*hidden argument*/NULL);
		ASN1_t924533536 * L_2 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m2812922997(L_2, L_1, /*hidden argument*/NULL);
		V_0 = L_2;
		ASN1_t924533536 * L_3 = V_0;
		uint8_t L_4 = ASN1_get_Tag_m2798873007(L_3, /*hidden argument*/NULL);
		if ((((int32_t)L_4) == ((int32_t)((int32_t)48))))
		{
			goto IL_0037;
		}
	}
	{
		ArgumentException_t3259014390 * L_5 = (ArgumentException_t3259014390 *)il2cpp_codegen_object_new(ArgumentException_t3259014390_il2cpp_TypeInfo_var);
		ArgumentException__ctor_m3739475201(L_5, _stringLiteral412684768, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_5);
	}

IL_0037:
	{
		V_1 = 0;
		ASN1_t924533536 * 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_t924533536 * L_9 = ASN1_get_Item_m3505242534(L_6, L_8, /*hidden argument*/NULL);
		V_2 = L_9;
		ASN1_t924533536 * L_10 = V_2;
		if (!L_10)
		{
			goto IL_0078;
		}
	}
	{
		ASN1_t924533536 * L_11 = V_2;
		uint8_t L_12 = ASN1_get_Tag_m2798873007(L_11, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_12) == ((uint32_t)1))))
		{
			goto IL_0078;
		}
	}
	{
		ASN1_t924533536 * L_13 = V_2;
		ByteU5BU5D_t3397334013* L_14 = ASN1_get_Value_m2229768312(L_13, /*hidden argument*/NULL);
		int32_t L_15 = 0;
		uint8_t L_16 = (L_14)->GetAtUnchecked(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_t924533536 * 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_t924533536 * L_20 = ASN1_get_Item_m3505242534(L_17, L_19, /*hidden argument*/NULL);
		V_2 = L_20;
	}

IL_0078:
	{
		ASN1_t924533536 * L_21 = V_2;
		if (!L_21)
		{
			goto IL_0096;
		}
	}
	{
		ASN1_t924533536 * L_22 = V_2;
		uint8_t L_23 = ASN1_get_Tag_m2798873007(L_22, /*hidden argument*/NULL);
		if ((!(((uint32_t)L_23) == ((uint32_t)2))))
		{
			goto IL_0096;
		}
	}
	{
		ASN1_t924533536 * L_24 = V_2;
		int32_t L_25 = ASN1Convert_ToInt32_m2121135414(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_t924533536_il2cpp_TypeInfo_var;
extern Il2CppClass* ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var;
extern const uint32_t BasicConstraintsExtension_Encode_m3738782306_MetadataUsageId;
extern "C"  void BasicConstraintsExtension_Encode_m3738782306 (BasicConstraintsExtension_t3608227951 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_Encode_m3738782306_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	ASN1_t924533536 * V_0 = NULL;
	{
		ASN1_t924533536 * L_0 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(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_t924533536 * L_2 = V_0;
		ByteU5BU5D_t3397334013* L_3 = ((ByteU5BU5D_t3397334013*)SZArrayNew(ByteU5BU5D_t3397334013_il2cpp_TypeInfo_var, (uint32_t)1));
		(L_3)->SetAtUnchecked(static_cast<il2cpp_array_size_t>(0), (uint8_t)((int32_t)255));
		ASN1_t924533536 * L_4 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m3688855288(L_4, 1, L_3, /*hidden argument*/NULL);
		ASN1_Add_m1528660622(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_t924533536 * L_7 = V_0;
		int32_t L_8 = __this->get_pathLenConstraint_4();
		ASN1_t924533536 * L_9 = ASN1Convert_FromInt32_m1048976215(NULL /*static, unused*/, L_8, /*hidden argument*/NULL);
		ASN1_Add_m1528660622(L_7, L_9, /*hidden argument*/NULL);
	}

IL_0057:
	{
		ASN1_t924533536 * L_10 = (ASN1_t924533536 *)il2cpp_codegen_object_new(ASN1_t924533536_il2cpp_TypeInfo_var);
		ASN1__ctor_m32691595(L_10, 4, /*hidden argument*/NULL);
		((X509Extension_t1439760128 *)__this)->set_extnValue_2(L_10);
		ASN1_t924533536 * L_11 = ((X509Extension_t1439760128 *)__this)->get_extnValue_2();
		ASN1_t924533536 * L_12 = V_0;
		ASN1_Add_m1528660622(L_11, L_12, /*hidden argument*/NULL);
		return;
	}
}
// System.Boolean Mono.Security.X509.Extensions.BasicConstraintsExtension::get_CertificateAuthority()
extern "C"  bool BasicConstraintsExtension_get_CertificateAuthority_m2523289727 (BasicConstraintsExtension_t3608227951 * __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_t1221177846_il2cpp_TypeInfo_var;
extern Il2CppClass* CultureInfo_t3500843524_il2cpp_TypeInfo_var;
extern Il2CppCodeGenString* _stringLiteral755085301;
extern Il2CppCodeGenString* _stringLiteral3560391898;
extern Il2CppCodeGenString* _stringLiteral1630329514;
extern Il2CppCodeGenString* _stringLiteral1656762157;
extern Il2CppCodeGenString* _stringLiteral1414246128;
extern const uint32_t BasicConstraintsExtension_ToString_m1598306805_MetadataUsageId;
extern "C"  String_t* BasicConstraintsExtension_ToString_m1598306805 (BasicConstraintsExtension_t3608227951 * __this, const MethodInfo* method)
{
	static bool s_Il2CppMethodInitialized;
	if (!s_Il2CppMethodInitialized)
	{
		il2cpp_codegen_initialize_method (BasicConstraintsExtension_ToString_m1598306805_MetadataUsageId);
		s_Il2CppMethodInitialized = true;
	}
	StringBuilder_t1221177846 * V_0 = NULL;
	StringBuilder_t1221177846 * G_B2_0 = NULL;
	StringBuilder_t1221177846 * G_B1_0 = NULL;
	String_t* G_B3_0 = NULL;
	StringBuilder_t1221177846 * G_B3_1 = NULL;
	{
		StringBuilder_t1221177846 * L_0 = (StringBuilder_t1221177846 *)il2cpp_codegen_object_new(StringBuilder_t1221177846_il2cpp_TypeInfo_var);
		StringBuilder__ctor_m3946851802(L_0, /*hidden argument*/NULL);
		V_0 = L_0;
		StringBuilder_t1221177846 * L_1 = V_0;
		StringBuilder_Append_m3636508479(L_1, _stringLiteral755085301, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * 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 = _stringLiteral3560391898;
		G_B3_1 = G_B1_0;
		goto IL_002d;
	}

IL_0028:
	{
		G_B3_0 = _stringLiteral1630329514;
		G_B3_1 = G_B2_0;
	}

IL_002d:
	{
		StringBuilder_Append_m3636508479(G_B3_1, G_B3_0, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_4 = V_0;
		String_t* L_5 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(L_4, L_5, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_6 = V_0;
		StringBuilder_Append_m3636508479(L_6, _stringLiteral1656762157, /*hidden argument*/NULL);
		int32_t L_7 = __this->get_pathLenConstraint_4();
		if ((!(((uint32_t)L_7) == ((uint32_t)(-1)))))
		{
			goto IL_0068;
		}
	}
	{
		StringBuilder_t1221177846 * L_8 = V_0;
		StringBuilder_Append_m3636508479(L_8, _stringLiteral1414246128, /*hidden argument*/NULL);
		goto IL_007f;
	}

IL_0068:
	{
		StringBuilder_t1221177846 * L_9 = V_0;
		int32_t* L_10 = __this->get_address_of_pathLenConstraint_4();
		IL2CPP_RUNTIME_CLASS_INIT(CultureInfo_t3500843524_il2cpp_TypeInfo_var);
		CultureInfo_t3500843524 * L_11 = CultureInfo_get_InvariantCulture_m398972276(NULL /*static, unused*/, /*hidden argument*/NULL);
		String_t* L_12 = Int32_ToString_m526790770(L_10, L_11, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(L_9, L_12, /*hidden argument*/NULL);
	}

IL_007f:
	{
		StringBuilder_t1221177846 * L_13 = V_0;
		String_t* L_14 = Environment_get_NewLine_m266316410(NULL /*static, unused*/, /*hidden argument*/NULL);
		StringBuilder_Append_m3636508479(L_13, L_14, /*hidden argument*/NULL);
		StringBuilder_t1221177846 * L_15 = V_0;
		String_t* L_16 = StringBuilder_ToString_m1507807375(L_15, /*hidden argument*/NULL);
		return L_16;
	}
}
#ifdef __clang__
#pragma clang diagnostic pop
#endif
