VrpPostUnloadKey

INT64 __fastcall VrpPostUnloadKey(INT64 a1, INT64 a2){
  INT64 v4; 
  GUID ActivityId; 
  ActivityId = 0i64;
  EtwActivityIdControl(3u, &ActivityId);
  v4 = *(_QWORD *)(a1 + 32);
  if( v4 )
  {
    if( *(int *)(a1 + 8) >= 0 )
      VrpDestroyNamespaceNode((UINT64 *)a2, v4);
    if( (_InterlockedExchangeAdd64((volatile signed __int64 *)(a2 + 16), 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
      ExfTryToWakePushLock((volatile INT64 *)(a2 + 16));
    KeAbPostRelease((PVOID)(a2 + 16));
    KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
  }
  return 0i64;
}

Referenced by:

VrpRegistryCallback