Hmm, the only parameter i can see is ecx ( maybe they use register arguments? ).
maybe you should take a look into 004BD540. You can send me a PM with the code from it then i can analyse it. And you could also try the C++ func i've posted with the function pointer but replace the Address with 0x4BD540