Optimised register parsing

* Better logical flow
* Inlined to be faster, no function stack exchanges or parameter passes required