IovpBuildDriverObjectList

UINT8 __stdcall IovpBuildDriverObjectList(
        VOID *Object,
        _UNICODE_STRING *ObjectName,
        UINT64 HandleCount,
        UINT64 PointerCount,
        VOID *Parameter){
  VOID **PoolWithTag; 
  VOID **v7; 

  if( !PnpIsLegacyDriver((__int64)Object) )
    goto LABEL_6;
  PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x10ui64, 7304777i64);
  v7 = PoolWithTag;
  if( PoolWithTag )
  {
    if( ObReferenceObjectSafe((INT64)Object) )
    {
      v7[1] = Object;
      *v7 = (VOID *)*(&stru_140C452E0 + 75);
      *(&stru_140C452E0 + 75) = v7;
    }
    else
    {
      ExFreePoolWithTag(v7, 0);
    }
LABEL_6:
    LOBYTE(PoolWithTag) = 1;
  }
  return(unsigned __int8)PoolWithTag;
}

Referenced by:

ObEnumerateObjectsByType