KeEnumerateProcessorDpcs

VOID __stdcall KeEnumerateProcessorDpcs(UINT64 ProcessorNumber, VOID *Context){
  __int64 v2; 
  __int64 v3; 
  __int64 v4; 
  unsigned __int8 CurrentIrql; 
  UINT64 *v6; 
  __int64 v7; 
  _QWORD *i; 

  v3 = v2;
  v4 = (__int64)*(&KiProcessorBlock + (unsigned int)ProcessorNumber);
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(0xFui64);
  v6 = (UINT64 *)(v4 + 12496);
  v7 = 2i64;
  do
  {
    KxAcquireSpinLock(v6);
    for( i = (_QWORD *)*(v6 - 2); i; i = (_QWORD *)*i )
      (*(void(__fastcall **)(__int64, _QWORD *, __int64))(v3 + 10304))(v3 + 10240, i - 1, 64i64);
    KxReleaseSpinLock(v6);
    v6 += 5;
    --v7;
  }
  while( v7 );
  __writecr8(CurrentIrql);
}

Referenced by:

DbgkpLkmdSnapGlobals