GetSDKVersion expects the number of version fields not their byte size and will happily overwrite later contents of the stack.
I just found this by accident while stepping through the function and noticing that the backtrace disappears halfway through the function.