gen-calltree-dumpbin.pl... call tree analysis based on disassembly of e:\wmv-debug\DEBUG\cedrm.lib 31 named functions identified (this may include some register names) **************************************************************************** these functions are not called and are assessed to be top-level functions: **************************************************************************** -> ??0XDrm@@QAE@XZ proto: (public: __thiscall XDrm::XDrm(void)): _NKDbgPrintfW -> ??1XDrm@@QAE@XZ proto: (public: __thiscall XDrm::~XDrm(void)): -> ?CanBind@XDrm@@QAEJXZ proto: (public: long __thiscall XDrm::CanBind(void)): -> ?CanDecrypt@XDrm@@QAEJXZ proto: (public: long __thiscall XDrm::CanDecrypt(void)): -> ?Commit@XDrm@@QAEJXZ proto: (public: long __thiscall XDrm::Commit(void)): -> ?Decrypt@XDrm@@QAEJKPAE@Z proto: (public: long __thiscall XDrm::Decrypt(unsigned long,unsigned char *)): -> ?GenerateChallenge@XDrm@@QAEJPAPAD0PAPAG@Z proto: (public: long __thiscall XDrm::GenerateChallenge(char * *,char * *,unsigned short * *)): -> ?GetDRMSecurityVersion@XDrm@@QAEJPAPAG@Z proto: (public: long __thiscall XDrm::GetDRMSecurityVersion(unsigned short * *)): _NKDbgPrintfW -> ?GetDRMVersion@XDrm@@QAEJPAPAG@Z proto: (public: long __thiscall XDrm::GetDRMVersion(unsigned short * *)): _NKDbgPrintfW -> ?GetDRMVersionCode@XDrm@@QAE?AW4DRM_VERSION_CODE@@XZ proto: (public: enum DRM_VERSION_CODE __thiscall XDrm::GetDRMVersionCode(void)): -> ?GetLicenseFromURL@XDrm@@QAEJPAG0@Z proto: (public: long __thiscall XDrm::GetLicenseFromURL(unsigned short *,unsigned short *)): _NKDbgPrintfW -> ?GetSystemInfo@XDrm@@QAEJPAPAG@Z proto: (public: long __thiscall XDrm::GetSystemInfo(unsigned short * *)): _NKDbgPrintfW -> ?HrSendHttp@@YAJPBDPADPAPAD1H@Z proto: (long __cdecl HrSendHttp(char const *,char *,char * *,char *,int)): _NKDbgPrintfW -> ?HrWSzToSz@@YAJPBGPAPADI@Z proto: (long __cdecl HrWSzToSz(unsigned short const *,char * *,unsigned int)): -> ?HttpOpenRequest@@YAPAXPAXPBG111PAPBGKK@Z proto: (void * __cdecl HttpOpenRequest(void *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const * *,unsigned long,unsigned long)): -> ?HttpQueryInfo@@YAHPAXK0PAK1@Z proto: (int __cdecl HttpQueryInfo(void *,unsigned long,void *,unsigned long *,unsigned long *)): -> ?HttpSendRequest@@YAHPAXPBDK0K@Z proto: (int __cdecl HttpSendRequest(void *,char const *,unsigned long,void *,unsigned long)): -> ?Init@XDrm@@QAEJIPBEI0I0PAX1@Z proto: (public: long __thiscall XDrm::Init(unsigned int,unsigned char const *,unsigned int,unsigned char const *,unsigned int,unsigned char const *,void *,void *)): _NKDbgPrintfW -> ?InternetCloseHandle@@YAHPAX@Z proto: (int __cdecl InternetCloseHandle(void *)): -> ?InternetConnect@@YAPAXPAXPBGG11KKK@Z proto: (void * __cdecl InternetConnect(void *,unsigned short const *,unsigned short,unsigned short const *,unsigned short const *,unsigned long,unsigned long,unsigned long)): -> ?InternetErrorDlg@@YAKPAUHWND__@@PAXKKPAPAX@Z proto: (unsigned long __cdecl InternetErrorDlg(struct HWND__ *,void *,unsigned long,unsigned long,void * *)): -> ?InternetOpen@@YAPAXPBGK00K@Z proto: (void * __cdecl InternetOpen(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *,unsigned long)): -> ?InternetReadFile@@YAHPAX0KPAK@Z proto: (int __cdecl InternetReadFile(void *,void *,unsigned long,unsigned long *)): -> ?PKCryptoCleanup@@YAXXZ proto: (void __cdecl PKCryptoCleanup(void)): -> ?PKCryptoInit@@YAHXZ proto: (int __cdecl PKCryptoInit(void)): -> ?ProcessResponse@XDrm@@QAEJPBD@Z proto: (public: long __thiscall XDrm::ProcessResponse(char const *)): -> ?Reset@XDrm@@QAEXXZ proto: (public: void __thiscall XDrm::Reset(void)): -> ?SetEnhancedData@XDrm@@QAEJKPBE@Z proto: (public: long __thiscall XDrm::SetEnhancedData(unsigned long,unsigned char const *)): -> ?SetPMLicenseStore@XDrm@@QAEJPBGKPBE@Z proto: (public: long __thiscall XDrm::SetPMLicenseStore(unsigned short const *,unsigned long,unsigned char const *)): -> ?SetRights@XDrm@@QAEJK@Z proto: (public: long __thiscall XDrm::SetRights(unsigned long)): -> ?SetV1ContentHeader@XDrm@@QAEJPBEK0K0K@Z proto: (public: long __thiscall XDrm::SetV1ContentHeader(unsigned char const *,unsigned long,unsigned char const *,unsigned long,unsigned char const *,unsigned long)): **************************************************************************** these functions were called in the code: **************************************************************************** -> _NKDbgPrintfW