PsFreeSiloContextSlot

NTSTATUS __stdcall PsFreeSiloContextSlot(UINT64 ContextSlot){
  unsigned int v1; 
  _EJOB *i; 
  PSP_STORAGE *v3; 
  _EJOB *NextSilo; 
  _EJOB *v5; 
  PADAPTER_OBJECT DmaAdapter; 

  DmaAdapter = 0i64;
  v1 = ContextSlot;
  for( i = 0i64; ; i = v5 )
  {
    NextSilo = PspGetNextSilo(i, 0);
    v5 = NextSilo;
    if( !NextSilo )
      break;
    v3 = (PSP_STORAGE *)*((_QWORD *)NextSilo + 163);
    if( v3 && PspStorageGetObject(v3, v1, (VOID **)&DmaAdapter) >= 0 )
    {
      HalPutDmaAdapter(DmaAdapter);
      KeBugCheckEx(0x199u, *((PVOID *)v5 + 163), 0i64, 0i64, 0i64);
    }
  }
  return PspStorageFreeSlot(v1);
}

Referenced by:

VrpRegistryUnload