SleepstudyHelper_RegisterPdoWithParentHandle

__int64 __fastcall SleepstudyHelper_RegisterPdoWithParentHandle(
        __int64 a1,
        _SC_DEVICE *rdx0,
        _DEVICE_OBJECT *a3,
        _EX_PUSH_LOCK **a4){
  _EX_PUSH_LOCK *v4; 
  PVOID v5; 
  int v9; 
  unsigned int v10; 
  int v11; 
  PVOID P; 
  __int128 v14[3]; 
  _EX_PUSH_LOCK *a2; 

  v4 = 0i64;
  v5 = 0i64;
  a2 = 0i64;
  P = 0i64;
  v14[0] = 0i64;
  if( a1 && rdx0 && a3 && a4 )
  {
    SleepstudyHelperGetBlockerGuid(rdx0, (INT64)v14, a3);
    v10 = v9;
    if( v9 < 0 )
      return v10;
    v11 = SleepstudyHelperCreateBlockerFromDevice(a1, v14, a3, &P);
    v5 = P;
    v10 = v11;
    if( v11 >= 0 )
    {
      v10 = SleepstudyHelperBuildBlocker(P, &a2);
      if( (v10 & 0x80000000) == 0 )
      {
        *a4 = a2;
        return v10;
      }
      v4 = a2;
    }
  }
  else
  {
    v10 = -1073741811;
  }
  if( v5 )
    SleepstudyHelperDestroyBlockerBuilder(v5);
  if( v4 )
    SleepstudyHelperDestroyBlocker((PKSPIN_LOCK)v4);
  return v10;
}

Referenced by:

No references.