Refactored the QP decosder from regex to itterative version

Hopefully this will make the decoding handle larger data without choking