VrpBecomeDiffHiveEntryTransitionOwner

char __fastcall VrpBecomeDiffHiveEntryTransitionOwner(__int64 a1){
  _QWORD *v1; 
  _ETHREAD *CurrentThread; 
  __int64 v3; 
  v1 = (_QWORD *)(a1 + 40);
  if( *v1 )
    return 0;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  *v1 = KeGetCurrentThread();
  LODWORD(v3) = KeAbPreAcquire(v1, 0i64, 0i64);
  if( v3 )
    *(_BYTE *)(v3 + 26) |= 1u;
  return 1;
}

Referenced by:

VrpLoadDifferencingHive
VrpUnloadDifferencingHive