SmHpBufferCleanup

INT64 __fastcall SmHpBufferCleanup(INT64 a1, _WORD *a2){
  int v4; 
  INT64 result; 
  SmHpBufferUpdateFullness(a1, a2, (unsigned __int16)-a2[5]);
  v4 = *(_DWORD *)(*(_QWORD *)a2 + 16i64);
  ExFreePoolWithTag(*(PVOID *)a2, 0);
  *(_QWORD *)a2 = 0i64;
  result = *(unsigned int *)(a1 + 544);
  *((_DWORD *)a2 + 2) = result;
  *(_DWORD *)(a1 + 544) = v4;
  return result;
}

Referenced by:

SmHpChunkFree
SmHpChunkHeapCleanup