1. A method for inferring possible paths that at least a portion of a program can take during execution, the method comprising: identifying, based on one or more entry points located in at least the portion of the program and execution-relevant metadata of the program, a region of code for disassembly within at least the portion of the program, the one or more entry points corresponding to one or more places within the at least the portion of the program at which an operating system or other program initiates execution, the execution-relevant metadata describing where code or execution-relevant data reside in the program; generating, based on the identified region of code and the identified at least one entry point, a set of possible call sequences for at least one function at a corresponding entry point of the one or more entry points for the at least one function; and generating a function call graph characterizing the generated set of possible call sequences to enable inferring possible paths that at least the portion of the program can take during execution; wherein the set of possible call sequences comprises at least one application programming interface call.