SleepstudyHelperCreateBlockerFromComponent

__int64 __fastcall SleepstudyHelperCreateBlockerFromComponent(
        __int64 a1,
        __int128 *a2,
        struct _DEVICE_OBJECT *a3,
        int a4,
        _QWORD *a5){
  __int64 *v5; 
  __int64 *PoolWithTag; 
  int DeviceFriendlyName; 
  __int128 v12; 
  v5 = 0i64;
  if( a1 && a2 && a3 && a5 )
  {
    PoolWithTag = (__int64 *)ExAllocatePoolWithTag(PagedPool, 0x50ui64, *(unsigned int *)(a1 + 24));
    v5 = PoolWithTag;
    if( !PoolWithTag )
      return(unsigned int)-1073741670;
    memset((INT64)PoolWithTag, 0i64);
    *v5 = a1;
    v12 = *a2;
    v5[4] = (__int64)a3;
    *((_DWORD *)v5 + 11) = a4;
    *((_OWORD *)v5 + 1) = v12;
    *((_DWORD *)v5 + 10) = 52428;
    *((_BYTE *)v5 + 72) = 1;
    DeviceFriendlyName = SshpGenerateDeviceFriendlyName(a3);
    if( DeviceFriendlyName >= 0 )
    {
      *a5 = v5;
      return 0;
    }
  }
  else
  {
    DeviceFriendlyName = -1073741811;
  }
  if( v5 )
    SleepstudyHelperDestroyBlockerBuilder(v5);
  return(unsigned int)DeviceFriendlyName;
}

Referenced by:

No references.