Does a recursive call reset to the beginning of the method if the call is in the middle?
A recursive call is no different than any other call. Here is what happens when you call procedure X:


The current address is pushed into the stack.
Jump to the beginning of X.
When X concludes, pop the return address from the stack, and jump there.


It doesn't matter whether X is the current procedure or a different one.