MdlInvariantFindMdlInfo

_MDL_INFO *__stdcall MdlInvariantFindMdlInfo(_IOV_REQUEST_PACKET *IovPacket, _MDL *MdlAddress){
  unsigned int *v2; 
  unsigned int v3; 
  unsigned int v4; 
  __int64 v5; 
  _MDL_INFO *result; 

  v2 = (unsigned int *)*((_QWORD *)IovPacket + 28);
  if( !v2 )
    return 0i64;
  v3 = *v2;
  v4 = 0;
  if( !*v2 )
    return 0i64;
  v5 = *((_QWORD *)v2 + 1);
  while( 1 )
  {
    result = (_MDL_INFO *)(v5 + 32i64 * v4);
    if( *(_QWORD *)result )
    {
      if( *(_MDL **)result == MdlAddress )
        break;
    }
    if( ++v4 >= v3 )
      return 0i64;
  }
  return result;
}

Referenced by:

MdlInvariantPostDriverCompletion
MdlInvariantPostProcessing1
MdlInvariantPreProcessing1