PiEventAllocatePendingEjectRelations

VOID **__fastcall PiEventAllocatePendingEjectRelations(__int64 a1, __int64 a2, char a3, __int64 a4){
  void *v4; 
  VOID **PoolWithTag; 
  VOID **v10; 
  bool v11; 

  v4 = *(void **)(a1 + 152);
  PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x70ui64, 538996816i64);
  v10 = PoolWithTag;
  if( PoolWithTag )
  {
    PoolWithTag[6] = (VOID *)a1;
    ObfReferenceObject(v4);
    v10[7] = v4;
    v10[8] = (VOID *)a2;
    *((_BYTE *)v10 + 88) = a3;
    v11 = (*(_DWORD *)(a1 + 144) & 8) != 0;
    v10[12] = (VOID *)a4;
    *((_BYTE *)v10 + 89) = v11;
  }
  return v10;
}

Referenced by:

PnpProcessQueryRemoveAndEject