public int ReadInt32LE()
{
NeedOneByteInBuffer();
int res = 0;
if (Pos + 4 <= End)
{
res = PackUnpack.UnpackInt32LE(Buf, Pos);
Pos += 4;
}
else
{
for (var rot = 0; rot < 32; rot += 8)
{
NeedOneByteInBuffer();
res += Buf[Pos] << rot;
Pos++;
}
}
return res;
}