RtlPrefixString

UINT8 __fastcall RtlPrefixString(const _STRING *String1, const _STRING *String2, UINT8 CaseInSensitive){
  __int64 Length; 
  char *Buffer; 
  char *v5; 
  char *v6; 
  INT8 v7; 
  INT8 v9; 
  signed __int64 v10; 
  Length = String1->Length;
  Buffer = String1->Buffer;
  v5 = String2->Buffer;
  if( String2->Length >= (unsigned __int16)Length )
  {
    v6 = &Buffer[Length];
    if( Buffer >= &Buffer[Length] )
      return 1;
    if( CaseInSensitive )
    {
      while( 1 )
      {
        v7 = *Buffer;
        if( *Buffer != *v5 )
        {
          v9 = RtlUpperChar(*v5);
          if( RtlUpperChar(v7) != v9 )
            break;
        }
        ++Buffer;
        ++v5;
        if( Buffer >= v6 )
          return 1;
      }
    }
    else
    {
      v10 = v5 - Buffer;
      while( *Buffer == Buffer[v10] )
      {
        if( ++Buffer >= v6 )
          return 1;
      }
    }
  }
  return 0;
}

Referenced by:

IopCheckDiskName
MiSnapThunk