AlpcpValidateDataInformation

INT64 __stdcall AlpcpValidateDataInformation(
        PVOID PortObject,
        OBJECT_NAME_INFORMATION **PortNameInformation,
        UINT64 *PortNameLength){
  unsigned __int64 v3; 
  __int64 v4; 
  _DWORD *v5; 
  v3 = *((unsigned __int16 *)PortNameInformation + 3);
  v4 = *((unsigned __int16 *)PortNameInformation + 1);
  if( (unsigned int)v3 < 0x28 || v3 > v4 - 24 )
    return 3221225485i64;
  v5 = (char *)PortObject + *((unsigned __int16 *)PortNameInformation + 3);
  if( ((unsigned __int8)v5 & 3) != 0 )
    ExRaiseDatatypeMisalignment();
  if( *v5 > (unsigned int)(((unsigned __int64)(unsigned __int16)(v4 - v3) - 8) >> 4) )
    return 3221225485i64;
  else
    return 0i64;
}

Referenced by:

AlpcpReplyLegacySynchronousRequest
AlpcpSendMessage