Push a stack frame into the call stack. This method is called when calling a function in CFG recovery.

        :param int callsite_addr: Address of the call site
        :param int addr: Address of the call target
        :param int or None retn_target: Address of the return target
        :param int stack_pointer: Value of the stack pointer
        :return: None

def call(self, callsite_addr, addr, retn_target=None, stack_pointer=None):
        """
        Push a stack frame into the call stack. This method is called when calling a function in CFG recovery.

        :param int callsite_addr: Address of the call site
        :param int addr: Address of the call target
        :param int or None retn_target: Address of the return target
        :param int stack_pointer: Value of the stack pointer
        :return: None
        """

        frame = CallStack(call_site_addr=callsite_addr, func_addr=addr, ret_addr=retn_target,
                          stack_ptr=stack_pointer)
        return self.push(frame)