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.