Bra86.c revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
/* Bra86.c -- Converter for x86 code (BCJ)
2008-10-04 : Igor Pavlov : Public domain */
#include "Bra.h"
#define Test86MSByte(b) ((b) == 0 || (b) == 0xFF)
{
if (size < 5)
return 0;
ip += 5;
for (;;)
{
for (; p < limit; p++)
if ((*p & 0xFE) == 0xE8)
break;
if (p >= limit)
break;
if (prevPosT > 3)
prevMask = 0;
else
{
if (prevMask != 0)
{
{
bufferPos++;
continue;
}
}
}
if (Test86MSByte(p[4]))
{
for (;;)
{
Byte b;
int index;
if (encoding)
else
if (prevMask == 0)
break;
if (!Test86MSByte(b))
break;
}
bufferPos += 5;
}
else
{
bufferPos++;
}
}
return bufferPos;
}