KeSignalCallDpcSynchronize

UINT64 __stdcall KeSignalCallDpcSynchronize(PVOID SystemArgument2){
  signed __int32 v2; 
  unsigned int v3; 
  unsigned int v4; 
  UINT64 SpinCount; 
  v2 = _InterlockedDecrement((volatile signed __int32 *)SystemArgument2);
  v3 = ~v2 & 0x80000000;
  if( (v2 & 0x7FFFFFFF) != 0 )
  {
    v4 = 0;
    LODWORD(SpinCount) = 0;
    while( (*(_DWORD *)SystemArgument2 & 0x80000000) != v3 )
      KeYieldProcessorEx(&SpinCount);
  }
  else
  {
    v4 = 1;
    *(_DWORD *)SystemArgument2 = v3 | *((_DWORD *)SystemArgument2 + 1);
  }
  return v4;
}

Referenced by:

KiInitializeDynamicProcessorDpc
MiApplyImageHotPatchDpc