KiLockStepExecution

__int64 __fastcall KiLockStepExecution(__int64 a1){
  volatile signed __int32 *v1; 
  volatile signed __int32 v2; 
  __int64 result; 

  v1 = *(volatile signed __int32 **)(a1 + 16);
  if( KeGetCurrentPrcb()->Number == *(_DWORD *)a1 )
  {
    while( 1 )
    {
      result = *(unsigned int *)(a1 + 8);
      if( (_DWORD)result == *(_DWORD *)(a1 + 4) )
        break;
      _mm_pause();
    }
    *(_DWORD *)(a1 + 8) = 0;
    _InterlockedIncrement(v1);
  }
  else
  {
    v2 = *v1;
    _InterlockedIncrement((volatile signed __int32 *)(a1 + 8));
    while( 1 )
    {
      result = *(unsigned int *)v1;
      if( (_DWORD)result != v2 )
        break;
      _mm_pause();
    }
  }
  return result;
}

Referenced by:

KeLoadMTRR