using u003cCppImplementationDetailsu003e; using msclr.interop; using MySql.Data.MySqlClient; using std; using System; using System.ComponentModel; using System.Drawing; using System.Resources; using System.Runtime.ExceptionServices; using System.Windows.Forms; namespace FH4xCLoader { public class LoaderForm : Form { private Panel panelBackground; private Panel panelTopBar; private Button buttonClose; private Panel panelLogin; private Label labelTopBar; private Panel panelUsernameBorder; private Panel panelUsernameInner; private TextBox inputUsername; private Panel panelPasswordBorder; private Panel panelPasswordInner; private TextBox inputPassword; private CheckBox checkRememberMe; private Button buttonLogin; private Label labelLoginSuccessIndicator; private Panel seperator1; private Label labelLogin; private Panel panelInjection; private Label labelSubscriptionStatus; private Label labelSubscription; private Label labelUID; private Label labelHello; private Panel seperator2; private Label labelDetectionstatus; private Label labelDetection; private TextBox log; private Button buttonInject; private bool dragging; private Point offset; private unsafe sbyte* FILE_PATH = (sbyte*)(&.??_C@_08EDOPPPOP@C?3?2Temp?2@); private string username; private string uid; private string hwid; private System.ComponentModel.Container components; public LoaderForm() { try { this.InitializeComponent(); } } private void ~LoaderForm() { System.ComponentModel.Container container = this.components; if (container != null) { ((IDisposable)container).Dispose(); } } private void buttonClose_Click(object sender, EventArgs e) { Application.Exit(); } private void buttonInject_Click(object sender, EventArgs e) { this.Inject(); } private void buttonLogin_Click(object sender, EventArgs e) { this.labelLoginSuccessIndicator.Text = "Logging in"; Color color = Color.FromArgb(255, 255, 255); this.labelLoginSuccessIndicator.ForeColor = color; LoaderForm loaderForm = this; if (!loaderForm.Login(loaderForm.inputUsername.Text, this.inputPassword.Text)) { this.labelLoginSuccessIndicator.Text = "Login failed"; Color color1 = Color.FromArgb(198, 40, 40); this.labelLoginSuccessIndicator.ForeColor = color1; } else { this.labelLoginSuccessIndicator.Text = "Logged In"; this.labelHello.Text = string.Concat(string.Concat("Hello ", this.username), "!"); this.labelUID.Text = this.convertUID(); Color color2 = Color.FromArgb(90, 146, 22); this.labelLoginSuccessIndicator.ForeColor = color2; this.panelLogin.Hide(); this.panelBackground.Height = 250; base.Height = 252; this.panelInjection.Show(); } } private string convertUID() { basic_string,std::allocator > basicString = new basic_string,std::allocator >(); string str = "#"; (new marshal_context()).marshal_as,std::allocator >,System::String>(ref basicString, this.uid); try { int num = .std.stoi(ref basicString, 0, 10); if (num >= 1000) { str = string.Concat(str, num); } else if (num >= 100) { str = string.Concat(str, string.Concat("0", num)); } else { str = (num >= 10 ? string.Concat(str, string.Concat("00", num)) : string.Concat(str, string.Concat("000", num))); } } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString); } return str; } private unsafe bool dirExists(basic_string,std::allocator >* dirName_in) { object obj; sbyte* dirNameIn = (sbyte*)dirName_in; if (16 <= (int)(*(dirName_in + 20))) { obj = 1; } else { obj = null; } if ((byte)obj != 0) { dirNameIn = (sbyte*)((int)(*dirName_in)); } uint fileAttributesA = .GetFileAttributesA(dirNameIn); if (fileAttributesA == -1) { return false; } return (byte)(fileAttributesA >> 4 & 1); } [HandleProcessCorruptedStateExceptions] protected override void Dispose(bool A_0) { if (!A_0) { base.Dispose(false); } else { try { this.~LoaderForm(); } finally { base.Dispose(true); } } } private void InitializeComponent() { ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof(LoaderForm)); this.panelBackground = new Panel(); this.panelInjection = new Panel(); this.buttonInject = new Button(); this.log = new TextBox(); this.labelDetectionstatus = new Label(); this.labelDetection = new Label(); this.labelSubscriptionStatus = new Label(); this.labelSubscription = new Label(); this.labelUID = new Label(); this.labelHello = new Label(); this.seperator2 = new Panel(); this.panelLogin = new Panel(); this.labelLoginSuccessIndicator = new Label(); this.seperator1 = new Panel(); this.labelLogin = new Label(); this.checkRememberMe = new CheckBox(); this.buttonLogin = new Button(); this.panelPasswordBorder = new Panel(); this.panelPasswordInner = new Panel(); this.inputPassword = new TextBox(); this.panelUsernameBorder = new Panel(); this.panelUsernameInner = new Panel(); this.inputUsername = new TextBox(); this.panelTopBar = new Panel(); this.labelTopBar = new Label(); this.buttonClose = new Button(); this.panelBackground.SuspendLayout(); this.panelInjection.SuspendLayout(); this.panelLogin.SuspendLayout(); this.panelPasswordBorder.SuspendLayout(); this.panelPasswordInner.SuspendLayout(); this.panelUsernameBorder.SuspendLayout(); this.panelUsernameInner.SuspendLayout(); this.panelTopBar.SuspendLayout(); base.SuspendLayout(); Color color = Color.FromArgb(34, 34, 34); this.panelBackground.BackColor = color; this.panelBackground.Controls.Add(this.panelInjection); this.panelBackground.Controls.Add(this.panelLogin); this.panelBackground.Controls.Add(this.panelTopBar); this.panelBackground.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Point point = new Point(1, 1); this.panelBackground.Location = point; this.panelBackground.Name = "panelBackground"; System.Drawing.Size size = new System.Drawing.Size(498, 398); this.panelBackground.Size = size; this.panelBackground.TabIndex = 0; this.panelInjection.Controls.Add(this.buttonInject); this.panelInjection.Controls.Add(this.log); this.panelInjection.Controls.Add(this.labelDetectionstatus); this.panelInjection.Controls.Add(this.labelDetection); this.panelInjection.Controls.Add(this.labelSubscriptionStatus); this.panelInjection.Controls.Add(this.labelSubscription); this.panelInjection.Controls.Add(this.labelUID); this.panelInjection.Controls.Add(this.labelHello); this.panelInjection.Controls.Add(this.seperator2); Point point1 = new Point(2, 35); this.panelInjection.Location = point1; this.panelInjection.Name = "panelInjection"; System.Drawing.Size size1 = new System.Drawing.Size(494, 215); this.panelInjection.Size = size1; this.panelInjection.TabIndex = 8; Color color1 = Color.FromArgb(50, 111, 221); this.buttonInject.BackColor = color1; this.buttonInject.Cursor = Cursors.Hand; this.buttonInject.FlatAppearance.BorderSize = 0; this.buttonInject.FlatStyle = FlatStyle.Flat; this.buttonInject.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white = Color.White; this.buttonInject.ForeColor = white; Point point2 = new Point(257, 169); this.buttonInject.Location = point2; this.buttonInject.Name = "buttonInject"; System.Drawing.Size size2 = new System.Drawing.Size(224, 31); this.buttonInject.Size = size2; this.buttonInject.TabIndex = 8; this.buttonInject.Text = "Inject"; this.buttonInject.UseVisualStyleBackColor = false; this.buttonInject.Click += new EventHandler(this.buttonInject_Click); Color color2 = Color.FromArgb(55, 55, 55); this.log.BackColor = color2; this.log.BorderStyle = BorderStyle.FixedSingle; this.log.Enabled = false; Color white1 = Color.White; this.log.ForeColor = white1; Point point3 = new Point(257, 15); this.log.Location = point3; this.log.Multiline = true; this.log.Name = "log"; System.Drawing.Size size3 = new System.Drawing.Size(224, 147); this.log.Size = size3; this.log.TabIndex = 7; this.labelDetectionstatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold, GraphicsUnit.Point, 0); Color color3 = Color.FromArgb(90, 146, 22); this.labelDetectionstatus.ForeColor = color3; Point point4 = new Point(15, 165); this.labelDetectionstatus.Location = point4; this.labelDetectionstatus.Name = "labelDetectionstatus"; System.Drawing.Size size4 = new System.Drawing.Size(205, 23); this.labelDetectionstatus.Size = size4; this.labelDetectionstatus.TabIndex = 6; this.labelDetectionstatus.Text = "UNDETECTED"; this.labelDetectionstatus.TextAlign = ContentAlignment.MiddleCenter; Color transparent = Color.Transparent; this.labelDetection.BackColor = transparent; this.labelDetection.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white2 = Color.White; this.labelDetection.ForeColor = white2; Point point5 = new Point(15, 140); this.labelDetection.Location = point5; this.labelDetection.Name = "labelDetection"; System.Drawing.Size size5 = new System.Drawing.Size(205, 24); this.labelDetection.Size = size5; this.labelDetection.TabIndex = 5; this.labelDetection.Text = "Detectionstatus:"; this.labelDetection.TextAlign = ContentAlignment.MiddleCenter; this.labelSubscriptionStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Color color4 = Color.FromArgb(90, 146, 22); this.labelSubscriptionStatus.ForeColor = color4; Point point6 = new Point(15, 105); this.labelSubscriptionStatus.Location = point6; this.labelSubscriptionStatus.Name = "labelSubscriptionStatus"; this.labelSubscriptionStatus.RightToLeft = System.Windows.Forms.RightToLeft.Yes; System.Drawing.Size size6 = new System.Drawing.Size(205, 23); this.labelSubscriptionStatus.Size = size6; this.labelSubscriptionStatus.TabIndex = 4; this.labelSubscriptionStatus.Text = "Your subscription is valid"; this.labelSubscriptionStatus.TextAlign = ContentAlignment.MiddleCenter; this.labelSubscription.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white3 = Color.White; this.labelSubscription.ForeColor = white3; Point point7 = new Point(15, 80); this.labelSubscription.Location = point7; this.labelSubscription.Name = "labelSubscription"; System.Drawing.Size size7 = new System.Drawing.Size(205, 24); this.labelSubscription.Size = size7; this.labelSubscription.TabIndex = 3; this.labelSubscription.Text = "Subscriptionstatus:"; this.labelSubscription.TextAlign = ContentAlignment.MiddleCenter; Color transparent1 = Color.Transparent; this.labelUID.BackColor = transparent1; this.labelUID.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color buttonShadow = SystemColors.ButtonShadow; this.labelUID.ForeColor = buttonShadow; Point point8 = new Point(23, 50); this.labelUID.Location = point8; this.labelUID.Name = "labelUID"; System.Drawing.Size size8 = new System.Drawing.Size(205, 16); this.labelUID.Size = size8; this.labelUID.TabIndex = 2; this.labelUID.Text = "#0000"; this.labelUID.TextAlign = ContentAlignment.MiddleRight; Color transparent2 = Color.Transparent; this.labelHello.BackColor = transparent2; this.labelHello.Font = new System.Drawing.Font("Microsoft Sans Serif", 18f, FontStyle.Regular, GraphicsUnit.Point, 0); Color color5 = Color.FromArgb(66, 127, 237); this.labelHello.ForeColor = color5; Point point9 = new Point(15, 15); this.labelHello.Location = point9; this.labelHello.Name = "labelHello"; this.labelHello.RightToLeft = System.Windows.Forms.RightToLeft.No; System.Drawing.Size size9 = new System.Drawing.Size(213, 29); this.labelHello.Size = size9; this.labelHello.TabIndex = 1; this.labelHello.Text = "Hello!"; this.labelHello.TextAlign = ContentAlignment.MiddleCenter; Color color6 = Color.FromArgb(66, 127, 237); this.seperator2.BackColor = color6; Point point10 = new Point(241, 15); this.seperator2.Location = point10; this.seperator2.Name = "seperator2"; System.Drawing.Size size10 = new System.Drawing.Size(1, 185); this.seperator2.Size = size10; this.seperator2.TabIndex = 0; this.panelLogin.Controls.Add(this.labelLoginSuccessIndicator); this.panelLogin.Controls.Add(this.seperator1); this.panelLogin.Controls.Add(this.labelLogin); this.panelLogin.Controls.Add(this.checkRememberMe); this.panelLogin.Controls.Add(this.buttonLogin); this.panelLogin.Controls.Add(this.panelPasswordBorder); this.panelLogin.Controls.Add(this.panelUsernameBorder); Point point11 = new Point(2, 35); this.panelLogin.Location = point11; this.panelLogin.Name = "panelLogin"; System.Drawing.Size size11 = new System.Drawing.Size(494, 363); this.panelLogin.Size = size11; this.panelLogin.TabIndex = 1; this.labelLoginSuccessIndicator.AutoSize = true; Color transparent3 = Color.Transparent; this.labelLoginSuccessIndicator.BackColor = transparent3; this.labelLoginSuccessIndicator.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Color color7 = Color.FromArgb(198, 40, 40); this.labelLoginSuccessIndicator.ForeColor = color7; Point point12 = new Point(150, 95); this.labelLoginSuccessIndicator.Location = point12; this.labelLoginSuccessIndicator.Name = "labelLoginSuccessIndicator"; System.Drawing.Size size12 = new System.Drawing.Size(0, 24); this.labelLoginSuccessIndicator.Size = size12; this.labelLoginSuccessIndicator.TabIndex = 7; Color color8 = Color.FromArgb(66, 127, 237); this.seperator1.BackColor = color8; Point point13 = new Point(150, 75); this.seperator1.Location = point13; this.seperator1.Name = "seperator1"; System.Drawing.Size size13 = new System.Drawing.Size(200, 1); this.seperator1.Size = size13; this.seperator1.TabIndex = 6; this.labelLogin.AutoSize = true; Color transparent4 = Color.Transparent; this.labelLogin.BackColor = transparent4; this.labelLogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color color9 = Color.FromArgb(66, 127, 237); this.labelLogin.ForeColor = color9; Point point14 = new Point(150, 45); this.labelLogin.Location = point14; this.labelLogin.Name = "labelLogin"; System.Drawing.Size size14 = new System.Drawing.Size(65, 25); this.labelLogin.Size = size14; this.labelLogin.TabIndex = 5; this.labelLogin.Text = "Login"; this.checkRememberMe.AutoSize = true; this.checkRememberMe.Cursor = Cursors.Hand; this.checkRememberMe.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white4 = Color.White; this.checkRememberMe.ForeColor = white4; Point point15 = new Point(150, 259); this.checkRememberMe.Location = point15; this.checkRememberMe.Name = "checkRememberMe"; System.Drawing.Size size15 = new System.Drawing.Size(117, 20); this.checkRememberMe.Size = size15; this.checkRememberMe.TabIndex = 4; this.checkRememberMe.Text = "Remember Me"; this.checkRememberMe.UseVisualStyleBackColor = true; Color color10 = Color.FromArgb(66, 127, 237); this.buttonLogin.BackColor = color10; this.buttonLogin.Cursor = Cursors.Hand; this.buttonLogin.FlatAppearance.BorderSize = 0; this.buttonLogin.FlatStyle = FlatStyle.Flat; this.buttonLogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white5 = Color.White; this.buttonLogin.ForeColor = white5; Point point16 = new Point(275, 253); this.buttonLogin.Location = point16; this.buttonLogin.Name = "buttonLogin"; System.Drawing.Size size16 = new System.Drawing.Size(75, 30); this.buttonLogin.Size = size16; this.buttonLogin.TabIndex = 3; this.buttonLogin.Text = "Login"; this.buttonLogin.UseVisualStyleBackColor = false; this.buttonLogin.Click += new EventHandler(this.buttonLogin_Click); Color color11 = Color.FromArgb(0, 83, 186); this.panelPasswordBorder.BackColor = color11; this.panelPasswordBorder.Controls.Add(this.panelPasswordInner); Point point17 = new Point(150, 193); this.panelPasswordBorder.Location = point17; this.panelPasswordBorder.Name = "panelPasswordBorder"; System.Drawing.Size size17 = new System.Drawing.Size(200, 30); this.panelPasswordBorder.Size = size17; this.panelPasswordBorder.TabIndex = 2; Color color12 = Color.FromArgb(66, 127, 237); this.panelPasswordInner.BackColor = color12; this.panelPasswordInner.Controls.Add(this.inputPassword); Point point18 = new Point(1, 1); this.panelPasswordInner.Location = point18; this.panelPasswordInner.Name = "panelPasswordInner"; System.Drawing.Size size18 = new System.Drawing.Size(198, 28); this.panelPasswordInner.Size = size18; this.panelPasswordInner.TabIndex = 0; Color color13 = Color.FromArgb(66, 127, 237); this.inputPassword.BackColor = color13; this.inputPassword.BorderStyle = BorderStyle.None; this.inputPassword.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white6 = Color.White; this.inputPassword.ForeColor = white6; Point point19 = new Point(8, 6); this.inputPassword.Location = point19; this.inputPassword.Name = "inputPassword"; this.inputPassword.PasswordChar = '*'; System.Drawing.Size size19 = new System.Drawing.Size(182, 15); this.inputPassword.Size = size19; this.inputPassword.TabIndex = 0; Color color14 = Color.FromArgb(0, 83, 186); this.panelUsernameBorder.BackColor = color14; this.panelUsernameBorder.Controls.Add(this.panelUsernameInner); Point point20 = new Point(150, 133); this.panelUsernameBorder.Location = point20; this.panelUsernameBorder.Name = "panelUsernameBorder"; System.Drawing.Size size20 = new System.Drawing.Size(200, 30); this.panelUsernameBorder.Size = size20; this.panelUsernameBorder.TabIndex = 1; Color color15 = Color.FromArgb(66, 127, 237); this.panelUsernameInner.BackColor = color15; this.panelUsernameInner.Controls.Add(this.inputUsername); Point point21 = new Point(1, 1); this.panelUsernameInner.Location = point21; this.panelUsernameInner.Name = "panelUsernameInner"; System.Drawing.Size size21 = new System.Drawing.Size(198, 28); this.panelUsernameInner.Size = size21; this.panelUsernameInner.TabIndex = 0; Color color16 = Color.FromArgb(66, 127, 237); this.inputUsername.BackColor = color16; this.inputUsername.BorderStyle = BorderStyle.None; this.inputUsername.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0); Color white7 = Color.White; this.inputUsername.ForeColor = white7; Point point22 = new Point(8, 6); this.inputUsername.Location = point22; this.inputUsername.Name = "inputUsername"; System.Drawing.Size size22 = new System.Drawing.Size(182, 15); this.inputUsername.Size = size22; this.inputUsername.TabIndex = 0; Color color17 = Color.FromArgb(66, 127, 237); this.panelTopBar.BackColor = color17; this.panelTopBar.Controls.Add(this.labelTopBar); this.panelTopBar.Controls.Add(this.buttonClose); Point point23 = new Point(0, 0); this.panelTopBar.Location = point23; this.panelTopBar.Name = "panelTopBar"; System.Drawing.Size size23 = new System.Drawing.Size(498, 35); this.panelTopBar.Size = size23; this.panelTopBar.TabIndex = 0; this.panelTopBar.MouseDown += new MouseEventHandler(this.panelTopBar_MouseDown); this.panelTopBar.MouseMove += new MouseEventHandler(this.panelTopBar_MouseMove); this.panelTopBar.MouseUp += new MouseEventHandler(this.panelTopBar_MouseUp); this.labelTopBar.AutoSize = true; this.labelTopBar.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25f, FontStyle.Regular, GraphicsUnit.Point, 0); Point point24 = new Point(11, 8); this.labelTopBar.Location = point24; this.labelTopBar.Name = "labelTopBar"; System.Drawing.Size size24 = new System.Drawing.Size(112, 18); this.labelTopBar.Size = size24; this.labelTopBar.TabIndex = 2; this.labelTopBar.Text = "FH4x Loader v2"; Color color18 = Color.FromArgb(66, 127, 237); this.buttonClose.BackColor = color18; this.buttonClose.Cursor = Cursors.Hand; this.buttonClose.FlatAppearance.BorderSize = 0; Color color19 = Color.FromArgb(50, 111, 221); this.buttonClose.FlatAppearance.MouseDownBackColor = color19; this.buttonClose.FlatStyle = FlatStyle.Flat; this.buttonClose.Font = new System.Drawing.Font("Microsoft Sans Serif", 12f, FontStyle.Bold, GraphicsUnit.Point, 0); Color whiteSmoke = Color.WhiteSmoke; this.buttonClose.ForeColor = whiteSmoke; Point point25 = new Point(463, 0); this.buttonClose.Location = point25; this.buttonClose.Name = "buttonClose"; this.buttonClose.RightToLeft = System.Windows.Forms.RightToLeft.No; System.Drawing.Size size25 = new System.Drawing.Size(35, 35); this.buttonClose.Size = size25; this.buttonClose.TabIndex = 0; this.buttonClose.Text = "X"; this.buttonClose.UseVisualStyleBackColor = false; this.buttonClose.Click += new EventHandler(this.buttonClose_Click); base.AutoScaleDimensions = new SizeF(6f, 13f); base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = Color.FromArgb(66, 127, 237); base.ClientSize = new System.Drawing.Size(500, 400); base.Controls.Add(this.panelBackground); base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; base.Icon = (System.Drawing.Icon)componentResourceManager.GetObject("$this.Icon"); base.MaximizeBox = false; base.Name = "LoaderForm"; this.Text = "FH4x"; LoaderForm loaderForm = this; loaderForm.Load += new EventHandler(loaderForm.LoaderForm_Load); this.panelBackground.ResumeLayout(false); this.panelInjection.ResumeLayout(false); this.panelInjection.PerformLayout(); this.panelLogin.ResumeLayout(false); this.panelLogin.PerformLayout(); this.panelPasswordBorder.ResumeLayout(false); this.panelPasswordInner.ResumeLayout(false); this.panelPasswordInner.PerformLayout(); this.panelUsernameBorder.ResumeLayout(false); this.panelUsernameInner.ResumeLayout(false); this.panelUsernameInner.PerformLayout(); this.panelTopBar.ResumeLayout(false); this.panelTopBar.PerformLayout(); base.ResumeLayout(false); } private void Inject() { int num; byte num1; basic_ofstream > u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 = new basic_ofstream >(); basic_string,std::allocator > basicString = new basic_string,std::allocator >(); basic_string,std::allocator > basicString1 = null; uint num2 = 0; this.log.Text = string.Concat(this.log.Text, "Starting Injection\r\n"); if (this.PerformHWIDCheck()) { if (.CreateDirectoryW(ref .??_C@_1EM@BKEDLNAF@?$AAC?$AA?3?$AA?1?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAD?$AAa?$AAt?$AAa?$AA?1@, 0) != null) { .std.basic_string,std::allocator >.{ctor}(ref basicString1, ref .??_C@_0CG@NJKDEAJP@C?3?1ProgramData?1Rxc05B3V6sd89g7z@); try { num2 = 1; if (!this.dirExists(ref basicString1)) { num = 1; goto Label0; } } } try { num = 0; } Label0: try { num1 = (byte)num; } if ((num2 & 1) != 0) { num2 &= -2; try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString1); } } if (num1 == 0) { this.log.Text = string.Concat(this.log.Text, "Downloading latest DLL\r\n"); .@remove(ref .??_C@_0DD@HKCDOHIA@C?3?1ProgramData?1Rxc05B3V6sd89g7z@); int fileW = .URLDownloadToFileW(0, ref .??_C@_1DI@LIPNPMBF@?$AAh?$AAt?$AAt?$AAp?$AAs?$AA?3?$AA?1?$AA?1?$AAn?$AA3?$AAt?$AAc?$AA0?$AA?4?$AAd@, ref .??_C@_1GG@PDBMNDIM@?$AAC?$AA?3?$AA?1?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAD?$AAa?$AAt?$AAa?$AA?1@, 0, 0); .DeleteUrlCacheEntryW(ref .??_C@_1DI@LIPNPMBF@?$AAh?$AAt?$AAt?$AAp?$AAs?$AA?3?$AA?1?$AA?1?$AAn?$AA3?$AAt?$AAc?$AA0?$AA?4?$AAd@); .std.basic_string,std::allocator >.{ctor}(ref basicString, ref .??_C@_0DC@OMHDJPNE@C?3?1ProgramData?1Rxc05B3V6sd89g7z@); try { .std.basic_ofstream >.{ctor}(ref u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040, .std.basic_string,std::allocator >.c_str(ref basicString), 32, 64, 1); try { *(*((int)u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 4) + &u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040) = &.??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@; int num3 = *((int)u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 4); *(num3 + &u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 - 4) = num3 - 104; } try { .std.basic_ostream >.<<(ref u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040, (int)._time64(0)); if (.std.basic_filebuf >.close(&u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 4) == null) { .std.basic_ios >.setstate(*((int)u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 4) + &u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040, 2, false); } if (fileW == -2147024882) { this.log.Text = string.Concat(this.log.Text, "Download failed: Out of Memory\r\n"); } else if (fileW == -2146697208) { this.log.Text = string.Concat(this.log.Text, "Download failed: Cannot access server data\r\n"); } else if (fileW == null) { this.log.Text = string.Concat(this.log.Text, "Download successful\r\n"); if (.InjF(ref .??_C@_08NJBFDPPJ@csgo?4exe@, ref .??_C@_0DD@HKCDOHIA@C?3?1ProgramData?1Rxc05B3V6sd89g7z@) != null) { this.log.Text = string.Concat(this.log.Text, "Injection failed\r\n"); } else { this.log.Text = string.Concat(this.log.Text, "Injection successful\r\n"); } } else { this.log.Text = string.Concat(this.log.Text, string.Concat(string.Concat("Unknown error: ", (int)fileW), "\r\n")); } } .std.basic_ofstream >.{dtor}(&u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 104); .std.basic_ios >.{dtor}(&u003fu003f7u003fu0024basicOfstreamu0040DUu003fu0024charTraitsu0040Du0040stdu0040u0040u0040stdu0040u00406Bu0040 + 104); } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString); } } else { this.log.Text = string.Concat(this.log.Text, "Error: 0x0512\r\n"); this.log.Text = string.Concat(this.log.Text, "Try starting fh4x Loader as Admin\r\n"); } } } private void LoaderForm_Load(object sender, EventArgs e) { basic_string,std::allocator > basicString = new basic_string,std::allocator >(); basic_string,std::allocator > basicString1 = new basic_string,std::allocator >(); basic_string,std::allocator > basicString2 = new basic_string,std::allocator >(); basic_ifstream > basicIfstream = new basic_ifstream >(); object obj; this.dragging = false; this.panelInjection.Hide(); int width = Screen.PrimaryScreen.Bounds.Width; int height = Screen.PrimaryScreen.Bounds.Height; base.Left = width / 2 - base.Width / 2; base.Top = height / 2 - base.Height / 2; .std.basic_ifstream >.{ctor}(ref basicIfstream, ref .??_C@_0DD@GJEELBAI@C?3?1ProgramData?1Rxc05B3V6sd89g7z@, 1, 64, 1); try { .std._String_val >.{ctor}(ref basicString2); try { .std.basic_string,std::allocator >._Tidy_init(ref basicString2); } try { if ((int)(*(&basicIfstream + 92)) != 0) { obj = 1; } else { obj = null; } if ((byte)obj != 0) { .std.getline,class std::allocator >(ref basicIfstream, ref basicString2, .std.basic_ios >.widen(*((int)basicIfstream + 4) + &basicIfstream, 10)); if (.std.basic_string,std::allocator >._Equal(ref basicString2, ref .??_C@_04LOAJBDKD@true@)) { .std.getline,class std::allocator >(ref basicIfstream, ref basicString2, .std.basic_ios >.widen(*((int)basicIfstream + 4) + &basicIfstream, 10)); .std.basic_string,std::allocator >.{ctor}(ref basicString1, ref basicString2); try { .std.getline,class std::allocator >(ref basicIfstream, ref basicString2, .std.basic_ios >.widen(*((int)basicIfstream + 4) + &basicIfstream, 10)); .std.basic_string,std::allocator >.{ctor}(ref basicString, ref basicString2); try { this.inputUsername.Text = new string(.std.basic_string,std::allocator >.c_str(ref basicString1)); this.inputPassword.Text = new string(.std.basic_string,std::allocator >.c_str(ref basicString)); this.checkRememberMe.Checked = true; } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString); } } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString1); } } } try { } } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString2); } } .std.basic_ifstream >.{dtor}(&basicIfstream + 112); .std.basic_ios >.{dtor}(&basicIfstream + 112); } private unsafe bool Login(string username, string password) { } private void panelTopBar_MouseDown(object sender, MouseEventArgs e) { this.dragging = true; this.offset = new Point(e.X, e.Y); } private void panelTopBar_MouseMove(object sender, MouseEventArgs e) { if (this.dragging) { Point screen = base.PointToScreen(e.Location); Point point = new Point(screen.X - this.offset.X, screen.Y - this.offset.Y); base.Location = point; } } private void panelTopBar_MouseUp(object sender, MouseEventArgs e) { this.dragging = false; } private bool PerformHWIDCheck() { bool flag; bool flag1; basic_string,std::allocator > basicString = new basic_string,std::allocator >(); $ArrayType$$$BY0IA@D _u0024ArrayTypeu0024u0024u0024BY0IAu0040D = new $ArrayType$$$BY0IA@D(); this.log.Text = string.Concat(this.log.Text, "Performing HWID Check\r\n"); .sprintf_s<128>(ref _u0024ArrayTypeu0024u0024u0024BY0IAu0040D, ref .??_C@_02DPKJAMEF@?$CFd@, .GetHWID()); .std.basic_string,std::allocator >.{ctor}(ref basicString, ref _u0024ArrayTypeu0024u0024u0024BY0IAu0040D); try { string str = new string(.std.basic_string,std::allocator >.c_str(ref basicString)); if (this.hwid != "0") { if (str.Equals(this.hwid)) { goto Label1; } this.log.Text != string.Concat(this.log.Text, "HWID is invalid\r\n"); flag1 = false; } else { this.UpdateDBHWID(); flag1 = true; } flag = flag1; Label0: } try { .std.basic_string,std::allocator >._Tidy_deallocate(ref basicString); } return flag; Label1: this.log.Text = string.Concat(this.log.Text, "HWID is valid\r\n"); flag = true; goto Label0; } private void UpdateDBHWID() { string str = string.Concat(string.Concat(string.Concat(string.Concat("UPDATE user SET hwid = ", (ushort).GetHWID()), " WHERE username = '"), this.username), "'"); MySqlConnection mySqlConnection = new MySqlConnection("datasource=160.20.145.202;port=3306;username=fh4x;password=b&bcheatsfh4x;database=fh4x"); MySqlCommand mySqlCommand = new MySqlCommand(str, mySqlConnection); try { mySqlConnection.Open(); mySqlCommand.ExecuteReader(); } catch (Exception exception1) { Exception exception = exception1; this.log.Text = string.Concat(this.log.Text, string.Concat(string.Concat("Error: 0x4342 : ", exception.ToString()), "\r\n")); } } } }