Ja, habe ich.
Leider ist die seit rund 25 Jahren übliche C-ische Architektur so ausgelegt, dass Parameter - auch bei Aufrufen von Subroutinen/Functions - auf dem Stack liegen. Die Intel-Prozessoren haben genau für diese (von mir aus hirnverbrannte) Architektur den BasePointer (BP-Register) eingerichtet. Das Goto ist ein simpler JMP, das ist richtig, der IF-Block ist aber schon etwas komplizierter, auch wenn ich Dir jetzt nicht auswendig sagen kann, wie der häufig implementiert wird. Beim Wend ist es definitiv so, dass dort Zwischenresultate vom Stack geholt werden und ausgewertet werden. Einen Memory-Leak, den man bei solchen wilden Gotos noch provozieren könnte, befürchte ich jetzt hier nicht, aber ein Stack-Missbrauch, damit ist zu rechnen. Natürlich kann der LS-Code so angelegt sein, dass mit solchen Konstrukten gerechnet wird und diese abgefangen werden, verlassen würd ich mich aber nicht darauf.
BTW: Diese Architektur ist weitgehend für die im Zusammenhang mit den Sicherheitslücken immer wieder erwähnten "Buffer Overflow"s verantwortlich, wird die Parameterlänge aus irgend einem Grund nicht korrekt berechnet, bekommt man über die Daten die Möglichkeit, Rücksprungadressen zu ändern und damit den Code zu manipulieren.