Либо пишите функцию на асм, либо компилируйте эту функцию перезаписи как отдельный проект с перемещаемым кодом. А вообще при таком раскладе эта функция не должна возвращаться к вызвавшему ее блоку до тех пор, пока все полностью не перепишется. Т.е. видимо сама идеология алгоритма у вас какая-то некорректная.