...уже поковырялся

только бестолку - все равно не понять в чем различие самих функций...
обычный рандом(100) выдает:
push 100
random
pop
а мтхрандом (если предварительно сократить название до ссылки вроде a = Math.random):
push 0.0, 'a'
callFunction
+умножение и округление
...а вот чего они собственно делают...
(а рандом скомпиленный пятеркой абсолютно не отличается от шестерочного по коду)