NtRequestWaitReplyPort

INT64 __fastcall NtRequestWaitReplyPort(VOID *a1, __m256i *a2, UINT64 a3){
  _ETHREAD *CurrentThread; 
  char v6; 
  int v7; 
  PADAPTER_OBJECT DmaAdapter; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  v6 = *((_BYTE *)KeGetCurrentThread() + 562);
  DmaAdapter = 0i64;
  v7 = ObReferenceObjectByHandle(a1, 1u, AlpcPortObjectType, v6, (PVOID *)&DmaAdapter, 0i64);
  if( v7 >= 0 )
  {
    if( v6 )
      AlpcpProbeForWriteMessageHeader(a3, 0i64);
    v7 = AlpcpProcessSynchronousRequest((INT64)DmaAdapter, 0x20000i64, a2, 0i64, a3, 0i64, 0i64, 0i64, v6);
    if( v7 == -1073740029 )
      v7 = -1073741769;
    if( v7 == -1073740031 )
      v7 = -1073741229;
  }
  if( DmaAdapter )
    HalPutDmaAdapter(DmaAdapter);
  KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
  return(unsigned int)v7;
}

Referenced by:

No references.