SbpWaitForVmbus

NTSTATUS __stdcall SbpWaitForVmbus(){
  int v0; 
  PVOID NotificationEntry; 
  _LARGE_INTEGER v3; 

  NotificationEntry = 0i64;
  *(&SbiVmbusArrivalEvent + 1) = 0;
  *(&SbiVmbusArrivalEvent + 2) = (char *)&SbiVmbusArrivalEvent + 8;
  *(&SbiVmbusArrivalEvent + 1) = (char *)&SbiVmbusArrivalEvent + 8;
  SbiVmbusArrivalEvent = 1;
  *(&SbiVmbusArrivalEvent + 2) = 6;
  v0 = IoRegisterPlugPlayNotification(
         2i64,
         1,
         (OWORD *)VSMB_INTERFACE_GUID,
         *(&PnpReplaceEvent + 823),
         (INT64)SbpVmbusNotificationHandler,
         0i64,
         (INT64 *)&NotificationEntry);
  if( v0 >= 0 )
  {
    v3.QuadPart = -100000000i64;
    v0 = KeWaitForSingleObject((UINT64)&SbiVmbusArrivalEvent, 0, 0, 0, (INT64)&v3);
    IoUnregisterPlugPlayNotification((UINT64)NotificationEntry);
  }
  return v0;
}

Referenced by:

IopInitializeBootDrivers