<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def files():
 """ Scan all modules in the currently running app to create a dict of all files and their modified time. @note The scan only occurs the first time this function is called. Subsequent calls simply return the global dict. @return: A dict containing filenames as keys with their modified time as value """

    if not _scanned:
        if not module_files(sys.modules['__main__'], _process_files):
            for module in sys.modules.values():
                if hasattr(module, '__file__'):
                    filename = module.__file__
                    if filename not in _process_files:
                        realname, modified_time = _get_filename_and_modified(filename)
                        if realname and realname not in _process_files:
                            _process_files[realname] = modified_time
    return _process_files