ViCheckPadding

VOID __stdcall ViCheckPadding(
        VOID *RealBufferStart,
        UINT64 RealBufferLength,
        VOID *AdvertisedBufferStart,
        UINT64 AdvertisedBufferLength){
  UINT64 *Param3; 
  ULONG_PTR v7; 
  char *v8; 
  char *v9; 
  __int64 v10; 
  UINT64 v11; 
  UINT8 v12; 
  UINT64 *Param4; 
  UINT8 v14; 
  ULONG_PTR v15; 
  UINT64 *v16; 
  ULONG_PTR v17; 
  UINT64 v18; 

  if( (_DWORD)AdvertisedBufferLength != (_DWORD)RealBufferLength )
  {
    if( (_DWORD)AdvertisedBufferLength )
    {
      v8 = (char *)AdvertisedBufferStart + (unsigned int)AdvertisedBufferLength;
      v9 = (char *)RealBufferStart + (unsigned int)RealBufferLength - (_QWORD)v8;
      v10 = (unsigned __int64)((_BYTE *)AdvertisedBufferStart - (_BYTE *)RealBufferStart) >= 8;
      v11 = (_BYTE *)AdvertisedBufferStart - (_BYTE *)RealBufferStart - 8;
      if( (unsigned __int64)((_BYTE *)AdvertisedBufferStart - (_BYTE *)RealBufferStart) < 8 )
        v11 = (_BYTE *)AdvertisedBufferStart - (_BYTE *)RealBufferStart;
      if( (unsigned __int64)v9 >= 8 )
      {
        v9 -= 8;
        v8 += 8;
        LOWORD(v10) = v10 | 2;
      }
      ViCheckTag(AdvertisedBufferStart, (unsigned int)AdvertisedBufferLength, 0i64, v10);
      Param4 = ViHasBufferBeenTouched(RealBufferStart, v11, v12);
      v15 = (unsigned int)Param4;
      if( Param4 )
      {
        ViHalPreprocessOptions(
          (UINT64 *)((char *)&qword_140C12CE0 + 4),
          (PSTR)"Padding before allocation at %p has been illegally modified at %p.",
          0x1000000Fui64,
          4ui64,
          (UINT64)AdvertisedBufferStart,
          (UINT64)Param4,
          v18);
        VfReportIssueWithOptions(
          0xE6ui64,
          0xFu,
          4u,
          (ULONG_PTR)AdvertisedBufferStart,
          v15,
          (UINT64 *)((char *)&qword_140C12CE0 + 4));
      }
      v16 = ViHasBufferBeenTouched(v8, (UINT64)v9, v14);
      v17 = (unsigned int)v16;
      if( v16 )
      {
        ViHalPreprocessOptions(
          &qword_140C12CE0,
          (PSTR)"Padding after allocation at %p has been illegally modified at %p.",
          0x1000000Fui64,
          5ui64,
          (UINT64)AdvertisedBufferStart,
          (UINT64)v16,
          v18);
        VfReportIssueWithOptions(0xE6ui64, 0xFu, 5u, (ULONG_PTR)AdvertisedBufferStart, v17, &qword_140C12CE0);
      }
    }
    else
    {
      Param3 = ViHasBufferBeenTouched(RealBufferStart, (unsigned int)RealBufferLength, (UINT8)AdvertisedBufferStart);
      v7 = (unsigned int)Param3;
      if( Param3 )
      {
        ViHalPreprocessOptions(
          &unk_140C12CD8,
          (PSTR)"Verified driver or hardware has corrupted memory at %p.",
          0x1000000Fui64,
          3ui64,
          (UINT64)Param3,
          0i64,
          v18);
        VfReportIssueWithOptions(0xE6ui64, 0xFu, 3u, v7, 0, &unk_140C12CD8);
      }
    }
  }
}

Referenced by:

ViFreeMapRegisterFile
ViSpecialFreeCommonBuffer