Program not working as intended

There are several things to change in your code

variables that are defined inside a function are local to this function
anywhere outside the function the variable is unknown.

everytime you leave such a function the variable is thrown away and created new at the next call of the function.

This means things like

if (currentTime - previousTime >= interval)

can not work as each time the function gets called new previoustime is resetted to zero new

You are assigning the function slowdown to the interrupt

This means each time the interrupt is triggered and only if an interrupt occurs your function slowdown is called.

This is a real mess with a lot of misunderstandings how the code works.

As you have a lot of misconceptions about the code
please write a description in normal words what you want the code to do

I beg you from the bottom of my heart: avoid all programming-words.
use normal words to describe the functionality you want to have

best regards Stefan