CompareLangName

__int64 __fastcall CompareLangName(const void *a1, const void *a2){
  unsigned __int16 *v2; 
  unsigned __int16 i; 
  unsigned __int16 v4; 
  unsigned __int16 v5; 
  unsigned __int16 v6; 
  unsigned int v7; 
  v2 = *(unsigned __int16 **)a2;
  for( i = *(_WORD *)a1; *(_WORD *)a1; i = *(_WORD *)a1 )
  {
    v4 = *v2;
    if( !*v2 )
      break;
    v5 = i | 0x20;
    if( (unsigned __int16)(i - 65) > 0x19u )
      v5 = i;
    v6 = v4 | 0x20;
    if( (unsigned __int16)(v4 - 65) > 0x19u )
      v6 = *v2;
    if( v5 == 95 )
      v5 = 45;
    if( v6 == 95 )
      v6 = 45;
    v7 = v5 - v6;
    if( v7 )
      return v7;
    a1 = (char *)a1 + 2;
    ++v2;
  }
  if( *(_WORD *)a1 || *v2 )
    return *(_WORD *)a1 != 0 ? 1 : -1;
  else
    return 0i64;
}

Referenced by:

No references.