using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; using System.Windows.Forms; using iMonitorApp.Classes; using iMonitorApp.Properties; namespace iMonitorApp { // Token: 0x02000018 RID: 24 public partial class PhoneDialer : Form { // Token: 0x060000AA RID: 170 RVA: 0x0000770C File Offset: 0x0000590C public PhoneDialer(ParentForm pf) { this.parentForm = pf; this.InitializeComponent(); this.Initialize(); } // Token: 0x060000AB RID: 171 RVA: 0x00007740 File Offset: 0x00005940 public void Initialize() { try { } catch { MessageBox.Show("Unable to get Skype Handle\r\n Reboot skype and Click Tools -> Options -> ConnectToSkype"); } BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += this.bw_DoWork; backgroundWorker.RunWorkerAsync(); this.li = new AsyncBindingList(this); this._queue = new ConcurrentQueue(); this.li.ListChanged += this.li_ListChanged; Thread thread = new Thread(new ThreadStart(this.LaunchListener)); thread.Start(); new System.Windows.Forms.Timer { Interval = 10000 }.Tick += this.timer_Tick; } // Token: 0x060000AC RID: 172 RVA: 0x00007800 File Offset: 0x00005A00 private void timer_Tick(object sender, EventArgs e) { try { bool isRunning = this.sw.IsRunning; if (isRunning) { bool flag = this.sw.Elapsed.TotalSeconds > 60.0; if (flag) { this.Log("Stopwatch Elapsed Secs:" + this.sw.Elapsed.TotalSeconds.ToString()); bool flag2 = this.sw.Elapsed.TotalSeconds > 300.0; if (flag2) { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://202.58.207.66/ectime/phonecall.php?email=manas@4ecap.com,sd@4ecap.com&phone=+6596999610,+6590211987&subject=EMERGENCY_SKYPE_NOT_WORKING"); string str = Convert.ToBase64String(Encoding.ASCII.GetBytes(Settings.Default.ExternalHeartbeatUsername + ":" + Settings.Default.ExternalHeartbeatPassword)); httpWebRequest.Headers.Add("Authorization", "Basic " + str); httpWebRequest.ReadWriteTimeout = 30000; httpWebRequest.Timeout = 30000; httpWebRequest.Method = "GET"; HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); } } } } catch { } } // Token: 0x060000AD RID: 173 RVA: 0x00007958 File Offset: 0x00005B58 private void bw_DoWork(object sender, DoWorkEventArgs e) { try { } catch { } } // Token: 0x060000AE RID: 174 RVA: 0x00007980 File Offset: 0x00005B80 private void LaunchListener() { this.asl = new AsynchronousSocketListener(Settings.Default.CurrentIP, Settings.Default.PhonePort); AsynchronousSocketListener.Received += this.AsynchronousSocketListener_Received; this.Log("Listening on port: " + Settings.Default.PhonePort.ToString() + " IP: " + Settings.Default.CurrentIP); AsynchronousSocketListener.StartListening(); } // Token: 0x060000AF RID: 175 RVA: 0x000038AE File Offset: 0x00001AAE private void li_ListChanged(object sender, ListChangedEventArgs e) { } // Token: 0x060000B0 RID: 176 RVA: 0x000079F8 File Offset: 0x00005BF8 private void ProcessQueue() { try { } catch { } PhoneCall phoneCall; bool flag = this._queue.TryDequeue(out phoneCall); bool flag2 = flag; if (flag2) { bool flag3 = !PhoneScheduleCheck.IsPhoneActive(); if (flag3) { this.Log("Phone Disabled in Schedule"); int num = 2; int frequency = 4000; int duration = 200; for (int i = 0; i < num; i++) { Console.Beep(frequency, duration); } } else { try { } catch { } foreach (string text in phoneCall.Numbers) { try { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; string requestUriString = "https://secure.hoiio.com/open/ivr/start/dial?dest=" + text + "&access_token=ssMWqlCqLcJUElOv&app_id=hQKILptEKhHNqXSC&msg=Call&caller_id=private"; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUriString); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (Stream responseStream = httpWebResponse.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(responseStream)) { string text2 = streamReader.ReadToEnd(); } } string str = "Dialed: "; string str2 = text; string str3 = " Response: "; HttpWebResponse httpWebResponse2 = httpWebResponse; this.Log(str + str2 + str3 + ((httpWebResponse2 != null) ? httpWebResponse2.ToString() : null)); } catch (Exception ex) { this.Log("Exception: " + ex.Message); } } this.Log("Stop Watch Started"); this.Log("Dialing: " + string.Join(" , ", phoneCall.Numbers)); } } } // Token: 0x060000B1 RID: 177 RVA: 0x00007BF4 File Offset: 0x00005DF4 private void AsynchronousSocketListener_Received(object sender, EventArgs e) { this.Log("Received: " + sender.ToString()); string text = sender.ToString().Replace("", ""); List list = (from t in text.Split(new char[] { ',' }).ToList() where t.Trim() != "" select t).ToList(); List list2 = new List(); foreach (string text2 in list) { string text3 = text2.Replace(" ", ""); text3 = text3.Trim(); bool flag = text3[0] != '+'; if (!flag) { list2.Add(text3); } } PhoneCall item = new PhoneCall { Numbers = list2, Count = list.Count, Status = "Queued" }; this._queue.Enqueue(item); this.ProcessQueue(); } // Token: 0x060000B2 RID: 178 RVA: 0x00007D30 File Offset: 0x00005F30 private void skype_ContactsFocused(string Username) { this.Log(Username + " focused"); } // Token: 0x060000B3 RID: 179 RVA: 0x00007D48 File Offset: 0x00005F48 public void Log(string text) { bool invokeRequired = this.tb_log.InvokeRequired; if (invokeRequired) { this.tb_log.Invoke(new Action(delegate() { this.tb_log.Text = string.Concat(new string[] { DateTime.Now.ToString("dd/MMM hh:mm:ss"), " ", text, "\r\n", this.tb_log.Text }); })); } else { this.tb_log.Text = string.Concat(new string[] { DateTime.Now.ToString("dd/MMM hh:mm:ss"), " ", text, "\r\n", this.tb_log.Text }); } } // Token: 0x060000B4 RID: 180 RVA: 0x00007DE8 File Offset: 0x00005FE8 public void StatusUpdate(string text) { StatusStrip a = (StatusStrip)base.MdiParent.Controls["statusStrip"]; bool invokeRequired = a.InvokeRequired; if (invokeRequired) { a.Invoke(new Action(delegate() { a.Text = text; })); } else { a.Text = text; } } // Token: 0x060000B5 RID: 181 RVA: 0x00007E60 File Offset: 0x00006060 public void UpdateLabel(Label l, string text) { bool invokeRequired = l.InvokeRequired; if (invokeRequired) { l.Invoke(new Action(delegate() { l.Text = text; })); } else { l.Text = text; } } // Token: 0x060000B6 RID: 182 RVA: 0x00007EC0 File Offset: 0x000060C0 private void button1_Click(object sender, EventArgs e) { PhoneSchedule phoneSchedule = new PhoneSchedule(); phoneSchedule.ShowDialog(); } // Token: 0x060000B7 RID: 183 RVA: 0x00007EDC File Offset: 0x000060DC private void button2_Click(object sender, EventArgs e) { try { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; string text = "https://secure.hoiio.com/open/ivr/start/dial?dest=6596999610&access_token=ssMWqlCqLcJUElOv&app_id=hQKILptEKhHNqXSC&msg=Call&caller_id=private"; this.Log(text); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(text); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); string text2; using (Stream responseStream = httpWebResponse.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(responseStream)) { text2 = streamReader.ReadToEnd(); } } this.Log(text2); } catch (Exception ex) { this.Log("Exception: " + ex.Message); } } // Token: 0x0400006B RID: 107 private ParentForm parentForm; // Token: 0x0400006C RID: 108 private AsynchronousSocketListener asl; // Token: 0x0400006D RID: 109 public AsyncBindingList li; // Token: 0x0400006E RID: 110 private ConcurrentQueue _queue; // Token: 0x0400006F RID: 111 private Stopwatch sw = new Stopwatch(); } }