DECREMENT_SCATTER_GATHER_LISTS

void __fastcall DECREMENT_SCATTER_GATHER_LISTS(__int64 a1){
  int v2; 
  UINT64 v3; 

  v2 = _InterlockedDecrement((volatile signed __int32 *)(a1 + 168));
  if( v2 < 0 )
  {
    ViHalPreprocessOptions(
      &qword_140C12CA4,
      (PSTR)"Driver has freed too many scatter gather lists %x allocated, %x freed.",
      6ui64,
      *(unsigned int *)(a1 + 164),
      (unsigned int)(*(_DWORD *)(a1 + 164) - v2),
      0i64,
      v3);
    VfReportIssueWithOptions(0xE6ui64, 6u, *(_DWORD *)(a1 + 164), *(_DWORD *)(a1 + 164) - v2, 0, &qword_140C12CA4);
  }
}

Referenced by:

VfBuildScatterGatherList
VfBuildScatterGatherListEx
VfGetScatterGatherList
VfGetScatterGatherListEx
VfPutScatterGatherList