gen-calltree-dumpbin.pl... call tree analysis based on disassembly of e:\wmv-debug\DEBUG\drmutils.lib 32 named functions identified (this may include some register names) **************************************************************************** these functions are not called and are assessed to be top-level functions: **************************************************************************** -> _DeleteDRMContent ?GetDefaultDRMPathNameW@@YAJPAGK@Z ?DeleteStores@@YAJPBG@Z dynamic _wcslen _LocalAllocTrace _wcscpy _LocalFree -> _PurgeExpiredLicenses ?GetDefaultDRMPathNameW@@YAJPAGK@Z _StringCchPrintfW _memset dynamic ?CreateTempFileName@@YAJPAG00@Z ?PurgeExpiredLicensesWorker@@YAJKPBG0P6AHKKKK@Z@Z ?SwapLicenseStores@@YAJPBG0@Z **************************************************************************** these functions were called in the code: **************************************************************************** -> ??2@YAPAXI@Z -> ??3@YAXPAX@Z -> ?CopyNonExpiredLicenses@@YAJKKPAUIStorage@@0P6AHKKKK@Z@Z proto: (long __cdecl CopyNonExpiredLicenses(unsigned long,unsigned long,struct IStorage *,struct IStorage *,int (__cdecl*)(unsigned long,unsigned long,unsigned long,unsigned long))): __chkstk _memset ??2@YAPAXI@Z dynamic ?RemoveExpiredLicenses@@YAJPAGKKPAUIStorage@@PBGP6AHKKKK@ZPAK44@Z ??3@YAXPAX@Z -> ?CreateEmptyStorage@@YAJPBGPAKPAPAUIStorage@@@Z proto: (long __cdecl CreateEmptyStorage(unsigned short const *,unsigned long *,struct IStorage * *)): _NKDbgPrintfW dynamic -> ?CreateTempFileName@@YAJPAG00@Z proto: (long __cdecl CreateTempFileName(unsigned short *,unsigned short *,unsigned short *)): dynamic -> ?DeleteStores@@YAJPBG@Z proto: (long __cdecl DeleteStores(unsigned short const *)): _StringCchPrintfW dynamic -> ?ExtractXMLElement@@YAHPBG00PAGK@Z proto: (int __cdecl ExtractXMLElement(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short *,unsigned long)): _wcschr _wcslen _wcsncpy _StringCchCatNW _wcsstr ?ExtractXMLElement@@YAHPBG00PAGK@Z -> ?FindExpiredLicense@@YAHPBG@Z proto: (int __cdecl FindExpiredLicense(unsigned short const *)): __chkstk _wcsncmp _wcslen ?ExtractXMLElement@@YAHPBG00PAGK@Z ?StripCDATA@@YAHPAG@Z _wcsstr _swscanf _GetSystemTime -> ?GetDefaultDRMPathNameW@@YAJPAGK@Z proto: (long __cdecl GetDefaultDRMPathNameW(unsigned short *,unsigned long)): dynamic _wcscpy -> ?OpenExistingStorage@@YAJPBGPAKPAPAUIStorage@@@Z proto: (long __cdecl OpenExistingStorage(unsigned short const *,unsigned long *,struct IStorage * *)): _NKDbgPrintfW dynamic -> ?PurgeExpiredLicensesWorker@@YAJKPBG0P6AHKKKK@Z@Z proto: (long __cdecl PurgeExpiredLicensesWorker(unsigned long,unsigned short const *,unsigned short const *,int (__cdecl*)(unsigned long,unsigned long,unsigned long,unsigned long))): dynamic ?OpenExistingStorage@@YAJPBGPAKPAPAUIStorage@@@Z ?CreateEmptyStorage@@YAJPBGPAKPAPAUIStorage@@@Z ?CopyNonExpiredLicenses@@YAJKKPAUIStorage@@0P6AHKKKK@Z@Z -> ?RemoveExpiredLicenses@@YAJPAGKKPAUIStorage@@PBGP6AHKKKK@ZPAK44@Z proto: (long __cdecl RemoveExpiredLicenses(unsigned short *,unsigned long,unsigned long,struct IStorage *,unsigned short const *,int (__cdecl*)(unsigned long,unsigned long,unsigned long,unsigned long),unsigned long *,unsigned long *,unsigned long *)): __chkstk _memset dynamic ?FindExpiredLicense@@YAHPBG@Z -> ?StripCDATA@@YAHPAG@Z proto: (int __cdecl StripCDATA(unsigned short *)): _wcsncmp _wcslen _memmove -> ?SwapLicenseStores@@YAJPBG0@Z proto: (long __cdecl SwapLicenseStores(unsigned short const *,unsigned short const *)): _StringCchPrintfW dynamic -> _GetSystemTime -> _LocalAllocTrace -> _LocalFree -> _NKDbgPrintfW -> _StringCchCatNW -> _StringCchPrintfW -> __chkstk -> _memmove -> _memset -> _swscanf -> _wcschr -> _wcscpy -> _wcslen -> _wcsncmp -> _wcsncpy -> _wcsstr -> dynamic