Trees are grown by a "top down, greedy approach that is know as recursive binary splitting" (An Introduction to Statistical Learning by Tibshirani, Hastie and Friedman).
"For each splitting variable, the determination of the split point s can be done very quickly and hence by scanning through all of the inputs, determination of the best pair (variable j, split s) is feasible. Having found the best split, we partition the data into the two resulting regions and repeat the splitting process on each of the two regions. Then this process is repeated on all of the resulting regions." (Elements of statistical Learning).
For each splitting variable, the determination of the split point s can be done very quickly and hence by scanning through all of the inputs, determination of the best pair (variable j, split s) is feasible. Having found the best split, we partition the data into the two resulting regions and repeat the splitting process on each of the two regions. Then this process is repeated on all of the resulting regions. Elements of statistical Learning
So I do think you have to do feature engineering before, all the more if you know ex ante how the interaction of several variables can influence the outcome.