CmpAccountForLogReservation

__int64 __fastcall CmpAccountForLogReservation(__int64 a1, __int64 a2, char a3){
  _ETHREAD *CurrentThread; 
  void *v6; 
  unsigned int appended; 
  __int64 rgcbReservation; 
  rgcbReservation = 48i64;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  ExAcquireResourceExclusiveLite(*(ERESOURCE **)(a1 + 128), 1u);
  v6 = *(void **)(a1 + 96);
  if( !a3 )
    rgcbReservation = -rgcbReservation;
  appended = ClfsReserveAndAppendLog(v6, 0i64, 0, 0i64, 0i64, 1u, &rgcbReservation, 0, 0i64);
  ExReleaseResourceLite(*(PERESOURCE *)(a1 + 128));
  KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
  return appended;
}

Referenced by:

CmKtmNotification
CmpTransInitializeTransaction