I mean if we branch the logic based on data we have in the buffer (line `if (m_innerBuffer[i] != 0)`) then in those cases when the least byte happens to be 0 we will go with old little-endian logic.

As I understand this code maps to https://github.com/zeromq/libzmq/blob/fd42be9dbab047d0ed35572ead3be755177a60d2/src/wire.hpp#L83 where there is no condition whether to use big endian or little endian.

BTW it looks like the line should at least be `if (m_innerBuffer[Offset + i] != 0)`....