RaspMapCharacterCodeToGlyphIndex

INT64 __fastcall RaspMapCharacterCodeToGlyphIndex(UINT64 *a1, UINT16 a2, _WORD *a3){
  unsigned int v3; 
  unsigned int v5; 
  unsigned int i; 
  UINT64 v8; 
  unsigned int v9; 
  __int16 v10; 
  __int64 v12; 
  v3 = 0;
  v5 = *(_DWORD *)a1;
  for( i = 0; i < v5; ++i )
  {
    if( *(_WORD *)(a1[2] + 2i64 * i) <= a2 && a2 <= *(_WORD *)(a1[3] + 2i64 * i) )
      break;
  }
  if( i == v5 )
  {
    return(unsigned int)-1073741823;
  }
  else
  {
    v8 = a1[5];
    v9 = *(unsigned __int16 *)(v8 + 2i64 * i);
    if( (_WORD)v9 )
    {
      v12 = a2 + i + (v9 >> 1) - *(unsigned __int16 *)(a1[2] + 2i64 * i);
      a2 = *(_WORD *)(a1[4] + 2i64 * i);
      v10 = *(_WORD *)(v8 + 2 * v12);
    }
    else
    {
      v10 = *(_WORD *)(a1[4] + 2i64 * i);
    }
    *a3 = a2 + v10;
  }
  return v3;
}

Referenced by:

RaspGetUnscaledGlyphData