ObGetProcessHandleCount

UINT64 __stdcall ObGetProcessHandleCount(_EX_RUNDOWN_REF *Process, UINT64 *HandleCountHighWatermark){
  unsigned int v2; 
  _HANDLE_TABLE *v5; 
  UINT64 HandleCount; 

  v2 = 0;
  LODWORD(HandleCount) = 0;
  v5 = ObReferenceProcessHandleTable((_EPROCESS *)Process);
  if( v5 )
  {
    ExHandleTableQuery(v5, &HandleCount, HandleCountHighWatermark);
    ExReleaseRundownProtection(Process + 139);
    return(unsigned int)HandleCount;
  }
  else if( HandleCountHighWatermark )
  {
    *(_DWORD *)HandleCountHighWatermark = 0;
  }
  return v2;
}

Referenced by:

EtwTraceAppStateChange
EtwpProcessPerfCtrsRundown
EtwpPsProvTraceProcess
NtQueryInformationProcess