PnpProcessAssignResourcesWorker

__int64 __fastcall PnpProcessAssignResourcesWorker(_DEVICE_NODE *DeviceNode, _DWORD *a2){
  _DEVICE_NODE *i; 
  _DEVICE_NODE *Child; 
  unsigned __int64 Problem; 
  __int64 v8; 

  for( i = DeviceNode; ; i = Child )
  {
    if( *a2 )
    {
      if( (i->Flags & 0x2000) != 0 )
      {
        Problem = i->Problem;
        if( (unsigned int)Problem <= 0x24 )
        {
          v8 = 0x1200001000i64;
          if( _bittest64(&v8, Problem) )
            PipClearDevNodeProblem(i);
        }
      }
    }
    if( (i->Flags & 0x6000) == 0 && i->State == DeviceNodeDriversAdded )
      *(_QWORD *)&a2[2 * a2[1]++ + 2] = i->PhysicalDeviceObject;
    Child = i->Child;
    if( !Child )
      break;
LABEL_9:
    ;
  }
  while( i != DeviceNode )
  {
    Child = i->Sibling;
    if( i->Sibling )
      goto LABEL_9;
    if( i->Parent )
      i = i->Parent;
  }
  return 0i64;
}

Referenced by:

PnpProcessAssignResources