do not need to check length
replaced inline asm with bswap32()