KiTpIsSupportedKernelTracepointLocation

BOOL __stdcall KiTpIsSupportedKernelTracepointLocation(UINT64 Address, ULONGLONG Maximum){
  IMAGE_NT_HEADERS *v4; 
  int *v5; 
  int v6; 
  char v7; 
  v4 = RtlImageNtHeader((PVOID)Address);
  if( !v4 )
    return 0;
  RtlSectionTableFromVirtualAddress(v4, Address);
  if( !v5 )
    return 0;
  if( (v5[9] & 0x2000020) != 32 )
    return 0;
  v6 = *v5;
  if( *v5 == 1414090313 || v6 == 1396790859 )
    return 0;
  if( v6 == 1162297680 && v5[1] )
  {
    v7 = *((_BYTE *)v5 + 4);
    if( v7 == 119 )
    {
      if( *((_BYTE *)v5 + 5) == 120 )
        return 0;
    }
    else if( v7 == 86 && *((_BYTE *)v5 + 5) == 82 && *((_BYTE *)v5 + 6) == 70 )
    {
      return 0;
    }
  }
  return(PVOID)Address != PsHalImageBase
      && (Address != PsNtosImageBase
       || v6 != 1128354388 && v6 != 1347769157 && !(unsigned int)KiTpIsExcludedKernelTracepointLocation(Maximum));
}

Referenced by:

KeSetTracepoint