More splitting, fix late GE interrupts reading wrong data

It seems like we can have an interrupt run later than a sync, or something, because Project Diva Extend overwrites the listdata, and when we enter the interrupt it's already got bad data.

Simple solution: read it when enqueuing, not dequeuing the interrupt.

Also, stupidest typo ever in function replacements.  Blarg.

Slight gains in perf, another couple points in GoW (probably not quite 1% though.)

-[Unknown]