// Decompiled with JetBrains decompiler // Type: . // Assembly: a5b7ee8e-cbdf-4eff-9144-efd0c433f3fe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 97CE9FDF-0921-44CB-AE13-1E9A2A550F0F // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975.exe using \u0001; using SmartAssembly.SmartExceptionsCore; using System; using System.Reflection; using System.Runtime.InteropServices; using System.Threading; namespace \u0002 { internal sealed class \u0002 { private static Assembly \u0001; private static string[] \u0001; internal static void \u0003() { try { try { AppDomain.CurrentDomain.ResourceResolve += new ResolveEventHandler(\u0002.\u0002.\u0003); } catch (Exception ex) { } } catch (Exception ex) { throw UnhandledException.\u0003(ex); } } internal static Assembly \u0003([In] object obj0, [In] ResolveEventArgs obj1) { string[] strArray1; string name; int index; try { if ((object) \u0002.\u0002.\u0001 == null) { Monitor.Enter((object) (strArray1 = \u0002.\u0002.\u0001)); try { \u0002.\u0002.\u0001 = Assembly.Load(\u0006.\u0003(18)); if ((object) \u0002.\u0002.\u0001 != null) \u0002.\u0002.\u0001 = \u0002.\u0002.\u0001.GetManifestResourceNames(); } finally { Monitor.Exit((object) strArray1); } } name = obj1.Name; for (index = 0; index < \u0002.\u0002.\u0001.Length; ++index) { if (\u0002.\u0002.\u0001[index] == name) return \u0002.\u0002.\u0001; } return (Assembly) null; } catch (Exception ex) { string str = name; // ISSUE: variable of a boxed type __Boxed local = (ValueType) index; string[] strArray2 = strArray1; object obj = obj0; ResolveEventArgs resolveEventArgs = obj1; throw UnhandledException.\u0003(ex, (object) str, (object) local, (object) strArray2, obj, (object) resolveEventArgs); } } static \u0002() { try { \u0002.\u0002.\u0001 = (Assembly) null; \u0002.\u0002.\u0001 = new string[0]; } catch (Exception ex) { throw UnhandledException.\u0003(ex); } } } }