the problem on this hook is that you need to hook and un hook the function everytime you need to use the original procedure
ex.
procedure myfunction(a,b,c,d)
procedurereturn thisfunction(a,b,c,d)
;THIS RUNS ON AN INFINITE LOOP
;since calling thisfunction would jmp again to myfunction then to ...