Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Globalization;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- public static bool metoda0(string string_0, string string_1, string string_2)
- {
- return smethod_1(0x7a5e26ed, 0x51abecb1, string_2, string_0, string_1, string.Empty);
- }
- internal static bool smethod_1(uint uint_0, uint uint_1, string string_0, string string_1, string string_2, string string_3)
- {
- if (string.IsNullOrEmpty(string_0))
- {
- return false;
- }
- if (string_0.Length != 0x20)
- {
- return false;
- }
- if (((uint_0 == 0) || (uint_1 == 0)) || (uint_0 == uint_1))
- {
- return false;
- }
- bool flag2 = false;
- string str = metoda2(string_0);
- if (string.IsNullOrEmpty(str))
- {
- return false;
- }
- string str2 = metoda5(metoda4(str, string_2, string_3), uint_0, uint_1);
- if (string.IsNullOrEmpty(string_1))
- {
- string_1 = "";
- }
- StringBuilder builder = new StringBuilder();
- char ch = (char)((byte)(((uint_0 + uint_1) % 0x1a) + 0x41));
- builder.Append(ch);
- builder.Append(metoda3(string_1.ToUpper(), uint_0, uint_1));
- if (!string.IsNullOrEmpty(str2) && (str2[0] == '\0'))
- {
- flag2 = true;
- if (0x57 != (str2[2] ^ ((byte)uint_1)))
- {
- flag2 = false;
- }
- if (0x53 != (str2[5] ^ ((byte)uint_1)))
- {
- flag2 = false;
- }
- if (0x52 != (str2[7] ^ ((byte)uint_1)))
- {
- flag2 = false;
- }
- if (0x44 != (str2[10] ^ ((byte)uint_1)))
- {
- flag2 = false;
- }
- if (0x57 != ((str2[11] ^ 'S') ^ ((byte)uint_0)))
- {
- flag2 = false;
- }
- return flag2;
- }
- return (string.Compare(builder.ToString(), str2, false) == 0);
- }
- private static string metoda2(string string_0)
- {
- if (string.IsNullOrEmpty(string_0) || ((string_0.Length & 1) != 0))
- {
- return string.Empty;
- }
- int capacity = string_0.Length / 2;
- StringBuilder builder2 = new StringBuilder(capacity)
- {
- Length = capacity
- };
- for (int i = 0; i < capacity; i++)
- {
- int num3;
- if (!int.TryParse(string_0.Substring(i * 2, 2), NumberStyles.HexNumber, null, out num3))
- {
- return string.Empty;
- }
- builder2[i] = (char)num3;
- }
- return builder2.ToString();
- }
- private static string metoda3(string string_0, uint uint_0, uint uint_1)
- {
- if (string.IsNullOrEmpty(string_0))
- {
- return string.Empty;
- }
- uint num = 0;
- int length = string_0.Length;
- for (int i = 0; i < length; i++)
- {
- num += (uint)((((string_0[i] * i) * (i + 1)) + string_0[i]) + i);
- }
- StringBuilder builder2 = new StringBuilder
- {
- Length = 12
- };
- for (int j = 0; j < 11; j++)
- {
- int num5 = (int)((((((10 - j) + 1) * uint_0) * uint_1) + num) % ((long)length));
- builder2[j] = (char)((byte)((((string_0[num5] + string_0[j % length]) + string_0[(int)((j * num) % ((long)length))]) + j) + num));
- }
- builder2[11] = '\0';
- return builder2.ToString();
- }
- private static string metoda4(string string_0, string string_1, string string_2)
- {
- StringBuilder builder = new StringBuilder();
- builder.Append(string_1.ToUpper());
- builder.Append(string_2.ToUpper());
- if (builder.Length <= 0)
- {
- return string_0;
- }
- string str2 = metoda3(builder.ToString(), 0, 0);
- StringBuilder builder3 = new StringBuilder(0x10)
- {
- Length = 0x10
- };
- for (int i = 0; i < 0x10; i++)
- {
- builder3[i] = (char)((byte)(string_0[i] ^ str2[i % 12]));
- }
- return builder3.ToString();
- }
- private static string metoda5(string string_0, uint uint_0, uint uint_1)
- {
- StringBuilder builder = new StringBuilder((string_0.Length / 4) * 3);
- for (int i = 0; i < string_0.Length; i += 4)
- {
- builder.Append(metoda_finala(string_0.Substring(i, 4), uint_0, uint_1));
- }
- return builder.ToString();
- }
- private static uint metoda6(uint uint_0, uint uint_1, uint uint_2)
- {
- ulong num = uint_0;
- uint num2 = 1;
- for (uint i = 0; i < 0x20; i++)
- {
- if ((uint_2 & 1) != 0)
- {
- num2 = (uint)((num2 * num) % ((ulong)uint_1));
- }
- num = (num * num) % ((ulong)uint_1);
- uint_2 = uint_2 >> 1;
- }
- return num2;
- }
- private static string metoda_finala(string string_0, uint uint_0, uint uint_1)
- {
- uint num = ((string_0[0] | (string_0[1] << 8)) | (string_0[2] << 0x10)) | (string_0[3] << 0x18);
- uint num2 = metoda6(num, uint_0, uint_1);
- StringBuilder builder = new StringBuilder(3)
- {
- Length = 3
- };
- builder[0] = (char)(num2 & 0xff);
- builder[1] = (char)((ushort)((num2 & 0xff00) >> 8));
- builder[2] = (char)((ushort)((num2 & 0xff0000) >> 0x10));
- return builder.ToString();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement