; 
; Exports of file IisRTL.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY IisRTL.DLL
EXPORTS
; public: __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void) __ptr64
??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA@XZ
; public: __cdecl CDataCache<class CDateTime>::CDataCache<class CDateTime>(void) __ptr64
??0?$CDataCache@VCDateTime@@@@QEAA@XZ
; public: __cdecl ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const * __ptr64,struct _ALLOC_CACHE_CONFIGURATION const * __ptr64,int) __ptr64
??0ALLOC_CACHE_HANDLER@@QEAA@PEBDPEBU_ALLOC_CACHE_CONFIGURATION@@H@Z
; public: __cdecl ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void) __ptr64
??0ASCLOG_DATETIME_CACHE@@QEAA@XZ
; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
??0BUFFER@@QEAA@I@Z
; public: __cdecl BUFFER::BUFFER(unsigned char * __ptr64,unsigned int) __ptr64
??0BUFFER@@QEAA@PEAEI@Z
; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
??0BUFFER_CHAIN@@QEAA@XZ
; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
; public: __cdecl CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void) __ptr64
??0CACHED_DATETIME_FORMATS@@QEAA@XZ
; public: __cdecl CCritSec::CCritSec(void) __ptr64
??0CCritSec@@QEAA@XZ
; public: __cdecl CDFTCache::CDFTCache(void) __ptr64
??0CDFTCache@@QEAA@XZ
; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64) __ptr64
??0CDateTime@@QEAA@AEBU_FILETIME@@@Z
; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64,struct _SYSTEMTIME const & __ptr64) __ptr64
??0CDateTime@@QEAA@AEBU_FILETIME@@AEBU_SYSTEMTIME@@@Z
; public: __cdecl CDateTime::CDateTime(struct _SYSTEMTIME const & __ptr64) __ptr64
??0CDateTime@@QEAA@AEBU_SYSTEMTIME@@@Z
; public: __cdecl CDateTime::CDateTime(void) __ptr64
??0CDateTime@@QEAA@XZ
; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
??0CDoubleList@@QEAA@XZ
; public: __cdecl CEtwTracer::CEtwTracer(void) __ptr64
??0CEtwTracer@@QEAA@XZ
; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
??0CFakeLock@@QEAA@XZ
; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
??0CLKRHashTableStats@@QEAA@XZ
; protected: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable * __ptr64,short) __ptr64
??0CLKRHashTable_Iterator@@IEAA@PEAVCLKRHashTable@@F@Z
; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const & __ptr64) __ptr64
??0CLKRHashTable_Iterator@@QEAA@AEBV0@@Z
; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(void) __ptr64
??0CLKRHashTable_Iterator@@QEAA@XZ
; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool) __ptr64
??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@_N@Z
; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
; protected: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable * __ptr64,class CNodeClump * __ptr64,unsigned long,short) __ptr64
??0CLKRLinearHashTable_Iterator@@IEAA@PEAVCLKRLinearHashTable@@PEAVCNodeClump@@KF@Z
; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
??0CLKRLinearHashTable_Iterator@@QEAA@AEBV0@@Z
; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void) __ptr64
??0CLKRLinearHashTable_Iterator@@QEAA@XZ
; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
??0CLockedDoubleList@@QEAA@XZ
; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
??0CLockedSingleList@@QEAA@XZ
; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
??0CReaderWriterLock2@@QEAA@XZ
; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
??0CReaderWriterLock3@@QEAA@XZ
; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
??0CReaderWriterLock@@QEAA@XZ
; public: __cdecl CRtlResource::CRtlResource(void) __ptr64
??0CRtlResource@@QEAA@XZ
; public: __cdecl CShareLock::CShareLock(void) __ptr64
??0CShareLock@@QEAA@XZ
; public: __cdecl CSharelock::CSharelock(int,int) __ptr64
??0CSharelock@@QEAA@HH@Z
; public: __cdecl CSingleList::CSingleList(void) __ptr64
??0CSingleList@@QEAA@XZ
; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
??0CSmallSpinLock@@QEAA@XZ
; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
??0CSpinLock@@QEAA@XZ
; public: __cdecl EVENT_LOG::EVENT_LOG(char const * __ptr64) __ptr64
??0EVENT_LOG@@QEAA@PEBD@Z
; public: __cdecl EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void) __ptr64
??0EXTLOG_DATETIME_CACHE@@QEAA@XZ
; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
??0HASH_TABLE@@QEAA@AEBV0@@Z
; public: __cdecl HASH_TABLE::HASH_TABLE(unsigned long,char const * __ptr64,unsigned long) __ptr64
??0HASH_TABLE@@QEAA@KPEBDK@Z
; public: __cdecl HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void) __ptr64
??0HASH_TABLE_BUCKET@@QEAA@XZ
; public: __cdecl HTB_ELEMENT::HTB_ELEMENT(void) __ptr64
??0HTB_ELEMENT@@QEAA@XZ
; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
??0HT_ELEMENT@@QEAA@AEBV0@@Z
; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
??0HT_ELEMENT@@QEAA@XZ
; public: __cdecl MLSZAU::MLSZAU(class MLSZAU & __ptr64) __ptr64
??0MLSZAU@@QEAA@AEAV0@@Z
; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,int,unsigned long) __ptr64
??0MLSZAU@@QEAA@QEADHK@Z
; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,unsigned long) __ptr64
??0MLSZAU@@QEAA@QEADK@Z
; public: __cdecl MLSZAU::MLSZAU(unsigned short * __ptr64 const,unsigned long) __ptr64
??0MLSZAU@@QEAA@QEAGK@Z
; public: __cdecl MLSZAU::MLSZAU(void) __ptr64
??0MLSZAU@@QEAA@XZ
; public: __cdecl MULTISZ::MULTISZ(class MULTISZ const & __ptr64) __ptr64
??0MULTISZ@@QEAA@AEBV0@@Z
; public: __cdecl MULTISZ::MULTISZ(char * __ptr64,unsigned long) __ptr64
??0MULTISZ@@QEAA@PEADK@Z
; public: __cdecl MULTISZ::MULTISZ(char const * __ptr64) __ptr64
??0MULTISZ@@QEAA@PEBD@Z
; public: __cdecl MULTISZ::MULTISZ(void) __ptr64
??0MULTISZ@@QEAA@XZ
; public: __cdecl STR::STR(class STR const & __ptr64) __ptr64
??0STR@@QEAA@AEBV0@@Z
; public: __cdecl STR::STR(unsigned long) __ptr64
??0STR@@QEAA@K@Z
; public: __cdecl STR::STR(char * __ptr64,unsigned long,int) __ptr64
??0STR@@QEAA@PEADKH@Z
; public: __cdecl STR::STR(char const * __ptr64) __ptr64
??0STR@@QEAA@PEBD@Z
; public: __cdecl STR::STR(void) __ptr64
??0STR@@QEAA@XZ
; private: __cdecl STRA::STRA(class STRA const & __ptr64) __ptr64
??0STRA@@AEAA@AEBV0@@Z
; private: __cdecl STRA::STRA(char * __ptr64) __ptr64
??0STRA@@AEAA@PEAD@Z
; private: __cdecl STRA::STRA(char const * __ptr64) __ptr64
??0STRA@@AEAA@PEBD@Z
; public: __cdecl STRA::STRA(char * __ptr64,unsigned long) __ptr64
??0STRA@@QEAA@PEADK@Z
; public: __cdecl STRA::STRA(void) __ptr64
??0STRA@@QEAA@XZ
; public: __cdecl STRAU::STRAU(class STRAU & __ptr64) __ptr64
??0STRAU@@QEAA@AEAV0@@Z
; public: __cdecl STRAU::STRAU(char const * __ptr64) __ptr64
??0STRAU@@QEAA@PEBD@Z
; public: __cdecl STRAU::STRAU(char const * __ptr64,int) __ptr64
??0STRAU@@QEAA@PEBDH@Z
; public: __cdecl STRAU::STRAU(unsigned short const * __ptr64) __ptr64
??0STRAU@@QEAA@PEBG@Z
; public: __cdecl STRAU::STRAU(void) __ptr64
??0STRAU@@QEAA@XZ
; private: __cdecl STRU::STRU(class STRU const & __ptr64) __ptr64
??0STRU@@AEAA@AEBV0@@Z
; private: __cdecl STRU::STRU(unsigned short * __ptr64) __ptr64
??0STRU@@AEAA@PEAG@Z
; private: __cdecl STRU::STRU(unsigned short const * __ptr64) __ptr64
??0STRU@@AEAA@PEBG@Z
; public: __cdecl STRU::STRU(unsigned short * __ptr64,unsigned long) __ptr64
??0STRU@@QEAA@PEAGK@Z
; public: __cdecl STRU::STRU(void) __ptr64
??0STRU@@QEAA@XZ
; public: __cdecl TS_RESOURCE::TS_RESOURCE(void) __ptr64
??0TS_RESOURCE@@QEAA@XZ
; public: __cdecl W3_DATETIME_CACHE::W3_DATETIME_CACHE(void) __ptr64
??0W3_DATETIME_CACHE@@QEAA@XZ
; public: __cdecl ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void) __ptr64
??1ALLOC_CACHE_HANDLER@@QEAA@XZ
; public: virtual __cdecl ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void) __ptr64
??1ASCLOG_DATETIME_CACHE@@UEAA@XZ
; public: __cdecl BUFFER::~BUFFER(void) __ptr64
??1BUFFER@@QEAA@XZ
; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
??1BUFFER_CHAIN@@QEAA@XZ
; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
??1BUFFER_CHAIN_ITEM@@QEAA@XZ
; public: virtual __cdecl CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void) __ptr64
??1CACHED_DATETIME_FORMATS@@UEAA@XZ
; public: __cdecl CCritSec::~CCritSec(void) __ptr64
??1CCritSec@@QEAA@XZ
; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
??1CDoubleList@@QEAA@XZ
; public: __cdecl CEtwTracer::~CEtwTracer(void) __ptr64
??1CEtwTracer@@QEAA@XZ
; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
??1CFakeLock@@QEAA@XZ
; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
??1CLKRHashTable@@QEAA@XZ
; public: __cdecl CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void) __ptr64
??1CLKRHashTable_Iterator@@QEAA@XZ
; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
??1CLKRLinearHashTable@@QEAA@XZ
; public: __cdecl CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void) __ptr64
??1CLKRLinearHashTable_Iterator@@QEAA@XZ
; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
??1CLockedDoubleList@@QEAA@XZ
; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
??1CLockedSingleList@@QEAA@XZ
; public: __cdecl CRtlResource::~CRtlResource(void) __ptr64
??1CRtlResource@@QEAA@XZ
; public: __cdecl CShareLock::~CShareLock(void) __ptr64
??1CShareLock@@QEAA@XZ
; public: __cdecl CSharelock::~CSharelock(void) __ptr64
??1CSharelock@@QEAA@XZ
; public: __cdecl CSingleList::~CSingleList(void) __ptr64
??1CSingleList@@QEAA@XZ
; public: __cdecl EVENT_LOG::~EVENT_LOG(void) __ptr64
??1EVENT_LOG@@QEAA@XZ
; public: virtual __cdecl EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void) __ptr64
??1EXTLOG_DATETIME_CACHE@@UEAA@XZ
; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
??1HASH_TABLE@@UEAA@XZ
; public: __cdecl HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void) __ptr64
??1HASH_TABLE_BUCKET@@QEAA@XZ
; public: __cdecl HTB_ELEMENT::~HTB_ELEMENT(void) __ptr64
??1HTB_ELEMENT@@QEAA@XZ
; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
??1HT_ELEMENT@@UEAA@XZ
; public: __cdecl MLSZAU::~MLSZAU(void) __ptr64
??1MLSZAU@@QEAA@XZ
; public: __cdecl MULTISZ::~MULTISZ(void) __ptr64
??1MULTISZ@@QEAA@XZ
; public: __cdecl STR::~STR(void) __ptr64
??1STR@@QEAA@XZ
; public: __cdecl STRA::~STRA(void) __ptr64
??1STRA@@QEAA@XZ
; public: __cdecl STRAU::~STRAU(void) __ptr64
??1STRAU@@QEAA@XZ
; public: __cdecl STRU::~STRU(void) __ptr64
??1STRU@@QEAA@XZ
; public: __cdecl TS_RESOURCE::~TS_RESOURCE(void) __ptr64
??1TS_RESOURCE@@QEAA@XZ
; public: virtual __cdecl W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void) __ptr64
??1W3_DATETIME_CACHE@@UEAA@XZ
; public: static void * __ptr64 __cdecl CLKRLinearHashTable::operator new(unsigned __int64)
??2CLKRLinearHashTable@@SAPEAX_K@Z
; public: static void __cdecl CLKRLinearHashTable::operator delete(void * __ptr64)
??3CLKRLinearHashTable@@SAXPEAX@Z
; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __ptr64 __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const & __ptr64) __ptr64
??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAAAEAV0@AEBV0@@Z
; public: class CDataCache<class CDateTime> & __ptr64 __cdecl CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const & __ptr64) __ptr64
??4?$CDataCache@VCDateTime@@@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<5,2,1,2,3,3> & __ptr64 __cdecl CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const & __ptr64) __ptr64
??4?$CLockBase@$04$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<6,2,1,2,3,3> & __ptr64 __cdecl CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const & __ptr64) __ptr64
??4?$CLockBase@$05$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<7,2,2,1,3,2> & __ptr64 __cdecl CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$06$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<8,2,2,1,3,2> & __ptr64 __cdecl CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$07$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<9,2,1,1,3,2> & __ptr64 __cdecl CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$08$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class ALLOC_CACHE_HANDLER & __ptr64 __cdecl ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const & __ptr64) __ptr64
??4ALLOC_CACHE_HANDLER@@QEAAAEAV0@AEBV0@@Z
; public: class BUFFER & __ptr64 __cdecl BUFFER::operator=(class BUFFER const & __ptr64) __ptr64
??4BUFFER@@QEAAAEAV0@AEBV0@@Z
; public: class BUFFER_CHAIN & __ptr64 __cdecl BUFFER_CHAIN::operator=(class BUFFER_CHAIN const & __ptr64) __ptr64
??4BUFFER_CHAIN@@QEAAAEAV0@AEBV0@@Z
; public: class BUFFER_CHAIN_ITEM & __ptr64 __cdecl BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const & __ptr64) __ptr64
??4BUFFER_CHAIN_ITEM@@QEAAAEAV0@AEBV0@@Z
; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
??4CCritSec@@QEAAAEAV0@AEBV0@@Z
; public: class CDFTCache & __ptr64 __cdecl CDFTCache::operator=(class CDFTCache const & __ptr64) __ptr64
??4CDFTCache@@QEAAAEAV0@AEBV0@@Z
; public: class CDateTime & __ptr64 __cdecl CDateTime::operator=(class CDateTime const & __ptr64) __ptr64
??4CDateTime@@QEAAAEAV0@AEBV0@@Z
; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
; public: class CLKRHashTable_Iterator & __ptr64 __cdecl CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const & __ptr64) __ptr64
??4CLKRHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
; public: class CLKRLinearHashTable_Iterator & __ptr64 __cdecl CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
??4CLKRLinearHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
; public: class CRtlResource & __ptr64 __cdecl CRtlResource::operator=(class CRtlResource const & __ptr64) __ptr64
??4CRtlResource@@QEAAAEAV0@AEBV0@@Z
; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
??4CSingleList@@QEAAAEAV0@AEBV0@@Z
; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
; public: struct DATETIME_FORMAT_ENTRY & __ptr64 __cdecl DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
??4DATETIME_FORMAT_ENTRY@@QEAAAEAU0@AEBU0@@Z
; public: class EVENT_LOG & __ptr64 __cdecl EVENT_LOG::operator=(class EVENT_LOG const & __ptr64) __ptr64
??4EVENT_LOG@@QEAAAEAV0@AEBV0@@Z
; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
; public: class HASH_TABLE_BUCKET & __ptr64 __cdecl HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const & __ptr64) __ptr64
??4HASH_TABLE_BUCKET@@QEAAAEAV0@AEBV0@@Z
; public: struct HTB_ELEMENT & __ptr64 __cdecl HTB_ELEMENT::operator=(struct HTB_ELEMENT const & __ptr64) __ptr64
??4HTB_ELEMENT@@QEAAAEAU0@AEBU0@@Z
; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
; public: class MLSZAU & __ptr64 __cdecl MLSZAU::operator=(class MLSZAU const & __ptr64) __ptr64
??4MLSZAU@@QEAAAEAV0@AEBV0@@Z
; public: class MULTISZ & __ptr64 __cdecl MULTISZ::operator=(class MULTISZ const & __ptr64) __ptr64
??4MULTISZ@@QEAAAEAV0@AEBV0@@Z
; public: class STR & __ptr64 __cdecl STR::operator=(class STR const & __ptr64) __ptr64
??4STR@@QEAAAEAV0@AEBV0@@Z
; private: class STRA & __ptr64 __cdecl STRA::operator=(class STRA const & __ptr64) __ptr64
??4STRA@@AEAAAEAV0@AEBV0@@Z
; public: class STRAU & __ptr64 __cdecl STRAU::operator=(class STRAU const & __ptr64) __ptr64
??4STRAU@@QEAAAEAV0@AEBV0@@Z
; private: class STRU & __ptr64 __cdecl STRU::operator=(class STRU const & __ptr64) __ptr64
??4STRU@@AEAAAEAV0@AEBV0@@Z
; public: class TS_RESOURCE & __ptr64 __cdecl TS_RESOURCE::operator=(class TS_RESOURCE const & __ptr64) __ptr64
??4TS_RESOURCE@@QEAAAEAV0@AEBV0@@Z
; public: bool __cdecl CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
??8CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
; public: bool __cdecl CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
??8CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
; public: bool __cdecl CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
??9CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
; public: bool __cdecl CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
??9CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
; const  ASCLOG_DATETIME_CACHE::`vftable'
??_7ASCLOG_DATETIME_CACHE@@6B@
; const  CACHED_DATETIME_FORMATS::`vftable'
??_7CACHED_DATETIME_FORMATS@@6B@
; const  EXTLOG_DATETIME_CACHE::`vftable'
??_7EXTLOG_DATETIME_CACHE@@6B@
; const  HASH_TABLE::`vftable'
??_7HASH_TABLE@@6B@
; const  HT_ELEMENT::`vftable'
??_7HT_ELEMENT@@6B@
; const  W3_DATETIME_CACHE::`vftable'
??_7W3_DATETIME_CACHE@@6B@
; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
??_FBUFFER@@QEAAXXZ
; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
; public: void __cdecl CSharelock::`default constructor closure'(void) __ptr64
??_FCSharelock@@QEAAXXZ
; public: int __cdecl CSharelock::ActiveUsers(void) __ptr64
?ActiveUsers@CSharelock@@QEAAHXZ
; public: void * __ptr64 __cdecl ALLOC_CACHE_HANDLER::Alloc(void) __ptr64
?Alloc@ALLOC_CACHE_HANDLER@@QEAAPEAXXZ
; public: int __cdecl MULTISZ::Append(class STR const & __ptr64) __ptr64
?Append@MULTISZ@@QEAAHAEBVSTR@@@Z
; public: int __cdecl MULTISZ::Append(char const * __ptr64) __ptr64
?Append@MULTISZ@@QEAAHPEBD@Z
; public: int __cdecl MULTISZ::Append(char const * __ptr64,unsigned long) __ptr64
?Append@MULTISZ@@QEAAHPEBDK@Z
; public: int __cdecl STR::Append(class STR const & __ptr64) __ptr64
?Append@STR@@QEAAHAEBV1@@Z
; public: int __cdecl STR::Append(char const * __ptr64) __ptr64
?Append@STR@@QEAAHPEBD@Z
; public: int __cdecl STR::Append(char const * __ptr64,unsigned long) __ptr64
?Append@STR@@QEAAHPEBDK@Z
; public: void __cdecl STR::Append(char) __ptr64
?Append@STR@@QEAAXD@Z
; public: void __cdecl STR::Append(char,char) __ptr64
?Append@STR@@QEAAXDD@Z
; public: long __cdecl STRA::Append(class STRA const & __ptr64) __ptr64
?Append@STRA@@QEAAJAEBV1@@Z
; public: long __cdecl STRA::Append(char const * __ptr64) __ptr64
?Append@STRA@@QEAAJPEBD@Z
; public: long __cdecl STRA::Append(char const * __ptr64,unsigned long) __ptr64
?Append@STRA@@QEAAJPEBDK@Z
; public: int __cdecl STRAU::Append(class STRAU & __ptr64) __ptr64
?Append@STRAU@@QEAAHAEAV1@@Z
; public: int __cdecl STRAU::Append(char const * __ptr64) __ptr64
?Append@STRAU@@QEAAHPEBD@Z
; public: int __cdecl STRAU::Append(char const * __ptr64,unsigned long) __ptr64
?Append@STRAU@@QEAAHPEBDK@Z
; public: int __cdecl STRAU::Append(unsigned short const * __ptr64) __ptr64
?Append@STRAU@@QEAAHPEBG@Z
; public: int __cdecl STRAU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
?Append@STRAU@@QEAAHPEBGK@Z
; public: long __cdecl STRU::Append(class STRU const & __ptr64) __ptr64
?Append@STRU@@QEAAJAEBV1@@Z
; public: long __cdecl STRU::Append(unsigned short const * __ptr64) __ptr64
?Append@STRU@@QEAAJPEBG@Z
; public: long __cdecl STRU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
?Append@STRU@@QEAAJPEBGK@Z
; public: long __cdecl STRU::AppendA(char const * __ptr64) __ptr64
?AppendA@STRU@@QEAAJPEBD@Z
; public: int __cdecl BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
?AppendBuffer@BUFFER_CHAIN@@QEAAHPEAVBUFFER_CHAIN_ITEM@@@Z
; public: void __cdecl STR::AppendCRLF(void) __ptr64
?AppendCRLF@STR@@QEAAXXZ
; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64) __ptr64
?AppendW@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
?AppendW@STRA@@QEAAJPEBGK@Z
; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64) __ptr64
?AppendWTruncate@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
?AppendWTruncate@STRA@@QEAAJPEBGK@Z
; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; private: int __cdecl MULTISZ::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
?AuxAppend@MULTISZ@@AEAAHPEBEIH@Z
; private: int __cdecl STR::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
?AuxAppend@STR@@AEAAHPEBEIH@Z
; private: long __cdecl STRA::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
?AuxAppend@STRA@@AEAAJPEBEKKH@Z
; private: int __cdecl STRAU::AuxAppend(char const * __ptr64,unsigned int,int) __ptr64
?AuxAppend@STRAU@@AEAAHPEBDIH@Z
; private: int __cdecl STRAU::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
?AuxAppend@STRAU@@AEAAHPEBGIH@Z
; private: long __cdecl STRU::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
?AuxAppend@STRU@@AEAAJPEBEKKH@Z
; private: long __cdecl STRU::AuxAppendA(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
?AuxAppendA@STRU@@AEAAJPEBEKKH@Z
; private: long __cdecl STRA::AuxAppendW(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
?AuxAppendW@STRA@@AEAAJPEBGKKH@Z
; private: long __cdecl STRA::AuxAppendWTruncate(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
?AuxAppendWTruncate@STRA@@AEAAJPEBGKKH@Z
; private: void __cdecl MLSZAU::AuxInit(char * __ptr64 const,unsigned long) __ptr64
?AuxInit@MLSZAU@@AEAAXQEADK@Z
; private: void __cdecl MLSZAU::AuxInit(unsigned short * __ptr64 const,unsigned long) __ptr64
?AuxInit@MLSZAU@@AEAAXQEAGK@Z
; private: void __cdecl MULTISZ::AuxInit(unsigned char const * __ptr64) __ptr64
?AuxInit@MULTISZ@@AEAAXPEBE@Z
; private: void __cdecl STR::AuxInit(unsigned char const * __ptr64) __ptr64
?AuxInit@STR@@AEAAXPEBE@Z
; private: void __cdecl STRAU::AuxInit(char const * __ptr64) __ptr64
?AuxInit@STRAU@@AEAAXPEBD@Z
; private: void __cdecl STRAU::AuxInit(unsigned short const * __ptr64) __ptr64
?AuxInit@STRAU@@AEAAXPEBG@Z
; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::Begin(void) __ptr64
?Begin@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::Begin(void) __ptr64
?Begin@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
?BucketIndex@CLKRHashTableStats@@SAJJ@Z
; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
?BucketSize@CLKRHashTableStats@@SAJJ@Z
; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
; public: static unsigned long __cdecl MULTISZ::CalcLength(char const * __ptr64,unsigned long * __ptr64)
?CalcLength@MULTISZ@@SAKPEBDPEAK@Z
; public: unsigned long __cdecl BUFFER_CHAIN::CalcTotalSize(int)const  __ptr64
?CalcTotalSize@BUFFER_CHAIN@@QEBAKH@Z
; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64,unsigned long)const  __ptr64
?CalculateHash@HASH_TABLE@@UEBAKPEBDK@Z
CanonURL
; public: void __cdecl CSharelock::ChangeExclusiveLockToSharedLock(void) __ptr64
?ChangeExclusiveLockToSharedLock@CSharelock@@QEAAXXZ
; public: unsigned char __cdecl CSharelock::ChangeSharedLockToExclusiveLock(int) __ptr64
?ChangeSharedLockToExclusiveLock@CSharelock@@QEAAEH@Z
; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
?CheckTable@CLKRHashTable@@QEBAHXZ
; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
?CheckTable@CLKRLinearHashTable@@QEBAHXZ
; public: unsigned char __cdecl CSharelock::ClaimExclusiveLock(int) __ptr64
?ClaimExclusiveLock@CSharelock@@QEAAEH@Z
; public: unsigned char __cdecl CSharelock::ClaimShareLock(int) __ptr64
?ClaimShareLock@CSharelock@@QEAAEH@Z
; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
?ClassName@CCritSec@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CCritSec::ClassName(void)
?ClassName@CCritSec@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
?ClassName@CFakeLock@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CFakeLock::ClassName(void)
?ClassName@CFakeLock@@SAPEBGXZ
; public: static unsigned short const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
?ClassName@CLKRHashTable@@SAPEBGXZ
; public: static unsigned short const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
?ClassName@CLKRLinearHashTable@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
?ClassName@CReaderWriterLock@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
?ClassName@CReaderWriterLock@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CRtlResource::ClassName(void)
?ClassName@CRtlResource@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CShareLock::ClassName(void)
?ClassName@CShareLock@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SAPEBGXZ
; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
?ClassName@CSpinLock@@SAPEBDXZ
; public: static unsigned short const * __ptr64 __cdecl CSpinLock::ClassName(void)
?ClassName@CSpinLock@@SAPEBGXZ
; public: static int __cdecl ALLOC_CACHE_HANDLER::Cleanup(void)
?Cleanup@ALLOC_CACHE_HANDLER@@SAHXZ
; public: void __cdecl HASH_TABLE::Cleanup(void) __ptr64
?Cleanup@HASH_TABLE@@QEAAXXZ
; public: void __cdecl HTB_ELEMENT::Cleanup(void) __ptr64
?Cleanup@HTB_ELEMENT@@QEAAXXZ
; public: static void __cdecl ALLOC_CACHE_HANDLER::CleanupAllLookasides(void * __ptr64,unsigned char)
?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SAXPEAXE@Z
; public: void __cdecl ALLOC_CACHE_HANDLER::CleanupLookaside(int) __ptr64
?CleanupLookaside@ALLOC_CACHE_HANDLER@@QEAAXH@Z
; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
?Clear@CLKRHashTable@@QEAAXXZ
; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
?Clear@CLKRLinearHashTable@@QEAAXXZ
; public: void __cdecl STR::Clear(void) __ptr64
?Clear@STR@@QEAAXXZ
; public: int __cdecl MULTISZ::Clone(class MULTISZ * __ptr64)const  __ptr64
?Clone@MULTISZ@@QEBAHPEAV1@@Z
; public: int __cdecl STR::Clone(class STR * __ptr64)const  __ptr64
?Clone@STR@@QEBAHPEAV1@@Z
; public: long __cdecl STRA::Clone(class STRA * __ptr64)const  __ptr64
?Clone@STRA@@QEBAJPEAV1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: unsigned long __cdecl HASH_TABLE::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
?CloseIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
; public: unsigned long __cdecl HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
?CloseIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
; public: void __cdecl TS_RESOURCE::Convert(enum TSRES_CONV_TYPE) __ptr64
?Convert@TS_RESOURCE@@QEAAXW4TSRES_CONV_TYPE@@@Z
; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
; public: int __cdecl MULTISZ::Copy(class MULTISZ const & __ptr64) __ptr64
?Copy@MULTISZ@@QEAAHAEBV1@@Z
; public: int __cdecl MULTISZ::Copy(char const * __ptr64,unsigned long) __ptr64
?Copy@MULTISZ@@QEAAHPEBDK@Z
; public: int __cdecl STR::Copy(class STR const & __ptr64) __ptr64
?Copy@STR@@QEAAHAEBV1@@Z
; public: int __cdecl STR::Copy(char const * __ptr64) __ptr64
?Copy@STR@@QEAAHPEBD@Z
; public: int __cdecl STR::Copy(char const * __ptr64,unsigned long) __ptr64
?Copy@STR@@QEAAHPEBDK@Z
; public: long __cdecl STRA::Copy(class STRA const & __ptr64) __ptr64
?Copy@STRA@@QEAAJAEBV1@@Z
; public: long __cdecl STRA::Copy(char const * __ptr64) __ptr64
?Copy@STRA@@QEAAJPEBD@Z
; public: long __cdecl STRA::Copy(char const * __ptr64,unsigned long) __ptr64
?Copy@STRA@@QEAAJPEBDK@Z
; public: int __cdecl STRAU::Copy(class STRAU & __ptr64) __ptr64
?Copy@STRAU@@QEAAHAEAV1@@Z
; public: int __cdecl STRAU::Copy(char const * __ptr64) __ptr64
?Copy@STRAU@@QEAAHPEBD@Z
; public: int __cdecl STRAU::Copy(char const * __ptr64,unsigned long) __ptr64
?Copy@STRAU@@QEAAHPEBDK@Z
; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64) __ptr64
?Copy@STRAU@@QEAAHPEBG@Z
; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
?Copy@STRAU@@QEAAHPEBGK@Z
; public: long __cdecl STRU::Copy(class STRU const & __ptr64) __ptr64
?Copy@STRU@@QEAAJAEBV1@@Z
; public: long __cdecl STRU::Copy(unsigned short const * __ptr64) __ptr64
?Copy@STRU@@QEAAJPEBG@Z
; public: long __cdecl STRU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
?Copy@STRU@@QEAAJPEBGK@Z
; public: long __cdecl STRU::CopyA(char const * __ptr64) __ptr64
?CopyA@STRU@@QEAAJPEBD@Z
; public: long __cdecl STRU::CopyA(char const * __ptr64,unsigned long) __ptr64
?CopyA@STRU@@QEAAJPEBDK@Z
; public: long __cdecl STRA::CopyBinary(void * __ptr64,unsigned long) __ptr64
?CopyBinary@STRA@@QEAAJPEAXK@Z
; public: int __cdecl CDFTCache::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
?CopyFormattedData@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@PEAD@Z
; public: void __cdecl DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QEBAXPEBU_SYSTEMTIME@@PEAD@Z
; public: int __cdecl MULTISZ::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
?CopyToBuffer@MULTISZ@@QEBAHPEADPEAK@Z
; public: int __cdecl STR::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
?CopyToBuffer@STR@@QEBAHPEADPEAK@Z
; public: int __cdecl STR::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
?CopyToBuffer@STR@@QEBAHPEAGPEAK@Z
; public: long __cdecl STRA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
?CopyToBuffer@STRA@@QEBAJPEADPEAK@Z
; public: long __cdecl STRU::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
?CopyToBuffer@STRU@@QEBAJPEAGPEAK@Z
; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64) __ptr64
?CopyW@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64,unsigned long) __ptr64
?CopyW@STRA@@QEAAJPEBGK@Z
; public: long __cdecl STRA::CopyWToUTF8(class STRU const & __ptr64) __ptr64
?CopyWToUTF8@STRA@@QEAAJAEBVSTRU@@@Z
; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64) __ptr64
?CopyWToUTF8@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64,unsigned long) __ptr64
?CopyWToUTF8@STRA@@QEAAJPEBGK@Z
; public: long __cdecl STRA::CopyWToUTF8Unescaped(class STRU const & __ptr64) __ptr64
?CopyWToUTF8Unescaped@STRA@@QEAAJAEBVSTRU@@@Z
; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64) __ptr64
?CopyWToUTF8Unescaped@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64,unsigned long) __ptr64
?CopyWToUTF8Unescaped@STRA@@QEAAJPEBGK@Z
; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64) __ptr64
?CopyWTruncate@STRA@@QEAAJPEBG@Z
; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
?CopyWTruncate@STRA@@QEAAJPEBGK@Z
CreateKey
; public: unsigned long __cdecl CDFTCache::DateTimeChars(void)const  __ptr64
?DateTimeChars@CDFTCache@@QEBAKXZ
; char const * __ptr64 __cdecl DayOfWeek3CharNames(unsigned long)
?DayOfWeek3CharNames@@YAPEBDK@Z
; public: void __cdecl HTB_ELEMENT::DecrementElements(void) __ptr64
?DecrementElements@HTB_ELEMENT@@QEAAXXZ
; public: int __cdecl HASH_TABLE::Delete(class HT_ELEMENT * __ptr64) __ptr64
?Delete@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@@Z
; public: int __cdecl HASH_TABLE_BUCKET::Delete(class HT_ELEMENT * __ptr64) __ptr64
?Delete@HASH_TABLE_BUCKET@@QEAAHPEAVHT_ELEMENT@@@Z
; public: int __cdecl HTB_ELEMENT::Delete(class HT_ELEMENT * __ptr64) __ptr64
?Delete@HTB_ELEMENT@@QEAAHPEAVHT_ELEMENT@@@Z
; public: unsigned long __cdecl BUFFER_CHAIN::DeleteChain(void) __ptr64
?DeleteChain@BUFFER_CHAIN@@QEAAKXZ
; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
; public: virtual unsigned long __cdecl CEtwTracer::DisableEventsCallbackCustomHandler(void) __ptr64
?DisableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
; public: static int __cdecl ALLOC_CACHE_HANDLER::DumpStatsToHtml(char * __ptr64,unsigned long * __ptr64)
?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SAHPEADPEAK@Z
; public: virtual unsigned long __cdecl CEtwTracer::EnableEventsCallbackCustomHandler(void) __ptr64
?EnableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::End(void) __ptr64
?End@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::End(void) __ptr64
?End@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
; public: int __cdecl STR::Equ(class STR const & __ptr64)const  __ptr64
?Equ@STR@@QEBAHAEBV1@@Z
; public: int __cdecl STR::Equ(char * __ptr64)const  __ptr64
?Equ@STR@@QEBAHPEAD@Z
; public: bool __cdecl CLKRHashTable::EqualRange(unsigned __int64,class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
?EqualRange@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@1@Z
; public: bool __cdecl CLKRLinearHashTable::EqualRange(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
?EqualRange@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@1@Z
; public: int __cdecl STRA::Equals(class STRA const & __ptr64)const  __ptr64
?Equals@STRA@@QEBAHAEBV1@@Z
; public: int __cdecl STRA::Equals(char * __ptr64 const)const  __ptr64
?Equals@STRA@@QEBAHQEAD@Z
; public: int __cdecl STRU::Equals(class STRU const & __ptr64)const  __ptr64
?Equals@STRU@@QEBAHAEBV1@@Z
; public: int __cdecl STRU::Equals(unsigned short const * __ptr64)const  __ptr64
?Equals@STRU@@QEBAHPEBG@Z
; public: int __cdecl STRA::EqualsNoCase(class STRA const & __ptr64)const  __ptr64
?EqualsNoCase@STRA@@QEBAHAEBV1@@Z
; public: int __cdecl STRA::EqualsNoCase(char * __ptr64 const)const  __ptr64
?EqualsNoCase@STRA@@QEBAHQEAD@Z
; public: int __cdecl STRU::EqualsNoCase(class STRU const & __ptr64)const  __ptr64
?EqualsNoCase@STRU@@QEBAHAEBV1@@Z
; public: int __cdecl STRU::EqualsNoCase(unsigned short const * __ptr64)const  __ptr64
?EqualsNoCase@STRU@@QEBAHPEBG@Z
; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@0@Z
; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64) __ptr64
?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@@Z
; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@0@Z
; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@@Z
; public: int __cdecl STR::Escape(void) __ptr64
?Escape@STR@@QEAAHXZ
; public: long __cdecl STRA::Escape(int,int) __ptr64
?Escape@STRA@@QEAAJHH@Z
; public: long __cdecl STRU::Escape(void) __ptr64
?Escape@STRU@@QEAAJXZ
; public: int __cdecl STR::EscapeSpaces(void) __ptr64
?EscapeSpaces@STR@@QEAAHXZ
; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const * __ptr64,unsigned long,...) __ptr64
?EtwTraceEvent@CEtwTracer@@QEAAKPEBU_GUID@@KZZ
; int __cdecl FileTimeToGMT(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long)
?FileTimeToGMT@@YAHAEBU_FILETIME@@PEADK@Z
; int __cdecl FileTimeToGMTEx(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
?FileTimeToGMTEx@@YAHAEBU_FILETIME@@PEADKK@Z
; public: bool __cdecl CLKRHashTable::Find(unsigned __int64,class CLKRHashTable_Iterator & __ptr64) __ptr64
?Find@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@@Z
; public: bool __cdecl CLKRLinearHashTable::Find(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
?Find@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
; public: unsigned long __cdecl HASH_TABLE::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
?FindNextElement@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
; public: unsigned long __cdecl HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
?FindNextElement@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
; public: unsigned long __cdecl HTB_ELEMENT::FindNextElement(unsigned long * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
?FindNextElement@HTB_ELEMENT@@QEAAKPEAKPEAPEAVHT_ELEMENT@@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
; public: int __cdecl MULTISZ::FindString(class STR const & __ptr64) __ptr64
?FindString@MULTISZ@@QEAAHAEBVSTR@@@Z
; public: int __cdecl MULTISZ::FindString(char const * __ptr64) __ptr64
?FindString@MULTISZ@@QEAAHPEBD@Z
; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: char const * __ptr64 __cdecl MULTISZ::First(void)const  __ptr64
?First@MULTISZ@@QEBAPEBDXZ
; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::FirstElement(void) __ptr64
?FirstElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
?FlushElements@HASH_TABLE@@QEAAKXZ
; public: int __cdecl STR::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
?FormatString@STR@@QEAAHKQEAPEBDPEBDK@Z
; public: long __cdecl STRA::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
?FormatString@STRA@@QEAAJKQEAPEBDPEBDK@Z
; public: char const * __ptr64 __cdecl CDFTCache::FormattedBuffer(void)const  __ptr64
?FormattedBuffer@CDFTCache@@QEBAPEBDXZ
; public: int __cdecl ALLOC_CACHE_HANDLER::Free(void * __ptr64) __ptr64
?Free@ALLOC_CACHE_HANDLER@@QEAAHPEAX@Z
; public: void __cdecl BUFFER::FreeMemory(void) __ptr64
?FreeMemory@BUFFER@@QEAAXXZ
; public: virtual void __cdecl ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
; public: virtual void __cdecl EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
; public: virtual void __cdecl W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
?GenerateDateTimeString@W3_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void)const  __ptr64
?GetBucketLockSpinCount@CLKRHashTable@@QEBAGXZ
; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void)const  __ptr64
?GetBucketLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
; public: static double __cdecl CRtlResource::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CRtlResource@@SANXZ
; public: static double __cdecl CShareLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CShareLock@@SANXZ
; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CCritSec@@SAGXZ
; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CFakeLock@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
; public: static unsigned short __cdecl CRtlResource::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CRtlResource@@SAGXZ
; public: static unsigned short __cdecl CShareLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CShareLock@@SAGXZ
; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSpinLock@@SAGXZ
; public: unsigned long __cdecl EVENT_LOG::GetErrorCode(void)const  __ptr64
?GetErrorCode@EVENT_LOG@@QEBAKXZ
; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char * __ptr64) __ptr64
?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEAD@Z
; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const * __ptr64,char * __ptr64) __ptr64
?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEBU_SYSTEMTIME@@PEAD@Z
; private: int __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
?GetNewStorage@BUFFER@@AEAAHI@Z
; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
?GetSpinCount@CCritSec@@QEBAGXZ
; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CFakeLock@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock@@QEBAGXZ
; public: unsigned short __cdecl CRtlResource::GetSpinCount(void)const  __ptr64
?GetSpinCount@CRtlResource@@QEBAGXZ
; public: unsigned short __cdecl CShareLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CShareLock@@QEBAGXZ
; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CSmallSpinLock@@QEBAGXZ
; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CSpinLock@@QEBAGXZ
; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void)const  __ptr64
?GetTableLockSpinCount@CLKRHashTable@@QEBAGXZ
; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void)const  __ptr64
?GetTableLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
; public: int __cdecl CDateTime::GetTickCount(void) __ptr64
?GetTickCount@CDateTime@@QEAAHXZ
; public: long __cdecl STRA::HTMLEncode(void) __ptr64
?HTMLEncode@STRA@@QEAAJXZ
; public: void __cdecl STR::Hash(void) __ptr64
?Hash@STR@@QEAAXXZ
; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
IISCreateDirectory
IISstricmp
IISstrlen
IISstrlwr
IISstrncpy
IISstrnicmp
IISstrrchr
IISstrupr
; public: bool __cdecl CLKRHashTable_Iterator::Increment(void) __ptr64
?Increment@CLKRHashTable_Iterator@@QEAA_NXZ
; public: bool __cdecl CLKRLinearHashTable_Iterator::Increment(void) __ptr64
?Increment@CLKRLinearHashTable_Iterator@@QEAA_NXZ
; public: void __cdecl HTB_ELEMENT::IncrementElements(void) __ptr64
?IncrementElements@HTB_ELEMENT@@QEAAXXZ
; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: static int __cdecl ALLOC_CACHE_HANDLER::Initialize(void)
?Initialize@ALLOC_CACHE_HANDLER@@SAHXZ
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: unsigned long __cdecl HASH_TABLE::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
?InitializeIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
; public: unsigned long __cdecl HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
?InitializeIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
; public: bool __cdecl CLKRHashTable::Insert(void const * __ptr64,class CLKRHashTable_Iterator & __ptr64,bool) __ptr64
?Insert@CLKRHashTable@@QEAA_NPEBXAEAVCLKRHashTable_Iterator@@_N@Z
; public: bool __cdecl CLKRLinearHashTable::Insert(void const * __ptr64,class CLKRLinearHashTable_Iterator & __ptr64,bool) __ptr64
?Insert@CLKRLinearHashTable@@QEAA_NPEBXAEAVCLKRLinearHashTable_Iterator@@_N@Z
; public: int __cdecl HASH_TABLE::Insert(class HT_ELEMENT * __ptr64,int) __ptr64
?Insert@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@H@Z
; public: int __cdecl HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT * __ptr64,int) __ptr64
?Insert@HASH_TABLE_BUCKET@@QEAAHKPEAVHT_ELEMENT@@H@Z
; public: int __cdecl HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT * __ptr64) __ptr64
?Insert@HTB_ELEMENT@@QEAAHKPEAVHT_ELEMENT@@@Z
; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: static void __cdecl ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER * __ptr64)
?InsertNewItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: int __cdecl ALLOC_CACHE_HANDLER::IpPrint(char * __ptr64,unsigned long * __ptr64) __ptr64
?IpPrint@ALLOC_CACHE_HANDLER@@QEAAHPEADPEAK@Z
; public: int __cdecl MLSZAU::IsCurrentUnicode(void) __ptr64
?IsCurrentUnicode@MLSZAU@@QEAAHXZ
; public: int __cdecl STRAU::IsCurrentUnicode(void) __ptr64
?IsCurrentUnicode@STRAU@@QEAAHXZ
; private: int __cdecl BUFFER::IsDynAlloced(void)const  __ptr64
?IsDynAlloced@BUFFER@@AEBAHXZ
; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
?IsEmpty@CDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
?IsEmpty@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
?IsEmpty@CLockedSingleList@@QEBA_NXZ
; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
?IsEmpty@CSingleList@@QEBA_NXZ
; public: int __cdecl MULTISZ::IsEmpty(void)const  __ptr64
?IsEmpty@MULTISZ@@QEBAHXZ
; public: int __cdecl STR::IsEmpty(void)const  __ptr64
?IsEmpty@STR@@QEBAHXZ
; public: int __cdecl STRA::IsEmpty(void)const  __ptr64
?IsEmpty@STRA@@QEBAHXZ
; public: int __cdecl STRAU::IsEmpty(void) __ptr64
?IsEmpty@STRAU@@QEAAHXZ
; public: int __cdecl STRU::IsEmpty(void)const  __ptr64
?IsEmpty@STRU@@QEBAHXZ
; public: int __cdecl CDFTCache::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
?IsHit@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@@Z
; public: int __cdecl DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
?IsHit@DATETIME_FORMAT_ENTRY@@QEBAHPEBU_SYSTEMTIME@@@Z
IsIPAddressLocal
IsLargeIntegerToDecimalChar
; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
?IsLocked@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
?IsLocked@CLockedSingleList@@QEBA_NXZ
; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
?IsReadLocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
?IsReadLocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CRtlResource::IsReadLocked(void)const  __ptr64
?IsReadLocked@CRtlResource@@QEBA_NXZ
; public: bool __cdecl CShareLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CShareLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CSpinLock@@QEBA_NXZ
; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CRtlResource::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CRtlResource@@QEBA_NXZ
; public: bool __cdecl CShareLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CShareLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CSpinLock@@QEBA_NXZ
; public: int __cdecl HTB_ELEMENT::IsSpaceAvailable(void)const  __ptr64
?IsSpaceAvailable@HTB_ELEMENT@@QEBAHXZ
; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
?IsUnlocked@CLockedSingleList@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
?IsUsable@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
; public: int __cdecl ALLOC_CACHE_HANDLER::IsValid(void)const  __ptr64
?IsValid@ALLOC_CACHE_HANDLER@@QEBAHXZ
; public: int __cdecl BUFFER::IsValid(void)const  __ptr64
?IsValid@BUFFER@@QEBAHXZ
; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
?IsValid@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable_Iterator::IsValid(void)const  __ptr64
?IsValid@CLKRHashTable_Iterator@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
?IsValid@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable_Iterator::IsValid(void)const  __ptr64
?IsValid@CLKRLinearHashTable_Iterator@@QEBA_NXZ
; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
?IsValid@HASH_TABLE@@QEBAHXZ
; public: int __cdecl MLSZAU::IsValid(void) __ptr64
?IsValid@MLSZAU@@QEAAHXZ
; public: int __cdecl MULTISZ::IsValid(void)const  __ptr64
?IsValid@MULTISZ@@QEBAHXZ
; public: int __cdecl STR::IsValid(void)const  __ptr64
?IsValid@STR@@QEBAHXZ
; public: int __cdecl STRA::IsValid(void)const  __ptr64
?IsValid@STRA@@QEBAHXZ
; public: int __cdecl STRAU::IsValid(void) __ptr64
?IsValid@STRAU@@QEAAHXZ
; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CRtlResource::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CRtlResource@@QEBA_NXZ
; public: bool __cdecl CShareLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CShareLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CSpinLock@@QEBA_NXZ
; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CRtlResource::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CRtlResource@@QEBA_NXZ
; public: bool __cdecl CShareLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CShareLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
; public: unsigned __int64 const  __cdecl CLKRHashTable_Iterator::Key(void)const  __ptr64
?Key@CLKRHashTable_Iterator@@QEBA?B_KXZ
; public: unsigned __int64 const  __cdecl CLKRLinearHashTable_Iterator::Key(void)const  __ptr64
?Key@CLKRLinearHashTable_Iterator@@QEBA?B_KXZ
; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::LastElement(void) __ptr64
?LastElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
; public: int __cdecl STR::LoadStringA(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
?LoadStringA@STR@@QEAAHKPEAUHINSTANCE__@@@Z
; public: int __cdecl STR::LoadStringA(unsigned long,char const * __ptr64,unsigned long) __ptr64
?LoadStringA@STR@@QEAAHKPEBDK@Z
; public: long __cdecl STRA::LoadStringW(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
?LoadStringW@STRA@@QEAAJKPEAUHINSTANCE__@@@Z
; public: long __cdecl STRA::LoadStringW(unsigned long,char const * __ptr64,unsigned long) __ptr64
?LoadStringW@STRA@@QEAAJKPEBDK@Z
; private: void __cdecl ALLOC_CACHE_HANDLER::Lock(void) __ptr64
?Lock@ALLOC_CACHE_HANDLER@@AEAAXXZ
; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
?Lock@CLockedDoubleList@@QEAAXXZ
; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
?Lock@CLockedSingleList@@QEAAXXZ
; private: void __cdecl HASH_TABLE_BUCKET::Lock(void) __ptr64
?Lock@HASH_TABLE_BUCKET@@AEAAXXZ
; public: void __cdecl TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE) __ptr64
?Lock@TS_RESOURCE@@QEAAXW4TSRES_LOCK_TYPE@@@Z
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<8,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<9,2,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: void __cdecl EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
?LogEvent@EVENT_LOG@@QEAAXKGQEAPEBDK@Z
; private: void __cdecl EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
?LogEventPrivate@EVENT_LOG@@AEAAXKGGQEAPEBDK@Z
; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64,unsigned long) __ptr64
?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBDK@Z
; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE_BUCKET::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
?Lookup@HASH_TABLE_BUCKET@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
; public: class HT_ELEMENT * __ptr64 __cdecl HTB_ELEMENT::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
?Lookup@HTB_ELEMENT@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
?MaxSize@CLKRHashTable@@QEBAKXZ
; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
?MaxSize@CLKRLinearHashTable@@QEBAKXZ
; char const * __ptr64 __cdecl Month3CharNames(unsigned long)
?Month3CharNames@@YAPEBDK@Z
; public: bool __cdecl CLKRHashTable::MultiKeys(void)const  __ptr64
?MultiKeys@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::MultiKeys(void)const  __ptr64
?MultiKeys@CLKRLinearHashTable@@QEBA_NXZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<8,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<9,2,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: char const * __ptr64 __cdecl MULTISZ::Next(char const * __ptr64)const  __ptr64
?Next@MULTISZ@@QEBAPEBDPEBD@Z
; public: class BUFFER_CHAIN_ITEM * __ptr64 __cdecl BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
?NextBuffer@BUFFER_CHAIN@@QEAAPEAVBUFFER_CHAIN_ITEM@@PEAV2@@Z
; public: void __cdecl HTB_ELEMENT::NextElement(struct HTBE_ENTRY * __ptr64 & __ptr64) __ptr64
?NextElement@HTB_ELEMENT@@QEAAXAEAPEAUHTBE_ENTRY@@@Z
; long __cdecl NormalizeUrl(char * __ptr64)
?NormalizeUrl@@YAJPEAD@Z
; long __cdecl NormalizeUrlW(unsigned short * __ptr64)
?NormalizeUrlW@@YAJPEAG@Z
NtLargeIntegerTimeToLocalSystemTime
NtLargeIntegerTimeToSystemTime
NtSystemTimeToLargeInteger
; public: unsigned long __cdecl HTB_ELEMENT::NumElements(void)const  __ptr64
?NumElements@HTB_ELEMENT@@QEBAKXZ
; public: unsigned long __cdecl HASH_TABLE_BUCKET::NumEntries(void) __ptr64
?NumEntries@HASH_TABLE_BUCKET@@QEAAKXZ
; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
?NumSubTables@CLKRHashTable@@QEBAHXZ
; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
; public: int __cdecl CDFTCache::OffsetSeconds(void)const  __ptr64
?OffsetSeconds@CDFTCache@@QEBAHXZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
; public: void __cdecl ALLOC_CACHE_HANDLER::Print(void) __ptr64
?Print@ALLOC_CACHE_HANDLER@@QEAAXXZ
; public: void __cdecl HASH_TABLE::Print(unsigned long) __ptr64
?Print@HASH_TABLE@@QEAAXK@Z
; public: void __cdecl HASH_TABLE_BUCKET::Print(unsigned long) __ptr64
?Print@HASH_TABLE_BUCKET@@QEAAXK@Z
; public: void __cdecl HTB_ELEMENT::Print(unsigned long)const  __ptr64
?Print@HTB_ELEMENT@@QEBAXK@Z
; private: unsigned short * __ptr64 __cdecl STRAU::PrivateQueryStr(int) __ptr64
?PrivateQueryStr@STRAU@@AEAAPEAGH@Z
; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
; public: class BUFFER * __ptr64 __cdecl STRU::QueryBuffer(void) __ptr64
?QueryBuffer@STRU@@QEAAPEAVBUFFER@@XZ
; public: unsigned int __cdecl MLSZAU::QueryCB(int) __ptr64
?QueryCB@MLSZAU@@QEAAIH@Z
; public: unsigned int __cdecl MULTISZ::QueryCB(void)const  __ptr64
?QueryCB@MULTISZ@@QEBAIXZ
; public: unsigned int __cdecl STR::QueryCB(void)const  __ptr64
?QueryCB@STR@@QEBAIXZ
; public: unsigned int __cdecl STRA::QueryCB(void)const  __ptr64
?QueryCB@STRA@@QEBAIXZ
; public: unsigned int __cdecl STRAU::QueryCB(int) __ptr64
?QueryCB@STRAU@@QEAAIH@Z
; public: unsigned int __cdecl STRU::QueryCB(void)const  __ptr64
?QueryCB@STRU@@QEBAIXZ
; public: unsigned int __cdecl MLSZAU::QueryCBA(void) __ptr64
?QueryCBA@MLSZAU@@QEAAIXZ
; public: unsigned int __cdecl STRAU::QueryCBA(void) __ptr64
?QueryCBA@STRAU@@QEAAIXZ
; public: unsigned int __cdecl MLSZAU::QueryCBW(void) __ptr64
?QueryCBW@MLSZAU@@QEAAIXZ
; public: unsigned int __cdecl STRAU::QueryCBW(void) __ptr64
?QueryCBW@STRAU@@QEAAIXZ
; public: unsigned int __cdecl MLSZAU::QueryCCH(void) __ptr64
?QueryCCH@MLSZAU@@QEAAIXZ
; public: unsigned int __cdecl MULTISZ::QueryCCH(void)const  __ptr64
?QueryCCH@MULTISZ@@QEBAIXZ
; public: unsigned int __cdecl STR::QueryCCH(void)const  __ptr64
?QueryCCH@STR@@QEBAIXZ
; public: unsigned int __cdecl STRA::QueryCCH(void)const  __ptr64
?QueryCCH@STRA@@QEBAIXZ
; public: unsigned int __cdecl STRAU::QueryCCH(void) __ptr64
?QueryCCH@STRAU@@QEAAIXZ
; public: unsigned int __cdecl STRU::QueryCCH(void)const  __ptr64
?QueryCCH@STRU@@QEBAIXZ
; public: unsigned long __cdecl CEtwTracer::QueryEnableLevel(void) __ptr64
?QueryEnableLevel@CEtwTracer@@QEAAKXZ
; public: char __cdecl STR::QueryFirstChar(void)const  __ptr64
?QueryFirstChar@STR@@QEBADXZ
; public: char __cdecl STR::QueryLastChar(void)const  __ptr64
?QueryLastChar@STR@@QEBADXZ
; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
?QueryPtr@BUFFER@@QEBAPEAXXZ
; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
?QuerySize@BUFFER@@QEBAIXZ
; public: unsigned int __cdecl STRA::QuerySize(void)const  __ptr64
?QuerySize@STRA@@QEBAIXZ
; public: void __cdecl ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS * __ptr64) __ptr64
?QueryStats@ALLOC_CACHE_HANDLER@@QEAAXPEAU_ALLOC_CACHE_STATISTICS@@@Z
; public: char * __ptr64 __cdecl MLSZAU::QueryStr(int) __ptr64
?QueryStr@MLSZAU@@QEAAPEADH@Z
; public: char * __ptr64 __cdecl MULTISZ::QueryStr(void)const  __ptr64
?QueryStr@MULTISZ@@QEBAPEADXZ
; public: char * __ptr64 __cdecl STR::QueryStr(void)const  __ptr64
?QueryStr@STR@@QEBAPEADXZ
; public: char * __ptr64 __cdecl STRA::QueryStr(void) __ptr64
?QueryStr@STRA@@QEAAPEADXZ
; public: char const * __ptr64 __cdecl STRA::QueryStr(void)const  __ptr64
?QueryStr@STRA@@QEBAPEBDXZ
; public: char * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
?QueryStr@STRAU@@QEAAPEADH@Z
; public: unsigned short * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
?QueryStr@STRAU@@QEAAPEAGH@Z
; public: unsigned short * __ptr64 __cdecl STRU::QueryStr(void) __ptr64
?QueryStr@STRU@@QEAAPEAGXZ
; public: unsigned short const * __ptr64 __cdecl STRU::QueryStr(void)const  __ptr64
?QueryStr@STRU@@QEBAPEBGXZ
; public: char * __ptr64 __cdecl MLSZAU::QueryStrA(void) __ptr64
?QueryStrA@MLSZAU@@QEAAPEADXZ
; public: char * __ptr64 __cdecl MULTISZ::QueryStrA(void)const  __ptr64
?QueryStrA@MULTISZ@@QEBAPEADXZ
; public: char * __ptr64 __cdecl STR::QueryStrA(void)const  __ptr64
?QueryStrA@STR@@QEBAPEADXZ
; public: char * __ptr64 __cdecl STRAU::QueryStrA(void) __ptr64
?QueryStrA@STRAU@@QEAAPEADXZ
; public: unsigned short * __ptr64 __cdecl MLSZAU::QueryStrW(void) __ptr64
?QueryStrW@MLSZAU@@QEAAPEAGXZ
; public: unsigned short * __ptr64 __cdecl STRAU::QueryStrW(void) __ptr64
?QueryStrW@STRAU@@QEAAPEAGXZ
; public: unsigned long __cdecl MULTISZ::QueryStringCount(void)const  __ptr64
?QueryStringCount@MULTISZ@@QEBAKXZ
; public: unsigned __int64 __cdecl CEtwTracer::QueryTraceHandle(void) __ptr64
?QueryTraceHandle@CEtwTracer@@QEAA_KXZ
; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: bool __cdecl CDataCache<class CDateTime>::Read(class CDateTime & __ptr64)const  __ptr64
?Read@?$CDataCache@VCDateTime@@@@QEBA_NAEAVCDateTime@@@Z
; public: void __cdecl CCritSec::ReadLock(void) __ptr64
?ReadLock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
?ReadLock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
?ReadLock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
?ReadLock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::ReadLock(void) __ptr64
?ReadLock@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::ReadLock(void) __ptr64
?ReadLock@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
?ReadLock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
?ReadLock@CSpinLock@@QEAAXXZ
; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
?ReadUnlock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
?ReadUnlock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
?ReadUnlock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::ReadUnlock(void) __ptr64
?ReadUnlock@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::ReadUnlock(void) __ptr64
?ReadUnlock@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
?ReadUnlock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
?ReadUnlock@CSpinLock@@QEAAXXZ
; private: int __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
?ReallocStorage@BUFFER@@AEAAHI@Z
; public: void __cdecl MULTISZ::RecalcLen(void) __ptr64
?RecalcLen@MULTISZ@@QEAAXXZ
; public: void const * __ptr64 __cdecl CLKRHashTable_Iterator::Record(void)const  __ptr64
?Record@CLKRHashTable_Iterator@@QEBAPEBXXZ
; public: void const * __ptr64 __cdecl CLKRLinearHashTable_Iterator::Record(void)const  __ptr64
?Record@CLKRLinearHashTable_Iterator@@QEBAPEBXXZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<8,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<9,2,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: unsigned long __cdecl CEtwTracer::Register(struct _GUID const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
?Register@CEtwTracer@@QEAAKPEBU_GUID@@PEAG1@Z
; public: void __cdecl CSharelock::ReleaseExclusiveLock(void) __ptr64
?ReleaseExclusiveLock@CSharelock@@QEAAXXZ
; public: void __cdecl CSharelock::ReleaseShareLock(void) __ptr64
?ReleaseShareLock@CSharelock@@QEAAXXZ
; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: static void __cdecl ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER * __ptr64)
?RemoveItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
RemoveWorkItem
; public: void __cdecl MLSZAU::Reset(void) __ptr64
?Reset@MLSZAU@@QEAAXXZ
; public: void __cdecl MULTISZ::Reset(void) __ptr64
?Reset@MULTISZ@@QEAAXXZ
; public: void __cdecl STR::Reset(void) __ptr64
?Reset@STR@@QEAAXXZ
; public: void __cdecl STRA::Reset(void) __ptr64
?Reset@STRA@@QEAAXXZ
; public: void __cdecl STRAU::Reset(void) __ptr64
?Reset@STRAU@@QEAAXXZ
; public: void __cdecl STRU::Reset(void) __ptr64
?Reset@STRU@@QEAAXXZ
; public: static int __cdecl ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
; public: int __cdecl BUFFER::Resize(unsigned int) __ptr64
?Resize@BUFFER@@QEAAHI@Z
; public: int __cdecl BUFFER::Resize(unsigned int,unsigned int) __ptr64
?Resize@BUFFER@@QEAAHII@Z
; public: long __cdecl STRA::Resize(unsigned long) __ptr64
?Resize@STRA@@QEAAJK@Z
; public: long __cdecl STRU::Resize(unsigned long) __ptr64
?Resize@STRU@@QEAAJK@Z
; public: int __cdecl STRAU::ResizeW(unsigned long) __ptr64
?ResizeW@STRAU@@QEAAHK@Z
; public: int __cdecl STR::SafeCopy(char const * __ptr64) __ptr64
?SafeCopy@STR@@QEAAHPEBD@Z
; public: int __cdecl STRAU::SafeCopy(char const * __ptr64) __ptr64
?SafeCopy@STRAU@@QEAAHPEBD@Z
; public: int __cdecl STRAU::SafeCopy(unsigned short const * __ptr64) __ptr64
?SafeCopy@STRAU@@QEAAHPEBG@Z
ScheduleAdjustTime
ScheduleWorkItem
SchedulerInitialize
SchedulerTerminate
; public: unsigned short __cdecl CDFTCache::Seconds(void)const  __ptr64
?Seconds@CDFTCache@@QEBAGXZ
; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
; public: static void __cdecl CRtlResource::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CRtlResource@@SAXN@Z
; public: static void __cdecl CShareLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CShareLock@@SAXN@Z
; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CCritSec@@SAXG@Z
; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CFakeLock@@SAXG@Z
; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
; public: static void __cdecl CRtlResource::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CRtlResource@@SAXG@Z
; public: static void __cdecl CShareLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CShareLock@@SAXG@Z
; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSpinLock@@SAXG@Z
; public: int __cdecl STR::SetLen(unsigned long) __ptr64
?SetLen@STR@@QEAAHK@Z
; public: int __cdecl STRA::SetLen(unsigned long) __ptr64
?SetLen@STRA@@QEAAHK@Z
; public: int __cdecl STRAU::SetLen(unsigned long) __ptr64
?SetLen@STRAU@@QEAAHK@Z
; public: int __cdecl STRU::SetLen(unsigned long) __ptr64
?SetLen@STRU@@QEAAHK@Z
; public: void __cdecl ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME * __ptr64) __ptr64
?SetLocalTime@ASCLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
; public: static int __cdecl ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CCritSec@@QEAA_NG@Z
; public: static unsigned long __cdecl CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
?SetSpinCount@CCritSec@@SAKPEAU_RTL_CRITICAL_SECTION@@K@Z
; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CFakeLock@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
; public: bool __cdecl CRtlResource::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CRtlResource@@QEAA_NG@Z
; public: bool __cdecl CShareLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CShareLock@@QEAA_NG@Z
; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CSpinLock@@QEAA_NG@Z
; public: void __cdecl EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME * __ptr64) __ptr64
?SetSystemTime@EXTLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
; public: int __cdecl CDateTime::SetTime(struct _FILETIME const & __ptr64) __ptr64
?SetTime@CDateTime@@QEAAHAEBU_FILETIME@@@Z
; public: int __cdecl CDateTime::SetTime(struct _SYSTEMTIME const & __ptr64) __ptr64
?SetTime@CDateTime@@QEAAHAEBU_SYSTEMTIME@@@Z
; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
; public: void __cdecl BUFFER::SetValid(int) __ptr64
?SetValid@BUFFER@@QEAAXH@Z
; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
?Size@CLKRHashTable@@QEBAKXZ
; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
?Size@CLKRLinearHashTable@@QEBAKXZ
; private: unsigned char __cdecl CSharelock::SleepWaitingForLock(int) __ptr64
?SleepWaitingForLock@CSharelock@@AEAAEH@Z
StringTimeToFileTime
; public: int __cdecl EVENT_LOG::Success(void)const  __ptr64
?Success@EVENT_LOG@@QEBAHXZ
; public: void __cdecl STRA::SyncWithBuffer(void) __ptr64
?SyncWithBuffer@STRA@@QEAAXXZ
; public: void __cdecl STRU::SyncWithBuffer(void) __ptr64
?SyncWithBuffer@STRU@@QEAAXXZ
SystemTimeToGMT
SystemTimeToGMTEx
; public: int __cdecl CEtwTracer::TracePerUrlEnabled(void) __ptr64
?TracePerUrlEnabled@CEtwTracer@@QEAAHXZ
; public: bool __cdecl CReaderWriterLock3::TryConvertSharedToExclusive(void) __ptr64
?TryConvertSharedToExclusive@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
?TryReadLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
?TryReadLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock@@QEAA_NXZ
; public: bool __cdecl CRtlResource::TryReadLock(void) __ptr64
?TryReadLock@CRtlResource@@QEAA_NXZ
; public: bool __cdecl CShareLock::TryReadLock(void) __ptr64
?TryReadLock@CShareLock@@QEAA_NXZ
; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
?TryReadLock@CSmallSpinLock@@QEAA_NXZ
; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
?TryReadLock@CSpinLock@@QEAA_NXZ
; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
?TryWriteLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
?TryWriteLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
; public: bool __cdecl CRtlResource::TryWriteLock(void) __ptr64
?TryWriteLock@CRtlResource@@QEAA_NXZ
; public: bool __cdecl CShareLock::TryWriteLock(void) __ptr64
?TryWriteLock@CShareLock@@QEAA_NXZ
; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
?TryWriteLock@CSpinLock@@QEAA_NXZ
; long __cdecl UlCleanAndCopyUrl(unsigned char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
?UlCleanAndCopyUrl@@YAJPEAEKPEAKPEAGPEAPEAG@Z
; public: unsigned long __cdecl CEtwTracer::UnRegister(void) __ptr64
?UnRegister@CEtwTracer@@QEAAKXZ
; public: int __cdecl STR::Unescape(void) __ptr64
?Unescape@STR@@QEAAHXZ
; public: long __cdecl STRA::Unescape(void) __ptr64
?Unescape@STRA@@QEAAJXZ
; public: long __cdecl STRU::Unescape(void) __ptr64
?Unescape@STRU@@QEAAJXZ
; public: void __cdecl STR::Unhash(void) __ptr64
?Unhash@STR@@QEAAXXZ
; private: void __cdecl ALLOC_CACHE_HANDLER::Unlock(void) __ptr64
?Unlock@ALLOC_CACHE_HANDLER@@AEAAXXZ
; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
?Unlock@CLockedDoubleList@@QEAAXXZ
; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
?Unlock@CLockedSingleList@@QEAAXXZ
; private: void __cdecl HASH_TABLE_BUCKET::Unlock(void) __ptr64
?Unlock@HASH_TABLE_BUCKET@@AEAAXXZ
; public: void __cdecl TS_RESOURCE::Unlock(void) __ptr64
?Unlock@TS_RESOURCE@@QEAAXXZ
; public: unsigned char __cdecl CSharelock::UpdateMaxSpins(int) __ptr64
?UpdateMaxSpins@CSharelock@@QEAAEH@Z
; public: unsigned char __cdecl CSharelock::UpdateMaxUsers(int) __ptr64
?UpdateMaxUsers@CSharelock@@QEAAEH@Z
; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
?ValidSignature@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
; private: void __cdecl BUFFER::VerifyState(void)const  __ptr64
?VerifyState@BUFFER@@AEBAXXZ
; private: unsigned char __cdecl CSharelock::WaitForExclusiveLock(int) __ptr64
?WaitForExclusiveLock@CSharelock@@AEAAEH@Z
; private: unsigned char __cdecl CSharelock::WaitForShareLock(int) __ptr64
?WaitForShareLock@CSharelock@@AEAAEH@Z
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; private: void __cdecl CSharelock::WakeAllSleepers(void) __ptr64
?WakeAllSleepers@CSharelock@@AEAAXXZ
; public: bool __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA_NAEBUDATETIME_FORMAT_ENTRY@@@Z
; public: bool __cdecl CDataCache<class CDateTime>::Write(class CDateTime const & __ptr64) __ptr64
?Write@?$CDataCache@VCDateTime@@@@QEAA_NAEBVCDateTime@@@Z
; public: void __cdecl CCritSec::WriteLock(void) __ptr64
?WriteLock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
?WriteLock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
?WriteLock@CLKRHashTable@@QEAAXXZ
; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
?WriteLock@CLKRLinearHashTable@@QEAAXXZ
; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::WriteLock(void) __ptr64
?WriteLock@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::WriteLock(void) __ptr64
?WriteLock@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
?WriteLock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
?WriteLock@CSpinLock@@QEAAXXZ
; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
?WriteUnlock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
?WriteUnlock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
?WriteUnlock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CRtlResource::WriteUnlock(void) __ptr64
?WriteUnlock@CRtlResource@@QEAAXXZ
; public: void __cdecl CShareLock::WriteUnlock(void) __ptr64
?WriteUnlock@CShareLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
?WriteUnlock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
?WriteUnlock@CSpinLock@@QEAAXXZ
ZapRegistryKey
; protected: void __cdecl CLKRLinearHashTable_Iterator::_AddRef(int)const  __ptr64
?_AddRef@CLKRLinearHashTable_Iterator@@IEBAXH@Z
; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
; private: static class CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@@XZ
; private: class CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@@XZ
; private: static class CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@@_K@Z
; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool)
?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@_N@Z
; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSmallSpinLock@@CAJXZ
; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSpinLock@@CAJXZ
; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CBucket * __ptr64,class CNodeClump * __ptr64 & __ptr64,class CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@@AEAPEAVCNodeClump@@1AEAH@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
; private: bool __cdecl CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator & __ptr64,unsigned long) __ptr64
?_Erase@CLKRLinearHashTable@@AEAA_NAEAVCLKRLinearHashTable_Iterator@@K@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K_N@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64,class CLKRLinearHashTable_Iterator * __ptr64)const  __ptr64
?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBXPEAVCLKRLinearHashTable_Iterator@@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CNodeClump * __ptr64)
?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@@@Z
; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CSegment * __ptr64)const  __ptr64
?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@@@Z
; private: bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(void) __ptr64
?_FreeSegmentDirectory@CLKRLinearHashTable@@AEAA_NXZ
; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
?_H0@CLKRLinearHashTable@@AEBAKK@Z
; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
?_H0@CLKRLinearHashTable@@CAKKK@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
?_H1@CLKRLinearHashTable@@AEBAKK@Z
; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
?_H1@CLKRLinearHashTable@@CAKKK@Z
; protected: bool __cdecl CLKRHashTable_Iterator::_Increment(bool) __ptr64
?_Increment@CLKRHashTable_Iterator@@IEAA_N_N@Z
; protected: bool __cdecl CLKRLinearHashTable_Iterator::_Increment(bool) __ptr64
?_Increment@CLKRLinearHashTable_Iterator@@IEAA_N_N@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool,class CLKRLinearHashTable_Iterator * __ptr64) __ptr64
?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_NPEAVCLKRLinearHashTable_Iterator@@@Z
; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
?_IsLocked@CSpinLock@@AEBA_NXZ
; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CBucket * __ptr64 const)const  __ptr64
?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@@@Z
; private: bool __cdecl CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
?_IsValidIterator@CLKRHashTable@@AEBA_NAEBVCLKRHashTable_Iterator@@@Z
; private: bool __cdecl CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
?_IsValidIterator@CLKRLinearHashTable@@AEBA_NAEBVCLKRLinearHashTable_Iterator@@@Z
; private: void __cdecl CSpinLock::_Lock(void) __ptr64
?_Lock@CSpinLock@@AEAAXXZ
; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
?_LockSpin@CSmallSpinLock@@AEAAXXZ
; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
?_LockSpin@CSpinLock@@AEAAXXZ
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CBucket * __ptr64,class CNodeClump * __ptr64,class CNodeClump * __ptr64) __ptr64
?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@@PEAVCNodeClump@@1@Z
; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
; protected: static void __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KAXXZ
; protected: static void __cdecl CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KAXXZ
; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const  __ptr64
?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEBAJXZ
; protected: long __cdecl CDataCache<class CDateTime>::_ReadSequence(void)const  __ptr64
?_ReadSequence@?$CDataCache@VCDateTime@@@@IEBAJXZ
; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
; private: class CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@@K@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long) __ptr64
?_SetSegVars@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long) __ptr64
?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEAAJJ@Z
; protected: long __cdecl CDataCache<class CDateTime>::_SetSequence(long) __ptr64
?_SetSequence@?$CDataCache@VCDateTime@@@@IEAAJJ@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CNodeClump * __ptr64,class CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CNodeClump * __ptr64) __ptr64
?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@@0KKK0@Z
; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
; private: int __cdecl CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable * __ptr64)const  __ptr64
?_SubTableIndex@CLKRHashTable@@AEBAHPEAVCLKRLinearHashTable@@@Z
; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
?_TryLock@CSmallSpinLock@@AEAA_NXZ
; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
?_TryLock@CSpinLock@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
?_Unlock@CSpinLock@@AEAAXXZ
; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
; private: static void * __ptr64  __ptr64 ALLOC_CACHE_HANDLER::sm_hTimer
?sm_hTimer@ALLOC_CACHE_HANDLER@@0PEAXEA DATA
; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
; protected: static class ALLOC_CACHE_HANDLER * __ptr64  __ptr64 CLKRLinearHashTable::sm_palloc
?sm_palloc@CLKRLinearHashTable@@1PEAVALLOC_CACHE_HANDLER@@EA DATA
; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CCritSec@@1GA DATA
; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CShareLock@@1GA DATA
; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
CreateRefTraceLog
CreateTraceLog
DestroyRefTraceLog
DestroyTraceLog
DllMain
GetAllocCounters
GetCurrentTimeInMilliseconds
GetCurrentTimeInSeconds
GetQueryType
IISCaptureStackBackTrace
IISGetCurrentTime
IISGetPlatformType
IISInitializeCriticalSection
IISSetCriticalSectionSpinCount
IisCalloc
IisFree
IisHeap
IisMalloc
IisReAlloc
InetAcquireResourceExclusive
InetAcquireResourceShared
InetConvertExclusiveToShared
InetConvertSharedToExclusive
InetDeleteResource
InetInitializeResource
InetReleaseResource
InitializeIISRTL
InitializeSecondsTimer
IsNumberInUnicodeList
LKRHashTableInit
LKRHashTableUninit
MIDL_user_allocate
MIDL_user_free
MonBuildInstanceDefinition
PuCloseDbgPrintFile
PuCreateDebugPrintsObject
PuDbgAssertFailed
PuDbgCaptureContext
PuDbgCreateEvent
PuDbgCreateMutex
PuDbgCreateSemaphore
PuDbgDump
PuDbgPrint
PuDbgPrintW
PuDeleteDebugPrintsObject
PuLoadDebugFlagsFromReg
PuLoadDebugFlagsFromRegStr
ResetTraceLog
RpcBindHandleForServer
RpcBindHandleFree
RpcBindHandleOverLpc
RpcBindHandleOverNamedPipe
RpcBindHandleOverTcpIp
RpcuFindProtocolToUse
TerminateIISRTL
TerminateSecondsTimer
WriteRefTraceLog
WriteRefTraceLogEx
WriteTraceLog
stristr
