ExpCloudbookHardwareIDProvider

INT64 __fastcall ExpCloudbookHardwareIDProvider(
        UNICODE_STRING *a1,
        _DWORD *a2,
        UINT8 *a3,
        unsigned int a4,
        UINT8 *a5,
        _BYTE *a6){
  INT64 result; 
  UINT64 *ResultDataSize; 
  __int128 SystemInformation[2]; 
  int v12; 
  LODWORD(ResultDataSize) = a4;
  v12 = 0;
  memset(SystemInformation, 0, sizeof(SystemInformation));
  result = ExpOsProductCacheProviderHelper(a1, (UINT64 *)L"\"$", a2, (UINT64)a3, ResultDataSize, a5);
  if( (int)(result + 0x80000000) >= 0 && (_DWORD)result != -1073741789 )
  {
    *(_DWORD *)a5 = 32;
    result = ZwQuerySystemInformation();
    if( (int)result >= 0 )
    {
      if( (SystemInformation[0] & 4) != 0 )
      {
        if( a4 < 0x20 )
        {
          result = 3221225507i64;
        }
        else
        {
          *a2 = 3;
          memmove(a3, (UINT8 *)SystemInformation + 4, *(unsigned int *)a5);
          result = 0i64;
        }
      }
      else
      {
        result = 3221225524i64;
      }
    }
    *a6 = 1;
  }
  return result;
}

Referenced by:

No references.