DmrCheckPathMatch

CHAR __fastcall DmrCheckPathMatch(CHAR *a1, CHAR *a2){
  CHAR v2; 
  CHAR v3; 
  CHAR v6; 
  char v7; 
  unsigned int v8; 
  unsigned int v9; 
  bool v10; 
  unsigned int v11; 
  CHAR *v12; 
  signed __int64 v13; 
  v2 = *a1;
  v3 = 0;
  if( (unsigned __int8)(*a1 - 1) <= 1u )
  {
    v6 = *a2;
    if( (unsigned __int8)(*a2 - 1) <= 1u && a1[5] == a2[5] )
    {
      v7 = 0;
      if( v2 == 1 && v6 == 1 )
        v7 = 1;
      v8 = ((unsigned int)(unsigned __int8)a1[1] - 6) >> 1;
      v9 = ((unsigned int)(unsigned __int8)a2[1] - 6) >> 1;
      if( !v7 || v8 == v9 )
      {
        v10 = v9 < v8;
        if( v9 > v8 )
        {
          if( v2 == 1 && v6 == 2 )
            return v3;
          v10 = v9 < v8;
        }
        if( !v10 || v6 != 1 || v2 != 2 )
        {
          v11 = 0;
          if( v8 >= v9 )
            v8 = ((unsigned int)(unsigned __int8)a2[1] - 6) >> 1;
          if( v8 )
          {
            v12 = a2 + 6;
            v13 = a1 - a2;
            while( v12[v13] == *v12 && v12[v13 + 1] == v12[1] )
            {
              ++v11;
              v12 += 2;
              if( v11 >= v8 )
                return 1;
            }
          }
          else
          {
            return 1;
          }
        }
      }
    }
  }
  return v3;
}

Referenced by:

DmrEnumerateRmrrDomains
DmrFindDrhdForDeviceScope
DmrValidateDeviceScope