RawCleanupVcb

VOID __stdcall RawCleanupVcb(_VCB *Vcb){
  void *v2; 
  __int64 v3; 

  v2 = (void *)*((_QWORD *)Vcb + 24);
  if( v2 )
  {
    ExFreePoolWithTag(v2, 0);
    *((_QWORD *)Vcb + 24) = 0i64;
  }
  else if( (Vcb[26] & 8) != 0 )
  {
    ExFreePoolWithTag(*((PVOID *)Vcb + 23), 0);
    *((_QWORD *)Vcb + 23) = 0i64;
  }
  if( (Vcb[26] & 0x10) != 0 )
    FsRtlTeardownPerStreamContexts((_FSRTL_ADVANCED_FCB_HEADER *)Vcb);
  v3 = *((_QWORD *)Vcb + 27);
  if( v3 )
    ExFreeCacheAwareRundownProtection(v3);
  *((_QWORD *)Vcb + 27) = 0i64;
}

Referenced by:

RawCheckForDeleteVolume
RawInitiateDeleteVolume
RawMountVolume