PopIssueNextState

__int64 __fastcall PopIssueNextState(__int64 a1, _DWORD *a2, __int32 a3, INT64 *a4){
  _KDPC *v5; 
  __int64 result; 
  UINT64 SpinCount; 
  _InterlockedExchange((volatile __int32 *)(a1 + 52), 0);
  v5 = (_KDPC *)(unsigned int)_InterlockedExchange((volatile __int32 *)(a1 + 56), a3);
  *a2 = 0;
  PopHandleNextState(a1, (__int64)a2, v5, a4);
  LODWORD(SpinCount) = 0;
  while( 1 )
  {
    result = *(unsigned int *)(a1 + 52);
    if( (_DWORD)result == *(_DWORD *)(a1 + 48) )
      break;
    KeYieldProcessorEx(&SpinCount);
  }
  return result;
}

Referenced by:

PopInvokeSystemStateHandler