RtlPrefixString

INT8 __fastcall RtlPrefixString(UINT16 *a1, INT64 a2, INT8 a3){
  __int64 v3; 
  INT8 *v4; 
  INT8 *v5; 
  INT8 *v6; 
  INT8 v7; 
  INT8 v9; 
  signed __int64 v10; 

  v3 = *a1;
  v4 = (INT8 *)*((_QWORD *)a1 + 1);
  v5 = *(INT8 **)(a2 + 8);
  if( *(_WORD *)a2 >= (unsigned __int16)v3 )
  {
    v6 = &v4[v3];
    if( v4 >= &v4[v3] )
      return 1;
    if( a3 )
    {
      while( 1 )
      {
        v7 = *v4;
        if( *v4 != *v5 )
        {
          v9 = RtlUpperChar(*v5);
          if( RtlUpperChar(v7) != v9 )
            break;
        }
        ++v4;
        ++v5;
        if( v4 >= v6 )
          return 1;
      }
    }
    else
    {
      v10 = v5 - v4;
      while( *v4 == v4[v10] )
      {
        if( ++v4 >= v6 )
          return 1;
      }
    }
  }
  return 0;
}

Referenced by:

IopCheckDiskName
MiSnapThunk