Cherry-pick potential divide-by-zero fix

This is a bit more than a potential fix now. It's been in canary for a
week and was recently promoted to dev. No further instances of the issue
have shown up in the crash tracker.

Replace divide with look-up

This commit replaces an integer divide with a table-lookup. It is to
improve decoding speed, and at the same time, to reduce possible
complications with a bug in AMD Family 12h processors:

"665 Integer Divide Instruction May Cause Unpredictable Behavior"

Review URL:
4 files changed