Пример #1
0
        public CallSiteBinder CreateBinder()
        {
            IEnumerable <CSharpArgumentInfo> args = ArgumentFlags.Zip(ArgumentNames, (f, n) => CSharpArgumentInfo.Create(f, n));

            switch (BinderType)
            {
            case BinderTypeEnum.BinaryOperation:
                return(Binder.BinaryOperation(Flags, Operation, Context, args));

            case BinderTypeEnum.Convert:
                return(Binder.Convert(Flags, Type, Context));

            case BinderTypeEnum.GetIndex:
                return(Binder.GetIndex(Flags, Context, args));

            case BinderTypeEnum.GetMember:
                return(Binder.GetMember(Flags, Name, Context, args));

            case BinderTypeEnum.Invoke:
                return(Binder.Invoke(Flags, Context, args));

            case BinderTypeEnum.InvokeMember:
                return(Binder.InvokeMember(Flags, Name, TypeArguments, Context, args));

            case BinderTypeEnum.SetIndex:
                return(Binder.SetIndex(Flags, Context, args));

            case BinderTypeEnum.SetMember:
                return(Binder.SetMember(Flags, Name, Context, args));

            default:
                return(null);
            }
        }
        public void BinderCacheAddition()
        {
            CSharpArgumentInfo x = CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null);
            CSharpArgumentInfo y = CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null);

            CallSiteBinder binder =
                Binder.BinaryOperation(
                    CSharpBinderFlags.None,
                    System.Linq.Expressions.ExpressionType.Add,
                    typeof(TestClass01), new[] { x, y });

            var site = CallSite <Func <CallSite, object, object, object> > .Create(binder);

            Func <CallSite, object, object, object> targ = site.Target;
            object res = targ(site, 1, 2);

            Assert.Equal(3, res);

            var rulesCnt = CallSiteOps.GetCachedRules(CallSiteOps.GetRuleCache((dynamic)site)).Length;

            Assert.Equal(1, rulesCnt);

            TestClass01.BindThings();

            rulesCnt = CallSiteOps.GetCachedRules(CallSiteOps.GetRuleCache((dynamic)site)).Length;

            Assert.Equal(3, rulesCnt);
        }
        /// <summary>
        /// Reduces the dynamic expression to a binder and a set of arguments to apply the operation to.
        /// </summary>
        /// <param name="binder">The binder used to perform the dynamic operation.</param>
        /// <param name="arguments">The arguments to apply the dynamic operation to.</param>
        /// <param name="argumentTypes">The types of the arguments to use for the dynamic call site. Return null to infer types.</param>
        protected override void ReduceDynamic(out CallSiteBinder binder, out IEnumerable <Expression> arguments, out Type[] argumentTypes)
        {
            var nodeType = OperationNodeType;

            switch (nodeType)
            {
            case ExpressionType.AddChecked:
                nodeType = ExpressionType.Add;
                break;

            case ExpressionType.MultiplyChecked:
                nodeType = ExpressionType.Multiply;
                break;

            case ExpressionType.SubtractChecked:
                nodeType = ExpressionType.Subtract;
                break;

            case ExpressionType.AndAlso:
                nodeType = ExpressionType.And;
                break;

            case ExpressionType.OrElse:
                nodeType = ExpressionType.Or;
                break;
            }

            binder        = Binder.BinaryOperation(Flags, nodeType, Context, new[] { Left.ArgumentInfo, Right.ArgumentInfo });
            arguments     = new[] { Left.Expression, Right.Expression };
            argumentTypes = null;
        }
Пример #4
0
        public void TestDynamic()
        {
            var x      = Expression.Parameter(typeof(object), "x");
            var y      = Expression.Parameter(typeof(object), "y");
            var binder = Binder.BinaryOperation(
                CSharpBinderFlags.None,
                ExpressionType.Add,
                GetType(),
                new CSharpArgumentInfo[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            });

            Expression <Func <dynamic, dynamic, dynamic> > f =
                Expression.Lambda <Func <object, object, object> >(
                    Expression.Dynamic(binder, typeof(object), x, y),
                    new[]
            {
                x,
                y,
            });

            TestContext.WriteLine(f.Compile()(1, "abc"));
        }
Пример #5
0
        public void Test()
        {
            var x      = Expression.Parameter(typeof(object), "x");
            var y      = Expression.Parameter(typeof(object), "y");
            var binder = Binder.BinaryOperation(
                CSharpBinderFlags.None, ExpressionType.Add, typeof(TestDynamic),
                new[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            });

            var exp = Expression.Lambda <Func <object, object, object> >(
                Expression.Dynamic(binder, typeof(object), x, y),
                new[] { x, y }
                );

            Func <dynamic, dynamic, dynamic> f = LambdaCompiler.Compile(exp, CompilerOptions.All);

            Assert.AreEqual(3, f(1, 2));

            f = LambdaCompiler.Compile(exp, CompilerOptions.None);
            Assert.AreEqual(3, f(1, 2));

            f = exp.Compile();
            Assert.AreEqual(3, f(1, 2));
        }
Пример #6
0
		internal override Expression GetExpression(List<ParameterExpression> parameters, Dictionary<string, ConstantExpression> locals, List<DataContainer> dataContainers, Type dynamicContext, LabelTarget label, bool requiresReturnValue = true)
		{
			if (Operation == Operator.And || Operation == Operator.AlternateAnd)
				return Expression.Convert(Expression.AndAlso(Expression.Convert(Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool)), Expression.Convert(Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool))), typeof(object));
			if (Operation == Operator.Or)
				return Expression.Convert(Expression.OrElse(Expression.Convert(Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool)), Expression.Convert(Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool))), typeof(object));
			CallSiteBinder binder = Binder.BinaryOperation(CSharpBinderFlags.None, types[(int)Operation], dynamicContext ?? typeof(object), new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) });
			return Expression.Dynamic(binder, typeof(object), Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label));
		}
Пример #7
0
        private static CallSite <Func <CallSite, object, object, object> > GetBinaryOperationCallSite(ExpressionType operation, bool checkedContext, bool constantLeftArgument, bool constantRightArgument)
        {
            CSharpArgumentInfo x      = CSharpArgumentInfo.Create(constantLeftArgument ? CSharpArgumentInfoFlags.Constant : CSharpArgumentInfoFlags.None, null);
            CSharpArgumentInfo y      = CSharpArgumentInfo.Create(constantRightArgument ? CSharpArgumentInfoFlags.Constant : CSharpArgumentInfoFlags.None, null);
            CallSiteBinder     binder =
                Binder.BinaryOperation(
                    checkedContext ? CSharpBinderFlags.CheckedContext : CSharpBinderFlags.None, operation,
                    typeof(IntegerBinaryOperationTests), new[] { x, y });

            return(CallSite <Func <CallSite, object, object, object> > .Create(binder));
        }
Пример #8
0
        public static Expression BuildBinaryLogicalOperation(ExpressionType type, Expression left, Expression right)
        {
            var argumentInfo = new[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            };

            var binder = Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, type, typeof(ExpressionDynamicBuilder), argumentInfo);

            return(Expression.Dynamic(binder, typeof(object), left, right));
        }
Пример #9
0
        public static Expression BuildLogicalOr(Expression arg1, Expression arg2)
        {
            var argumentInfo = new[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
            };

            var binder = Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.Or, typeof(DynamicBuilder), argumentInfo);

            return(Expression.Dynamic(binder, typeof(object), arg1, arg2));
        }
Пример #10
0
        /// <summary>
        /// Creates expression tree for variable comparison
        /// </summary>
        /// <param name="inequalitySign"></param>
        /// <returns></returns>
        public static Func <dynamic, dynamic, dynamic> Build(string inequalitySign)
        {
            ParameterExpression x = Expression.Parameter(typeof(object), "x");
            ParameterExpression y = Expression.Parameter(typeof(object), "y");
            var binder            = Binder.BinaryOperation(
                CSharpBinderFlags.None, GetExpressionType(inequalitySign), typeof(IAlgorithm <>),
                new CSharpArgumentInfo[] {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            });
            Func <dynamic, dynamic, dynamic> lambda =
                Expression.Lambda <Func <object, object, object> >(Expression.Dynamic(binder, typeof(object), x, y), new[] { x, y }).Compile();

            return(lambda);
        }
Пример #11
0
        private static Expression DynamicBinaryOperatorFunc(Expression le, Expression re, ExpressionType expressionType)
        {
            var expArgs = new List <Expression>()
            {
                le, re
            };


            var binderM = Binder.BinaryOperation(CSharpBinderFlags.None, expressionType, le.Type, new CSharpArgumentInfo[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            });

            return(Expression.Dynamic(binderM, typeof(object), expArgs));
        }
Пример #12
0
        public void NullDMO()
        {
            BinaryOperationBinder binder = Binder.BinaryOperation(
                CSharpBinderFlags.None,
                ExpressionType.Add,
                GetType(),
                new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }
                ) as BinaryOperationBinder;
            DynamicMetaObject dmo2     = new DynamicMetaObject(Expression.Parameter(typeof(object)), BindingRestrictions.Empty, 2);
            DynamicMetaObject dmoNoVal = new DynamicMetaObject(Expression.Parameter(typeof(object)), BindingRestrictions.Empty);

            AssertExtensions.Throws <ArgumentNullException>("target", () => binder.FallbackBinaryOperation(null, null));
            AssertExtensions.Throws <ArgumentNullException>("arg", () => binder.FallbackBinaryOperation(dmo2, null));
            AssertExtensions.Throws <ArgumentException>("target", () => binder.FallbackBinaryOperation(dmoNoVal, null));
            AssertExtensions.Throws <ArgumentException>("arg", () => binder.FallbackBinaryOperation(dmo2, dmoNoVal));
        }
Пример #13
0
        public void BinaryOperation()
        {
            var expected =
                LinqExpression.Dynamic(
                    Binder.BinaryOperation(
                        CSharpBinderFlags.None,
                        Linq.ExpressionType.Add,
                        null,
                        new[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
            }),
                    typeof(object),
                    LinqExpression.Constant(2L),
                    LinqExpression.Constant(3L));

            const string actual = @"
@prefix : <http://example.com/> .
@prefix xt: <http://example.com/ExpressionTypes/> .

:s
    :dynamicBinder [
        a :BinaryOperation ;
        :binderExpressionType xt:Add ;
        :binderArguments (
            []
            []
        ) ;
    ] ;
    :dynamicReturnType [
        :typeName ""System.Object"" ;
    ] ;
    :dynamicArguments (
        [
            :constantValue 2 ;
        ]
        [
            :constantValue 3 ;
        ]
    ) ;
.
";

            ShouldBe(actual, expected);
        }
        public void Dynamic_BinaryOperation()
        {
            var expression =
                LinqExpression.Dynamic(
                    Binder.BinaryOperation(
                        CSharpBinderFlags.None,
                        Linq.ExpressionType.Add,
                        null,
                        new[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
            }),
                    typeof(object),
                    LinqExpression.Constant(2L),
                    LinqExpression.Constant(3L));

            ShouldRoundrip(expression);
        }
Пример #15
0
        public bool CreateAccount(string email, string[] captchaText, ref string status, int n)
        {
            this.restClient_0.CookieContainer = this._cookieJar;
            this.restClient_0.BaseUrl         = HttpHandler.uri_2;
            if (captchaText == null)
            {
                return(false);
            }
            string value = captchaText[n];

            if (this.mainForm_0.proxy)
            {
                this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
            }
            this.restRequest_0.Method = Method.POST;
            this.restRequest_0.AddParameter("captchagid", this.string_0);
            this.restRequest_0.AddParameter("captcha_text", value);
            this.restRequest_0.AddParameter("email", email);
            this.restRequest_0.AddParameter("count", "1");
            IRestResponse restResponse = this.restClient_0.Execute(this.restRequest_0);

            this.restRequest_0.Parameters.Clear();
            if (!restResponse.IsSuccessful)
            {
                status = "HTTP Request failed";
            }
            MatchCollection matchCollection = HttpHandler.regex_1.Matches(restResponse.Content);
            bool            flag            = bool.Parse(matchCollection[0].Value);
            bool            flag2           = bool.Parse(matchCollection[1].Value);

            if (!flag)
            {
                status = "Wrong captcha....Trying Again";
                return(captchaText.Length - 1 >= n + 1 && this.CreateAccount(email, captchaText, ref status, n + 1));
            }
            if (!flag2)
            {
                status = "Email error";
                return(false);
            }
            this.restClient_0.BaseUrl = HttpHandler.uri_3;
            if (this.mainForm_0.proxy)
            {
                this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
            }
            this.restRequest_0.AddParameter("captchagid", this.string_0);
            this.restRequest_0.AddParameter("captcha_text", value);
            this.restRequest_0.AddParameter("email", email);
            restResponse = this.restClient_0.Execute(this.restRequest_0);
            this.restRequest_0.Parameters.Clear();
            object arg = JsonConvert.DeserializeObject(restResponse.Content);

            if (HttpHandler.Class3.callSite_2 == null)
            {
                HttpHandler.Class3.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            Func <CallSite, object, bool> target = HttpHandler.Class3.callSite_2.Target;
            CallSite callSite_ = HttpHandler.Class3.callSite_2;

            if (HttpHandler.Class3.callSite_1 == null)
            {
                HttpHandler.Class3.callSite_1 = CallSite <Func <CallSite, object, int, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.NotEqual, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null)
                }));
            }
            Func <CallSite, object, int, object> target2 = HttpHandler.Class3.callSite_1.Target;
            CallSite callSite_2 = HttpHandler.Class3.callSite_1;

            if (HttpHandler.Class3.callSite_0 == null)
            {
                HttpHandler.Class3.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "success", typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            if (target(callSite_, target2(callSite_2, HttpHandler.Class3.callSite_0.Target(HttpHandler.Class3.callSite_0, arg), 1)))
            {
                if (HttpHandler.Class3.callSite_3 == null)
                {
                    HttpHandler.Class3.callSite_3 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "success", typeof(HttpHandler), new CSharpArgumentInfo[]
                    {
                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                    }));
                }
                object obj = HttpHandler.Class3.callSite_3.Target(HttpHandler.Class3.callSite_3, arg);
                object obj2;
                if (obj != null && (obj2 = obj) is int)
                {
                    int num = (int)obj2;
                    if (num == 13)
                    {
                        status = "Please enter a valid email address.";
                        return(false);
                    }
                    if (num == 17)
                    {
                        status = "It appears you've entered a disposable email address, or are using an email provider that cannot be used on Steam. Please provide a different email address.";
                        return(false);
                    }
                    if (num == 62)
                    {
                        status = "This e-mail address must be different from your own.";
                        return(false);
                    }
                }
                status = "Steam has disallowed your IP making this account";
                return(false);
            }
            if (HttpHandler.Class3.callSite_5 == null)
            {
                HttpHandler.Class3.callSite_5 = CallSite <Func <CallSite, object, string> > .Create(Binder.Convert(CSharpBinderFlags.None, typeof(string), typeof(HttpHandler)));
            }
            Func <CallSite, object, string> target3 = HttpHandler.Class3.callSite_5.Target;
            CallSite callSite_3 = HttpHandler.Class3.callSite_5;

            if (HttpHandler.Class3.callSite_4 == null)
            {
                HttpHandler.Class3.callSite_4 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "sessionid", typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            this.string_1 = target3(callSite_3, HttpHandler.Class3.callSite_4.Target(HttpHandler.Class3.callSite_4, arg));
            status        = "Waiting for email to be verified";
            return(true);
        }
Пример #16
0
        private static bool smethod_1(object object_0, object object_1, ref string string_2)
        {
            RestClient  restClient  = new RestClient(HttpHandler.uri_6);
            RestRequest restRequest = new RestRequest(Method.POST);

            restRequest.AddParameter("password", object_0);
            restRequest.AddParameter("accountname", object_1);
            restRequest.AddParameter("count", "1");
            object arg = JsonConvert.DeserializeObject(restClient.Execute(restRequest).Content);

            if (HttpHandler.Class7.callSite_2 == null)
            {
                HttpHandler.Class7.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            Func <CallSite, object, bool> target = HttpHandler.Class7.callSite_2.Target;
            CallSite callSite_ = HttpHandler.Class7.callSite_2;

            if (HttpHandler.Class7.callSite_1 == null)
            {
                HttpHandler.Class7.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null)
                }));
            }
            Func <CallSite, object, string, object> target2 = HttpHandler.Class7.callSite_1.Target;
            CallSite callSite_2 = HttpHandler.Class7.callSite_1;

            if (HttpHandler.Class7.callSite_0 == null)
            {
                HttpHandler.Class7.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "bAvailable", typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            if (target(callSite_, target2(callSite_2, HttpHandler.Class7.callSite_0.Target(HttpHandler.Class7.callSite_0, arg), "true")))
            {
                return(true);
            }
            string_2 = "Password not safe enough";
            return(false);
        }
        private Expression ReduceCore(DynamicCSharpArgument left)
        {
            var functionalOp = new Func <Expression, Expression>(lhs =>
            {
                var operation = default(ExpressionType);

                switch (OperationNodeType)
                {
                case CSharpExpressionType.AddAssign:
                case CSharpExpressionType.AddAssignChecked:
                    operation = ExpressionType.AddAssign;
                    break;

                case CSharpExpressionType.SubtractAssign:
                case CSharpExpressionType.SubtractAssignChecked:
                    operation = ExpressionType.SubtractAssign;
                    break;

                case CSharpExpressionType.MultiplyAssign:
                case CSharpExpressionType.MultiplyAssignChecked:
                    operation = ExpressionType.MultiplyAssign;
                    break;

                case CSharpExpressionType.DivideAssign:
                    operation = ExpressionType.DivideAssign;
                    break;

                case CSharpExpressionType.ModuloAssign:
                    operation = ExpressionType.ModuloAssign;
                    break;

                case CSharpExpressionType.AndAssign:
                    operation = ExpressionType.AndAssign;
                    break;

                case CSharpExpressionType.OrAssign:
                    operation = ExpressionType.OrAssign;
                    break;

                case CSharpExpressionType.ExclusiveOrAssign:
                    operation = ExpressionType.ExclusiveOrAssign;
                    break;

                case CSharpExpressionType.LeftShiftAssign:
                    operation = ExpressionType.LeftShiftAssign;
                    break;

                case CSharpExpressionType.RightShiftAssign:
                    operation = ExpressionType.RightShiftAssign;
                    break;

                default:
                    throw ContractUtils.Unreachable;
                }

                var args = new[]
                {
                    CSharpArgumentInfo.Create(GetArgumentInfoFlags(Left), null),
                    CSharpArgumentInfo.Create(GetArgumentInfoFlags(Right), null),
                };

                var binder  = Binder.BinaryOperation(Flags, operation, Context, args);
                var dynamic = DynamicHelpers.MakeDynamic(typeof(object), binder, new[] { lhs, Right.Expression }, new[] { lhs.Type, Right.Expression.Type });

                var leftType = Left.Expression.Type;
                if (leftType != dynamic.Type)
                {
                    var convert = Binder.Convert(CSharpBinderFlags.ConvertExplicit, leftType, Context);
                    dynamic     = DynamicHelpers.MakeDynamic(leftType, convert, new[] { dynamic }, null);
                }

                return(dynamic);
            });

            var flags = Flags | CSharpBinderFlags.ValueFromCompoundAssignment;

            var res = DynamicHelpers.ReduceDynamicAssignment(left, functionalOp, flags);

            return(res);
        }
Пример #18
0
        private void InjectBtn_Click(object sender, EventArgs e)
        {
            if (WRDAPICheck.Value == true)
            {
                ExploitAPI.ExploitAPI.LaunchExploit();
                Console.WriteLine("Injected WeAreDevs API.");
                MessageBox.Show("Injected WeAreDevs API.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (APIMCheck.Value == true)
            {
                ApiModule.ApiModule.LaunchExploit();
                Console.WriteLine("Injected ApiModule.");
                MessageBox.Show("Injected ApiModule.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (SkidsploitOnOff.Value == true)
            {
                MessageBox.Show("Not supported at this build!, please wait for a newer build that support Skisploit API", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Error);

                /*
                 * RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\\\SkisploitAuth", true);
                 * bool flag3 = registryKey == null;
                 * if (flag3)
                 * {
                 *  registryKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\\\SkisploitAuth");
                 *  registryKey.SetValue("Auth", "");
                 * }
                 * registryKey.SetValue("Auth", "382fe18b3029c5d86349cd91d0b57410158afac49ba9d3935687d84edd0f97b7");
                 * RedBoy.Functions.Inject();
                 * Thread.Sleep(3000);
                 * try
                 * {
                 *  new WebClient().DownloadFile("https://cdn.discordapp.com/attachments/591382108279406592/591382413662486533/redboyscripts-obfuscated.lua", "script.txt");
                 *  string script = File.ReadAllText("script.txt");
                 *  File.Delete("script.txt");
                 *  RedBoy.NamedPipes.LuaPipe(script);
                 * }
                 * catch
                 * {
                 * }
                 * Console.WriteLine("Injected RedBoy.");
                 * MessageBox.Show("Injected Skisploit API.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 */// Need to find more about RedBoy exe to understand how.
            }
            else if (HaxonSwitch.Value == true)
            {
                Functions.Inject();
                Console.WriteLine("Injected Haxon-[Generic].");
                MessageBox.Show("Injected Haxon.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (AwSwitch.Value == true)
            {
                AwApi.Attach();
                Console.WriteLine("Injected AutisticWare.");
                MessageBox.Show("Injected AutisticWare.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (Ax0nSwitch.Value == true)
            {
                Functions.Inject();
                Console.WriteLine("Injected Axon-Generic.");
                MessageBox.Show("Injected Axon.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (sirhurtswitch.Value == true)
            {
                if (value1 == null)
                {
                    value1 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(DefaultForm), new CSharpArgumentInfo[]
                    {
                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                    }));
                }
                Func <CallSite, object, bool> target = value1.Target;
                CallSite p__ = value1;
                if (value2 == null)
                {
                    value2 = CallSite <Func <CallSite, object, object> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.Not, typeof(DefaultForm), new CSharpArgumentInfo[]
                    {
                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                    }));
                }
                object obj = value2.Target(value2, fakebool);
                if (value3 == null)
                {
                    value3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsFalse, typeof(DefaultForm), new CSharpArgumentInfo[]
                    {
                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                    }));
                }
                object arg;
                if (!value3.Target(value3, obj))
                {
                    if (value4 == null)
                    {
                        value4 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(DefaultForm), new CSharpArgumentInfo[]
                        {
                            CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                            CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                        }));
                    }
                    arg = value4.Target(value4, obj, intPtr != IntPtr.Zero);
                }
                else
                {
                    arg = obj;
                }
                if (target(p__, arg))
                {
                    if (fakebool)
                    {
                        Thread.Sleep(3000);
                    }
                    int num = 0;
                    try
                    {
                        num      = Inject();
                        fakebool = true;
                        Console.WriteLine("Injected SirHurt-[Generic].");
                        MessageBox.Show("Injected SirHurt.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(string.Format("An error occured with injecting SirHurt: %s", ex.Message), "SirHurt V2");
                    }
                    if (num != 0)
                    {
                        fakebool = true;
                        return;
                    }
                    DefaultForm.GetWindowThreadProcessId(intPtr, out this.attachedID);
                    fakebool = true;
                }
            }
            else
            {
                Console.WriteLine("Couldn't Inject. Ex: User hasnt choosed mode to inject.");
                MessageBox.Show("Please choose a mode to inject.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #19
0
 // Token: 0x0600004F RID: 79 RVA: 0x00009804 File Offset: 0x00007A04
 public void method_12()
 {
     if (object.Equals(true, (bool)this.jtoken_0["one_checkout"]))
     {
         foreach (JToken jtoken in JObject.Parse(MainWindow.webView_0.QueueScriptCall("JSON.stringify(tasklist)").smethod_0()).Values())
         {
             if (jtoken["profile"].ToString() == this.jtoken_1["profile"].ToString() && jtoken["store"].ToString() == this.jtoken_1["store"].ToString() && jtoken["id"].ToString() != this.jtoken_1["id"].ToString())
             {
                 if (Class4.Class8.callSite_3 == null)
                 {
                     Class4.Class8.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[]
                     {
                         CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                     }));
                 }
                 Func <CallSite, object, bool> target = Class4.Class8.callSite_3.Target;
                 CallSite callSite_ = Class4.Class8.callSite_3;
                 bool     flag;
                 object   arg2;
                 if (flag = MainWindow.dictionary_0.ContainsKey((int)jtoken["id"]))
                 {
                     if (Class4.Class8.callSite_2 == null)
                     {
                         Class4.Class8.callSite_2 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Func <CallSite, bool, object, object> target2 = Class4.Class8.callSite_2.Target;
                     CallSite callSite_2 = Class4.Class8.callSite_2;
                     bool     arg        = flag;
                     if (Class4.Class8.callSite_1 == null)
                     {
                         Class4.Class8.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                         }));
                     }
                     Func <CallSite, object, string, object> target3 = Class4.Class8.callSite_1.Target;
                     CallSite callSite_3 = Class4.Class8.callSite_1;
                     if (Class4.Class8.callSite_0 == null)
                     {
                         Class4.Class8.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToString", null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     arg2 = target2(callSite_2, arg, target3(callSite_3, Class4.Class8.callSite_0.Target(Class4.Class8.callSite_0, MainWindow.dictionary_0[(int)jtoken["id"]]["product"]), this.jtoken_1["product"].ToString()));
                 }
                 else
                 {
                     arg2 = flag;
                 }
                 if (target(callSite_, arg2))
                 {
                     object arg3 = MainWindow.dictionary_0[(int)jtoken["id"]]["thread"];
                     MainWindow.dictionary_0[(int)jtoken["id"]]["stop"] = true;
                     MainWindow.webView_0.QueueScriptCall(string.Format("updateTable('Stopping...','DARKORANGE',{0},7)", jtoken["id"]));
                     if (Class4.Class8.callSite_4 == null)
                     {
                         Class4.Class8.callSite_4 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "Abort", null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Class4.Class8.callSite_4.Target(Class4.Class8.callSite_4, arg3);
                     if (Class4.Class8.callSite_5 == null)
                     {
                         Class4.Class8.callSite_5 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "Join", null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Class4.Class8.callSite_5.Target(Class4.Class8.callSite_5, arg3);
                     MainWindow.dictionary_0.Remove((int)jtoken["id"]);
                     MainWindow.webView_0.QueueScriptCall(string.Format("updateTable('Billing used','red',{0},7)", jtoken["id"]));
                     MainWindow.webView_0.QueueScriptCall(string.Format("updateButton({0},false)", jtoken["id"]));
                 }
             }
         }
     }
 }
Пример #20
0
    // Token: 0x06000047 RID: 71 RVA: 0x00008FDC File Offset: 0x000071DC
    public void method_4(string string_3, string string_4, bool bool_2, bool bool_3)
    {
        if (Class4.Class7.callSite_6 == null)
        {
            Class4.Class7.callSite_6 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            }));
        }
        Func <CallSite, object, bool> target = Class4.Class7.callSite_6.Target;
        CallSite callSite_ = Class4.Class7.callSite_6;
        bool     flag;
        object   obj;

        if (flag = GForm1.dictionary_0.ContainsKey((int)this.jtoken_1[Class185.smethod_0(537703519)]))
        {
            if (Class4.Class7.callSite_1 == null)
            {
                Class4.Class7.callSite_1 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            Func <CallSite, bool, object, object> target2 = Class4.Class7.callSite_1.Target;
            CallSite callSite_2 = Class4.Class7.callSite_1;
            bool     arg        = flag;
            if (Class4.Class7.callSite_0 == null)
            {
                Class4.Class7.callSite_0 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null)
                }));
            }
            obj = target2(callSite_2, arg, Class4.Class7.callSite_0.Target(Class4.Class7.callSite_0, GForm1.dictionary_0[(int)this.jtoken_1[Class185.smethod_0(537703519)]][Class185.smethod_0(537700087)], false));
        }
        else
        {
            obj = flag;
        }
        object obj2 = obj;

        if (Class4.Class7.callSite_3 == null)
        {
            Class4.Class7.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            }));
        }
        object obj3;

        if (!Class4.Class7.callSite_3.Target(Class4.Class7.callSite_3, obj2))
        {
            if (Class4.Class7.callSite_2 == null)
            {
                Class4.Class7.callSite_2 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.Or, typeof(Class4), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                }));
            }
            obj3 = Class4.Class7.callSite_2.Target(Class4.Class7.callSite_2, obj2, bool_3);
        }
        else
        {
            obj3 = obj2;
        }
        object obj4 = obj3;

        if (Class4.Class7.callSite_5 == null)
        {
            Class4.Class7.callSite_5 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsFalse, typeof(Class4), new CSharpArgumentInfo[]
            {
                CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
            }));
        }
        object arg2;

        if (!Class4.Class7.callSite_5.Target(Class4.Class7.callSite_5, obj4))
        {
            if (Class4.Class7.callSite_4 == null)
            {
                Class4.Class7.callSite_4 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                }));
            }
            arg2 = Class4.Class7.callSite_4.Target(Class4.Class7.callSite_4, obj4, !this.bool_0);
        }
        else
        {
            arg2 = obj4;
        }
        if (target(callSite_, arg2))
        {
            if (bool_2)
            {
                GClass3.smethod_0(string_3, Class185.smethod_0(537710737) + this.jtoken_1[Class185.smethod_0(537703519)]);
            }
            if (string_3.ToLower().Contains(Class185.smethod_0(537710733)))
            {
                string_4 = Class185.smethod_0(537700909);
            }
            if (!this.bool_1)
            {
                GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537710777), string_3, string_4, this.jtoken_1[Class185.smethod_0(537703519)]));
                return;
            }
        }
        else
        {
            Thread.CurrentThread.Abort();
        }
    }
Пример #21
0
 // Token: 0x0600004F RID: 79 RVA: 0x0000A0C0 File Offset: 0x000082C0
 public void method_12()
 {
     if (object.Equals(true, (bool)this.jtoken_0[Class185.smethod_0(537711917)]))
     {
         foreach (JToken jtoken in JObject.Parse(GForm1.webView_0.QueueScriptCall(Class185.smethod_0(537700382)).smethod_0()).Values())
         {
             if (jtoken[Class185.smethod_0(537710947)].ToString() == this.jtoken_1[Class185.smethod_0(537710947)].ToString() && jtoken[Class185.smethod_0(537700413)].ToString() == this.jtoken_1[Class185.smethod_0(537700413)].ToString() && jtoken[Class185.smethod_0(537703519)].ToString() != this.jtoken_1[Class185.smethod_0(537703519)].ToString())
             {
                 if (Class4.Class8.callSite_3 == null)
                 {
                     Class4.Class8.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[]
                     {
                         CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                     }));
                 }
                 Func <CallSite, object, bool> target = Class4.Class8.callSite_3.Target;
                 CallSite callSite_ = Class4.Class8.callSite_3;
                 bool     flag;
                 object   arg2;
                 if (flag = GForm1.dictionary_0.ContainsKey((int)jtoken[Class185.smethod_0(537703519)]))
                 {
                     if (Class4.Class8.callSite_2 == null)
                     {
                         Class4.Class8.callSite_2 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Func <CallSite, bool, object, object> target2 = Class4.Class8.callSite_2.Target;
                     CallSite callSite_2 = Class4.Class8.callSite_2;
                     bool     arg        = flag;
                     if (Class4.Class8.callSite_1 == null)
                     {
                         Class4.Class8.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                         }));
                     }
                     Func <CallSite, object, string, object> target3 = Class4.Class8.callSite_1.Target;
                     CallSite callSite_3 = Class4.Class8.callSite_1;
                     if (Class4.Class8.callSite_0 == null)
                     {
                         Class4.Class8.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.None, Class185.smethod_0(537711952), null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     arg2 = target2(callSite_2, arg, target3(callSite_3, Class4.Class8.callSite_0.Target(Class4.Class8.callSite_0, GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537710986)]), this.jtoken_1[Class185.smethod_0(537710986)].ToString()));
                 }
                 else
                 {
                     arg2 = flag;
                 }
                 if (target(callSite_, arg2))
                 {
                     object arg3 = GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537700090)];
                     GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537700087)] = true;
                     GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537700066), jtoken[Class185.smethod_0(537703519)]));
                     if (Class4.Class8.callSite_4 == null)
                     {
                         Class4.Class8.callSite_4 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, Class185.smethod_0(537699894), null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Class4.Class8.callSite_4.Target(Class4.Class8.callSite_4, arg3);
                     if (Class4.Class8.callSite_5 == null)
                     {
                         Class4.Class8.callSite_5 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, Class185.smethod_0(537699874), null, typeof(Class4), new CSharpArgumentInfo[]
                         {
                             CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                         }));
                     }
                     Class4.Class8.callSite_5.Target(Class4.Class8.callSite_5, arg3);
                     GForm1.dictionary_0.Remove((int)jtoken[Class185.smethod_0(537703519)]);
                     GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537711951), jtoken[Class185.smethod_0(537703519)]));
                     GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537699958), jtoken[Class185.smethod_0(537703519)]));
                 }
             }
         }
     }
 }
Пример #22
0
        public bool CompleteSignup(string alias, string password, ref string status, bool addcsgo)
        {
            if (!HttpHandler.smethod_0(alias, ref status))
            {
                return(false);
            }
            if (!HttpHandler.smethod_1(password, alias, ref status))
            {
                return(false);
            }
            this.restClient_0.BaseUrl = HttpHandler.uri_7;
            if (this.mainForm_0.proxy)
            {
                this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
            }
            this.restRequest_0.Method = Method.POST;
            this.restRequest_0.AddParameter("accountname", alias);
            this.restRequest_0.AddParameter("password", password);
            this.restRequest_0.AddParameter("creation_sessionid", this.string_1);
            this.restRequest_0.AddParameter("count", "1");
            this.restRequest_0.AddParameter("lt", "0");
            IRestResponse      restResponse       = this.restClient_0.Execute(this.restRequest_0);
            RestResponseCookie restResponseCookie = restResponse.Cookies.SingleOrDefault(new Func <RestResponseCookie, bool>(HttpHandler.Class5.class5_0.method_0));

            if (restResponseCookie != null)
            {
                this._cookieJar.Add(new Cookie(restResponseCookie.Name, restResponseCookie.Value, restResponseCookie.Path, restResponseCookie.Domain));
            }
            this.restRequest_0.Parameters.Clear();
            object arg = JsonConvert.DeserializeObject(restResponse.Content);

            if (HttpHandler.Class4.callSite_2 == null)
            {
                HttpHandler.Class4.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            Func <CallSite, object, bool> target = HttpHandler.Class4.callSite_2.Target;
            CallSite callSite_ = HttpHandler.Class4.callSite_2;

            if (HttpHandler.Class4.callSite_1 == null)
            {
                HttpHandler.Class4.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null)
                }));
            }
            Func <CallSite, object, string, object> target2 = HttpHandler.Class4.callSite_1.Target;
            CallSite callSite_2 = HttpHandler.Class4.callSite_1;

            if (HttpHandler.Class4.callSite_0 == null)
            {
                HttpHandler.Class4.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "bSuccess", typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            if (target(callSite_, target2(callSite_2, HttpHandler.Class4.callSite_0.Target(HttpHandler.Class4.callSite_0, arg), "true")))
            {
                status = "Account created";
                this.restClient_0.FollowRedirects = false;
                this.restClient_0.CookieContainer = this._cookieJar;
                this.restClient_0.BaseUrl         = new Uri("https://store.steampowered.com/twofactor/manage_action");
                if (this.mainForm_0.proxy)
                {
                    this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
                }
                this.restRequest_0.Method = Method.POST;
                this.restRequest_0.AddParameter("action", "actuallynone");
                this.restRequest_0.AddParameter("sessionid", this.string_1);
                IRestResponse restResponse2 = this.restClient_0.Execute(this.restRequest_0);
                string        value         = "";
                restResponseCookie = restResponse2.Cookies.SingleOrDefault(new Func <RestResponseCookie, bool>(HttpHandler.Class5.class5_0.method_1));
                if (restResponseCookie != null)
                {
                    this._cookieJar.Add(new Cookie(restResponseCookie.Name, restResponseCookie.Value, restResponseCookie.Path, restResponseCookie.Domain));
                    value = restResponseCookie.Value;
                }
                this.restRequest_0.Parameters.Clear();
                this.restClient_0.CookieContainer = this._cookieJar;
                this.restClient_0.BaseUrl         = new Uri("https://store.steampowered.com/twofactor/manage_action");
                if (this.mainForm_0.proxy)
                {
                    this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
                }
                this.restRequest_0.Method = Method.POST;
                this.restRequest_0.AddParameter("action", "actuallynone");
                this.restRequest_0.AddParameter("sessionid", value);
                this.restClient_0.Execute(this.restRequest_0);
                this.restClient_0.FollowRedirects = true;
                this.restRequest_0.Parameters.Clear();
                if (addcsgo)
                {
                    this.restClient_0.BaseUrl = new Uri("https://store.steampowered.com/checkout/addfreelicense");
                    if (this.mainForm_0.proxy)
                    {
                        this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport);
                    }
                    this.restRequest_0.Method = Method.POST;
                    this.restRequest_0.AddParameter("action", "add_to_cart");
                    this.restRequest_0.AddParameter("subid", 303386);
                    this.restRequest_0.AddParameter("sessionid", value);
                    this.restClient_0.Execute(this.restRequest_0);
                    this.restClient_0.FollowRedirects = true;
                }
                return(true);
            }
            if (HttpHandler.Class4.callSite_4 == null)
            {
                HttpHandler.Class4.callSite_4 = CallSite <Func <CallSite, object, string> > .Create(Binder.Convert(CSharpBinderFlags.None, typeof(string), typeof(HttpHandler)));
            }
            Func <CallSite, object, string> target3 = HttpHandler.Class4.callSite_4.Target;
            CallSite callSite_3 = HttpHandler.Class4.callSite_4;

            if (HttpHandler.Class4.callSite_3 == null)
            {
                HttpHandler.Class4.callSite_3 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "details", typeof(HttpHandler), new CSharpArgumentInfo[]
                {
                    CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                }));
            }
            status = target3(callSite_3, HttpHandler.Class4.callSite_3.Target(HttpHandler.Class4.callSite_3, arg));
            return(false);
        }