private vipaccount chooseVip72Account()
 {
     while (true)
     {
         vipaccount vipacc = this.listvipacc.FirstOrDefault((vipaccount x) => !x.limited);
         if (vipacc == null)
         {
             if (this.listvipacc.Count == 0)
             {
                 return(null);
             }
             else
             {
                 foreach (vipaccount vipaccount in this.listvipacc)
                 {
                     vipaccount.limited = false;
                 }
             }
         }
         else
         {
             return(vipacc);
         }
     }
 }
        private bool Vip72FakeIp()
        {
            bool       result = false;
            vipaccount vipacc = null;

            try
            {
                sshcommand.closebitvise((int)this.numProxyPort.Value);
                bool flag17 = !this.bitproc.HasExited;
                if (flag17)
                {
                    this.bitproc.Kill();
                }
            }
            catch (Exception)
            {
            }
            this.lblStatusMsg.Invoke(new MethodInvoker(delegate
            {
                this.lblStatusMsg.Text = "Đang đợi Để sử dụng Vip72...";
            }));
            InterfaceVip72 vip72 = getVip72Instance();

            this.lblStatusMsg.Invoke(new MethodInvoker(delegate
            {
                this.lblStatusMsg.Text = "Getting Vip72 IP...";
            }));

START_VIP72_FAKEIP:

            while (true)
            {
                vipacc = chooseVip72Account();
                if (vipacc == null)
                {
                    MessageBox.Show("All vip72 are limited or there is no account, Please add other Vip72 account to use",
                                    Application.ProductName,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Hand);

                    this.lblStatusMsg.Invoke(new MethodInvoker(delegate
                    {
                        this.lblStatusMsg.Text = "Vip72 account is out";
                    }));
                    return(false);
                }
                else
                {
                    this.listViewVip72.Invoke(new MethodInvoker(delegate
                    {
                        this.listViewVip72.Items[this.listvipacc.IndexOf(vipacc)].BackColor = Color.Yellow;
                        this.listViewVip72.Refresh();
                    }));

                    bool loginResult = vip72.vip72login(vipacc.username, vipacc.password, (int)this.numProxyPort.Value);
                    if (!loginResult)
                    {
                        vipacc.limited = true;
                        vip72.killVipProcess();
                        Thread.Sleep(5000);

                        this.listViewVip72.Invoke(new MethodInvoker(delegate
                        {
                            this.lblStatusMsg.Text = "Vip acc: " + vipacc.username + " login failed";
                            this.listViewVip72.Items[this.listvipacc.IndexOf(vipacc)].BackColor = Color.Red;
                            this.listViewVip72.Refresh();
                        }));
                    }
                    else
                    {
                        this.listViewVip72.Invoke(new MethodInvoker(delegate
                        {
                            this.listViewVip72.Items[this.listvipacc.IndexOf(vipacc)].BackColor = Color.Lime;
                            this.listViewVip72.Refresh();
                        }));
                        break;
                    }
                }
            }

            while (true)
            {
                string countryTxt = "";
                this.lblStatusMsg.Invoke(new MethodInvoker(delegate
                {
                    countryTxt = this.comboProxyGeo.Text;
                }));
                if (!vip72.getip(countryTxt))
                {
                    result = true;
                    break;
                }

                string clickResult = vip72.clickip((int)this.numProxyPort.Value);
                if (clickResult == "not running")
                {
                    result = false;
                    break;
                }
                else if (clickResult == "no IP")
                {
                    continue;
                }
                else if (clickResult == "dead")
                {
                    continue;
                }
                else if (clickResult == "limited")
                {
                    vipacc.limited = true;
                    this.listViewVip72.Items[this.listvipacc.IndexOf(vipacc)].BackColor = Color.Red;
                    this.listViewVip72.Refresh();
                    goto START_VIP72_FAKEIP;
                }
                else if (clickResult == "maximum")
                {
                    vip72.clearip();
                    continue;
                }
                else if (clickResult == "timeout")
                {
                    goto START_VIP72_FAKEIP;
                }
                else
                {
                    //OK
                    if (NetworkHelper.validateIP(clickResult))
                    {
                        NetworkHelper.currentFakeIP = clickResult;
                        result = true;
                        break;
                    }
                }
            }

            return(result);
        }
        // Token: 0x06000100 RID: 256 RVA: 0x00013918 File Offset: 0x00011B18
        private void btnAddVipAcc_Click(object sender, EventArgs e)
        {
            List <string> list = this.vipid.Text.Split(new string[]
            {
                "\r\n"
            }, StringSplitOptions.None).ToList <string>();

            using (List <string> .Enumerator enumerator = list.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    string item = enumerator.Current;
                    if (item != "" && this.vippassword.Text != "")
                    {
                        vipaccount vipaccount = this.listvipacc.FirstOrDefault((vipaccount x) => x.username == item);
                        if (vipaccount == null)
                        {
                            vipaccount          = new vipaccount();
                            vipaccount.username = item;
                            vipaccount.password = this.vippassword.Text;
                            vipaccount.token    = this.vipToken.Text;
                            vipaccount.limited  = false;
                            this.listvipacc.Add(vipaccount);
                            ListViewItem value = new ListViewItem(new string[]
                            {
                                vipaccount.username,
                                vipaccount.password,
                                vipaccount.token
                            });
                            this.listViewVip72.Items.Add(value);
                            this.saveVip72Token(vipaccount.username, vipaccount.token);
                        }
                        else
                        {
                            vipaccount.password = this.vippassword.Text;
                            vipaccount.token    = this.vipToken.Text;
                            this.listViewVip72.Items[this.listvipacc.IndexOf(vipaccount)].SubItems[1].Text = this.vippassword.Text;
                            this.listViewVip72.Items[this.listvipacc.IndexOf(vipaccount)].SubItems[2].Text = this.vipToken.Text;
                            this.saveVip72Token(vipaccount.username, vipaccount.token);
                        }
                    }
                    else
                    {
                        string[] array = item.Split(new string[]
                        {
                            "|"
                        }, StringSplitOptions.None);
                        if (array.Count <string>() == 3)
                        {
                            string     usname      = array[0];
                            string     text        = array[1];
                            string     token       = array[2];
                            vipaccount vipaccount2 = this.listvipacc.FirstOrDefault((vipaccount x) => x.username == usname);
                            if (vipaccount2 == null)
                            {
                                vipaccount2          = new vipaccount();
                                vipaccount2.username = usname;
                                vipaccount2.password = text;
                                vipaccount2.token    = token;
                                vipaccount2.limited  = false;
                                this.listvipacc.Add(vipaccount2);
                                ListViewItem value2 = new ListViewItem(new string[]
                                {
                                    vipaccount2.username,
                                    vipaccount2.password,
                                    vipaccount2.token
                                });
                                this.listViewVip72.Items.Add(value2);
                                this.saveVip72Token(vipaccount2.username, vipaccount2.token);
                            }
                            else
                            {
                                vipaccount2.password = text;
                                vipaccount2.token    = this.vipToken.Text;
                                this.listViewVip72.Items[this.listvipacc.IndexOf(vipaccount2)].SubItems[1].Text = text;
                                this.saveVip72Token(vipaccount2.username, vipaccount2.token);
                            }
                        }
                    }
                }
            }

            this.savevip72();
        }
        // Token: 0x06000123 RID: 291 RVA: 0x00017818 File Offset: 0x00015A18
        private void loadvip72()
        {
            if (this.DeviceInfo.SerialNumber != null)
            {
                this.listvipacc.Clear();
                this.listViewVip72.Items.Clear();
                if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + this.DeviceInfo.SerialNumber + "\\vip72.dat"))
                {
                    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
                    string        path  = AppDomain.CurrentDomain.BaseDirectory + "vip72\\tokens.txt";
                    string[]      array = File.ReadAllLines(path);
                    List <string> list  = array.ToList <string>();

                    string[] array2 = new Decryptor().Decrypt(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + this.DeviceInfo.SerialNumber + "\\vip72.dat"), "z1Un44pKaSS$7Jcw").Split(new string[]
                    {
                        "\r\n"
                    }, StringSplitOptions.None);

                    string[] array3 = array2;
                    foreach (string text in array3)
                    {
                        string[] array5 = text.Split(new string[]
                        {
                            "||"
                        }, StringSplitOptions.None);
                        if (array5.Count <string>() >= 2)
                        {
                            vipaccount vipaccount = new vipaccount();
                            vipaccount.username = array5[0];
                            vipaccount.password = array5[1];
                            vipaccount.token    = ((array5.Count <string>() == 3) ? array5[2] : "");
                            vipaccount.limited  = false;
                            this.listvipacc.Add(vipaccount);
                            ListViewItem value = new ListViewItem(new string[]
                            {
                                vipaccount.username,
                                vipaccount.password,
                                vipaccount.token
                            });
                            this.listViewVip72.Items.Add(value);
                            string item = string.Concat(new string[]
                            {
                                ":",
                                vipaccount.username,
                                ":",
                                vipaccount.token,
                                ":"
                            });
                            foreach (string text2 in array)
                            {
                                string[] array7 = text2.Split(new string[]
                                {
                                    ":"
                                }, StringSplitOptions.None);
                                if (array7.Count <string>() == 4 && array7[1] == vipaccount.username)
                                {
                                    list.Remove(string.Concat(new string[]
                                    {
                                        ":",
                                        array7[1],
                                        ":",
                                        array7[2],
                                        ":"
                                    }));
                                    break;
                                }
                            }
                            list.Add(item);
                        }
                    }
                    if (list.Count > 0)
                    {
                        foreach (string value2 in list)
                        {
                            stringBuilder.Append(value2).Append("\r\n");
                        }
                        File.WriteAllText(path, stringBuilder.ToString());
                    }
                }
            }
        }