SleepstudyHelperDestroyBlockerBuilder

NTSTATUS __stdcall SleepstudyHelperDestroyBlockerBuilder(PVOID P){
  NTSTATUS v1; 
  __int64 v3; 
  VOID *v4; 
  unsigned int v5; 
  _QWORD *v6; 

  v1 = 0;
  if( !P )
    return -1073741811;
  v3 = *(_QWORD *)P;
  v4 = (VOID *)*((_QWORD *)P + 7);
  v5 = *(_DWORD *)(v3 + 24);
  if( v4 )
  {
    *((_DWORD *)P + 12) = 0;
    CmpFreeTransientPoolWithTag(v4, v5);
    *((_QWORD *)P + 7) = 0i64;
  }
  v6 = (_QWORD *)*((_QWORD *)P + 8);
  if( v6 )
    SshpDereferenceBlocker(v6);
  CmpFreeTransientPoolWithTag(P, v5);
  return v1;
}

Referenced by:

SleepstudyHelperBuildBlocker
SleepstudyHelperCreateBlockerFromComponent
SleepstudyHelperCreateBlockerFromDevice
SleepstudyHelperCreateBlockerFromGuid
SleepstudyHelper_RegisterComponentEx
SleepstudyHelper_RegisterPdoWithParentGuid
SleepstudyHelper_RegisterPdoWithParentHandle
SleepstudyHelper_RegisterPdoWithParentPdo