why would that need my own routines? it's just a normal matrix concatenation.

matrix = tm * rm * sm
for v in vertices: v = v * matrix

...and transforming 100 thousand vertices isn't something you usually have to do in gameplay code. laugh