SeShutdownServerSilo

VOID __stdcall SeShutdownServerSilo(_EJOB *ServerSilo, INT64 *a2){
  struct _DMA_ADAPTER *v4; 
  struct _DMA_ADAPTER *v5; 
  _QWORD *v6; 
  void *v7; 
  void *v8; 
  v4 = (struct _DMA_ADAPTER *)a2[2];
  if( v4 )
  {
    HalPutDmaAdapter(v4);
    a2[2] = 0i64;
  }
  v5 = (struct _DMA_ADAPTER *)a2[3];
  if( v5 )
  {
    HalPutDmaAdapter(v5);
    a2[3] = 0i64;
  }
  if( *a2 )
  {
    SepDeReferenceLogonSessionDirect((_QWORD *)*a2);
    *a2 = 0i64;
  }
  v6 = (_QWORD *)a2[1];
  if( v6 )
  {
    SepDeReferenceLogonSessionDirect(v6);
    a2[1] = 0i64;
  }
  v7 = (void *)a2[5];
  if( v7 )
  {
    ExFreePoolWithTag(v7, 0x63734943u);
    a2[5] = 0i64;
  }
  v8 = (void *)a2[4];
  if( v8 )
  {
    ExFreePoolWithTag(v8, 0x63734943u);
    a2[4] = 0i64;
  }
  SepDeleteUnreferencedLogonSessionsInSilo(ServerSilo);
}

Referenced by:

PspDeleteExternalServerSiloState