AlpcSecurityDestroyProcedure

NTSTATUS __stdcall AlpcSecurityDestroyProcedure(PVOID ResourcePtr){
  _ALPC_HANDLE_TABLE *v2; 
  INT64 v3; 
  __int64 v4; 
  v2 = *(_ALPC_HANDLE_TABLE **)ResourcePtr;
  if( v2 )
    AlpcDeleteBlobByHandle(v2, *((VOID **)ResourcePtr + 1), ResourcePtr);
  v3 = *((_QWORD *)ResourcePtr + 3);
  if( v3 )
  {
    AlpcpRemoveResourcePort(v3, (INT64)ResourcePtr);
    HalPutDmaAdapter(*((PADAPTER_OBJECT *)ResourcePtr + 3));
  }
  if( *((_QWORD *)ResourcePtr + 2) )
  {
    v4 = *((_QWORD *)ResourcePtr + 6);
    if( *(_DWORD *)(v4 + 192) == 1 || v4 )
      HalPutDmaAdapter((PADAPTER_OBJECT)v4);
    AlpcpReleasePagedPoolQuota(*((_QWORD *)ResourcePtr + 2), 0xA0ui64);
    ObfDereferenceObjectWithTag(*((PVOID *)ResourcePtr + 2), 0x63706C41ui64);
  }
  return 0;
}

Referenced by:

No references.