VfStartBranchTracing

INT64 __stdcall VfStartBranchTracing(){
  unsigned int v0; 
  INT64 result; 
  if( (MmVerifierData & 0x8000000) == 0 || !VfBTSSupported )
    return 3221225474i64;
  if( VfBTSInitialized && !*((_DWORD *)VfBTSStarted + *((unsigned int *)KeGetCurrentPrcb() + 9)) )
  {
    if( VfBTSProcessorFamily == 15 )
    {
      v0 = 12;
    }
    else
    {
      if( VfBTSProcessorFamily != 6 )
      {
LABEL_10:
        result = 0i64;
        *((_DWORD *)VfBTSStarted + *((unsigned int *)KeGetCurrentPrcb() + 9)) = 1;
        return result;
      }
      v0 = 192;
    }
    __writemsr(0x1D9u, v0);
    goto LABEL_10;
  }
  return 3221226538i64;
}

Referenced by:

KiFreezeTargetExecution
VfNotifyVerifierOfEvent