what I posted is not disassembly, if nobody looked at it yet.
And there eg. we have this:
Code:
tornado:
struct BaseMatchFinder
[...]
uint hash (uint x) {return ((x*123456791) >> HashShift) & HashMask;}
lzturbo:
v65 = 123456791 * *(_DWORD *)v6;
v79 = *(_DWORD *)v6;
v80 = v65 >> v75;
But I don't see anything similar to the rangecoder used in tornado,
only things like:
Code:
if ( (unsigned int)(v282 - 10) > 0xFF )
{
__asm { bsr edx, esi }
if ( _ZF )
_EDX = -1;
v298 = _EDX + 1;
while ( v24 < _EDX )
{
v24 += 8;
*(_BYTE *)v7 = (unsigned int)v26 >> 24;
v26 <<= 8;
++v7;
}
v67 = v24 - _EDX;
while ( v67 < v298 )
{
v67 += 8;
*(_BYTE *)v7 = (unsigned int)v26 >> 24;
v26 <<= 8;
++v7;
}
v65 = v67 - v298;
goto LABEL_227;
}