 
  
  extern uint32 HashRot13(const uint8 * str, int length)
{
    uint32 hash = 0;
    int i;
    for(i = 0; i < length; ++i, str++)
    {
        hash += (uint32)(*str);
        hash -= (hash << 13) | (hash >> 19);
    }
    return hash;
} 
  
   
  
  hash += (uint32)(*str);hash << 13hash >> 19(hash << 13) | (hash >> 19)hash -= (hash << 13) | (hash >> 19);Или хотя бы расскажите, что он делает.