SleepstudyHelper_RegisterPdoWithParentPdo

__int64 __fastcall SleepstudyHelper_RegisterPdoWithParentPdo(
        __int64 a1,
        unsigned __int64 rdx0,
        _DEVICE_OBJECT *a3,
        _EX_PUSH_LOCK **a4){
  _EX_PUSH_LOCK *v4; 
  PVOID v5; 
  int v7; 
  NTSTATUS v8; 
  PVOID P; 
  __int128 v11; 
  _EX_PUSH_LOCK *a2; 

  v4 = 0i64;
  v5 = 0i64;
  a2 = 0i64;
  P = 0i64;
  if( a1 && rdx0 && a3 && a4 )
  {
    v11 = rdx0;
    v7 = SleepstudyHelperCreateBlockerFromDevice(a1, &v11, a3, &P);
    v5 = P;
    v8 = v7;
    if( v7 >= 0 )
    {
      v8 = SleepstudyHelperBuildBlocker(P, &a2);
      if( v8 >= 0 )
      {
        *a4 = a2;
        return(unsigned int)v8;
      }
      v4 = a2;
    }
  }
  else
  {
    v8 = -1073741811;
  }
  if( v5 )
    SleepstudyHelperDestroyBlockerBuilder(v5);
  if( v4 )
    SleepstudyHelperDestroyBlocker((PKSPIN_LOCK)v4);
  return(unsigned int)v8;
}

Referenced by:

No references.