// Decompiled with JetBrains decompiler // Type: // Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // MVID: 1D4D5564-A025-490C-AF1D-DF4FBB709D1F // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Virus.Win32.Expiro.w-f8f9f26e940480624825f6bddbea86e70fc4aa746c4dd8efa7d98dcb477000ed.exe using \u003CCppImplementationDetails\u003E; using \u003CCrtImplementationDetails\u003E; using Microsoft.InfoCards; using System; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Security; using System.ServiceProcess; using System.Threading; internal class \u003CModule\u003E { internal static \u0024ArrayType\u0024\u0024\u0024BY07\u0024\u0024CBG \u003FA0x61d4662f\u002Eunnamed\u002Dglobal\u002D0; internal static \u0024ArrayType\u0024\u0024\u0024BY0CE\u0040\u0024\u0024CBD \u003F\u003F_C\u0040_0CE\u0040EGKBOGOO\u0040Microsoft\u003F2InfoCards\u003F2mcppwrapper\u003F4\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CE\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EI\u0040FAPBOFLF\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AA1\u003F\u0024AA2\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AA1\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CE\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EI\u0040BNBJOFNC\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AA1\u003F\u0024AA2\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AA2\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CE\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EI\u0040PPLFHHPC\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AA1\u003F\u0024AA2\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAq\u003F\u0024AA1\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CE\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EI\u0040LCFNHHJF\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AA1\u003F\u0024AA2\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAq\u003F\u0024AA2\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CB\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EC\u0040PNPIPOFH\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0CB\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1EC\u0040HAHAADLF\u0040\u003F\u0024AAX\u003F\u0024AAp\u003F\u0024AAq\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAX\u003F\u0024AAq\u003F\u0024AAB\u003F\u0024AAy\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAA\u003F\u0024AAr\u003F\u0024AAr\u003F\u0024AAa\u003F\u0024AAy\u003F\u0024AA\u003F9\u003F\u0024AA\u003F\u0024DO\u003F\u0024AAL\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AAg\u003F\u0024AAt\u003F\u0024AAh\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0BC\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1CE\u0040MDDMNBFC\u0040\u003F\u0024AA0\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024CB\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAc\u003F\u0024AAb\u003F\u0024AAC\u003F\u0024AAr\u003F\u0024AAy\u003F\u0024AAp\u003F\u0024AAt\u003F\u0024AAo\u003F\u0024AAB\u003F\u0024AAl\u003F\u0024AAo\u003F\u0024AAb\u003F\u0024AA\u003F\u0024AA\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0BC\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1CE\u0040EMPLJBMF\u0040\u003F\u0024AA0\u003F\u0024AA\u003F5\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F\u0024DN\u003F\u0024AA\u003F5\u003F\u0024AAc\u003F\u0024AAb\u003F\u0024AAC\u003F\u0024AAr\u003F\u0024AAy\u003F\u0024AAp\u003F\u0024AAt\u003F\u0024AAo\u003F\u0024AAB\u003F\u0024AAl\u003F\u0024AAo\u003F\u0024AAb\u003F\u0024AA\u003F\u0024AA\u0040; internal static \u0024ArrayType\u0024\u0024\u0024BY0P\u0040\u0024\u0024CBG \u003F\u003F_C\u0040_1BO\u0040IGNPGJKB\u0040\u003F\u0024AAh\u003F\u0024AAE\u003F\u0024AAl\u003F\u0024AAe\u003F\u0024AAv\u003F\u0024AAa\u003F\u0024AAt\u003F\u0024AAe\u003F\u0024AAd\u003F\u0024AAT\u003F\u0024AAo\u003F\u0024AAk\u003F\u0024AAe\u003F\u0024AAn\u003F\u0024AA\u003F\u0024AA\u0040; internal static unsafe ushort* g_lrpcProtocolSequence; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xc_mp_z; [FixedAddressValueType] internal static int \u003FUninitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA; internal static __FnPtr \u003FA0x7d798523\u002E\u003FUninitialized\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xi_vt_a; [FixedAddressValueType] internal static Progress.State \u003FInitializedPerAppDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A; internal static __FnPtr \u003FA0x7d798523\u002E\u003FInitializedPerAppDomain\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; [FixedAddressValueType] internal static bool \u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA; internal static __FnPtr \u003FA0x7d798523\u002E\u003FIsDefaultDomain\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xc_ma_a; [FixedAddressValueType] internal static Progress.State \u003FInitializedNative\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A; internal static __FnPtr \u003FA0x7d798523\u002E\u003FInitializedNative\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; [FixedAddressValueType] internal static int \u003FInitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA; internal static __FnPtr \u003FA0x7d798523\u002E\u003FInitialized\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xc_ma_z; [FixedAddressValueType] internal static Progress.State \u003FInitializedVtables\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A; internal static __FnPtr \u003FA0x7d798523\u002E\u003FInitializedVtables\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xi_vt_z; [FixedAddressValueType] internal static Progress.State \u003FInitializedPerProcess\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A; internal static __FnPtr \u003FA0x7d798523\u002E\u003FInitializedPerProcess\u0024initializer\u0024\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2P6MXXZA; internal static bool \u003FInitializedPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA; internal static bool \u003FEntered\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA; internal static bool \u003FInitializedNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA; internal static int \u003FCount\u0040AllDomains\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402HA; internal static uint \u003FProcessAttach\u0040NativeDll\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400IB; internal static uint \u003FThreadAttach\u0040NativeDll\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400IB; internal static TriBool.State \u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A; internal static uint \u003FProcessDetach\u0040NativeDll\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400IB; internal static uint \u003FThreadDetach\u0040NativeDll\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400IB; internal static uint \u003FProcessVerifier\u0040NativeDll\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400IB; internal static TriBool.State \u003FhasPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A; internal static bool \u003FInitializedNativeFromCCTOR\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA; internal static \u0024ArrayType\u0024\u0024\u0024BY00Q6MPBXXZ \u003FA0x7d798523\u002E__xc_mp_a; public static unsafe int** __unep\u0040\u003FDoNothing\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024FCGJPAX\u0040Z; public static unsafe int** __unep\u0040\u003F_UninitializeDefaultDomain\u0040LanguageSupport\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024FCGJPAX\u0040Z; internal static \u0024ArrayType\u0024\u0024\u0024BY01Q6AXXZ \u003F\u003F_7type_info\u0040\u00406B\u0040; internal static _s__RTTIClassHierarchyDescriptor \u003F\u003F_R3type_info\u0040\u00408; internal static \u0024_s__RTTIBaseClassArray\u0024_extraBytes_4 \u003F\u003F_R2type_info\u0040\u00408; internal static \u0024_TypeDescriptor\u0024_extraBytes_16 \u003F\u003F_R0\u003FAVtype_info\u0040\u0040\u00408; internal static _s__RTTICompleteObjectLocator \u003F\u003F_R4type_info\u0040\u00406B\u0040; internal static _s__RTTIBaseClassDescriptor2 \u003F\u003F_R1A\u0040\u003F0A\u0040EA\u0040type_info\u0040\u00408; [FixedAddressValueType] internal static uint __exit_list_size_app_domain; [FixedAddressValueType] internal static Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E \u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A; internal static __FnPtr \u003FA0x49040904\u002E\u003F_lock\u0024initializer\u0024\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0P6MXXZA; [FixedAddressValueType] internal static unsafe __FnPtr* __onexitbegin_app_domain; internal static uint \u003FA0x49040904\u002E__exit_list_size; internal static unsafe __FnPtr* \u003FA0x49040904\u002E__onexitend; internal static unsafe __FnPtr* \u003FA0x49040904\u002E__onexitbegin; [FixedAddressValueType] internal static unsafe __FnPtr* __onexitend_app_domain; public static \u0024ArrayType\u0024\u0024\u0024BY0A\u0040P6AXXZ __xc_z; public static volatile uint __native_vcclrit_reason; public static \u0024ArrayType\u0024\u0024\u0024BY0A\u0040P6AXXZ __xc_a; public static \u0024ArrayType\u0024\u0024\u0024BY0A\u0040P6AHXZ __xi_a; public static volatile __enative_startup_state __native_startup_state; public static \u0024ArrayType\u0024\u0024\u0024BY0A\u0040P6AHXZ __xi_z; public static unsafe void* __native_startup_lock; public static volatile uint __native_dllmain_reason; internal static unsafe int wmain() { \u003CModule\u003E.HeapSetInformation((void*) 0, (_HEAP_INFORMATION_CLASS) 1, (void*) 0, 0U); ServiceBase.Run((ServiceBase) new InfoCardService()); return 0; } internal static unsafe void* RtlSecureZeroMemory(void* ptr, uint cnt) { sbyte* numPtr = (sbyte*) ptr; if (cnt != 0U) { do { *numPtr = (sbyte) 0; ++numPtr; --cnt; } while (cnt != 0U); } return ptr; } internal static unsafe void PropVariantInit(tagPROPVARIANT* pvar) { // ISSUE: initblk instruction __memset((IntPtr) pvar, 0, 16); } [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsInDllMain() => \u003CModule\u003E.__native_dllmain_reason != uint.MaxValue; [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsInProcessAttach() => \u003CModule\u003E.__native_dllmain_reason == 1U; [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsInProcessDetach() => \u003CModule\u003E.__native_dllmain_reason == 0U; [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsInVcclrit() => \u003CModule\u003E.__native_vcclrit_reason != uint.MaxValue; [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsSafeForManagedCode() => (\u003CModule\u003E.__native_dllmain_reason != uint.MaxValue ? 1 : 0) == 0 || (\u003CModule\u003E.__native_vcclrit_reason != uint.MaxValue ? 1 : 0) != 0 || \u003CModule\u003E.__native_dllmain_reason != 1U && \u003CModule\u003E.__native_dllmain_reason != 0U; internal static unsafe int \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EDoNothing( void* cookie) { GC.KeepAlive((object) int.MaxValue); return 0; } [return: MarshalAs(UnmanagedType.U1)] internal static unsafe bool \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EHasPerProcess() { if (\u003CModule\u003E.\u003FhasPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A != (TriBool.State) 2) return \u003CModule\u003E.\u003FhasPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A == (TriBool.State) -1; void** voidPtr = (void**) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_a; if (ref \u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_a < ref \u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_z) { while (*(int*) voidPtr == 0) { voidPtr += 4; if ((IntPtr) voidPtr >= ref \u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_z) goto label_5; } \u003CModule\u003E.\u003FhasPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A = (TriBool.State) -1; return true; } label_5: \u003CModule\u003E.\u003FhasPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A = (TriBool.State) 0; return false; } [return: MarshalAs(UnmanagedType.U1)] internal static unsafe bool \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EHasNative() { if (\u003CModule\u003E.\u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A != (TriBool.State) 2) return \u003CModule\u003E.\u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A == (TriBool.State) -1; void** voidPtr1 = (void**) &\u003CModule\u003E.__xi_a; if (ref \u003CModule\u003E.__xi_a < ref \u003CModule\u003E.__xi_z) { while (*(int*) voidPtr1 == 0) { voidPtr1 += 4; if ((IntPtr) voidPtr1 >= ref \u003CModule\u003E.__xi_z) goto label_5; } \u003CModule\u003E.\u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A = (TriBool.State) -1; return true; } label_5: void** voidPtr2 = (void**) &\u003CModule\u003E.__xc_a; if (ref \u003CModule\u003E.__xc_a < ref \u003CModule\u003E.__xc_z) { while (*(int*) voidPtr2 == 0) { voidPtr2 += 4; if ((IntPtr) voidPtr2 >= ref \u003CModule\u003E.__xc_z) goto label_9; } \u003CModule\u003E.\u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A = (TriBool.State) -1; return true; } label_9: \u003CModule\u003E.\u003FhasNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00400W4State\u0040TriBool\u00402\u0040A = (TriBool.State) 0; return false; } [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002ENeedsInitialization() => \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EHasPerProcess() && !\u003CModule\u003E.\u003FInitializedPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA || \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EHasNative() && !\u003CModule\u003E.\u003FInitializedNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA && \u003CModule\u003E.__native_startup_state == (__enative_startup_state) 0; [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002ENeedsUninitialization() => \u003CModule\u003E.\u003FEntered\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA; internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EInitialize() => \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDoCallBackInDefaultDomain((__FnPtr) (IntPtr) \u003CModule\u003E.__unep\u0040\u003FDoNothing\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024FCGJPAX\u0040Z, (void*) 0); internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FInitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FInitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA = 0; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FUninitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FUninitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA = 0; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA = false; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FInitializedVtables\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FInitializedVtables\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 0; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FInitializedNative\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FInitializedNative\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 0; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FInitializedPerProcess\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FInitializedPerProcess\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 0; internal static void \u003FA0x7d798523\u002E\u003F\u003F__E\u003FInitializedPerAppDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003FInitializedPerAppDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 0; [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeVtables( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load during vtable initialization.\n"); \u003CModule\u003E.\u003FInitializedVtables\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 1; \u003CModule\u003E._initterm_m((__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xi_vt_a, (__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xi_vt_z); \u003CModule\u003E.\u003FInitializedVtables\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 2; } internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeDefaultAppDomain( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load while attempting to initialize the default appdomain.\n"); \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002EInitialize(); } [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeNative( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load during native initialization.\n"); \u003CModule\u003E.__security_init_cookie(); \u003CModule\u003E.\u003FInitializedNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = true; if (!\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ENativeDll\u002EIsSafeForManagedCode()) \u003CModule\u003E._amsg_exit(33); switch (\u003CModule\u003E.__native_startup_state) { case (__enative_startup_state) 0: \u003CModule\u003E.\u003FInitializedNative\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 1; \u003CModule\u003E.__native_startup_state = (__enative_startup_state) 1; if (\u003CModule\u003E._initterm_e((__FnPtr*) &\u003CModule\u003E.__xi_a, (__FnPtr*) &\u003CModule\u003E.__xi_z) != 0) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThrowModuleLoadException(\u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u002EP\u0024AAVString\u0040System\u0040\u0040((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0)); \u003CModule\u003E._initterm((__FnPtr*) &\u003CModule\u003E.__xc_a, (__FnPtr*) &\u003CModule\u003E.__xc_z); \u003CModule\u003E.__native_startup_state = (__enative_startup_state) 2; \u003CModule\u003E.\u003FInitializedNativeFromCCTOR\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = true; \u003CModule\u003E.\u003FInitializedNative\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 2; break; case (__enative_startup_state) 1: \u003CModule\u003E._amsg_exit(33); break; } } [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializePerProcess( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load during process initialization.\n"); \u003CModule\u003E.\u003FInitializedPerProcess\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 1; \u003CModule\u003E._initatexit_m(); \u003CModule\u003E._initterm_m((__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_a, (__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xc_mp_z); \u003CModule\u003E.\u003FInitializedPerProcess\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 2; \u003CModule\u003E.\u003FInitializedPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = true; } [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializePerAppDomain( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load during appdomain initialization.\n"); \u003CModule\u003E.\u003FInitializedPerAppDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 1; \u003CModule\u003E._initatexit_app_domain(); \u003CModule\u003E._initterm_m((__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xc_ma_a, (__FnPtr*) &\u003CModule\u003E.\u003FA0x7d798523\u002E__xc_ma_z); \u003CModule\u003E.\u003FInitializedPerAppDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2W4State\u0040Progress\u00402\u0040A = (Progress.State) 2; } [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeUninitializer( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load during registration for the unload events.\n"); \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ERegisterModuleUninitializer(new EventHandler(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EDomainUnload)); } [DebuggerStepThrough] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E_Initialize( [In] LanguageSupport* obj0) { \u003CModule\u003E.\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA = AppDomain.CurrentDomain.IsDefaultAppDomain(); if (\u003CModule\u003E.\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA) \u003CModule\u003E.\u003FEntered\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = true; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDoDllLanguageSupportValidation(); void* fiberPtrId = \u003CModule\u003E._getFiberPtrId(); int num1 = 0; int num2 = 0; RuntimeHelpers.PrepareConstrainedRegions(); try { while (num2 == 0) { try { } finally { IntPtr comparand = (IntPtr) 0; IntPtr num3 = (IntPtr) fiberPtrId; // ISSUE: cast to a reference type void* voidPtr = (void*) Interlocked.CompareExchange((IntPtr&) ref \u003CModule\u003E.__native_startup_lock, num3, comparand); if ((IntPtr) voidPtr == IntPtr.Zero) num2 = 1; else if (voidPtr == fiberPtrId) { num1 = 1; num2 = 1; } } if (num2 == 0) \u003CModule\u003E.Sleep(1000U); } if (!\u003CModule\u003E.\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA) { if (\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDefaultDomain\u002ENeedsInitialization()) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeDefaultAppDomain(obj0); } } finally { if (num1 == 0) { IntPtr num4 = (IntPtr) 0; // ISSUE: cast to a reference type Interlocked.Exchange((IntPtr&) ref \u003CModule\u003E.__native_startup_lock, num4); } } \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeVtables(obj0); if (\u003CModule\u003E.\u003FIsDefaultDomain\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2_NA) { \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeNative(obj0); \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializePerProcess(obj0); } \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializePerAppDomain(obj0); \u003CModule\u003E.\u003FInitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA = 1; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitializeUninitializer(obj0); } internal static void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EUninitializeAppDomain() => \u003CModule\u003E._app_exit_callback(); internal static unsafe int \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E_UninitializeDefaultDomain( void* cookie) { \u003CModule\u003E._exit_callback(); \u003CModule\u003E.\u003FInitializedPerProcess\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = false; if (\u003CModule\u003E.\u003FInitializedNativeFromCCTOR\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA) { \u003CModule\u003E._cexit(); \u003CModule\u003E.__native_startup_state = (__enative_startup_state) 0; \u003CModule\u003E.\u003FInitializedNativeFromCCTOR\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = false; } \u003CModule\u003E.\u003FInitializedNative\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA = false; return 0; } internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EUninitializeDefaultDomain() { if (!\u003CModule\u003E.\u003FEntered\u0040DefaultDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402_NA) return; if (AppDomain.CurrentDomain.IsDefaultAppDomain()) { \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E_UninitializeDefaultDomain((void*) 0); } else { // ISSUE: cast to a function pointer type \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EDoCallBackInDefaultDomain((__FnPtr) (IntPtr) \u003CModule\u003E.__unep\u0040\u003F_UninitializeDefaultDomain\u0040LanguageSupport\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024FCGJPAX\u0040Z, (void*) 0); } } [PrePrepareMethod] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EDomainUnload( object source, EventArgs arguments) { if (\u003CModule\u003E.\u003FInitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA == 0 || Interlocked.Exchange(ref \u003CModule\u003E.\u003FUninitialized\u0040CurrentDomain\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q2HA, 1) != 0) return; int num = Interlocked.Decrement(ref \u003CModule\u003E.\u003FCount\u0040AllDomains\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402HA) == 0 ? 1 : 0; \u003CModule\u003E._app_exit_callback(); if ((byte) num == (byte) 0) return; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EUninitializeDefaultDomain(); } [DebuggerStepThrough] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002ECleanup( [In] LanguageSupport* obj0, Exception innerException) { try { bool flag = Interlocked.Decrement(ref \u003CModule\u003E.\u003FCount\u0040AllDomains\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402HA) == 0; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EUninitializeAppDomain(); if (!flag) return; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EUninitializeDefaultDomain(); } catch (Exception ex) { \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThrowNestedModuleLoadException(innerException, ex); } catch { \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThrowNestedModuleLoadException(innerException, (Exception) null); } } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitialize( [In] LanguageSupport* obj0) { bool flag = false; RuntimeHelpers.PrepareConstrainedRegions(); try { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0, "The C++ module failed to load.\n"); RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { Interlocked.Increment(ref \u003CModule\u003E.\u003FCount\u0040AllDomains\u0040\u003CCrtImplementationDetails\u003E\u0040\u00402HA); flag = true; } \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E_Initialize(obj0); } catch (Exception ex) { if (flag) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002ECleanup(obj0, ex); \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThrowModuleLoadException(\u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u002EP\u0024AAVString\u0040System\u0040\u0040((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0), ex); } catch { if (flag) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002ECleanup(obj0, (Exception) null); \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThrowModuleLoadException(\u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u002EP\u0024AAVString\u0040System\u0040\u0040((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0), (Exception) null); } } [DebuggerStepThrough] static unsafe \u003CModule\u003E() { LanguageSupport languageSupport; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E\u007Bctor\u007D(&languageSupport); // ISSUE: fault handler try { \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002EInitialize(&languageSupport); } __fault { // ISSUE: method pointer // ISSUE: cast to a function pointer type \u003CModule\u003E.___CxxCallUnwindDtor((__FnPtr) __methodptr(\u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E\u007Bdtor\u007D), (void*) &languageSupport); } \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u007Bdtor\u007D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) &languageSupport); } internal static unsafe LanguageSupport* \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E\u007Bctor\u007D( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u007Bctor\u007D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0); return obj0; } internal static unsafe void \u003CCrtImplementationDetails\u003E\u002ELanguageSupport\u002E\u007Bdtor\u007D( [In] LanguageSupport* obj0) { \u003CModule\u003E.gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u007Bdtor\u007D((gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E*) obj0); } [DebuggerStepThrough] internal static unsafe gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u007Bctor\u007D( [In] gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* obj0) { IntPtr num = (IntPtr) GCHandle.Alloc((object) null); *(int*) obj0 = (int) num.ToPointer(); return obj0; } [DebuggerStepThrough] internal static unsafe void gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u007Bdtor\u007D( [In] gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* obj0) { ((GCHandle) new IntPtr((void*) *(int*) obj0)).Free(); *(int*) obj0 = 0; } [DebuggerStepThrough] internal static unsafe gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u003D( [In] gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* obj0, string t) { ((GCHandle) new IntPtr((void*) *(int*) obj0)).Target = (object) t; return obj0; } internal static unsafe string gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E\u002E\u002EP\u0024AAVString\u0040System\u0040\u0040( [In] gcroot\u003CSystem\u003A\u003AString\u0020\u005E\u003E* obj0) { return (string) ((GCHandle) new IntPtr((void*) *(int*) obj0)).Target; } [SpecialName] internal static unsafe type_info* type_info\u002E\u007Bctor\u007D( [In] type_info* obj0, type_info* rhs) { *(int*) obj0 = (int) &\u003CModule\u003E.\u003F\u003F_7type_info\u0040\u00406B\u0040; return obj0; } internal static unsafe void* type_info\u002E__vecDelDtor([In] type_info* obj0, uint _param1) { if (((int) _param1 & 2) != 0) { type_info* typeInfoPtr = (type_info*) ((IntPtr) obj0 - 4); // ISSUE: method pointer // ISSUE: cast to a function pointer type \u003CModule\u003E.__ehvec_dtor((void*) obj0, 12U, *(int*) typeInfoPtr, (__FnPtr) __methodptr(type_info\u002E\u007Bdtor\u007D)); if (((int) _param1 & 1) != 0) \u003CModule\u003E.delete((void*) typeInfoPtr); return (void*) typeInfoPtr; } \u003CModule\u003E.type_info\u002E\u007Bdtor\u007D(obj0); if (((int) _param1 & 1) != 0) \u003CModule\u003E.delete((void*) obj0); return (void*) obj0; } internal static unsafe type_info* type_info\u002E\u003D([In] type_info* obj0, type_info* rhs) => obj0; [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EInitialize() { object obj = new object(); // ISSUE: cast to a reference type // ISSUE: explicit reference operation ^(int&) ref \u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A = 0; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002ESet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A, obj); } [DebuggerStepThrough] [return: MarshalAs(UnmanagedType.U1)] internal static unsafe bool \u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EIsInitialized() => \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A) != null; [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EEnter() => Monitor.Enter(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A)); [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EExit() => Monitor.Exit(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A)); internal static void \u003FA0x49040904\u002E\u003F\u003F__E\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E._atexit_m_appdomain((__FnPtr) __methodptr(\u003FA0x49040904\u002E\u003F\u003F__F\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A\u0040\u0040YMXXZ)); internal static unsafe void \u003FA0x49040904\u002E\u003F\u003F__F\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A\u0040\u0040YMXXZ() => \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E\u007Bdtor\u007D(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A); [DebuggerStepThrough] [return: MarshalAs(UnmanagedType.U1)] internal static unsafe bool \u003FA0x49040904\u002E__global_lock() { bool flag = false; if (\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EIsInitialized()) { Monitor.Enter(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A)); flag = true; } return flag; } [DebuggerStepThrough] [return: MarshalAs(UnmanagedType.U1)] internal static unsafe bool \u003FA0x49040904\u002E__global_unlock() { bool flag = false; if (\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EIsInitialized()) { Monitor.Exit(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet(&\u003CModule\u003E.\u003F_lock\u0040AtExitLock\u0040\u003CCrtImplementationDetails\u003E\u0040\u0040\u0024\u0024Q0V\u003F\u0024Handle\u0040P\u0024AAVObject\u0040System\u0040\u0040\u00402\u0040A)); flag = true; } return flag; } [DebuggerStepThrough] [return: MarshalAs(UnmanagedType.U1)] internal static bool \u003FA0x49040904\u002E__alloc_global_lock() { if (!\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EIsInitialized()) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EInitialize(); return \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EAtExitLock\u002EIsInitialized(); } internal static unsafe int _atexit_helper( __FnPtr func, uint* __pexit_list_size, __FnPtr** __ponexitend, __FnPtr** __ponexitbegin) { // ISSUE: cast to a function pointer type __FnPtr local1 = (__FnPtr) 0; if (func == null) return -1; int num1; if (\u003CModule\u003E.\u003FA0x49040904\u002E__global_lock()) { try { if (*__pexit_list_size - 1U < (uint) (*(int*) __ponexitend - *(int*) __ponexitbegin) >> 2) { try { uint num2 = *__pexit_list_size * 4U; uint num3 = num2 >= 2048U ? 2048U : num2; IntPtr cb = new IntPtr((int) num2 + (int) num3); IntPtr num4 = Marshal.ReAllocHGlobal(new IntPtr((void*) *(int*) __ponexitbegin), cb); __FnPtr** local2 = __ponexitend; IntPtr num5 = *(int*) local2 + ((IntPtr) num4.ToPointer() - *(int*) __ponexitbegin); *(int*) local2 = (int) num5; *(int*) __ponexitbegin = (int) num4.ToPointer(); uint num6 = *__pexit_list_size; uint num7 = 512U >= num6 ? num6 : 512U; *__pexit_list_size = num6 + num7; } catch (OutOfMemoryException ex) { IntPtr cb = new IntPtr((int) *__pexit_list_size * 4 + 8); IntPtr num8 = Marshal.ReAllocHGlobal(new IntPtr((void*) *(int*) __ponexitbegin), cb); __FnPtr** local3 = __ponexitend; IntPtr num9 = *(int*) local3 + ((IntPtr) num8.ToPointer() - *(int*) __ponexitbegin); *(int*) local3 = (int) num9; *(int*) __ponexitbegin = (int) num8.ToPointer(); uint* numPtr = __pexit_list_size; int num10 = (int) *numPtr + 4; *numPtr = (uint) num10; } } *(int*) *(int*) __ponexitend = (int) func; __FnPtr** local4 = __ponexitend; int num11 = *(int*) local4 + 4; *(int*) local4 = num11; local1 = func; } catch (OutOfMemoryException ex) { } finally { \u003CModule\u003E.\u003FA0x49040904\u002E__global_unlock(); } if (local1 != null) { num1 = 0; goto label_12; } } num1 = -1; label_12: return num1; } internal static unsafe void _exit_callback() { if ((IntPtr) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin == new IntPtr(-1) || (IntPtr) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin == IntPtr.Zero || (IntPtr) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend == IntPtr.Zero) return; \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend -= 4; if (\u003CModule\u003E.\u003FA0x49040904\u002E__onexitend >= \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin) { do { if (*(int*) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend != 0) { // ISSUE: cast to a function pointer type // ISSUE: function pointer call __calli((__FnPtr) *(int*) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend)(); } \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend -= 4; } while (\u003CModule\u003E.\u003FA0x49040904\u002E__onexitend >= \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin); } Marshal.FreeHGlobal(new IntPtr((void*) \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin)); } [DebuggerStepThrough] internal static unsafe int _initatexit_m() { if (!\u003CModule\u003E.\u003FA0x49040904\u002E__alloc_global_lock()) return 0; \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin = (__FnPtr*) Marshal.AllocHGlobal(128).ToPointer(); \u003CModule\u003E.\u003FA0x49040904\u002E__onexitend = \u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin; \u003CModule\u003E.\u003FA0x49040904\u002E__exit_list_size = 32U; return 1; } internal static __FnPtr _onexit_m(__FnPtr _Function) => \u003CModule\u003E._atexit_m((__FnPtr) _Function) != -1 ? _Function : (__FnPtr) 0; internal static unsafe int _atexit_m(__FnPtr func) => \u003CModule\u003E._atexit_helper(func, &\u003CModule\u003E.\u003FA0x49040904\u002E__exit_list_size, &\u003CModule\u003E.\u003FA0x49040904\u002E__onexitend, &\u003CModule\u003E.\u003FA0x49040904\u002E__onexitbegin); [DebuggerStepThrough] internal static unsafe int _initatexit_app_domain() { if (\u003CModule\u003E.\u003FA0x49040904\u002E__alloc_global_lock()) { \u003CModule\u003E.__onexitbegin_app_domain = (__FnPtr*) Marshal.AllocHGlobal(128).ToPointer(); \u003CModule\u003E.__onexitend_app_domain = \u003CModule\u003E.__onexitbegin_app_domain; \u003CModule\u003E.__exit_list_size_app_domain = 32U; } return 1; } internal static unsafe void _app_exit_callback() { if ((IntPtr) \u003CModule\u003E.__onexitbegin_app_domain == new IntPtr(-1) || (IntPtr) \u003CModule\u003E.__onexitbegin_app_domain == IntPtr.Zero) return; if ((IntPtr) \u003CModule\u003E.__onexitend_app_domain == IntPtr.Zero) return; try { while (true) { do { \u003CModule\u003E.__onexitend_app_domain -= 4; if (\u003CModule\u003E.__onexitend_app_domain < \u003CModule\u003E.__onexitbegin_app_domain) goto label_8; } while (*(int*) \u003CModule\u003E.__onexitend_app_domain == 0); // ISSUE: cast to a function pointer type // ISSUE: function pointer call __calli((__FnPtr) *(int*) \u003CModule\u003E.__onexitend_app_domain)(); } label_8:; } finally { Marshal.FreeHGlobal(new IntPtr((void*) \u003CModule\u003E.__onexitbegin_app_domain)); } } internal static __FnPtr _onexit_m_appdomain(__FnPtr _Function) => \u003CModule\u003E._atexit_m_appdomain((__FnPtr) _Function) != -1 ? _Function : (__FnPtr) 0; [DebuggerStepThrough] internal static unsafe int _atexit_m_appdomain(__FnPtr func) => \u003CModule\u003E._atexit_helper(func, &\u003CModule\u003E.__exit_list_size_app_domain, &\u003CModule\u003E.__onexitend_app_domain, &\u003CModule\u003E.__onexitbegin_app_domain); [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EConstruct( [In] Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E* obj0, object value) { *(int*) obj0 = 0; \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002ESet(obj0, value); } [DebuggerStepThrough] internal static unsafe object \u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002EGet( [In] Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E* obj0) { ValueType valueType = \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E_handle(obj0); return valueType != null ? ((GCHandle) valueType).Target : (object) null; } internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E\u007Bdtor\u007D( [In] Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E* obj0) { ValueType valueType = \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E_handle(obj0); if (valueType == null) return; ((GCHandle) valueType).Free(); *(int*) obj0 = 0; } [DebuggerStepThrough] internal static unsafe ValueType \u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E_handle( [In] Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E* obj0) { uint num = (uint) *(int*) obj0; return num != 0U ? (ValueType) GCHandle.FromIntPtr(new IntPtr((void*) num)) : (ValueType) null; } [DebuggerStepThrough] internal static unsafe void \u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002ESet( [In] Handle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E* obj0, object value) { ValueType valueType = \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EHandle\u003CSystem\u003A\u003AObject\u0020\u005E\u003E\u002E_handle(obj0); if (valueType == null) { IntPtr intPtr = GCHandle.ToIntPtr(GCHandle.Alloc(value)); *(int*) obj0 = (int) intPtr.ToPointer(); } else ((GCHandle) valueType).Target = value; } [DebuggerStepThrough] internal static unsafe int _initterm_e(__FnPtr* pfbegin, __FnPtr* pfend) { int num1 = 0; if (pfbegin < pfend) { while (num1 == 0) { uint num2 = (uint) *(int*) pfbegin; if (num2 != 0U) { // ISSUE: cast to a function pointer type // ISSUE: function pointer call num1 = __calli((__FnPtr) (int) num2)(); } pfbegin += 4; if (pfbegin >= pfend) break; } } return num1; } [DebuggerStepThrough] internal static unsafe void _initterm(__FnPtr* pfbegin, __FnPtr* pfend) { if (pfbegin >= pfend) return; do { uint num = (uint) *(int*) pfbegin; if (num != 0U) { // ISSUE: cast to a function pointer type // ISSUE: function pointer call __calli((__FnPtr) (int) num)(); } pfbegin += 4; } while (pfbegin < pfend); } [DebuggerStepThrough] internal static ModuleHandle \u003CCrtImplementationDetails\u003E\u002EThisModule\u002EHandle() => typeof (ThisModule).Module.ModuleHandle; [DebuggerStepThrough] internal static unsafe void _initterm_m(__FnPtr* pfbegin, __FnPtr* pfend) { if (pfbegin >= pfend) return; do { uint methodToken = (uint) *(int*) pfbegin; if (methodToken != 0U) { // ISSUE: cast to a function pointer type // ISSUE: function pointer call void* voidPtr = __calli(\u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThisModule\u002EResolveMethod\u003Cvoid\u0020const\u0020\u002A\u0020__clrcall\u0028void\u0029\u003E((__FnPtr) (int) methodToken))(); } pfbegin += 4; } while (pfbegin < pfend); } [DebuggerStepThrough] internal static unsafe __FnPtr \u003CCrtImplementationDetails\u003E\u002EThisModule\u002EResolveMethod\u003Cvoid\u0020const\u0020\u002A\u0020__clrcall\u0028void\u0029\u003E( __FnPtr methodToken) { // ISSUE: cast to a function pointer type return (__FnPtr) (IntPtr) \u003CModule\u003E.\u003CCrtImplementationDetails\u003E\u002EThisModule\u002EHandle().ResolveMethodHandle((int) methodToken).GetFunctionPointer().ToPointer(); } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void ___CxxCallUnwindDtor(__FnPtr pDtor, void* pThis) { try { void* voidPtr = pThis; // ISSUE: function pointer call __calli(pDtor)(voidPtr); } catch (Exception ex) when (\u003CModule\u003E.__FrameUnwindFilter((_EXCEPTION_POINTERS*) Marshal.GetExceptionPointers()) != 0) { } } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void ___CxxCallUnwindDelDtor(__FnPtr pDtor, void* pThis) { try { void* voidPtr = pThis; // ISSUE: function pointer call __calli(pDtor)(voidPtr); } catch (Exception ex) when (\u003CModule\u003E.__FrameUnwindFilter((_EXCEPTION_POINTERS*) Marshal.GetExceptionPointers()) != 0) { } } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void ___CxxCallUnwindVecDtor( __FnPtr)> pVecDtor, void* ptr, uint size, int count, __FnPtr pDtor) { try { void* voidPtr = ptr; int num1 = (int) size; int num2 = count; __FnPtr local = pDtor; // ISSUE: cast to a function pointer type // ISSUE: function pointer call __calli(pVecDtor)((__FnPtr) (IntPtr) voidPtr, num1, (uint) num2, (void*) local); } catch (Exception ex) when (\u003CModule\u003E.__FrameUnwindFilter((_EXCEPTION_POINTERS*) Marshal.GetExceptionPointers()) != 0) { } } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void __ehvec_dtor( void* ptr, uint size, int count, __FnPtr pDtor) { int num = 0; ptr = (void*) ((int) size * count + (IntPtr) ptr); try { while (true) { --count; if (count >= 0) { ptr -= (int) size; void* voidPtr = ptr; // ISSUE: function pointer call __calli(pDtor)(voidPtr); } else break; } num = 1; } finally { if (num == 0) \u003CModule\u003E.__ArrayUnwind(ptr, size, count, pDtor); } } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe int \u003FA0xe6292fd0\u002EArrayUnwindFilter(_EXCEPTION_POINTERS* pExPtrs) { if (*(int*) *(int*) pExPtrs != -529697949) return 0; \u003CModule\u003E.terminate(); return 0; } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static unsafe void __ArrayUnwind( void* ptr, uint size, int count, __FnPtr pDtor) { try { while (true) { --count; if (count >= 0) { ptr -= (int) size; void* voidPtr = ptr; // ISSUE: function pointer call __calli(pDtor)(voidPtr); } else break; } } catch (Exception ex) when (\u003CModule\u003E.\u003FA0xe6292fd0\u002EArrayUnwindFilter((_EXCEPTION_POINTERS*) Marshal.GetExceptionPointers()) != 0) { } } [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern uint _wmainCRTStartup(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int HeapSetInformation( [In] void* obj0, [In] _HEAP_INFORMATION_CLASS obj1, [In] void* obj2, [In] uint obj3); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int GetVolumeInformationW( [In] ushort* obj0, [In] ushort* obj1, [In] uint obj2, [In] uint* obj3, [In] uint* obj4, [In] uint* obj5, [In] ushort* obj6, [In] uint obj7); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int CreateWellKnownSid( [In] WELL_KNOWN_SID_TYPE obj0, [In] void* obj1, [In] void* obj2, [In] uint* obj3); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void* LocalFree([In] void* obj0); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int InfoCardKeyGenX931( [In] uint obj0, [In] byte* obj1, [In] byte* obj2, [In] byte* obj3, [In] byte* obj4, [In] uint obj5, [In] byte* obj6, [In] byte* obj7, [In] uint obj8, [In] byte** obj9, [In] uint* obj10, [In] X931_restart_t* obj11); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int CloseHandle([In] void* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int ConvertSidToStringSidW([In] void* obj0, [In] ushort** obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint CreateProcessAsTrustedUser( [In] ushort* obj0, [In] ushort* obj1, [In] uint obj2, [In] ushort* obj3, [In] ushort* obj4, [In] uint obj5, [In] void** obj6, [In] void** obj7, [In] uint* obj8, [In] void* obj9, [In] void** obj10); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int CheckTokenMembership([In] void* obj0, [In] void* obj1, [In] int* obj2); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern int RpcRevertToSelf(); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint CreateProcessAsUserHelper( [In] ushort* obj0, [In] ushort* obj1, [In] uint obj2, [In] ushort* obj3, [In] ushort* obj4, [In] void** obj5, [In] uint* obj6); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcBindingSetAuthInfoW( [In] void* obj0, [In] ushort* obj1, [In] uint obj2, [In] uint obj3, [In] void* obj4, [In] uint obj5); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern int RevertToSelf(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint SetEntriesInAclW( [In] uint obj0, [In] _EXPLICIT_ACCESS_W* obj1, [In] _ACL* obj2, [In] _ACL** obj3); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint SetSecurityInfo( [In] void* obj0, [In] _SE_OBJECT_TYPE obj1, [In] uint obj2, [In] void* obj3, [In] void* obj4, [In] _ACL* obj5, [In] _ACL* obj6); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void* LocalAlloc([In] uint obj0, [In] uint obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint InfoCardStartRpcServer([In] ushort* obj0, [In] _RPCCALLBACKS* obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcCryptoCloseContext([In] void* obj0, [In] ushort* obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint CreateJobObjectHelper([In] void** obj0, [In] void* obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint VerifyTrust([In] ushort* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int SHGetFolderPathW( [In] HWND__* obj0, [In] int obj1, [In] void* obj2, [In] uint obj3, [In] ushort* obj4); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern uint GetLastError(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int DuplicateTokenEx( [In] void* obj0, [In] uint obj1, [In] _SECURITY_ATTRIBUTES* obj2, [In] _SECURITY_IMPERSONATION_LEVEL obj3, [In] _TOKEN_TYPE obj4, [In] void** obj5); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint GetSecurityInfo( [In] void* obj0, [In] _SE_OBJECT_TYPE obj1, [In] uint obj2, [In] void** obj3, [In] void** obj4, [In] _ACL** obj5, [In] _ACL** obj6, [In] void** obj7); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcStringFreeW([In] ushort** obj0); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe uint CreateAndWaitForFileOpenDialog( [In] ushort* obj0, [In] void* obj1, [In] uint obj2, [In] ushort* obj3, [In] ushort* obj4); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern uint AdjustPrivileges([MarshalAs(UnmanagedType.U1)] bool _param0); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int SetHighAssuranceFlags([In] _CERT_CHAIN_CONTEXT* obj0, [In] uint* obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcBindingFree([In] void** obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int GetVersionExW([In] _OSVERSIONINFOW* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int ConvertStringSidToSidW([In] ushort* obj0, [In] void** obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcImpersonateClient([In] void* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int SetTokenInformation( [In] void* obj0, [In] _TOKEN_INFORMATION_CLASS obj1, [In] void* obj2, [In] uint obj3); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int LsaGetLogonSessionData( [In] _LUID* obj0, [In] _SECURITY_LOGON_SESSION_DATA** obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int LsaFreeReturnBuffer([In] void* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void* OpenProcess([In] uint obj0, [In] int obj1, [In] uint obj2); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int EqualSid([In] void* obj0, [In] void* obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void AssertInternal( [MarshalAs(UnmanagedType.U1)] bool _param0, [In] ushort* obj1, [In] sbyte* obj2, [In] int obj3, [MarshalAs(UnmanagedType.U1)] bool _param4); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int GetTokenInformation( [In] void* obj0, [In] _TOKEN_INFORMATION_CLASS obj1, [In] void* obj2, [In] uint obj3, [In] uint* obj4); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int _wcsnicmp([In] ushort* obj0, [In] ushort* obj1, [In] uint obj2); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void MIDL_user_free([In] void* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void* GetCurrentProcess(); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern uint InfoCardStopRpcServer(); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void InfoCardKeyGenZeroAndFree([In] byte* obj0, [In] uint obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcCryptoDispatchRequest( [In] void* obj0, [In] ushort* obj1, [In] _RPC_REQUEST* obj2, [In] _RPC_RESPONSE** obj3); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe _CRYPT_OID_INFO* CryptFindOIDInfo( [In] uint obj0, [In] void* obj1, [In] uint obj2); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcStringBindingComposeW( [In] ushort* obj0, [In] ushort* obj1, [In] ushort* obj2, [In] ushort* obj3, [In] ushort* obj4, [In] ushort** obj5); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int OpenProcessToken([In] void* obj0, [In] uint obj1, [In] void** obj2); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int RpcBindingFromStringBindingW([In] ushort* obj0, [In] void** obj1); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void* _getFiberPtrId(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void _amsg_exit([In] int obj0); [SuppressUnmanagedCodeSecurity] [MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Native)] public static extern void __security_init_cookie(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.StdCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void Sleep([In] uint obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void \u003CCrtImplementationDetails\u003E\u002EThrowModuleLoadException( [In] string obj0, [In] Exception obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void \u003CCrtImplementationDetails\u003E\u002EThrowModuleLoadException( [In] string obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void \u003CCrtImplementationDetails\u003E\u002EDoDllLanguageSupportValidation(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void \u003CCrtImplementationDetails\u003E\u002EThrowNestedModuleLoadException( [In] Exception obj0, [In] Exception obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void \u003CCrtImplementationDetails\u003E\u002ERegisterModuleUninitializer( [In] EventHandler obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void \u003CCrtImplementationDetails\u003E\u002EDoCallBackInDefaultDomain( [In] __FnPtr obj0, [In] void* obj1); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void _cexit(); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void delete([In] void* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.ThisCall, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe void type_info\u002E\u007Bdtor\u007D([In] type_info* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern unsafe int __FrameUnwindFilter([In] _EXCEPTION_POINTERS* obj0); [SuppressUnmanagedCodeSecurity] [DllImport("", EntryPoint = "", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] [MethodImpl(MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native)] public static extern void terminate(); }