StringListContains

NTSTATUS __stdcall StringListContains(
        WCHAR *StringList,
        UINT64 PropertyType,
        WCHAR *ContainsStringList,
        INT64 IgnoreCase){
  int v4; 
  WCHAR *v5; 
  int v6; 
  NTSTATUS i; 
  WCHAR *v9; 
  WCHAR *v10; 
  int v11; 
  int v12; 
  bool v13; 
  __int64 v14; 
  __int64 v16; 

  v4 = IgnoreCase;
  v5 = ContainsStringList;
  v6 = PropertyType;
  for( i = 0; *v5; v5 += v16 + 1 )
  {
    v9 = StringList;
    if( *StringList )
    {
      while( 1 )
      {
        if( v4 )
        {
          v13 = wcsicmp(v9, v5) == 0;
        }
        else
        {
          v10 = v9;
          do
          {
            v11 = *(WCHAR *)((char *)v10 + (char *)v5 - (char *)v9);
            v12 = *v10 - v11;
            if( v12 )
              break;
            ++v10;
          }
          while( v11 );
          v13 = v12 == 0;
        }
        if( v13 )
          break;
        v14 = -1i64;
        do
          ++v14;
        while( v9[v14] );
        v9 += v14 + 1;
        if( !*v9 )
          goto LABEL_12;
      }
      i = 1;
    }
LABEL_12:
    if( v6 == 18 || v6 == 8210 && i )
      break;
    v16 = -1i64;
    do
      ++v16;
    while( v5[v16] );
  }
  return i;
}

Referenced by:

PropertyEval