Okay well I am writing a dll that redirects a programs function into my dll so I can edit it. Now what is happening is I PushAD at the start to preserve the variables in the program. Now it popads fine but what happens if my dll apparently shifts the stack. I was wondering what things would do this?

it pops fine with all the last variables but because it is shifted i got about 10 variables in stack before the original stuff.