PpDevNodeInsertIntoTree

VOID __stdcall PpDevNodeInsertIntoTree(_DEVICE_NODE *ParentNode, _DEVICE_NODE *DeviceNode){
  unsigned __int64 v4; 
  _DEVICE_NODE *LastChild; 
  int v6[10]; 

  v4 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&PnpReplaceEvent + 50);
  DeviceNode->Level = ParentNode->Level + 1;
  DeviceNode->Parent = ParentNode;
  _InterlockedOr(v6, 0);
  LastChild = ParentNode->LastChild;
  if( LastChild )
    LastChild->Sibling = DeviceNode;
  else
    ParentNode->Child = DeviceNode;
  ParentNode->LastChild = DeviceNode;
  KxReleaseSpinLock((UINT64 *)&PnpReplaceEvent + 50);
  __writecr8(v4);
}

Referenced by:

IoReportDetectedDevice
IopInitializeDeviceInstanceKey
PiInitializeDevice
PipProcessEnumeratedChildDevice