private void RemoveGreetingGarbage(byte[] buffer, ref int max_offset)
{
while (max_offset > 0)
{
while (max_offset > 0 && buffer[0] != 0x42)
{
if (max_offset > 1)
Array.Copy(buffer, 1, buffer, 0, max_offset - 1);
max_offset--;
}
if (max_offset > 1 && buffer[1] != 0x41)
buffer[0] = 0xFF;
else if (max_offset > 2 && buffer[2] != 0x43)
buffer[0] = 0xFF;
else if (max_offset > 3 && buffer[3] != 0x6E)
buffer[0] = 0xFF;
else if (max_offset > 4 && buffer[4] != 0x65)
buffer[0] = 0xFF;
else if (max_offset > 5 && buffer[5] != 0x74)
buffer[0] = 0xFF;
else if (max_offset > 6 && buffer[6] != 0x0D)
buffer[0] = 0xFF;
else
break;
}
}