ViCheckPadding

void __fastcall ViCheckPadding(
        void *RealBufferStart,
        UINT64 RealBufferLength,
        void *AdvertisedBufferStart,
        UINT64 AdvertisedBufferLength){
  UINT64 *Param3; 
  UINT64 v7; 
  char *v8; 
  char *v9; 
  __int64 v10; 
  UINT64 v11; 
  UINT8 v12; 
  UINT64 *v13; 
  UINT8 v14; 
  UINT64 v15; 
  UINT64 *v16; 
  UINT64 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);
      v13 = ViHasBufferBeenTouched(RealBufferStart, v11, v12);
      v15 = (UINT64)v13;
      if( v13 )
      {
        ViHalPreprocessOptions(
          &dword_140C12CE4,
          (PSTR)"Padding before allocation at %p has been illegally modified at %p.",
          0x1000000Fui64,
          4ui64,
          (UINT64)AdvertisedBufferStart,
          (UINT64)v13,
          v18);
        VfReportIssueWithOptions(0xE6ui64, 0xFui64, 4ui64, (UINT64)AdvertisedBufferStart, v15, &dword_140C12CE4);
      }
      v16 = ViHasBufferBeenTouched(v8, (UINT64)v9, v14);
      v17 = (UINT64)v16;
      if( v16 )
      {
        ViHalPreprocessOptions(
          &byte_140C12CE0,
          (PSTR)"Padding after allocation at %p has been illegally modified at %p.",
          0x1000000Fui64,
          5ui64,
          (UINT64)AdvertisedBufferStart,
          (UINT64)v16,
          v18);
        VfReportIssueWithOptions(0xE6ui64, 0xFui64, 5ui64, (UINT64)AdvertisedBufferStart, v17, &byte_140C12CE0);
      }
    }
    else
    {
      Param3 = ViHasBufferBeenTouched(RealBufferStart, (unsigned int)RealBufferLength, (UINT8)AdvertisedBufferStart);
      v7 = (UINT64)Param3;
      if( Param3 )
      {
        ViHalPreprocessOptions(
          &byte_140C12CD8,
          (PSTR)"Verified driver or hardware has corrupted memory at %p.",
          0x1000000Fui64,
          3ui64,
          (UINT64)Param3,
          0i64,
          v18);
        VfReportIssueWithOptions(0xE6ui64, 0xFui64, 3ui64, v7, 0i64, &byte_140C12CD8);
      }
    }
  }
}

Referenced by:

ViFreeMapRegisterFile
ViSpecialFreeCommonBuffer