Files
BunifuUiCrack/Bunifu.Licensing/Helpers/Network.cs
T
hexadecimal e3c1cdea0e Add source
2025-04-24 20:51:29 +03:00

60 lines
1.7 KiB
C#

using System;
using System.Diagnostics;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
namespace Bunifu.Licensing.Helpers
{
// Token: 0x02000037 RID: 55
[DebuggerStepThrough]
internal sealed class Network
{
// Token: 0x06000263 RID: 611
[DllImport("wininet.dll")]
private static extern bool InternetGetConnectedState(out int Description, int ReservedValue);
// Token: 0x06000264 RID: 612 RVA: 0x00017938 File Offset: 0x00015B38
public static bool IsAvailable()
{
int num;
return Network.InternetGetConnectedState(out num, 0);
}
// Token: 0x06000265 RID: 613 RVA: 0x00017954 File Offset: 0x00015B54
public static bool IsAvailable(long minimumSpeed)
{
bool flag = !NetworkInterface.GetIsNetworkAvailable();
bool flag2;
if (flag)
{
flag2 = false;
}
else
{
foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces())
{
bool flag3 = networkInterface.OperationalStatus != OperationalStatus.Up || networkInterface.NetworkInterfaceType == NetworkInterfaceType.Loopback || networkInterface.NetworkInterfaceType == NetworkInterfaceType.Tunnel;
if (!flag3)
{
bool flag4 = networkInterface.Speed < minimumSpeed;
if (!flag4)
{
bool flag5 = networkInterface.Description.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0 || networkInterface.Name.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0;
if (!flag5)
{
bool flag6 = networkInterface.Description.Equals("Microsoft Loopback Adapter", StringComparison.OrdinalIgnoreCase);
if (!flag6)
{
return true;
}
}
}
}
}
flag2 = false;
}
return flag2;
}
}
}