Augment animation and replace the original during runtime

I have some animation files that I wish to augment, make them more exaggerated. Like making the wrist rotate 60 degrees instead of the 30 on the original animation.

This is achieved by a scale method:

private AnimationCurve ScaleCurve(AnimationCurve inputCurve, float maxX, float maxY)
{
    AnimationCurve scaledCurve = new AnimationCurve();

    for (int i = 0; i < inputCurve.keys.Length; i++)
    {
        Keyframe keyframe = inputCurve.keys[i];
        keyframe.value = inputCurve.keys[i].value * maxY;
        keyframe.time = inputCurve.keys[i].time * maxX;
        keyframe.inTangent = inputCurve.keys[i].inTangent * maxY / maxX;
        keyframe.outTangent = inputCurve.keys[i].outTangent * maxY / maxX;

        scaledCurve.AddKey(keyframe);
    }

    return scaledCurve;
}

With this, I can then retrieve the animation curve, apply the scaling, and then apply them back:

Animator mainAnimator; 
int layer;

// Inside of the Start() method: 
EditorCurveBinding[] bindings =
    AnimationUtility.GetCurveBindings(
        mainAnimator.runtimeAnimatorController.animationClips[layer]
        );

for (int i = 0; /* Selecting the desired index */ )
{
    AnimationCurve currentCurve = AnimationUtility.GetEditorCurve(
        mainAnimator.runtimeAnimatorController.animationClips[layer],
        bindings[i]
        );

    // Scale here, time scale remains the same but twice the amplitude 
    currentCurve = ScaleCurve(currentCurve, 1, 2.0f);

    AnimationUtility.SetEditorCurve(
        mainAnimator.runtimeAnimatorController.animationClips[layer],
        bindings[i],
        currentCurve);
}

This did work, but I realized the changes seem to be permanent. If I ran the game twice, then the animation would be scaled 4 times, by the 3rd time I ran it the animation is 8 times (2^3) as strong…

I thought about storing the original and revoke back to the original when it’s done, but it turned out to be really hard to decide when it is “done”, especially during testing.

What would be a way to make this amplification/exaggeration lasting only during the runtime?