Это все вода. Первостепенными задачами щас являются
1. найти начало вызова функции(Угарнул что DB на этот счет придумал "Select current function", задача то тривиальная)
2. определить соглашение о вызове, чтобы понять как передаются аргументы через стек/регистры или и то и другое. И должен ли вызывающий поток подчищать за ней стек
3 .Определить количество переданных аргументов - например если функция является членом класса, то указатель неявно передается первым аргументом, на что многие думают, мол функция не принимает никаких аргументов, а на самом деле нифига.
вот это основа, а об оптимизации можно задуматься после.