// Decompiled with JetBrains decompiler
// Type: ___codefort.
// Assembly: syncui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 78CA5C80-4468-4951-96CD-AAE77DEC3305
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Trojan.MSIL.Crypt.hixz-2c5e5faaed4f224f916102058544604c85e25aea75846857f578c0af84bc5c75.exe

using System;
using System.Collections;
using System.IO;
using System.IO.Compression;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.InteropServices;
using System.Text;

namespace ___codefort
{
  internal sealed class \u0002\u0004
  {
    public static bool \u0003\u0001\u0009([In] object obj0) => ((IEnumerator) obj0).MoveNext();

    public static void \u0003\u0001\u0013([In] object obj0) => ((IDisposable) obj0).Dispose();

    public static Type \u0003\u0001\u0012([In] RuntimeTypeHandle obj0) => Type.GetTypeFromHandle(obj0);

    public static string \u0003\u0001\u0015([In] ref object obj0) => __nonvirtual (obj0.ToString());

    public static string \u0003\u0001\u0014([In] string obj0, [In] string obj1) => obj0 + obj1;

    public static FieldInfo \u0003\u0001\u0017(
      [In] object obj0,
      [In] string obj1,
      [In] BindingFlags obj2)
    {
      return ((Type) obj0).GetField(obj1, obj2);
    }

    public static object \u0003\u0001\u0016([In] object obj0, [In] object obj1) => ((FieldInfo) obj0).GetValue(obj1);

    public static string \u0003\u0001\u0002([In] string obj0, [In] string obj1, [In] string obj2, [In] string obj3) => obj0 + obj1 + obj2 + obj3;

    public static Exception \u0003\u0001\u0001([In] string obj0) => new Exception(obj0);

    public static string \u0003\u0001\u0004([In] ref object obj0) => obj0.Name;

    public static string \u0003\u0001\u0003([In] object obj0) => Convert.ToString(obj0);

    public static string \u0003\u0001\u0006([In] string[] obj0) => string.Concat(obj0);

    public static string[] \u0003\u0001\u0005([In] object obj0, [In] char[] obj1) => ((string) obj0).Split(obj1);

    public static StringBuilder \u0003\u0001\u0008() => new StringBuilder();

    public static StringBuilder \u0003\u0001\u0007([In] object obj0, [In] string obj1) => ((StringBuilder) obj0).Append(obj1);

    public static string \u0003\u0008\u000A([In] object obj0, [In] int obj1, [In] int obj2) => ((string) obj0).Substring(obj1, obj2);

    public static string \u0003\u0008\u0009([In] object obj0) => ((string) obj0).ToUpper();

    public static int \u0003\u0008\u0013([In] object obj0) => ((string) obj0).Length;

    public static string \u0003\u0008\u0012([In] object obj0, [In] int obj1) => ((string) obj0).Substring(obj1);

    public static MethodInfo \u0003\u0008\u0015([In] object obj0, [In] string obj1) => ((Type) obj0).GetMethod(obj1);

    public static object \u0003\u0008\u0014([In] object obj0, [In] object obj1, [In] object[] obj2) => ((MethodBase) obj0).Invoke(obj1, obj2);

    public static Assembly \u0003\u0008\u0017() => Assembly.GetExecutingAssembly();

    public static Stream \u0003\u0008\u0016([In] object obj0, [In] string obj1) => ((Assembly) obj0).GetManifestResourceStream(obj1);

    public static MemoryStream \u0003\u0008\u0002([In] byte[] obj0) => new MemoryStream(obj0);

    public static BinaryReader \u0003\u0008\u0001([In] Stream obj0) => new BinaryReader(obj0);

    public static int \u0003\u0008\u0004([In] object obj0) => ((BinaryReader) obj0).ReadInt32();

    public static byte[] \u0003\u0008\u0003([In] object obj0, [In] int obj1) => ((BinaryReader) obj0).ReadBytes(obj1);

    public static double \u0003\u0008\u0006([In] double obj0) => Math.Atan(obj0);

    public static double \u0003\u0008\u0005([In] double obj0) => Math.Ceiling(obj0);

    public static Stream \u0003\u0008\u0008([In] object obj0) => ((BinaryReader) obj0).BaseStream;

    public static long \u0003\u0008\u0007([In] object obj0) => ((Stream) obj0).Length;

    public static long \u0003\u0007\u000A([In] object obj0) => ((Stream) obj0).Position;

    public static ConstructorInfo \u0003\u0007\u0009([In] object obj0, [In] Type[] obj1) => ((Type) obj0).GetConstructor(obj1);

    public static object \u0003\u0007\u0013([In] object obj0, [In] object[] obj1) => ((ConstructorInfo) obj0).Invoke(obj1);

    public static GZipStream \u0003\u0007\u0012([In] Stream obj0, [In] CompressionMode obj1) => new GZipStream(obj0, obj1);

    public static int \u0003\u0007\u0015([In] object obj0, [In] byte[] obj1, [In] int obj2, [In] int obj3) => ((Stream) obj0).Read(obj1, obj2, obj3);

    public static void \u0003\u0007\u0014([In] object obj0) => ((Stream) obj0).Close();

    public static void \u0003\u0007\u0017([In] object obj0, [In] byte[] obj1, [In] int obj2, [In] int obj3) => ((Stream) obj0).Write(obj1, obj2, obj3);

    public static AppDomain \u0003\u0007\u0016() => AppDomain.CurrentDomain;

    public static AssemblyName \u0003\u0007\u0002([In] string obj0) => new AssemblyName(obj0);

    public static AssemblyBuilder \u0003\u0007\u0001(
      [In] object obj0,
      [In] AssemblyName obj1,
      [In] AssemblyBuilderAccess obj2)
    {
      return ((AppDomain) obj0).DefineDynamicAssembly(obj1, obj2);
    }

    public static ModuleBuilder \u0003\u0007\u0004([In] object obj0, [In] string obj1) => ((AssemblyBuilder) obj0).DefineDynamicModule(obj1);

    public static Type \u0003\u0007\u0003([In] object obj0) => ((TypeBuilder) obj0).CreateType();

    public static Type \u0003\u0007\u0006([In] object obj0, [In] string obj1) => ((Assembly) obj0).GetType(obj1);

    public static object \u0003\u0007\u0005([In] object obj0, [In] string obj1) => ((Assembly) obj0).CreateInstance(obj1);

    public static TypeBuilder \u0003\u0007\u0008(
      [In] object obj0,
      [In] string obj1,
      [In] TypeAttributes obj2)
    {
      return ((ModuleBuilder) obj0).DefineType(obj1, obj2);
    }

    public static TypeBuilder \u0003\u0007\u0007(
      [In] object obj0,
      [In] string obj1,
      [In] TypeAttributes obj2,
      [In] Type obj3)
    {
      return ((ModuleBuilder) obj0).DefineType(obj1, obj2, obj3);
    }

    public static ConstructorBuilder \u0003\u0006\u000A(
      [In] object obj0,
      [In] MethodAttributes obj1,
      [In] CallingConventions obj2,
      [In] Type[] obj3)
    {
      return ((TypeBuilder) obj0).DefineConstructor(obj1, obj2, obj3);
    }

    public static void \u0003\u0006\u0009([In] object obj0, [In] MethodImplAttributes obj1) => ((ConstructorBuilder) obj0).SetImplementationFlags(obj1);

    public static ILGenerator \u0003\u0006\u0013([In] object obj0) => ((ConstructorBuilder) obj0).GetILGenerator();

    public static ConstructorBuilder \u0003\u0006\u0012([In] object obj0) => ((TypeBuilder) obj0).DefineTypeInitializer();

    public static MethodBuilder \u0003\u0006\u0015(
      [In] object obj0,
      [In] string obj1,
      [In] MethodAttributes obj2,
      [In] CallingConventions obj3,
      [In] Type obj4,
      [In] Type[] obj5)
    {
      return ((TypeBuilder) obj0).DefineMethod(obj1, obj2, obj3, obj4, obj5);
    }

    public static void \u0003\u0006\u0014([In] object obj0, [In] MethodImplAttributes obj1) => ((MethodBuilder) obj0).SetImplementationFlags(obj1);

    public static ILGenerator \u0003\u0006\u0017([In] object obj0) => ((MethodBuilder) obj0).GetILGenerator();

    public static FieldBuilder \u0003\u0006\u0016(
      [In] object obj0,
      [In] string obj1,
      [In] Type obj2,
      [In] FieldAttributes obj3)
    {
      return ((TypeBuilder) obj0).DefineField(obj1, obj2, obj3);
    }

    public static PropertyBuilder \u0003\u0006\u0002(
      [In] object obj0,
      [In] string obj1,
      [In] PropertyAttributes obj2,
      [In] Type obj3,
      [In] Type[] obj4)
    {
      return ((TypeBuilder) obj0).DefineProperty(obj1, obj2, obj3, obj4);
    }

    public static void \u0003\u0006\u0001([In] object obj0, [In] MethodBuilder obj1) => ((PropertyBuilder) obj0).SetGetMethod(obj1);

    public static void \u0003\u0006\u0004([In] object obj0, [In] MethodBuilder obj1) => ((PropertyBuilder) obj0).SetSetMethod(obj1);

    public static EventBuilder \u0003\u0006\u0003(
      [In] object obj0,
      [In] string obj1,
      [In] EventAttributes obj2,
      [In] Type obj3)
    {
      return ((TypeBuilder) obj0).DefineEvent(obj1, obj2, obj3);
    }

    public static void \u0003\u0006\u0006([In] object obj0, [In] MethodBuilder obj1) => ((EventBuilder) obj0).SetAddOnMethod(obj1);

    public static void \u0003\u0006\u0005([In] object obj0, [In] MethodBuilder obj1) => ((EventBuilder) obj0).SetRemoveOnMethod(obj1);

    public static void \u0003\u0006\u0008([In] object obj0, [In] Type obj1) => ((ILGenerator) obj0).BeginCatchBlock(obj1);

    public static void \u0003\u0006\u0007([In] object obj0) => ((ILGenerator) obj0).BeginExceptFilterBlock();

    public static Label \u0003\u0005\u000A([In] object obj0) => ((ILGenerator) obj0).BeginExceptionBlock();

    public static void \u0003\u0005\u0009([In] object obj0) => ((ILGenerator) obj0).BeginFaultBlock();

    public static void \u0003\u0005\u0013([In] object obj0) => ((ILGenerator) obj0).BeginFinallyBlock();

    public static void \u0003\u0005\u0012([In] object obj0) => ((ILGenerator) obj0).BeginScope();

    public static LocalBuilder \u0003\u0005\u0015([In] object obj0, [In] Type obj1, [In] bool obj2) => ((ILGenerator) obj0).DeclareLocal(obj1, obj2);

    public static Label \u0003\u0005\u0014([In] object obj0) => ((ILGenerator) obj0).DefineLabel();

    public static void \u0003\u0005\u0017([In] object obj0) => ((ILGenerator) obj0).EndExceptionBlock();

    public static void \u0003\u0005\u0016([In] object obj0) => ((ILGenerator) obj0).EndScope();

    public static void \u0003\u0005\u0002([In] object obj0, [In] Label obj1) => ((ILGenerator) obj0).MarkLabel(obj1);

    public static NotImplementedException \u0003\u0005\u0001() => new NotImplementedException();

    public static void \u0003\u0005\u0004([In] object obj0, [In] Type obj1) => ((ILGenerator) obj0).ThrowException(obj1);

    public static Exception \u0003\u0005\u0003([In] string obj0, [In] Exception obj1) => new Exception(obj0, obj1);

    public static void \u0003\u0005\u0006([In] object obj0, [In] OpCode obj1) => ((ILGenerator) obj0).Emit(obj1);

    public static void \u0003\u0005\u0005([In] object obj0, [In] OpCode obj1, [In] byte obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0005\u0008([In] object obj0, [In] OpCode obj1, [In] ConstructorInfo obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0005\u0007([In] object obj0, [In] OpCode obj1, [In] double obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u000A([In] object obj0, [In] OpCode obj1, [In] FieldInfo obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0009([In] object obj0, [In] OpCode obj1, [In] float obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0013([In] object obj0, [In] OpCode obj1, [In] int obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0012([In] object obj0, [In] OpCode obj1, [In] Label obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0015([In] object obj0, [In] OpCode obj1, [In] Label[] obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0014([In] object obj0, [In] OpCode obj1, [In] LocalBuilder obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0017([In] object obj0, [In] OpCode obj1, [In] long obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0016([In] object obj0, [In] OpCode obj1, [In] MethodInfo obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0002([In] object obj0, [In] OpCode obj1, [In] sbyte obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0001([In] object obj0, [In] OpCode obj1, [In] short obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0004([In] object obj0, [In] OpCode obj1, [In] string obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static void \u0003\u0013\u0003([In] object obj0, [In] OpCode obj1, [In] Type obj2) => ((ILGenerator) obj0).Emit(obj1, obj2);

    public static Assembly \u0003\u0013\u0006([In] string obj0) => Assembly.Load(obj0);

    public static Type \u0003\u0013\u0005([In] object obj0, [In] Type[] obj1) => ((Type) obj0).MakeGenericType(obj1);

    public static Type \u0003\u0013\u0008([In] object obj0) => ((Type) obj0).MakeArrayType();

    public static Type \u0003\u0013\u0007([In] object obj0, [In] int obj1) => ((Type) obj0).MakeArrayType(obj1);

    public static bool \u0003\u0012\u000A([In] string obj0, [In] string obj1) => obj0 == obj1;

    public static ConstructorInfo \u0003\u0012\u0009(
      [In] object obj0,
      [In] BindingFlags obj1,
      [In] Binder obj2,
      [In] Type[] obj3,
      [In] ParameterModifier[] obj4)
    {
      return ((Type) obj0).GetConstructor(obj1, obj2, obj3, obj4);
    }

    public static MethodInfo \u0003\u0012\u0013(
      [In] object obj0,
      [In] string obj1,
      [In] BindingFlags obj2,
      [In] Binder obj3,
      [In] CallingConventions obj4,
      [In] Type[] obj5,
      [In] ParameterModifier[] obj6)
    {
      return ((Type) obj0).GetMethod(obj1, obj2, obj3, obj4, obj5, obj6);
    }

    public static MemberInfo[] \u0003\u0012\u0012(
      [In] object obj0,
      [In] string obj1,
      [In] MemberTypes obj2,
      [In] BindingFlags obj3)
    {
      return ((Type) obj0).GetMember(obj1, obj2, obj3);
    }

    public static int \u0003\u0012\u0015([In] object obj0) => ((string) obj0).Length;

    public static double \u0003\u0012\u0014([In] double obj0) => Math.Sqrt(obj0);

    public static char \u0003\u0012\u0017([In] object obj0, [In] int obj1) => ((string) obj0)[obj1];

    public static Encoding \u0003\u0012\u0016() => Encoding.UTF8;

    public static string \u0003\u0012\u0002([In] object obj0, [In] byte[] obj1, [In] int obj2, [In] int obj3) => ((Encoding) obj0).GetString(obj1, obj2, obj3);
  }
}
