As currently stated, there's no simple solution to such a general problem.
Static analysis is quite a complex subject and there are no generic solutions that are available out of the box.
A few basic examples of why this may be difficult are these:
Consider the case where the third argument to Func
is a user supplied input. It is therefore impossible to know the value statically.
Moreover, a value may be derived from other external sources (the OS, the internet, etc).
Even when limiting to static programs, the code manipulating the variable before passing it on to Func
may be complex and difficult to follow.
A naïve static solution may be a more viable solution. For example, a solution that assumes the third argument to Func
is a hardcoded immediate value and not a variable, will require only little static analysis and can be achieved, although IDA is not best-suited for such tasks (I'd recommend you take a look at angr instead)
Alternatively, one might argue that debugging is a better solution, placing a break point on Func
and parsing the arguments at call-time. This is again not IDA's forte but nowadays IDA's debugger is good enough to use for such a task.