ViDeadlockCheckStackLimits

UINT64 __stdcall ViDeadlockCheckStackLimits(){
  UINT64 result; 
  __int64 *v1; 
  __int64 *v2; 
  __int64 *v3; 
  v2 = 0i64;
  v3 = 0i64;
  v1 = (__int64 *)&v1;
  IoGetStackLimits((UINT64 *)&v2, (UINT64 *)&v3);
  result = (UINT64)v1;
  if( v1 < v2 || (result = (UINT64)v1, v1 > v3) )
  {
    if( VfVerifyMode > 2 )
    {
      result = (unsigned int)ViStackSwitchAlreadyReported;
      if( !ViStackSwitchAlreadyReported )
      {
        LODWORD(result) = DbgPrintEx(
                            ViStackSwitchAlreadyReported + 93,
                            0,
                            "DVRF: Driver switched stacks using an unsupported method!\n");
        ViStackSwitchAlreadyReported = 1;
      }
    }
  }
  return result;
}

Referenced by:

ViDeadlockCanProceed