PspGetJobLockHierarchyForDeletion

VOID __stdcall PspGetJobLockHierarchyForDeletion(_EJOB *Job, _PSP_JOB_LOCK_HIERARCHY *JobHierarchy){
  _ETHREAD *CurrentThread; 
  __int64 v5; 
  unsigned int v6; 
  __int64 v7; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  PspLockJobAssignment((INT64)CurrentThread);
  v5 = *((_QWORD *)Job + 134);
  v6 = 0;
  if( v5 )
  {
    *((_BYTE *)JobHierarchy + 16) = 0;
    v6 = 1;
    *((_QWORD *)JobHierarchy + 1) = v5;
  }
  v7 = 2i64 * v6;
  *(_QWORD *)&JobHierarchy[2 * v7 + 2] = Job;
  LOBYTE(JobHierarchy[2 * v7 + 4]) = 0;
  *JobHierarchy = v6 + 1;
  PspUnlockJobAssignment(CurrentThread);
}

Referenced by:

PspJobDelete