FindFilterOperatorClose

NTSTATUS __stdcall FindFilterOperatorClose(
        UINT64 FilterLength,
        const _DEVPROP_FILTER_EXPRESSION *Filter,
        UINT64 *Index){
  int v3; 
  int v4; 
  unsigned int v5; 
  int v6; 

  v3 = 0;
  *(_DWORD *)Index = 0;
  v4 = 0;
  if( !(_DWORD)FilterLength )
    return -1073741811;
  v5 = 0;
  while( 1 )
  {
    v6 = Filter[14 * v5] & 0xFF00000;
    if( v6 != 3145728 )
    {
      if( v6 == 0x400000 )
        goto LABEL_12;
      if( v6 != 0x100000 )
      {
        if( v6 == 0x200000 )
          goto LABEL_12;
        if( v6 != 5242880 )
        {
          if( v6 != 6291456 )
            goto LABEL_9;
LABEL_12:
          ++v4;
          goto LABEL_9;
        }
      }
    }
    ++v3;
LABEL_9:
    if( v3 == v4 )
      return 0;
    *(_DWORD *)Index = ++v5;
    if( v5 >= (unsigned int)FilterLength )
      return -1073741811;
  }
}

Referenced by:

FilterEvalStrict