MiMarkRetpolineBits

NTSTATUS __stdcall MiMarkRetpolineBits(INT64 a1){
  UINT64 v1; 
  __int64 v2; 
  UINT64 v3; 
  __int64 v4; 
  __int64 v5; 
  __int64 v6; 
  UINT64 v7; 
  int v8; 
  char v9; 

  LODWORD(v1) = MiAddressToRetpolineBit(a1);
  v3 = v1;
  LODWORD(v5) = MiAddressToRetpolineBit((v4 + v2 + 0xFFFF) & 0xFFFFFFFFFFFF0000ui64);
  v6 = v5;
  v7 = v5 - v3;
  if( v8 || (RtlAreBitsClearEx(&BitMap, v3, v5 - v3), v9) )
  {
    if( !MiSplitBitmapPages(MiVaNonPagedPool, (char *)BitMap.Buffer + (v3 >> 3), v6 + (v3 & 7) - v3) )
      return -1073741801;
    RtlSetBitsEx(&BitMap, v3, v7);
  }
  else
  {
    RtlClearBitsEx(&BitMap, v3, v7);
  }
  return 0;
}

Referenced by:

MiInitializeRetpoline
MiMarkKernelImageRetpolineBits
MiReloadBootLoadedDrivers
MmMarkHypercallPageRetpolineBit