﻿.class private abstract auto ansi sealed beforefieldinit Costura.AssemblyLoader
extends [mscorlib]System.Object
{
.class abstract auto ansi sealed nested private beforefieldinit '<>O'
extends [mscorlib]System.Object
{
.field public static class [mscorlib]System.ResolveEventHandler '<0>__ResolveAssembly'
}
.field private static object nullCacheLock
.field private static class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool> nullCache
.field private static string tempBasePath
.field private static class [mscorlib]System.Collections.Generic.List`1<string> preloadList
.field private static class [mscorlib]System.Collections.Generic.List`1<string> preloadWinX86List
.field private static class [mscorlib]System.Collections.Generic.List`1<string> preloadWinX64List
.field private static class [mscorlib]System.Collections.Generic.List`1<string> preloadWinArm64List
.field private static class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> checksums
.field private static int32 isAttached
.method private hidebysig static string
CultureToString(class [mscorlib]System.Globalization.CultureInfo culture) cil managed
{
.maxstack  8
IL_0000:  ldarg.0
IL_0001:  brtrue.s   IL_0009
IL_0003:  ldsfld     string [mscorlib]System.String::Empty
IL_0008:  ret
IL_0009:  ldarg.0
IL_000a:  callvirt   instance string [mscorlib]System.Globalization.CultureInfo::get_Name()
IL_000f:  ret
}
.method private hidebysig static class [mscorlib]System.Reflection.Assembly
ReadExistingAssembly(class [mscorlib]System.Reflection.AssemblyName name) cil managed
{
.maxstack  3
.locals init (class [mscorlib]System.AppDomain V_0,
class [mscorlib]System.Reflection.Assembly[] V_1,
class [mscorlib]System.Reflection.Assembly[] V_2,
int32 V_3,
class [mscorlib]System.Reflection.Assembly V_4,
class [mscorlib]System.Reflection.AssemblyName V_5)
IL_0000:  call       class [mscorlib]System.AppDomain [mscorlib]System.AppDomain::get_CurrentDomain()
IL_0005:  stloc.0
IL_0006:  ldloc.0
IL_0007:  callvirt   instance class [mscorlib]System.Reflection.Assembly[] [mscorlib]System.AppDomain::GetAssemblies()
IL_000c:  stloc.1
IL_000d:  ldloc.1
IL_000e:  stloc.2
IL_000f:  ldc.i4.0
IL_0010:  stloc.3
IL_0011:  br.s       IL_005c
IL_0013:  ldloc.2
IL_0014:  ldloc.3
IL_0015:  ldelem.ref
IL_0016:  stloc.s    V_4
IL_0018:  ldloc.s    V_4
IL_001a:  callvirt   instance class [mscorlib]System.Reflection.AssemblyName [mscorlib]System.Reflection.Assembly::GetName()
IL_001f:  stloc.s    V_5
IL_0021:  ldloc.s    V_5
IL_0023:  callvirt   instance string [mscorlib]System.Reflection.AssemblyName::get_Name()
IL_0028:  ldarg.0
IL_0029:  callvirt   instance string [mscorlib]System.Reflection.AssemblyName::get_Name()
IL_002e:  ldc.i4.3
IL_002f:  call       bool [mscorlib]System.String::Equals(string,
string,
valuetype [mscorlib]System.StringComparison)
IL_0034:  brfalse.s  IL_0058
IL_0036:  ldloc.s    V_5
IL_0038:  callvirt   instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Reflection.AssemblyName::get_CultureInfo()
IL_003d:  call       string Costura.AssemblyLoader::CultureToString(class [mscorlib]System.Globalization.CultureInfo)
IL_0042:  ldarg.0
IL_0043:  callvirt   instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Reflection.AssemblyName::get_CultureInfo()
IL_0048:  call       string Costura.AssemblyLoader::CultureToString(class [mscorlib]System.Globalization.CultureInfo)
IL_004d:  ldc.i4.3
IL_004e:  call       bool [mscorlib]System.String::Equals(string,
string,
valuetype [mscorlib]System.StringComparison)
IL_0053:  brfalse.s  IL_0058
IL_0055:  ldloc.s    V_4
IL_0057:  ret
IL_0058:  ldloc.3
IL_0059:  ldc.i4.1
IL_005a:  add
IL_005b:  stloc.3
IL_005c:  ldloc.3
IL_005d:  ldloc.2
IL_005e:  ldlen
IL_005f:  conv.i4
IL_0060:  blt.s      IL_0013
IL_0062:  ldnull
IL_0063:  ret
}
.method private hidebysig static string
GetAssemblyResourceName(class [mscorlib]System.Reflection.AssemblyName requestedAssemblyName) cil managed
{
.maxstack  3
.locals init (string V_0)
IL_0000:  ldarg.0
IL_0001:  callvirt   instance string [mscorlib]System.Reflection.AssemblyName::get_Name()
IL_0006:  callvirt   instance string [mscorlib]System.String::ToLowerInvariant()
IL_000b:  stloc.0
IL_000c:  ldarg.0
IL_000d:  callvirt   instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Reflection.AssemblyName::get_CultureInfo()
IL_0012:  brfalse.s  IL_0042
IL_0014:  ldarg.0
IL_0015:  callvirt   instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Reflection.AssemblyName::get_CultureInfo()
IL_001a:  callvirt   instance string [mscorlib]System.Globalization.CultureInfo::get_Name()
IL_001f:  call       bool [mscorlib]System.String::IsNullOrEmpty(string)
IL_0024:  brtrue.s   IL_0042
IL_0026:  ldarg.0
IL_0027:  callvirt   instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Reflection.AssemblyName::get_CultureInfo()
IL_002c:  call       string Costura.AssemblyLoader::CultureToString(class [mscorlib]System.Globalization.CultureInfo)
IL_0031:  ldstr      "."
IL_0036:  ldloc.0
IL_0037:  call       string [mscorlib]System.String::Concat(string,
string,
string)
IL_003c:  callvirt   instance string [mscorlib]System.String::ToLowerInvariant()
IL_0041:  stloc.0
IL_0042:  ldloc.0
IL_0043:  ret
}
.method private hidebysig static string
GetPlatformName() cil managed
{
.maxstack  2
.locals init (string V_0)
IL_0000:  call       int32 [mscorlib]System.IntPtr::get_Size()
IL_0005:  ldc.i4.8
IL_0006:  beq.s      IL_000f
IL_0008:  ldstr      "86"
IL_000d:  br.s       IL_0014
IL_000f:  ldstr      "64"
IL_0014:  stloc.0
IL_0015:  ldstr      "win-x"
IL_001a:  ldloc.0
IL_001b:  call       string [mscorlib]System.String::Concat(string,
string)
IL_0020:  ret
}
.method private hidebysig static class [mscorlib]System.Reflection.Assembly
ReadFromDiskCache(string tempBasePath,
class [mscorlib]System.Reflection.AssemblyName requestedAssemblyName) cil managed
{
.maxstack  3
.locals init (string V_0,
string V_1,
string V_2)
IL_0000:  ldarg.1
IL_0001:  call       string Costura.AssemblyLoader::GetAssemblyResourceName(class [mscorlib]System.Reflection.AssemblyName)
IL_0006:  stloc.0
IL_0007:  call       string Costura.AssemblyLoader::GetPlatformName()
IL_000c:  stloc.1
IL_000d:  ldarg.0
IL_000e:  ldloc.0
IL_000f:  ldstr      ".dll"
IL_0014:  call       string [mscorlib]System.String::Concat(string,
string)
IL_0019:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_001e:  stloc.2
IL_001f:  ldloc.2
IL_0020:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_0025:  brfalse.s  IL_002e
IL_0027:  ldloc.2
IL_0028:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::LoadFile(string)
IL_002d:  ret
IL_002e:  ldloc.2
IL_002f:  ldstr      "exe"
IL_0034:  call       string [mscorlib]System.IO.Path::ChangeExtension(string,
string)
IL_0039:  stloc.2
IL_003a:  ldloc.2
IL_003b:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_0040:  brfalse.s  IL_0049
IL_0042:  ldloc.2
IL_0043:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::LoadFile(string)
IL_0048:  ret
IL_0049:  ldarg.0
IL_004a:  ldloc.1
IL_004b:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_0050:  ldloc.0
IL_0051:  ldstr      ".dll"
IL_0056:  call       string [mscorlib]System.String::Concat(string,
string)
IL_005b:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_0060:  stloc.2
IL_0061:  ldloc.2
IL_0062:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_0067:  brfalse.s  IL_0070
IL_0069:  ldloc.2
IL_006a:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::LoadFile(string)
IL_006f:  ret
IL_0070:  ldloc.2
IL_0071:  ldstr      "exe"
IL_0076:  call       string [mscorlib]System.IO.Path::ChangeExtension(string,
string)
IL_007b:  stloc.2
IL_007c:  ldloc.2
IL_007d:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_0082:  brfalse.s  IL_008b
IL_0084:  ldloc.2
IL_0085:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::LoadFile(string)
IL_008a:  ret
IL_008b:  ldnull
IL_008c:  ret
}
.method public hidebysig static class [mscorlib]System.Reflection.Assembly
ResolveAssembly(object sender,
class [mscorlib]System.ResolveEventArgs e) cil managed
{
.maxstack  3
.locals init (string V_0,
class [mscorlib]System.Reflection.AssemblyName V_1,
class [mscorlib]System.Reflection.AssemblyName V_2,
class [mscorlib]System.Reflection.Assembly V_3,
object V_4,
bool V_5,
class [mscorlib]System.Reflection.Assembly V_6,
object V_7,
bool V_8)
IL_0000:  ldarg.1
IL_0001:  callvirt   instance string [mscorlib]System.ResolveEventArgs::get_Name()
IL_0006:  stloc.0
IL_0007:  ldloc.0
IL_0008:  newobj     instance void [mscorlib]System.Reflection.AssemblyName::.ctor(string)
IL_000d:  stloc.1
IL_000e:  ldsfld     object Costura.AssemblyLoader::nullCacheLock
IL_0013:  stloc.s    V_4
IL_0015:  ldc.i4.0
IL_0016:  stloc.s    V_5
.try
{
IL_0018:  ldloc.s    V_4
IL_001a:  ldloca.s   V_5
IL_001c:  call       void [mscorlib]System.Threading.Monitor::Enter(object,
bool&)
IL_0021:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool> Costura.AssemblyLoader::nullCache
IL_0026:  ldloc.0
IL_0027:  callvirt   instance bool class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool>::ContainsKey(!0)
IL_002c:  brfalse.s  IL_0033
IL_002e:  ldnull
IL_002f:  stloc.s    V_6
IL_0031:  leave.s    IL_00a7
IL_0033:  leave.s    IL_0041
}  // end .try
finally
{
IL_0035:  ldloc.s    V_5
IL_0037:  brfalse.s  IL_0040
IL_0039:  ldloc.s    V_4
IL_003b:  call       void [mscorlib]System.Threading.Monitor::Exit(object)
IL_0040:  endfinally
}  // end handler
IL_0041:  ldloc.0
IL_0042:  newobj     instance void [mscorlib]System.Reflection.AssemblyName::.ctor(string)
IL_0047:  stloc.2
IL_0048:  ldloc.2
IL_0049:  call       class [mscorlib]System.Reflection.Assembly Costura.AssemblyLoader::ReadExistingAssembly(class [mscorlib]System.Reflection.AssemblyName)
IL_004e:  stloc.3
IL_004f:  ldloc.3
IL_0050:  brfalse.s  IL_0054
IL_0052:  ldloc.3
IL_0053:  ret
IL_0054:  ldsfld     string Costura.AssemblyLoader::tempBasePath
IL_0059:  ldloc.2
IL_005a:  call       class [mscorlib]System.Reflection.Assembly Costura.AssemblyLoader::ReadFromDiskCache(string,
class [mscorlib]System.Reflection.AssemblyName)
IL_005f:  stloc.3
IL_0060:  ldloc.3
IL_0061:  brtrue.s   IL_00a5
IL_0063:  ldsfld     object Costura.AssemblyLoader::nullCacheLock
IL_0068:  stloc.s    V_7
IL_006a:  ldc.i4.0
IL_006b:  stloc.s    V_8
.try
{
IL_006d:  ldloc.s    V_7
IL_006f:  ldloca.s   V_8
IL_0071:  call       void [mscorlib]System.Threading.Monitor::Enter(object,
bool&)
IL_0076:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool> Costura.AssemblyLoader::nullCache
IL_007b:  ldloc.0
IL_007c:  ldc.i4.1
IL_007d:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool>::set_Item(!0,
!1)
IL_0082:  leave.s    IL_0090
}  // end .try
finally
{
IL_0084:  ldloc.s    V_8
IL_0086:  brfalse.s  IL_008f
IL_0088:  ldloc.s    V_7
IL_008a:  call       void [mscorlib]System.Threading.Monitor::Exit(object)
IL_008f:  endfinally
}  // end handler
IL_0090:  ldloc.2
IL_0091:  callvirt   instance valuetype [mscorlib]System.Reflection.AssemblyNameFlags [mscorlib]System.Reflection.AssemblyName::get_Flags()
IL_0096:  ldc.i4     0x100
IL_009b:  and
IL_009c:  brfalse.s  IL_00a5
IL_009e:  ldloc.2
IL_009f:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::Load(class [mscorlib]System.Reflection.AssemblyName)
IL_00a4:  stloc.3
IL_00a5:  ldloc.3
IL_00a6:  ret
IL_00a7:  ldloc.s    V_6
IL_00a9:  ret
}
.method private hidebysig specialname rtspecialname static
void  .cctor() cil managed
{
.maxstack  3
IL_0000:  newobj     instance void [mscorlib]System.Object::.ctor()
IL_0005:  stsfld     object Costura.AssemblyLoader::nullCacheLock
IL_000a:  newobj     instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool>::.ctor()
IL_000f:  stsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,bool> Costura.AssemblyLoader::nullCache
IL_0014:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1<string>::.ctor()
IL_0019:  stsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_001e:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1<string>::.ctor()
IL_0023:  stsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadWinX86List
IL_0028:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1<string>::.ctor()
IL_002d:  stsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadWinX64List
IL_0032:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1<string>::.ctor()
IL_0037:  stsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadWinArm64List
IL_003c:  newobj     instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::.ctor()
IL_0041:  stsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_0046:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_004b:  ldstr      "costura.assemblytoreference.dll.compressed"
IL_0050:  ldstr      "[CHECKSUM]"
IL_0055:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_005a:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_005f:  ldstr      "costura.assemblytoreference.pdb.compressed"
IL_0064:  ldstr      "[CHECKSUM]"
IL_0069:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_006e:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_0073:  ldstr      "costura.assemblytoreferencepreembedded.dll"
IL_0078:  ldstr      "[CHECKSUM]"
IL_007d:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_0082:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_0087:  ldstr      "costura.assemblytoreferencepreembedded.pdb.compres"
+ "sed"
IL_008c:  ldstr      "[CHECKSUM]"
IL_0091:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_0096:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_009b:  ldstr      "costura.exetoreference.exe.compressed"
IL_00a0:  ldstr      "[CHECKSUM]"
IL_00a5:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_00aa:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_00af:  ldstr      "costura.exetoreference.pdb.compressed"
IL_00b4:  ldstr      "[CHECKSUM]"
IL_00b9:  callvirt   instance void class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::Add(!0,
!1)
IL_00be:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00c3:  ldstr      "costura.assemblytoreference.dll.compressed"
IL_00c8:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_00cd:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00d2:  ldstr      "costura.assemblytoreference.pdb.compressed"
IL_00d7:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_00dc:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00e1:  ldstr      "costura.assemblytoreferencepreembedded.dll"
IL_00e6:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_00eb:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00f0:  ldstr      "costura.assemblytoreferencepreembedded.pdb.compres"
+ "sed"
IL_00f5:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_00fa:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00ff:  ldstr      "costura.exetoreference.exe.compressed"
IL_0104:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_0109:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_010e:  ldstr      "costura.exetoreference.pdb.compressed"
IL_0113:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::Add(!0)
IL_0118:  ret
}
.method private hidebysig static class [mscorlib]System.Collections.Generic.List`1<string>
GetUnmanagedAssemblies() cil managed
{
.maxstack  8
IL_0000:  call       int32 [mscorlib]System.IntPtr::get_Size()
IL_0005:  ldc.i4.8
IL_0006:  beq.s      IL_000e
IL_0008:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadWinX86List
IL_000d:  ret
IL_000e:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadWinX64List
IL_0013:  ret
}
.method private hidebysig static void  CreateDirectory(string tempBasePath) cil managed
{
.maxstack  8
IL_0000:  ldarg.0
IL_0001:  call       bool [mscorlib]System.IO.Directory::Exists(string)
IL_0006:  brtrue.s   IL_000f
IL_0008:  ldarg.0
IL_0009:  call       class [mscorlib]System.IO.DirectoryInfo [mscorlib]System.IO.Directory::CreateDirectory(string)
IL_000e:  pop
IL_000f:  ret
}
.method private hidebysig static string
ResourceNameToPath(string lib) cil managed
{
.maxstack  4
.locals init (string V_0,
string V_1,
string V_2,
string V_3)
IL_0000:  call       string Costura.AssemblyLoader::GetPlatformName()
IL_0005:  stloc.0
IL_0006:  ldarg.0
IL_0007:  stloc.1
IL_0008:  ldstr      "costura-"
IL_000d:  ldloc.0
IL_000e:  ldstr      "."
IL_0013:  call       string [mscorlib]System.String::Concat(string,
string,
string)
IL_0018:  ldstr      "-"
IL_001d:  ldstr      "_"
IL_0022:  callvirt   instance string [mscorlib]System.String::Replace(string,
string)
IL_0027:  stloc.2
IL_0028:  ldstr      "costura."
IL_002d:  stloc.3
IL_002e:  ldarg.0
IL_002f:  ldloc.2
IL_0030:  callvirt   instance bool [mscorlib]System.String::StartsWith(string)
IL_0035:  brfalse.s  IL_004c
IL_0037:  ldloc.0
IL_0038:  ldarg.0
IL_0039:  ldloc.2
IL_003a:  callvirt   instance int32 [mscorlib]System.String::get_Length()
IL_003f:  callvirt   instance string [mscorlib]System.String::Substring(int32)
IL_0044:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_0049:  stloc.1
IL_004a:  br.s       IL_0062
IL_004c:  ldarg.0
IL_004d:  ldloc.3
IL_004e:  callvirt   instance bool [mscorlib]System.String::StartsWith(string)
IL_0053:  brfalse.s  IL_0062
IL_0055:  ldarg.0
IL_0056:  ldloc.3
IL_0057:  callvirt   instance int32 [mscorlib]System.String::get_Length()
IL_005c:  callvirt   instance string [mscorlib]System.String::Substring(int32)
IL_0061:  stloc.1
IL_0062:  ldloc.1
IL_0063:  ldstr      ".compressed"
IL_0068:  callvirt   instance bool [mscorlib]System.String::EndsWith(string)
IL_006d:  brfalse.s  IL_0080
IL_006f:  ldloc.1
IL_0070:  ldc.i4.0
IL_0071:  ldloc.1
IL_0072:  callvirt   instance int32 [mscorlib]System.String::get_Length()
IL_0077:  ldc.i4.s   11
IL_0079:  sub
IL_007a:  callvirt   instance string [mscorlib]System.String::Substring(int32,
int32)
IL_007f:  stloc.1
IL_0080:  ldloc.1
IL_0081:  ret
}
.method private hidebysig static string
CalculateChecksum(string filename) cil managed
{
.maxstack  4
.locals init (class [mscorlib]System.IO.FileStream V_0,
class [mscorlib]System.IO.BufferedStream V_1,
class [mscorlib]System.Security.Cryptography.SHA1 V_2,
uint8[] V_3,
class [mscorlib]System.Text.StringBuilder V_4,
uint8[] V_5,
int32 V_6,
uint8 V_7,
string V_8)
IL_0000:  ldarg.0
IL_0001:  ldc.i4.3
IL_0002:  ldc.i4.1
IL_0003:  ldc.i4.7
IL_0004:  newobj     instance void [mscorlib]System.IO.FileStream::.ctor(string,
valuetype [mscorlib]System.IO.FileMode,
valuetype [mscorlib]System.IO.FileAccess,
valuetype [mscorlib]System.IO.FileShare)
IL_0009:  stloc.0
.try
{
IL_000a:  ldloc.0
IL_000b:  newobj     instance void [mscorlib]System.IO.BufferedStream::.ctor(class [mscorlib]System.IO.Stream)
IL_0010:  stloc.1
.try
{
IL_0011:  call       class [mscorlib]System.Security.Cryptography.SHA1 [mscorlib]System.Security.Cryptography.SHA1::Create()
IL_0016:  stloc.2
.try
{
IL_0017:  ldloc.2
IL_0018:  ldloc.1
IL_0019:  callvirt   instance uint8[] [mscorlib]System.Security.Cryptography.HashAlgorithm::ComputeHash(class [mscorlib]System.IO.Stream)
IL_001e:  stloc.3
IL_001f:  ldc.i4.2
IL_0020:  ldloc.3
IL_0021:  ldlen
IL_0022:  conv.i4
IL_0023:  mul
IL_0024:  newobj     instance void [mscorlib]System.Text.StringBuilder::.ctor(int32)
IL_0029:  stloc.s    V_4
IL_002b:  ldloc.3
IL_002c:  stloc.s    V_5
IL_002e:  ldc.i4.0
IL_002f:  stloc.s    V_6
IL_0031:  br.s       IL_0054
IL_0033:  ldloc.s    V_5
IL_0035:  ldloc.s    V_6
IL_0037:  ldelem.u1
IL_0038:  stloc.s    V_7
IL_003a:  ldloc.s    V_4
IL_003c:  ldstr      "{0:X2}"
IL_0041:  ldloc.s    V_7
IL_0043:  box        [mscorlib]System.Byte
IL_0048:  callvirt   instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::AppendFormat(string,
object)
IL_004d:  pop
IL_004e:  ldloc.s    V_6
IL_0050:  ldc.i4.1
IL_0051:  add
IL_0052:  stloc.s    V_6
IL_0054:  ldloc.s    V_6
IL_0056:  ldloc.s    V_5
IL_0058:  ldlen
IL_0059:  conv.i4
IL_005a:  blt.s      IL_0033
IL_005c:  ldloc.s    V_4
IL_005e:  callvirt   instance string [mscorlib]System.Object::ToString()
IL_0063:  stloc.s    V_8
IL_0065:  leave.s    IL_0085
}  // end .try
finally
{
IL_0067:  ldloc.2
IL_0068:  brfalse.s  IL_0070
IL_006a:  ldloc.2
IL_006b:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0070:  endfinally
}  // end handler
}  // end .try
finally
{
IL_0071:  ldloc.1
IL_0072:  brfalse.s  IL_007a
IL_0074:  ldloc.1
IL_0075:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_007a:  endfinally
}  // end handler
}  // end .try
finally
{
IL_007b:  ldloc.0
IL_007c:  brfalse.s  IL_0084
IL_007e:  ldloc.0
IL_007f:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0084:  endfinally
}  // end handler
IL_0085:  ldloc.s    V_8
IL_0087:  ret
}
.method private hidebysig static void  CopyTo(class [mscorlib]System.IO.Stream source,
class [mscorlib]System.IO.Stream destination) cil managed
{
.maxstack  4
.locals init (uint8[] V_0,
int32 V_1)
IL_0000:  ldc.i4     0x14000
IL_0005:  newarr     [mscorlib]System.Byte
IL_000a:  stloc.0
IL_000b:  br.s       IL_0016
IL_000d:  ldarg.1
IL_000e:  ldloc.0
IL_000f:  ldc.i4.0
IL_0010:  ldloc.1
IL_0011:  callvirt   instance void [mscorlib]System.IO.Stream::Write(uint8[],
int32,
int32)
IL_0016:  ldarg.0
IL_0017:  ldloc.0
IL_0018:  ldc.i4.0
IL_0019:  ldloc.0
IL_001a:  ldlen
IL_001b:  conv.i4
IL_001c:  callvirt   instance int32 [mscorlib]System.IO.Stream::Read(uint8[],
int32,
int32)
IL_0021:  dup
IL_0022:  stloc.1
IL_0023:  brtrue.s   IL_000d
IL_0025:  ret
}
.method private hidebysig static class [mscorlib]System.IO.Stream
LoadStream(string fullName) cil managed
{
.maxstack  2
.locals init (class [mscorlib]System.Reflection.Assembly V_0,
class [mscorlib]System.IO.Stream V_1,
class [System]System.IO.Compression.DeflateStream V_2,
class [mscorlib]System.IO.MemoryStream V_3,
class [mscorlib]System.IO.Stream V_4)
IL_0000:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::GetExecutingAssembly()
IL_0005:  stloc.0
IL_0006:  ldarg.0
IL_0007:  ldstr      ".compressed"
IL_000c:  callvirt   instance bool [mscorlib]System.String::EndsWith(string)
IL_0011:  brfalse.s  IL_0051
IL_0013:  ldloc.0
IL_0014:  ldarg.0
IL_0015:  callvirt   instance class [mscorlib]System.IO.Stream [mscorlib]System.Reflection.Assembly::GetManifestResourceStream(string)
IL_001a:  stloc.1
.try
{
IL_001b:  ldloc.1
IL_001c:  ldc.i4.0
IL_001d:  newobj     instance void [System]System.IO.Compression.DeflateStream::.ctor(class [mscorlib]System.IO.Stream,
valuetype [System]System.IO.Compression.CompressionMode)
IL_0022:  stloc.2
.try
{
IL_0023:  newobj     instance void [mscorlib]System.IO.MemoryStream::.ctor()
IL_0028:  stloc.3
IL_0029:  ldloc.2
IL_002a:  ldloc.3
IL_002b:  call       void Costura.AssemblyLoader::CopyTo(class [mscorlib]System.IO.Stream,
class [mscorlib]System.IO.Stream)
IL_0030:  ldloc.3
IL_0031:  ldc.i4.0
IL_0032:  conv.i8
IL_0033:  callvirt   instance void [mscorlib]System.IO.Stream::set_Position(int64)
IL_0038:  ldloc.3
IL_0039:  stloc.s    V_4
IL_003b:  leave.s    IL_0059
}  // end .try
finally
{
IL_003d:  ldloc.2
IL_003e:  brfalse.s  IL_0046
IL_0040:  ldloc.2
IL_0041:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0046:  endfinally
}  // end handler
}  // end .try
finally
{
IL_0047:  ldloc.1
IL_0048:  brfalse.s  IL_0050
IL_004a:  ldloc.1
IL_004b:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0050:  endfinally
}  // end handler
IL_0051:  ldloc.0
IL_0052:  ldarg.0
IL_0053:  callvirt   instance class [mscorlib]System.IO.Stream [mscorlib]System.Reflection.Assembly::GetManifestResourceStream(string)
IL_0058:  ret
IL_0059:  ldloc.s    V_4
IL_005b:  ret
}
.method private hidebysig static pinvokeimpl("kernel32.dll" winapi)
uint32  SetErrorMode(uint32 uMode) cil managed preservesig
{
}
.method private hidebysig static pinvokeimpl("kernel32" unicode lasterr winapi)
native int  LoadLibraryEx(string lpFileName,
native int hReservedNull,
uint32 dwFlags) cil managed preservesig
{
}
.method private hidebysig static void  InternalPreloadUnmanagedLibraries(string tempBasePath,
class [mscorlib]System.Collections.Generic.IList`1<string> libs,
class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> checksums) cil managed
{
.maxstack  3
.locals init (string V_0,
uint32 V_1,
uint32 V_2,
class [mscorlib]System.Collections.Generic.IEnumerator`1<string> V_3,
string V_4,
string V_5,
string V_6,
class [mscorlib]System.IO.Stream V_7,
class [mscorlib]System.IO.FileStream V_8,
class [mscorlib]System.Collections.Generic.IEnumerator`1<string> V_9,
string V_10,
string V_11)
IL_0000:  ldarg.1
IL_0001:  callvirt   instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<string>::GetEnumerator()
IL_0006:  stloc.3
.try
{
IL_0007:  br         IL_008d
IL_000c:  ldloc.3
IL_000d:  callvirt   instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<string>::get_Current()
IL_0012:  stloc.s    V_4
IL_0014:  ldloc.s    V_4
IL_0016:  call       string Costura.AssemblyLoader::ResourceNameToPath(string)
IL_001b:  stloc.0
IL_001c:  ldarg.0
IL_001d:  ldloc.0
IL_001e:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_0023:  stloc.s    V_5
IL_0025:  ldloc.s    V_5
IL_0027:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_002c:  brfalse.s  IL_004f
IL_002e:  ldloc.s    V_5
IL_0030:  call       string Costura.AssemblyLoader::CalculateChecksum(string)
IL_0035:  stloc.s    V_6
IL_0037:  ldloc.s    V_6
IL_0039:  ldarg.2
IL_003a:  ldloc.s    V_4
IL_003c:  callvirt   instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>::get_Item(!0)
IL_0041:  call       bool [mscorlib]System.String::op_Inequality(string,
string)
IL_0046:  brfalse.s  IL_004f
IL_0048:  ldloc.s    V_5
IL_004a:  call       void [mscorlib]System.IO.File::Delete(string)
IL_004f:  ldloc.s    V_5
IL_0051:  call       bool [mscorlib]System.IO.File::Exists(string)
IL_0056:  brtrue.s   IL_008d
IL_0058:  ldloc.s    V_4
IL_005a:  call       class [mscorlib]System.IO.Stream Costura.AssemblyLoader::LoadStream(string)
IL_005f:  stloc.s    V_7
.try
{
IL_0061:  ldloc.s    V_5
IL_0063:  call       class [mscorlib]System.IO.FileStream [mscorlib]System.IO.File::OpenWrite(string)
IL_0068:  stloc.s    V_8
.try
{
IL_006a:  ldloc.s    V_7
IL_006c:  ldloc.s    V_8
IL_006e:  call       void Costura.AssemblyLoader::CopyTo(class [mscorlib]System.IO.Stream,
class [mscorlib]System.IO.Stream)
IL_0073:  leave.s    IL_008d
}  // end .try
finally
{
IL_0075:  ldloc.s    V_8
IL_0077:  brfalse.s  IL_0080
IL_0079:  ldloc.s    V_8
IL_007b:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0080:  endfinally
}  // end handler
}  // end .try
finally
{
IL_0081:  ldloc.s    V_7
IL_0083:  brfalse.s  IL_008c
IL_0085:  ldloc.s    V_7
IL_0087:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_008c:  endfinally
}  // end handler
IL_008d:  ldloc.3
IL_008e:  callvirt   instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_0093:  brtrue     IL_000c
IL_0098:  leave.s    IL_00a4
}  // end .try
finally
{
IL_009a:  ldloc.3
IL_009b:  brfalse.s  IL_00a3
IL_009d:  ldloc.3
IL_009e:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_00a3:  endfinally
}  // end handler
IL_00a4:  ldc.i4     0x8003
IL_00a9:  stloc.1
IL_00aa:  ldloc.1
IL_00ab:  call       uint32 Costura.AssemblyLoader::SetErrorMode(uint32)
IL_00b0:  stloc.2
IL_00b1:  ldarg.1
IL_00b2:  callvirt   instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<string>::GetEnumerator()
IL_00b7:  stloc.s    V_9
.try
{
IL_00b9:  br.s       IL_00f0
IL_00bb:  ldloc.s    V_9
IL_00bd:  callvirt   instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<string>::get_Current()
IL_00c2:  stloc.s    V_10
IL_00c4:  ldloc.s    V_10
IL_00c6:  call       string Costura.AssemblyLoader::ResourceNameToPath(string)
IL_00cb:  stloc.0
IL_00cc:  ldloc.0
IL_00cd:  ldstr      ".dll"
IL_00d2:  callvirt   instance bool [mscorlib]System.String::EndsWith(string)
IL_00d7:  brfalse.s  IL_00f0
IL_00d9:  ldarg.0
IL_00da:  ldloc.0
IL_00db:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_00e0:  stloc.s    V_11
IL_00e2:  ldloc.s    V_11
IL_00e4:  ldsfld     native int [mscorlib]System.IntPtr::Zero
IL_00e9:  ldc.i4.8
IL_00ea:  call       native int Costura.AssemblyLoader::LoadLibraryEx(string,
native int,
uint32)
IL_00ef:  pop
IL_00f0:  ldloc.s    V_9
IL_00f2:  callvirt   instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_00f7:  brtrue.s   IL_00bb
IL_00f9:  leave.s    IL_0107
}  // end .try
finally
{
IL_00fb:  ldloc.s    V_9
IL_00fd:  brfalse.s  IL_0106
IL_00ff:  ldloc.s    V_9
IL_0101:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_0106:  endfinally
}  // end handler
IL_0107:  ldloc.2
IL_0108:  call       uint32 Costura.AssemblyLoader::SetErrorMode(uint32)
IL_010d:  pop
IL_010e:  ret
}
.method private hidebysig static void  PreloadUnmanagedLibraries(string hash,
string tempBasePath,
class [mscorlib]System.Collections.Generic.List`1<string> libs,
class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> checksums) cil managed
{
.maxstack  3
.locals init (string V_0,
class [mscorlib]System.Threading.Mutex V_1,
bool V_2,
string V_3,
string V_4)
IL_0000:  ldstr      "Costura"
IL_0005:  ldarg.0
IL_0006:  call       string [mscorlib]System.String::Concat(string,
string)
IL_000b:  stloc.0
IL_000c:  ldc.i4.0
IL_000d:  ldloc.0
IL_000e:  newobj     instance void [mscorlib]System.Threading.Mutex::.ctor(bool,
string)
IL_0013:  stloc.1
.try
{
IL_0014:  ldc.i4.0
IL_0015:  stloc.2
.try
{
.try
{
IL_0016:  ldloc.1
IL_0017:  ldc.i4     0xea60
IL_001c:  ldc.i4.0
IL_001d:  callvirt   instance bool [mscorlib]System.Threading.WaitHandle::WaitOne(int32,
bool)
IL_0022:  stloc.2
IL_0023:  ldloc.2
IL_0024:  brtrue.s   IL_0031
IL_0026:  ldstr      "Timeout waiting for exclusive access"
IL_002b:  newobj     instance void [mscorlib]System.TimeoutException::.ctor(string)
IL_0030:  throw
IL_0031:  leave.s    IL_0038
}  // end .try
catch [mscorlib]System.Threading.AbandonedMutexException
{
IL_0033:  pop
IL_0034:  ldc.i4.1
IL_0035:  stloc.2
IL_0036:  leave.s    IL_0038
}  // end handler
IL_0038:  call       string Costura.AssemblyLoader::GetPlatformName()
IL_003d:  stloc.3
IL_003e:  ldarg.1
IL_003f:  ldloc.3
IL_0040:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_0045:  stloc.s    V_4
IL_0047:  ldloc.s    V_4
IL_0049:  call       void Costura.AssemblyLoader::CreateDirectory(string)
IL_004e:  ldarg.1
IL_004f:  ldarg.2
IL_0050:  ldarg.3
IL_0051:  call       void Costura.AssemblyLoader::InternalPreloadUnmanagedLibraries(string,
class [mscorlib]System.Collections.Generic.IList`1<string>,
class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>)
IL_0056:  leave.s    IL_006c
}  // end .try
finally
{
IL_0058:  ldloc.2
IL_0059:  brfalse.s  IL_0061
IL_005b:  ldloc.1
IL_005c:  callvirt   instance void [mscorlib]System.Threading.Mutex::ReleaseMutex()
IL_0061:  endfinally
}  // end handler
}  // end .try
finally
{
IL_0062:  ldloc.1
IL_0063:  brfalse.s  IL_006b
IL_0065:  ldloc.1
IL_0066:  callvirt   instance void [mscorlib]System.IDisposable::Dispose()
IL_006b:  endfinally
}  // end handler
IL_006c:  ret
}
.method public hidebysig static void  Attach(bool subscribe) cil managed
{
.maxstack  4
.locals init (class [mscorlib]System.AppDomain V_0,
object V_1,
class [mscorlib]System.Reflection.PropertyInfo V_2,
string V_3,
string V_4,
class [mscorlib]System.Collections.Generic.List`1<string> V_5,
class [mscorlib]System.Collections.Generic.List`1<string> V_6,
class [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute V_7,
string V_8)
IL_0000:  ldsflda    int32 Costura.AssemblyLoader::isAttached
IL_0005:  ldc.i4.1
IL_0006:  call       int32 [mscorlib]System.Threading.Interlocked::Exchange(int32&,
int32)
IL_000b:  ldc.i4.1
IL_000c:  bne.un.s   IL_000f
IL_000e:  ret
IL_000f:  call       class [mscorlib]System.AppDomain [mscorlib]System.AppDomain::get_CurrentDomain()
IL_0014:  stloc.0
IL_0015:  ldloc.0
IL_0016:  callvirt   instance class [mscorlib]System.Type [mscorlib]System.AppDomain::GetType()
IL_001b:  dup
IL_001c:  brtrue.s   IL_0022
IL_001e:  pop
IL_001f:  ldnull
IL_0020:  br.s       IL_0039
IL_0022:  ldstr      "SetupInformation"
IL_0027:  call       instance class [mscorlib]System.Reflection.PropertyInfo [mscorlib]System.Type::GetProperty(string)
IL_002c:  dup
IL_002d:  brtrue.s   IL_0033
IL_002f:  pop
IL_0030:  ldnull
IL_0031:  br.s       IL_0039
IL_0033:  ldloc.0
IL_0034:  call       instance object [mscorlib]System.Reflection.PropertyInfo::GetValue(object)
IL_0039:  stloc.1
IL_003a:  ldloc.1
IL_003b:  brtrue.s   IL_0040
IL_003d:  ldnull
IL_003e:  br.s       IL_0057
IL_0040:  ldloc.1
IL_0041:  call       instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
IL_0046:  dup
IL_0047:  brtrue.s   IL_004d
IL_0049:  pop
IL_004a:  ldnull
IL_004b:  br.s       IL_0057
IL_004d:  ldstr      "TargetFrameworkName"
IL_0052:  call       instance class [mscorlib]System.Reflection.PropertyInfo [mscorlib]System.Type::GetProperty(string)
IL_0057:  stloc.2
IL_0058:  ldloc.2
IL_0059:  brfalse.s  IL_00a7
IL_005b:  ldloc.2
IL_005c:  ldloc.1
IL_005d:  callvirt   instance object [mscorlib]System.Reflection.PropertyInfo::GetValue(object)
IL_0062:  brtrue.s   IL_00a7
IL_0064:  call       class [mscorlib]System.Reflection.Assembly [mscorlib]System.Reflection.Assembly::GetCallingAssembly()
IL_0069:  dup
IL_006a:  brtrue.s   IL_0070
IL_006c:  pop
IL_006d:  ldnull
IL_006e:  br.s       IL_007f
IL_0070:  ldtoken    [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute
IL_0075:  call       class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
IL_007a:  call       class [mscorlib]System.Attribute [mscorlib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute(class [mscorlib]System.Reflection.Assembly,
class [mscorlib]System.Type)
IL_007f:  castclass  [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute
IL_0084:  stloc.s    V_7
IL_0086:  ldloc.s    V_7
IL_0088:  brtrue.s   IL_008d
IL_008a:  ldnull
IL_008b:  br.s       IL_0094
IL_008d:  ldloc.s    V_7
IL_008f:  call       instance string [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::get_FrameworkName()
IL_0094:  stloc.s    V_8
IL_0096:  ldloc.s    V_8
IL_0098:  brfalse.s  IL_00a7
IL_009a:  ldloc.0
IL_009b:  ldstr      "TargetFrameworkName"
IL_00a0:  ldloc.s    V_8
IL_00a2:  callvirt   instance void [mscorlib]System.AppDomain::SetData(string,
object)
IL_00a7:  ldstr      "[CHECKSUM]"
IL_00ac:  stloc.3
IL_00ad:  call       string [mscorlib]System.IO.Path::GetTempPath()
IL_00b2:  ldstr      "Costura"
IL_00b7:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_00bc:  stloc.s    V_4
IL_00be:  ldloc.s    V_4
IL_00c0:  ldloc.3
IL_00c1:  call       string [mscorlib]System.IO.Path::Combine(string,
string)
IL_00c6:  stsfld     string Costura.AssemblyLoader::tempBasePath
IL_00cb:  call       class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::GetUnmanagedAssemblies()
IL_00d0:  stloc.s    V_5
IL_00d2:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1<string>::.ctor()
IL_00d7:  stloc.s    V_6
IL_00d9:  ldloc.s    V_6
IL_00db:  ldloc.s    V_5
IL_00dd:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::AddRange(class [mscorlib]System.Collections.Generic.IEnumerable`1<!0>)
IL_00e2:  ldloc.s    V_6
IL_00e4:  ldsfld     class [mscorlib]System.Collections.Generic.List`1<string> Costura.AssemblyLoader::preloadList
IL_00e9:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1<string>::AddRange(class [mscorlib]System.Collections.Generic.IEnumerable`1<!0>)
IL_00ee:  ldloc.3
IL_00ef:  ldsfld     string Costura.AssemblyLoader::tempBasePath
IL_00f4:  ldloc.s    V_6
IL_00f6:  ldsfld     class [mscorlib]System.Collections.Generic.Dictionary`2<string,string> Costura.AssemblyLoader::checksums
IL_00fb:  call       void Costura.AssemblyLoader::PreloadUnmanagedLibraries(string,
string,
class [mscorlib]System.Collections.Generic.List`1<string>,
class [mscorlib]System.Collections.Generic.Dictionary`2<string,string>)
IL_0100:  ldarg.0
IL_0101:  brfalse.s  IL_0124
IL_0103:  ldloc.0
IL_0104:  ldsfld     class [mscorlib]System.ResolveEventHandler Costura.AssemblyLoader/'<>O'::'<0>__ResolveAssembly'
IL_0109:  dup
IL_010a:  brtrue.s   IL_011f
IL_010c:  pop
IL_010d:  ldnull
IL_010e:  ldftn      class [mscorlib]System.Reflection.Assembly Costura.AssemblyLoader::ResolveAssembly(object,
class [mscorlib]System.ResolveEventArgs)
IL_0114:  newobj     instance void [mscorlib]System.ResolveEventHandler::.ctor(object,
native int)
IL_0119:  dup
IL_011a:  stsfld     class [mscorlib]System.ResolveEventHandler Costura.AssemblyLoader/'<>O'::'<0>__ResolveAssembly'
IL_011f:  callvirt   instance void [mscorlib]System.AppDomain::add_AssemblyResolve(class [mscorlib]System.ResolveEventHandler)
IL_0124:  ret
}
}