Split a function into smaller parts.
Merge multiple functions into one.
Reorder function arguments and/or add bogus arguments.
Replace a function call with the body of the called function.
Make a copy of a function.
Generate a random function.
Hide API calls such as system calls and library calls.