VerGetOsInfo

    xiaoxiao2026-01-06  10

    VerGetOsInfo

    __int64 __fastcall VerGetOsInfo(_DWORD *a1) { int v1; // edi@1 _DWORD *v2; // rbx@1 int v3; // eax@6 v1 = 0; v2 = a1; if ( !a1 ) CbsUtil_Assert((__int64)"base\\cbs\\util\\cbsver.cpp", 24i64, (__int64)"pOsVersion"); if ( !g_OsVersionInfo.dwOSVersionInfoSize ) { g_OsVersionInfo.dwOSVersionInfoSize = 284; if ( !GetVersionExW(&g_OsVersionInfo) ) { g_OsVersionInfo.dwOSVersionInfoSize = 276; if ( !GetVersionExW(&g_OsVersionInfo) ) { v3 = GetLastError(); if ( v3 > 0 ) v3 = (unsigned __int16)v3 | 0x80070000; if ( v3 >= 0 ) v3 = -2147467259; v1 = v3; CBSWdsLog(0x4000000u, v3, 1i64, "Failed to get OS version information."); return (unsigned int)v1; } } } if ( g_OsVersionInfo.dwMajorVersion > 0xA ) goto LABEL_64; if ( g_OsVersionInfo.dwMajorVersion == 10 ) { if ( !g_OsVersionInfo.dwMinorVersion ) { if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 54, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 12; return (unsigned int)v1; } LABEL_64: *v2 = 13; return (unsigned int)v1; } if ( g_OsVersionInfo.dwMajorVersion == 6 ) { if ( g_OsVersionInfo.dwMinorVersion >= 2 ) { if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", 60i64, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 11; return (unsigned int)v1; } if ( g_OsVersionInfo.dwMinorVersion == 1 ) { if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 64, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 10; return (unsigned int)v1; } if ( !g_OsVersionInfo.dwMinorVersion ) { if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 70, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 9; return (unsigned int)v1; } LABEL_63: *v2 = 0; return (unsigned int)v1; } if ( g_OsVersionInfo.dwMajorVersion == 5 ) { if ( g_OsVersionInfo.dwMinorVersion == 2 ) { if ( g_OsVersionInfo.dwPlatformId != g_OsVersionInfo.dwMinorVersion ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 73, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 8; } else if ( g_OsVersionInfo.dwMinorVersion == 1 ) { if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 79, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 7; } else { if ( g_OsVersionInfo.dwMinorVersion ) goto LABEL_63; if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 85, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 6; } } else if ( g_OsVersionInfo.dwMajorVersion == 4 ) { if ( g_OsVersionInfo.dwMinorVersion ) { if ( g_OsVersionInfo.dwMinorVersion == 90 ) { if ( g_OsVersionInfo.dwPlatformId != 1 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 5, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS"); *v2 = 4; } else { if ( g_OsVersionInfo.dwMinorVersion != 10 ) goto LABEL_63; if ( g_OsVersionInfo.dwPlatformId != 1 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMinorVersion + 90, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS"); *v2 = 3; } } else if ( g_OsVersionInfo.dwPlatformId == 2 ) { *v2 = 5; } else { if ( g_OsVersionInfo.dwPlatformId != 1 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", 105i64, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS"); *v2 = 2; } } else { if ( g_OsVersionInfo.dwMajorVersion != 3 || g_OsVersionInfo.dwMinorVersion != 51 ) goto LABEL_63; if ( g_OsVersionInfo.dwPlatformId != 2 ) CbsUtil_Assert( (__int64)"base\\cbs\\util\\cbsver.cpp", g_OsVersionInfo.dwMajorVersion + 107, (__int64)"g_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT"); *v2 = 1; } return (unsigned int)v1; }
    转载请注明原文地址: https://ju.6miu.com/read-1305704.html
    最新回复(0)